@wengine-ai/llms 2.1.6 → 2.1.8

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.
@@ -1,29 +1,29 @@
1
- "use strict";var rC=Object.create;var si=Object.defineProperty;var nC=Object.getOwnPropertyDescriptor;var oC=Object.getOwnPropertyNames;var sC=Object.getPrototypeOf,iC=Object.prototype.hasOwnProperty;var je=(t,e)=>()=>(t&&(e=t(t=0)),e);var V=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ii=(t,e)=>{for(var r in e)si(t,r,{get:e[r],enumerable:!0})},Th=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of oC(e))!iC.call(t,o)&&o!==r&&si(t,o,{get:()=>e[o],enumerable:!(n=nC(e,o))||n.enumerable});return t};var Pe=(t,e,r)=>(r=t!=null?rC(sC(t)):{},Th(e||!t||!t.__esModule?si(r,"default",{value:t,enumerable:!0}):r,t)),Dh=t=>Th(si({},"__esModule",{value:!0}),t);var Rh=V((GD,ai)=>{ai.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;ai.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;ai.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Vu=V((JD,xh)=>{var Ju=Rh();xh.exports={isSpaceSeparator(t){return typeof t=="string"&&Ju.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Ju.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||Ju.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var Bh=V((VD,Ih)=>{var ze=Vu(),Yu,tt,Cr,ci,zr,Ut,He,Zu,Bo;Ih.exports=function(e,r){Yu=String(e),tt="start",Cr=[],ci=0,zr=1,Ut=0,He=void 0,Zu=void 0,Bo=void 0;do He=aC(),lC[tt]();while(He.type!=="eof");return typeof r=="function"?Qu({"":Bo},"",r):Bo};function Qu(t,e,r){let n=t[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let o=0;o<n.length;o++){let s=String(o),a=Qu(n,s,r);a===void 0?delete n[s]:Object.defineProperty(n,s,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in n){let s=Qu(n,o,r);s===void 0?delete n[o]:Object.defineProperty(n,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return r.call(t,e,n)}var me,he,Io,br,be;function aC(){for(me="default",he="",Io=!1,br=1;;){be=wr();let t=Fh[me]();if(t)return t}}function wr(){if(Yu[ci])return String.fromCodePoint(Yu.codePointAt(ci))}function H(){let t=wr();return t===`
2
- `?(zr++,Ut=0):t?Ut+=t.length:Ut++,t&&(ci+=t.length),t}var Fh={default(){switch(be){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
- `:case"\r":case"\u2028":case"\u2029":H();return;case"/":H(),me="comment";return;case void 0:return H(),Ie("eof")}if(ze.isSpaceSeparator(be)){H();return}return Fh[tt]()},comment(){switch(be){case"*":H(),me="multiLineComment";return;case"/":H(),me="singleLineComment";return}throw Be(H())},multiLineComment(){switch(be){case"*":H(),me="multiLineCommentAsterisk";return;case void 0:throw Be(H())}H()},multiLineCommentAsterisk(){switch(be){case"*":H();return;case"/":H(),me="default";return;case void 0:throw Be(H())}H(),me="multiLineComment"},singleLineComment(){switch(be){case`
1
+ "use strict";var rC=Object.create;var si=Object.defineProperty;var nC=Object.getOwnPropertyDescriptor;var oC=Object.getOwnPropertyNames;var sC=Object.getPrototypeOf,iC=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(t&&(e=t(t=0)),e);var V=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ii=(t,e)=>{for(var r in e)si(t,r,{get:e[r],enumerable:!0})},Th=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of oC(e))!iC.call(t,o)&&o!==r&&si(t,o,{get:()=>e[o],enumerable:!(n=nC(e,o))||n.enumerable});return t};var Oe=(t,e,r)=>(r=t!=null?rC(sC(t)):{},Th(e||!t||!t.__esModule?si(r,"default",{value:t,enumerable:!0}):r,t)),Dh=t=>Th(si({},"__esModule",{value:!0}),t);var Rh=V((JD,ai)=>{ai.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;ai.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;ai.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Vu=V((VD,xh)=>{var Ju=Rh();xh.exports={isSpaceSeparator(t){return typeof t=="string"&&Ju.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Ju.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||Ju.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var Bh=V((KD,Ih)=>{var ze=Vu(),Yu,tt,Cr,ci,zr,Ut,He,Zu,Bo;Ih.exports=function(e,r){Yu=String(e),tt="start",Cr=[],ci=0,zr=1,Ut=0,He=void 0,Zu=void 0,Bo=void 0;do He=aC(),lC[tt]();while(He.type!=="eof");return typeof r=="function"?Qu({"":Bo},"",r):Bo};function Qu(t,e,r){let n=t[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let o=0;o<n.length;o++){let s=String(o),a=Qu(n,s,r);a===void 0?delete n[s]:Object.defineProperty(n,s,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in n){let s=Qu(n,o,r);s===void 0?delete n[o]:Object.defineProperty(n,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return r.call(t,e,n)}var me,he,Io,br,be;function aC(){for(me="default",he="",Io=!1,br=1;;){be=wr();let t=Ph[me]();if(t)return t}}function wr(){if(Yu[ci])return String.fromCodePoint(Yu.codePointAt(ci))}function H(){let t=wr();return t===`
2
+ `?(zr++,Ut=0):t?Ut+=t.length:Ut++,t&&(ci+=t.length),t}var Ph={default(){switch(be){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
+ `:case"\r":case"\u2028":case"\u2029":H();return;case"/":H(),me="comment";return;case void 0:return H(),Ie("eof")}if(ze.isSpaceSeparator(be)){H();return}return Ph[tt]()},comment(){switch(be){case"*":H(),me="multiLineComment";return;case"/":H(),me="singleLineComment";return}throw Be(H())},multiLineComment(){switch(be){case"*":H(),me="multiLineCommentAsterisk";return;case void 0:throw Be(H())}H()},multiLineCommentAsterisk(){switch(be){case"*":H();return;case"/":H(),me="default";return;case void 0:throw Be(H())}H(),me="multiLineComment"},singleLineComment(){switch(be){case`
4
4
  `:case"\r":case"\u2028":case"\u2029":H(),me="default";return;case void 0:return H(),Ie("eof")}H()},value(){switch(be){case"{":case"[":return Ie("punctuator",H());case"n":return H(),ln("ull"),Ie("null",null);case"t":return H(),ln("rue"),Ie("boolean",!0);case"f":return H(),ln("alse"),Ie("boolean",!1);case"-":case"+":H()==="-"&&(br=-1),me="sign";return;case".":he=H(),me="decimalPointLeading";return;case"0":he=H(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=H(),me="decimalInteger";return;case"I":return H(),ln("nfinity"),Ie("numeric",1/0);case"N":return H(),ln("aN"),Ie("numeric",NaN);case'"':case"'":Io=H()==='"',he="",me="string";return}throw Be(H())},identifierNameStartEscape(){if(be!=="u")throw Be(H());H();let t=Xu();switch(t){case"$":case"_":break;default:if(!ze.isIdStartChar(t))throw Oh();break}he+=t,me="identifierName"},identifierName(){switch(be){case"$":case"_":case"\u200C":case"\u200D":he+=H();return;case"\\":H(),me="identifierNameEscape";return}if(ze.isIdContinueChar(be)){he+=H();return}return Ie("identifier",he)},identifierNameEscape(){if(be!=="u")throw Be(H());H();let t=Xu();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!ze.isIdContinueChar(t))throw Oh();break}he+=t,me="identifierName"},sign(){switch(be){case".":he=H(),me="decimalPointLeading";return;case"0":he=H(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=H(),me="decimalInteger";return;case"I":return H(),ln("nfinity"),Ie("numeric",br*(1/0));case"N":return H(),ln("aN"),Ie("numeric",NaN)}throw Be(H())},zero(){switch(be){case".":he+=H(),me="decimalPoint";return;case"e":case"E":he+=H(),me="decimalExponent";return;case"x":case"X":he+=H(),me="hexadecimal";return}return Ie("numeric",br*0)},decimalInteger(){switch(be){case".":he+=H(),me="decimalPoint";return;case"e":case"E":he+=H(),me="decimalExponent";return}if(ze.isDigit(be)){he+=H();return}return Ie("numeric",br*Number(he))},decimalPointLeading(){if(ze.isDigit(be)){he+=H(),me="decimalFraction";return}throw Be(H())},decimalPoint(){switch(be){case"e":case"E":he+=H(),me="decimalExponent";return}if(ze.isDigit(be)){he+=H(),me="decimalFraction";return}return Ie("numeric",br*Number(he))},decimalFraction(){switch(be){case"e":case"E":he+=H(),me="decimalExponent";return}if(ze.isDigit(be)){he+=H();return}return Ie("numeric",br*Number(he))},decimalExponent(){switch(be){case"+":case"-":he+=H(),me="decimalExponentSign";return}if(ze.isDigit(be)){he+=H(),me="decimalExponentInteger";return}throw Be(H())},decimalExponentSign(){if(ze.isDigit(be)){he+=H(),me="decimalExponentInteger";return}throw Be(H())},decimalExponentInteger(){if(ze.isDigit(be)){he+=H();return}return Ie("numeric",br*Number(he))},hexadecimal(){if(ze.isHexDigit(be)){he+=H(),me="hexadecimalInteger";return}throw Be(H())},hexadecimalInteger(){if(ze.isHexDigit(be)){he+=H();return}return Ie("numeric",br*Number(he))},string(){switch(be){case"\\":H(),he+=uC();return;case'"':if(Io)return H(),Ie("string",he);he+=H();return;case"'":if(!Io)return H(),Ie("string",he);he+=H();return;case`
5
5
  `:case"\r":throw Be(H());case"\u2028":case"\u2029":dC(be);break;case void 0:throw Be(H())}he+=H()},start(){switch(be){case"{":case"[":return Ie("punctuator",H())}me="value"},beforePropertyName(){switch(be){case"$":case"_":he=H(),me="identifierName";return;case"\\":H(),me="identifierNameStartEscape";return;case"}":return Ie("punctuator",H());case'"':case"'":Io=H()==='"',me="string";return}if(ze.isIdStartChar(be)){he+=H(),me="identifierName";return}throw Be(H())},afterPropertyName(){if(be===":")return Ie("punctuator",H());throw Be(H())},beforePropertyValue(){me="value"},afterPropertyValue(){switch(be){case",":case"}":return Ie("punctuator",H())}throw Be(H())},beforeArrayValue(){if(be==="]")return Ie("punctuator",H());me="value"},afterArrayValue(){switch(be){case",":case"]":return Ie("punctuator",H())}throw Be(H())},end(){throw Be(H())}};function Ie(t,e){return{type:t,value:e,line:zr,column:Ut}}function ln(t){for(let e of t){if(wr()!==e)throw Be(H());H()}}function uC(){switch(wr()){case"b":return H(),"\b";case"f":return H(),"\f";case"n":return H(),`
6
6
  `;case"r":return H(),"\r";case"t":return H()," ";case"v":return H(),"\v";case"0":if(H(),ze.isDigit(wr()))throw Be(H());return"\0";case"x":return H(),cC();case"u":return H(),Xu();case`
7
7
  `:case"\u2028":case"\u2029":return H(),"";case"\r":return H(),wr()===`
8
- `&&H(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(H());case void 0:throw Be(H())}return H()}function cC(){let t="",e=wr();if(!ze.isHexDigit(e)||(t+=H(),e=wr(),!ze.isHexDigit(e)))throw Be(H());return t+=H(),String.fromCodePoint(parseInt(t,16))}function Xu(){let t="",e=4;for(;e-- >0;){let r=wr();if(!ze.isHexDigit(r))throw Be(H());t+=H()}return String.fromCodePoint(parseInt(t,16))}var lC={start(){if(He.type==="eof")throw dn();Ku()},beforePropertyName(){switch(He.type){case"identifier":case"string":Zu=He.value,tt="afterPropertyName";return;case"punctuator":ui();return;case"eof":throw dn()}},afterPropertyName(){if(He.type==="eof")throw dn();tt="beforePropertyValue"},beforePropertyValue(){if(He.type==="eof")throw dn();Ku()},beforeArrayValue(){if(He.type==="eof")throw dn();if(He.type==="punctuator"&&He.value==="]"){ui();return}Ku()},afterPropertyValue(){if(He.type==="eof")throw dn();switch(He.value){case",":tt="beforePropertyName";return;case"}":ui()}},afterArrayValue(){if(He.type==="eof")throw dn();switch(He.value){case",":tt="beforeArrayValue";return;case"]":ui()}},end(){}};function Ku(){let t;switch(He.type){case"punctuator":switch(He.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=He.value;break}if(Bo===void 0)Bo=t;else{let e=Cr[Cr.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Zu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Cr.push(t),Array.isArray(t)?tt="beforeArrayValue":tt="beforePropertyName";else{let e=Cr[Cr.length-1];e==null?tt="end":Array.isArray(e)?tt="afterArrayValue":tt="afterPropertyValue"}}function ui(){Cr.pop();let t=Cr[Cr.length-1];t==null?tt="end":Array.isArray(t)?tt="afterArrayValue":tt="afterPropertyValue"}function Be(t){return li(t===void 0?`JSON5: invalid end of input at ${zr}:${Ut}`:`JSON5: invalid character '${Ph(t)}' at ${zr}:${Ut}`)}function dn(){return li(`JSON5: invalid end of input at ${zr}:${Ut}`)}function Oh(){return Ut-=5,li(`JSON5: invalid identifier character at ${zr}:${Ut}`)}function dC(t){console.warn(`JSON5: '${Ph(t)}' in strings is not valid ECMAScript; consider escaping`)}function Ph(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let r=t.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return t}function li(t){let e=new SyntaxError(t);return e.lineNumber=zr,e.columnNumber=Ut,e}});var jh=V((KD,Nh)=>{var ec=Vu();Nh.exports=function(e,r,n){let o=[],s="",a,c,l="",f;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,f=r.quote,r=r.replacer),typeof r=="function")c=r;else if(Array.isArray(r)){a=[];for(let _ of r){let y;typeof _=="string"?y=_:(typeof _=="number"||_ instanceof String||_ instanceof Number)&&(y=String(_)),y!==void 0&&a.indexOf(y)<0&&a.push(y)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),l=" ".substr(0,n)):typeof n=="string"&&(l=n.substr(0,10)),d("",{"":e});function d(_,y){let m=y[_];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(_):typeof m.toJSON=="function"&&(m=m.toJSON(_))),c&&(m=c.call(y,_,m)),m instanceof Number?m=Number(m):m instanceof String?m=String(m):m instanceof Boolean&&(m=m.valueOf()),m){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof m=="string")return p(m,!1);if(typeof m=="number")return String(m);if(typeof m=="object")return Array.isArray(m)?E(m):g(m)}function p(_){let y={"'":.1,'"':.2},m={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},v="";for(let S=0;S<_.length;S++){let D=_[S];switch(D){case"'":case'"':y[D]++,v+=D;continue;case"\0":if(ec.isDigit(_[S+1])){v+="\\x00";continue}}if(m[D]){v+=m[D];continue}if(D<" "){let O=D.charCodeAt(0).toString(16);v+="\\x"+("00"+O).substring(O.length);continue}v+=D}let b=f||Object.keys(y).reduce((S,D)=>y[S]<y[D]?S:D);return v=v.replace(new RegExp(b,"g"),m[b]),b+v+b}function g(_){if(o.indexOf(_)>=0)throw TypeError("Converting circular structure to JSON5");o.push(_);let y=s;s=s+l;let m=a||Object.keys(_),v=[];for(let S of m){let D=d(S,_);if(D!==void 0){let O=A(S)+":";l!==""&&(O+=" "),O+=D,v.push(O)}}let b;if(v.length===0)b="{}";else{let S;if(l==="")S=v.join(","),b="{"+S+"}";else{let D=`,
8
+ `&&H(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(H());case void 0:throw Be(H())}return H()}function cC(){let t="",e=wr();if(!ze.isHexDigit(e)||(t+=H(),e=wr(),!ze.isHexDigit(e)))throw Be(H());return t+=H(),String.fromCodePoint(parseInt(t,16))}function Xu(){let t="",e=4;for(;e-- >0;){let r=wr();if(!ze.isHexDigit(r))throw Be(H());t+=H()}return String.fromCodePoint(parseInt(t,16))}var lC={start(){if(He.type==="eof")throw dn();Ku()},beforePropertyName(){switch(He.type){case"identifier":case"string":Zu=He.value,tt="afterPropertyName";return;case"punctuator":ui();return;case"eof":throw dn()}},afterPropertyName(){if(He.type==="eof")throw dn();tt="beforePropertyValue"},beforePropertyValue(){if(He.type==="eof")throw dn();Ku()},beforeArrayValue(){if(He.type==="eof")throw dn();if(He.type==="punctuator"&&He.value==="]"){ui();return}Ku()},afterPropertyValue(){if(He.type==="eof")throw dn();switch(He.value){case",":tt="beforePropertyName";return;case"}":ui()}},afterArrayValue(){if(He.type==="eof")throw dn();switch(He.value){case",":tt="beforeArrayValue";return;case"]":ui()}},end(){}};function Ku(){let t;switch(He.type){case"punctuator":switch(He.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=He.value;break}if(Bo===void 0)Bo=t;else{let e=Cr[Cr.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Zu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Cr.push(t),Array.isArray(t)?tt="beforeArrayValue":tt="beforePropertyName";else{let e=Cr[Cr.length-1];e==null?tt="end":Array.isArray(e)?tt="afterArrayValue":tt="afterPropertyValue"}}function ui(){Cr.pop();let t=Cr[Cr.length-1];t==null?tt="end":Array.isArray(t)?tt="afterArrayValue":tt="afterPropertyValue"}function Be(t){return li(t===void 0?`JSON5: invalid end of input at ${zr}:${Ut}`:`JSON5: invalid character '${Fh(t)}' at ${zr}:${Ut}`)}function dn(){return li(`JSON5: invalid end of input at ${zr}:${Ut}`)}function Oh(){return Ut-=5,li(`JSON5: invalid identifier character at ${zr}:${Ut}`)}function dC(t){console.warn(`JSON5: '${Fh(t)}' in strings is not valid ECMAScript; consider escaping`)}function Fh(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let r=t.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return t}function li(t){let e=new SyntaxError(t);return e.lineNumber=zr,e.columnNumber=Ut,e}});var Mh=V((YD,Nh)=>{var ec=Vu();Nh.exports=function(e,r,n){let o=[],s="",a,c,l="",d;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,d=r.quote,r=r.replacer),typeof r=="function")c=r;else if(Array.isArray(r)){a=[];for(let y of r){let _;typeof y=="string"?_=y:(typeof y=="number"||y instanceof String||y instanceof Number)&&(_=String(y)),_!==void 0&&a.indexOf(_)<0&&a.push(_)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),l=" ".substr(0,n)):typeof n=="string"&&(l=n.substr(0,10)),f("",{"":e});function f(y,_){let m=_[y];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(y):typeof m.toJSON=="function"&&(m=m.toJSON(y))),c&&(m=c.call(_,y,m)),m instanceof Number?m=Number(m):m instanceof String?m=String(m):m instanceof Boolean&&(m=m.valueOf()),m){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof m=="string")return p(m,!1);if(typeof m=="number")return String(m);if(typeof m=="object")return Array.isArray(m)?w(m):g(m)}function p(y){let _={"'":.1,'"':.2},m={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},v="";for(let S=0;S<y.length;S++){let D=y[S];switch(D){case"'":case'"':_[D]++,v+=D;continue;case"\0":if(ec.isDigit(y[S+1])){v+="\\x00";continue}}if(m[D]){v+=m[D];continue}if(D<" "){let O=D.charCodeAt(0).toString(16);v+="\\x"+("00"+O).substring(O.length);continue}v+=D}let b=d||Object.keys(_).reduce((S,D)=>_[S]<_[D]?S:D);return v=v.replace(new RegExp(b,"g"),m[b]),b+v+b}function g(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let _=s;s=s+l;let m=a||Object.keys(y),v=[];for(let S of m){let D=f(S,y);if(D!==void 0){let O=k(S)+":";l!==""&&(O+=" "),O+=D,v.push(O)}}let b;if(v.length===0)b="{}";else{let S;if(l==="")S=v.join(","),b="{"+S+"}";else{let D=`,
9
9
  `+s;S=v.join(D),b=`{
10
10
  `+s+S+`,
11
- `+y+"}"}}return o.pop(),s=y,b}function A(_){if(_.length===0)return p(_,!0);let y=String.fromCodePoint(_.codePointAt(0));if(!ec.isIdStartChar(y))return p(_,!0);for(let m=y.length;m<_.length;m++)if(!ec.isIdContinueChar(String.fromCodePoint(_.codePointAt(m))))return p(_,!0);return _}function E(_){if(o.indexOf(_)>=0)throw TypeError("Converting circular structure to JSON5");o.push(_);let y=s;s=s+l;let m=[];for(let b=0;b<_.length;b++){let S=d(String(b),_);m.push(S!==void 0?S:"null")}let v;if(m.length===0)v="[]";else if(l==="")v="["+m.join(",")+"]";else{let b=`,
11
+ `+_+"}"}}return o.pop(),s=_,b}function k(y){if(y.length===0)return p(y,!0);let _=String.fromCodePoint(y.codePointAt(0));if(!ec.isIdStartChar(_))return p(y,!0);for(let m=_.length;m<y.length;m++)if(!ec.isIdContinueChar(String.fromCodePoint(y.codePointAt(m))))return p(y,!0);return y}function w(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let _=s;s=s+l;let m=[];for(let b=0;b<y.length;b++){let S=f(String(b),y);m.push(S!==void 0?S:"null")}let v;if(m.length===0)v="[]";else if(l==="")v="["+m.join(",")+"]";else{let b=`,
12
12
  `+s,S=m.join(b);v=`[
13
13
  `+s+S+`,
14
- `+y+"]"}return o.pop(),s=y,v}}});var tc=V((YD,Mh)=>{var fC=Bh(),hC=jh(),pC={parse:fC,stringify:hC};Mh.exports=pC});var ep={};ii(ep,{getFallbackPromotionStore:()=>jo,resetFallbackPromotionStore:()=>_C});function jo(t){return hn||(hn=new sc,t&&hn.configure(t)),hn}function _C(){hn&&(hn.clearAll(),hn=null)}var yC,sc,hn,fi=je(()=>{"use strict";Hn();yC=600*1e3,sc=class{promotions=new Map;enabled=!0;ttlMs=yC;configure(e){e?.enabled!==void 0&&(this.enabled=e.enabled),e?.ttlMinutes!==void 0&&(this.ttlMs=e.ttlMinutes*60*1e3)}getKey(e,r,n){return`${e},${r}:${n}`}promote(e,r,n,o,s,a){if(!this.enabled)return;let c=this.getKey(e,r,n),l=`${o},${s}`;this.promotions.set(c,{promotedModel:l,timestamp:Date.now(),ttlMs:a??this.ttlMs})}getPromotion(e,r,n,o){if(!this.enabled)return null;let s=this.getKey(e,r,n),a=this.promotions.get(s);if(!a)return null;if(Date.now()-a.timestamp>=a.ttlMs)return this.promotions.delete(s),null;let[l,...f]=a.promotedModel.split(","),d=f.join(",");if(!Xe().isAvailable(l,d))return this.promotions.delete(s),null;let g=o.find(E=>E.name.toLowerCase()===l.toLowerCase()),A=g?.models?.find(E=>String(E).toLowerCase()===d.toLowerCase());return!g||!A||g.enabled===!1?(this.promotions.delete(s),null):`${g.name},${A}`}clear(e,r,n){let o=this.getKey(e,r,n);this.promotions.delete(o)}clearByPrimary(e,r){let n=`${e},${r}:`,o=0;for(let s of this.promotions.keys())s.startsWith(n)&&(this.promotions.delete(s),o++);return o}clearAll(){this.promotions.clear()}clearExpired(){let e=Date.now();for(let[r,n]of this.promotions)e-n.timestamp>=n.ttlMs&&this.promotions.delete(r)}getAllPromotions(){let e=Date.now(),r=[];for(let[n,o]of this.promotions){let s=o.ttlMs-(e-o.timestamp);s>0&&r.push({key:n,promotedModel:o.promotedModel,remainingMs:s})}return r}},hn=null});function Xe(t){return ic||(ic=new Mo(t)),ic}var bC,Mo,ic,Hn=je(()=>{"use strict";bC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},Mo=class{states=new Map;config;probeTimer;constructor(e){this.config={...bC,...e}}getKey(e,r){return`${e},${r}`}recordSuccess(e,r){if(!this.config.enabled)return;let n=this.getKey(e,r),o=this.states.get(n);o&&(o.successCount++,o.status==="half-open"?o.successCount>=this.config.halfOpenSuccessThreshold&&(this.clearPromotionsForPrimary(e,r),this.states.delete(n)):o.status==="open"&&(o.status="half-open",o.successCount=1,o.failureCount=0))}clearPromotionsForPrimary(e,r){try{let{getFallbackPromotionStore:n}=(fi(),Dh(ep));n().clearByPrimary(e,r)}catch{}}recordFailure(e,r,n){if(!this.config.enabled)return;let o=this.getKey(e,r),s=this.states.get(o);s||(s={provider:e,model:r,status:"closed",failureCount:0,successCount:0,lastFailureTime:0,lastProbeTime:0},this.states.set(o,s)),s.failureCount++,s.lastFailureTime=Date.now(),s.lastError=n,s.status==="half-open"?(s.status="open",s.successCount=0,s.lastProbeTime=0):s.status==="closed"&&s.failureCount>=this.config.failureThreshold&&(s.status="open",s.lastProbeTime=0)}getState(e,r){return this.states.get(this.getKey(e,r))}isAvailable(e,r){if(!this.config.enabled)return!0;let n=this.getState(e,r);return n?n.status!=="open":!0}getPriority(e,r){if(!this.config.enabled)return 0;let n=this.getState(e,r);if(!n)return 0;switch(n.status){case"closed":return 0;case"half-open":return 1;case"open":return 2}}getHealthyModels(){return[]}getFailPoolModels(){let e=[];for(let[r,n]of this.states)n.status==="open"&&e.push(r);return e}getHalfOpenModels(){let e=[];for(let[r,n]of this.states)n.status==="half-open"&&e.push(r);return e}forceOpen(e,r,n){if(!this.config.enabled)return;let o=this.getKey(e,r),s=this.states.get(o);s?(s.status="open",s.failureCount=Math.max(s.failureCount,this.config.failureThreshold),s.lastFailureTime=Date.now(),s.lastError=n,s.lastProbeTime=0):(s={provider:e,model:r,status:"open",failureCount:this.config.failureThreshold,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:n},this.states.set(o,s))}needsProbe(e){return Date.now()-e.lastProbeTime>=this.config.probeIntervalMinutes*60*1e3}markProbeAttempt(e,r){let n=this.getKey(e,r),o=this.states.get(n);o&&o.status==="open"&&(o.lastProbeTime=Date.now())}clear(){this.states.clear()}recover(e,r){let n=this.getKey(e,r);this.states.delete(n)}getAllStates(){return Array.from(this.states.values())}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},ic=null});var pc=V((PR,Sp)=>{"use strict";var Ci=Object.prototype.hasOwnProperty,Ap=Object.prototype.toString,yp=Object.defineProperty,_p=Object.getOwnPropertyDescriptor,bp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Ap.call(e)==="[object Array]"},Cp=function(e){if(!e||Ap.call(e)!=="[object Object]")return!1;var r=Ci.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&Ci.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||Ci.call(e,o)},wp=function(e,r){yp&&r.name==="__proto__"?yp(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},Ep=function(e,r){if(r==="__proto__")if(Ci.call(e,r)){if(_p)return _p(e,r).value}else return;return e[r]};Sp.exports=function t(){var e,r,n,o,s,a,c=arguments[0],l=1,f=arguments.length,d=!1;for(typeof c=="boolean"&&(d=c,c=arguments[1]||{},l=2),(c==null||typeof c!="object"&&typeof c!="function")&&(c={});l<f;++l)if(e=arguments[l],e!=null)for(r in e)n=Ep(c,r),o=Ep(e,r),c!==o&&(d&&o&&(Cp(o)||(s=bp(o)))?(s?(s=!1,a=n&&bp(n)?n:[]):a=n&&Cp(n)?n:{},wp(c,{name:r,newValue:t(d,a,o)})):typeof o<"u"&&wp(c,{name:r,newValue:o}));return c}});var kp=V((IR,IC)=>{IC.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Tp=V((BR,vp)=>{"use strict";var BC=kp();vp.exports={pkg:BC}});var yc=V(vt=>{"use strict";var Rp=vt&&vt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vt,"__esModule",{value:!0});vt.GaxiosError=vt.GAXIOS_ERROR_SYMBOL=void 0;vt.defaultErrorRedactor=xp;var Dp=Rp(pc()),NC=Rp(Tp()),mc=NC.default.pkg;vt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${mc.name}-gaxios-error`);var gc=class t extends Error{config;response;code;status;error;[vt.GAXIOS_ERROR_SYMBOL]=mc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&vt.GAXIOS_ERROR_SYMBOL in e&&e[vt.GAXIOS_ERROR_SYMBOL]===mc.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,r,n,o){if(super(e,{cause:o}),this.config=r,this.response=n,this.error=o instanceof Error?o:void 0,this.config=(0,Dp.default)(!0,{},r),this.response&&(this.response.config=(0,Dp.default)(!0,{},this.response.config)),this.response){try{this.response.data=jC(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,r="The request failed"){let n=r;if(typeof e.data=="string"&&(n=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){n="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:n;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let c of e.data.error.errors)typeof c=="object"&&"message"in c&&typeof c.message=="string"&&a.push(c.message);return Object.assign({message:a.join(`
15
- `)||n,code:s,status:o},e.data.error)}return Object.assign({message:n,code:s,status:o},e.data.error)}}return{message:n,code:e.status,status:e.statusText}}};vt.GaxiosError=gc;function jC(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function xp(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(s){s&&s.forEach((a,c)=>{(/^authentication$/i.test(c)||/^authorization$/i.test(c)||/secret/i.test(c))&&s.set(c,e)})}function n(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let c=s[a];(/grant_type=/i.test(c)||/assertion=/i.test(c)||/secret/i.test(c))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,c)=>{(["grant_type","assertion"].includes(c)||/secret/.test(c))&&s.set(c,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(r(t.config.headers),n(t.config,"data"),o(t.config.data),n(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(xp({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var Fp=V(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.getRetryConfig=MC;async function MC(t){let e=Op(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let r=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||r,t.config.retryConfig=e,!await(e.shouldRetry||LC)(t))return{shouldRetry:!1,config:t.config};let o=UC(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function LC(t){let e=Op(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let r=!1;for(let[n,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=n&&s<=o){r=!0;break}}if(!r)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function Op(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function UC(t){let r=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,n=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(r,n,t.maxRetryDelay)}});var Cc=V(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.GaxiosInterceptorManager=void 0;var bc=class extends Set{};wi.GaxiosInterceptorManager=bc});var Ip=V((LR,Pp)=>{var Jn=1e3,Vn=Jn*60,Kn=Vn*60,mn=Kn*24,$C=mn*7,qC=mn*365.25;Pp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return zC(t);if(r==="number"&&isFinite(t))return e.long?WC(t):HC(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function zC(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*qC;case"weeks":case"week":case"w":return r*$C;case"days":case"day":case"d":return r*mn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Kn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Vn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Jn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function HC(t){var e=Math.abs(t);return e>=mn?Math.round(t/mn)+"d":e>=Kn?Math.round(t/Kn)+"h":e>=Vn?Math.round(t/Vn)+"m":e>=Jn?Math.round(t/Jn)+"s":t+"ms"}function WC(t){var e=Math.abs(t);return e>=mn?Ei(t,e,mn,"day"):e>=Kn?Ei(t,e,Kn,"hour"):e>=Vn?Ei(t,e,Vn,"minute"):e>=Jn?Ei(t,e,Jn,"second"):t+" ms"}function Ei(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var wc=V((UR,Bp)=>{function GC(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=o,r.enabled=c,r.humanize=Ip(),r.destroy=f,Object.keys(t).forEach(d=>{r[d]=t[d]}),r.names=[],r.skips=[],r.formatters={};function e(d){let p=0;for(let g=0;g<d.length;g++)p=(p<<5)-p+d.charCodeAt(g),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=e;function r(d){let p,g=null,A,E;function _(...y){if(!_.enabled)return;let m=_,v=Number(new Date),b=v-(p||v);m.diff=b,m.prev=p,m.curr=v,p=v,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let S=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(O,q)=>{if(O==="%%")return"%";S++;let J=r.formatters[q];if(typeof J=="function"){let B=y[S];O=J.call(m,B),y.splice(S,1),S--}return O}),r.formatArgs.call(m,y),(m.log||r.log).apply(m,y)}return _.namespace=d,_.useColors=r.useColors(),_.color=r.selectColor(d),_.extend=n,_.destroy=r.destroy,Object.defineProperty(_,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(A!==r.namespaces&&(A=r.namespaces,E=r.enabled(d)),E),set:y=>{g=y}}),typeof r.init=="function"&&r.init(_),_}function n(d,p){let g=r(this.namespace+(typeof p>"u"?":":p)+d);return g.log=this.log,g}function o(d){r.save(d),r.namespaces=d,r.names=[],r.skips=[];let p=(typeof d=="string"?d:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let g of p)g[0]==="-"?r.skips.push(g.slice(1)):r.names.push(g)}function s(d,p){let g=0,A=0,E=-1,_=0;for(;g<d.length;)if(A<p.length&&(p[A]===d[g]||p[A]==="*"))p[A]==="*"?(E=A,_=g,A++):(g++,A++);else if(E!==-1)A=E+1,_++,g=_;else return!1;for(;A<p.length&&p[A]==="*";)A++;return A===p.length}function a(){let d=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),d}function c(d){for(let p of r.skips)if(s(d,p))return!1;for(let p of r.names)if(s(d,p))return!0;return!1}function l(d){return d instanceof Error?d.stack||d.message:d}function f(){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 r.enable(r.load()),r}Bp.exports=GC});var Np=V((at,Ai)=>{at.formatArgs=VC;at.save=KC;at.load=YC;at.useColors=JC;at.storage=QC();at.destroy=(()=>{let t=!1;return()=>{t||(t=!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`."))}})();at.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 JC(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return 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&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function VC(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ai.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}at.log=console.debug||console.log||(()=>{});function KC(t){try{t?at.storage.setItem("debug",t):at.storage.removeItem("debug")}catch{}}function YC(){let t;try{t=at.storage.getItem("debug")||at.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function QC(){try{return localStorage}catch{}}Ai.exports=wc()(at);var{formatters:XC}=Ai.exports;XC.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Mp=V(($R,jp)=>{"use strict";jp.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var $p=V((qR,Up)=>{"use strict";var ZC=require("os"),Lp=require("tty"),Tt=Mp(),{env:We}=process,Hr;Tt("no-color")||Tt("no-colors")||Tt("color=false")||Tt("color=never")?Hr=0:(Tt("color")||Tt("colors")||Tt("color=true")||Tt("color=always"))&&(Hr=1);"FORCE_COLOR"in We&&(We.FORCE_COLOR==="true"?Hr=1:We.FORCE_COLOR==="false"?Hr=0:Hr=We.FORCE_COLOR.length===0?1:Math.min(parseInt(We.FORCE_COLOR,10),3));function Ec(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Ac(t,e){if(Hr===0)return 0;if(Tt("color=16m")||Tt("color=full")||Tt("color=truecolor"))return 3;if(Tt("color=256"))return 2;if(t&&!e&&Hr===void 0)return 0;let r=Hr||0;if(We.TERM==="dumb")return r;if(process.platform==="win32"){let n=ZC.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in We)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in We)||We.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in We)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(We.TEAMCITY_VERSION)?1:0;if(We.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in We){let n=parseInt((We.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(We.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(We.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(We.TERM)||"COLORTERM"in We?1:r}function ew(t){let e=Ac(t,t&&t.isTTY);return Ec(e)}Up.exports={supportsColor:ew,stdout:Ec(Ac(!0,Lp.isatty(1))),stderr:Ec(Ac(!0,Lp.isatty(2)))}});var zp=V((Ge,ki)=>{var tw=require("tty"),Si=require("util");Ge.init=uw;Ge.log=sw;Ge.formatArgs=nw;Ge.save=iw;Ge.load=aw;Ge.useColors=rw;Ge.destroy=Si.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ge.colors=[6,2,3,4,5,1];try{let t=$p();t&&(t.stderr||t).level>=2&&(Ge.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ge.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function rw(){return"colors"in Ge.inspectOpts?!!Ge.inspectOpts.colors:tw.isatty(process.stderr.fd)}function nw(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
14
+ `+_+"]"}return o.pop(),s=_,v}}});var tc=V((QD,jh)=>{var fC=Bh(),hC=Mh(),pC={parse:fC,stringify:hC};jh.exports=pC});var ep={};ii(ep,{getFallbackPromotionStore:()=>Mo,resetFallbackPromotionStore:()=>_C});function Mo(t){return hn||(hn=new sc,t&&hn.configure(t)),hn}function _C(){hn&&(hn.clearAll(),hn=null)}var yC,sc,hn,fi=Me(()=>{"use strict";Hn();yC=600*1e3,sc=class{promotions=new Map;enabled=!0;ttlMs=yC;configure(e){e?.enabled!==void 0&&(this.enabled=e.enabled),e?.ttlMinutes!==void 0&&(this.ttlMs=e.ttlMinutes*60*1e3)}getKey(e,r,n){return`${e},${r}:${n}`}promote(e,r,n,o,s,a){if(!this.enabled)return;let c=this.getKey(e,r,n),l=`${o},${s}`;this.promotions.set(c,{promotedModel:l,timestamp:Date.now(),ttlMs:a??this.ttlMs})}getPromotion(e,r,n,o){if(!this.enabled)return null;let s=this.getKey(e,r,n),a=this.promotions.get(s);if(!a)return null;if(Date.now()-a.timestamp>=a.ttlMs)return this.promotions.delete(s),null;let[l,...d]=a.promotedModel.split(","),f=d.join(",");if(!Xe().isAvailable(l,f))return this.promotions.delete(s),null;let g=o.find(w=>w.name.toLowerCase()===l.toLowerCase()),k=g?.models?.find(w=>String(w).toLowerCase()===f.toLowerCase());return!g||!k||g.enabled===!1?(this.promotions.delete(s),null):`${g.name},${k}`}clear(e,r,n){let o=this.getKey(e,r,n);this.promotions.delete(o)}clearByPrimary(e,r){let n=`${e},${r}:`,o=0;for(let s of this.promotions.keys())s.startsWith(n)&&(this.promotions.delete(s),o++);return o}clearAll(){this.promotions.clear()}clearExpired(){let e=Date.now();for(let[r,n]of this.promotions)e-n.timestamp>=n.ttlMs&&this.promotions.delete(r)}getAllPromotions(){let e=Date.now(),r=[];for(let[n,o]of this.promotions){let s=o.ttlMs-(e-o.timestamp);s>0&&r.push({key:n,promotedModel:o.promotedModel,remainingMs:s})}return r}},hn=null});function Xe(t){return ic||(ic=new jo(t)),ic}var bC,jo,ic,Hn=Me(()=>{"use strict";bC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},jo=class{states=new Map;config;probeTimer;constructor(e){this.config={...bC,...e}}getKey(e,r){return`${e},${r}`}recordSuccess(e,r){if(!this.config.enabled)return;let n=this.getKey(e,r),o=this.states.get(n);o&&(o.successCount++,o.status==="half-open"?o.successCount>=this.config.halfOpenSuccessThreshold&&(this.clearPromotionsForPrimary(e,r),this.states.delete(n)):o.status==="open"&&(o.status="half-open",o.successCount=1,o.failureCount=0))}clearPromotionsForPrimary(e,r){try{let{getFallbackPromotionStore:n}=(fi(),Dh(ep));n().clearByPrimary(e,r)}catch{}}recordFailure(e,r,n){if(!this.config.enabled)return;let o=this.getKey(e,r),s=this.states.get(o);s||(s={provider:e,model:r,status:"closed",failureCount:0,successCount:0,lastFailureTime:0,lastProbeTime:0},this.states.set(o,s)),s.failureCount++,s.lastFailureTime=Date.now(),s.lastError=n,s.status==="half-open"?(s.status="open",s.successCount=0,s.lastProbeTime=0):s.status==="closed"&&s.failureCount>=this.config.failureThreshold&&(s.status="open",s.lastProbeTime=0)}getState(e,r){return this.states.get(this.getKey(e,r))}isAvailable(e,r){if(!this.config.enabled)return!0;let n=this.getState(e,r);return n?n.status!=="open":!0}getPriority(e,r){if(!this.config.enabled)return 0;let n=this.getState(e,r);if(!n)return 0;switch(n.status){case"closed":return 0;case"half-open":return 1;case"open":return 2}}getHealthyModels(){return[]}getFailPoolModels(){let e=[];for(let[r,n]of this.states)n.status==="open"&&e.push(r);return e}getHalfOpenModels(){let e=[];for(let[r,n]of this.states)n.status==="half-open"&&e.push(r);return e}forceOpen(e,r,n){if(!this.config.enabled)return;let o=this.getKey(e,r),s=this.states.get(o);s?(s.status="open",s.failureCount=Math.max(s.failureCount,this.config.failureThreshold),s.lastFailureTime=Date.now(),s.lastError=n,s.lastProbeTime=0):(s={provider:e,model:r,status:"open",failureCount:this.config.failureThreshold,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:n},this.states.set(o,s))}needsProbe(e){return Date.now()-e.lastProbeTime>=this.config.probeIntervalMinutes*60*1e3}markProbeAttempt(e,r){let n=this.getKey(e,r),o=this.states.get(n);o&&o.status==="open"&&(o.lastProbeTime=Date.now())}clear(){this.states.clear()}recover(e,r){let n=this.getKey(e,r);this.states.delete(n)}getAllStates(){return Array.from(this.states.values())}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},ic=null});var pc=V((IR,Sp)=>{"use strict";var Ci=Object.prototype.hasOwnProperty,kp=Object.prototype.toString,yp=Object.defineProperty,_p=Object.getOwnPropertyDescriptor,bp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):kp.call(e)==="[object Array]"},Cp=function(e){if(!e||kp.call(e)!=="[object Object]")return!1;var r=Ci.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&Ci.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||Ci.call(e,o)},wp=function(e,r){yp&&r.name==="__proto__"?yp(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},Ep=function(e,r){if(r==="__proto__")if(Ci.call(e,r)){if(_p)return _p(e,r).value}else return;return e[r]};Sp.exports=function t(){var e,r,n,o,s,a,c=arguments[0],l=1,d=arguments.length,f=!1;for(typeof c=="boolean"&&(f=c,c=arguments[1]||{},l=2),(c==null||typeof c!="object"&&typeof c!="function")&&(c={});l<d;++l)if(e=arguments[l],e!=null)for(r in e)n=Ep(c,r),o=Ep(e,r),c!==o&&(f&&o&&(Cp(o)||(s=bp(o)))?(s?(s=!1,a=n&&bp(n)?n:[]):a=n&&Cp(n)?n:{},wp(c,{name:r,newValue:t(f,a,o)})):typeof o<"u"&&wp(c,{name:r,newValue:o}));return c}});var Ap=V((BR,IC)=>{IC.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Tp=V((NR,vp)=>{"use strict";var BC=Ap();vp.exports={pkg:BC}});var yc=V(vt=>{"use strict";var Rp=vt&&vt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vt,"__esModule",{value:!0});vt.GaxiosError=vt.GAXIOS_ERROR_SYMBOL=void 0;vt.defaultErrorRedactor=xp;var Dp=Rp(pc()),NC=Rp(Tp()),mc=NC.default.pkg;vt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${mc.name}-gaxios-error`);var gc=class t extends Error{config;response;code;status;error;[vt.GAXIOS_ERROR_SYMBOL]=mc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&vt.GAXIOS_ERROR_SYMBOL in e&&e[vt.GAXIOS_ERROR_SYMBOL]===mc.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,r,n,o){if(super(e,{cause:o}),this.config=r,this.response=n,this.error=o instanceof Error?o:void 0,this.config=(0,Dp.default)(!0,{},r),this.response&&(this.response.config=(0,Dp.default)(!0,{},this.response.config)),this.response){try{this.response.data=MC(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,r="The request failed"){let n=r;if(typeof e.data=="string"&&(n=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){n="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:n;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let c of e.data.error.errors)typeof c=="object"&&"message"in c&&typeof c.message=="string"&&a.push(c.message);return Object.assign({message:a.join(`
15
+ `)||n,code:s,status:o},e.data.error)}return Object.assign({message:n,code:s,status:o},e.data.error)}}return{message:n,code:e.status,status:e.statusText}}};vt.GaxiosError=gc;function MC(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function xp(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(s){s&&s.forEach((a,c)=>{(/^authentication$/i.test(c)||/^authorization$/i.test(c)||/secret/i.test(c))&&s.set(c,e)})}function n(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let c=s[a];(/grant_type=/i.test(c)||/assertion=/i.test(c)||/secret/i.test(c))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,c)=>{(["grant_type","assertion"].includes(c)||/secret/.test(c))&&s.set(c,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(r(t.config.headers),n(t.config,"data"),o(t.config.data),n(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(xp({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var Pp=V(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.getRetryConfig=jC;async function jC(t){let e=Op(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let r=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||r,t.config.retryConfig=e,!await(e.shouldRetry||LC)(t))return{shouldRetry:!1,config:t.config};let o=UC(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function LC(t){let e=Op(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let r=!1;for(let[n,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=n&&s<=o){r=!0;break}}if(!r)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function Op(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function UC(t){let r=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,n=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(r,n,t.maxRetryDelay)}});var Cc=V(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.GaxiosInterceptorManager=void 0;var bc=class extends Set{};wi.GaxiosInterceptorManager=bc});var Ip=V((UR,Fp)=>{var Jn=1e3,Vn=Jn*60,Kn=Vn*60,mn=Kn*24,$C=mn*7,qC=mn*365.25;Fp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return zC(t);if(r==="number"&&isFinite(t))return e.long?WC(t):HC(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function zC(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*qC;case"weeks":case"week":case"w":return r*$C;case"days":case"day":case"d":return r*mn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Kn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Vn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Jn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function HC(t){var e=Math.abs(t);return e>=mn?Math.round(t/mn)+"d":e>=Kn?Math.round(t/Kn)+"h":e>=Vn?Math.round(t/Vn)+"m":e>=Jn?Math.round(t/Jn)+"s":t+"ms"}function WC(t){var e=Math.abs(t);return e>=mn?Ei(t,e,mn,"day"):e>=Kn?Ei(t,e,Kn,"hour"):e>=Vn?Ei(t,e,Vn,"minute"):e>=Jn?Ei(t,e,Jn,"second"):t+" ms"}function Ei(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var wc=V(($R,Bp)=>{function GC(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=o,r.enabled=c,r.humanize=Ip(),r.destroy=d,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let p=0;for(let g=0;g<f.length;g++)p=(p<<5)-p+f.charCodeAt(g),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=e;function r(f){let p,g=null,k,w;function y(..._){if(!y.enabled)return;let m=y,v=Number(new Date),b=v-(p||v);m.diff=b,m.prev=p,m.curr=v,p=v,_[0]=r.coerce(_[0]),typeof _[0]!="string"&&_.unshift("%O");let S=0;_[0]=_[0].replace(/%([a-zA-Z%])/g,(O,q)=>{if(O==="%%")return"%";S++;let J=r.formatters[q];if(typeof J=="function"){let B=_[S];O=J.call(m,B),_.splice(S,1),S--}return O}),r.formatArgs.call(m,_),(m.log||r.log).apply(m,_)}return y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(k!==r.namespaces&&(k=r.namespaces,w=r.enabled(f)),w),set:_=>{g=_}}),typeof r.init=="function"&&r.init(y),y}function n(f,p){let g=r(this.namespace+(typeof p>"u"?":":p)+f);return g.log=this.log,g}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let p=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let g of p)g[0]==="-"?r.skips.push(g.slice(1)):r.names.push(g)}function s(f,p){let g=0,k=0,w=-1,y=0;for(;g<f.length;)if(k<p.length&&(p[k]===f[g]||p[k]==="*"))p[k]==="*"?(w=k,y=g,k++):(g++,k++);else if(w!==-1)k=w+1,y++,g=y;else return!1;for(;k<p.length&&p[k]==="*";)k++;return k===p.length}function a(){let f=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),f}function c(f){for(let p of r.skips)if(s(f,p))return!1;for(let p of r.names)if(s(f,p))return!0;return!1}function l(f){return f instanceof Error?f.stack||f.message:f}function d(){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 r.enable(r.load()),r}Bp.exports=GC});var Np=V((at,ki)=>{at.formatArgs=VC;at.save=KC;at.load=YC;at.useColors=JC;at.storage=QC();at.destroy=(()=>{let t=!1;return()=>{t||(t=!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`."))}})();at.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 JC(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return 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&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function VC(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+ki.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}at.log=console.debug||console.log||(()=>{});function KC(t){try{t?at.storage.setItem("debug",t):at.storage.removeItem("debug")}catch{}}function YC(){let t;try{t=at.storage.getItem("debug")||at.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function QC(){try{return localStorage}catch{}}ki.exports=wc()(at);var{formatters:XC}=ki.exports;XC.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var jp=V((qR,Mp)=>{"use strict";Mp.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var $p=V((zR,Up)=>{"use strict";var ZC=require("os"),Lp=require("tty"),Tt=jp(),{env:We}=process,Hr;Tt("no-color")||Tt("no-colors")||Tt("color=false")||Tt("color=never")?Hr=0:(Tt("color")||Tt("colors")||Tt("color=true")||Tt("color=always"))&&(Hr=1);"FORCE_COLOR"in We&&(We.FORCE_COLOR==="true"?Hr=1:We.FORCE_COLOR==="false"?Hr=0:Hr=We.FORCE_COLOR.length===0?1:Math.min(parseInt(We.FORCE_COLOR,10),3));function Ec(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function kc(t,e){if(Hr===0)return 0;if(Tt("color=16m")||Tt("color=full")||Tt("color=truecolor"))return 3;if(Tt("color=256"))return 2;if(t&&!e&&Hr===void 0)return 0;let r=Hr||0;if(We.TERM==="dumb")return r;if(process.platform==="win32"){let n=ZC.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in We)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in We)||We.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in We)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(We.TEAMCITY_VERSION)?1:0;if(We.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in We){let n=parseInt((We.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(We.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(We.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(We.TERM)||"COLORTERM"in We?1:r}function ew(t){let e=kc(t,t&&t.isTTY);return Ec(e)}Up.exports={supportsColor:ew,stdout:Ec(kc(!0,Lp.isatty(1))),stderr:Ec(kc(!0,Lp.isatty(2)))}});var zp=V((Ge,Ai)=>{var tw=require("tty"),Si=require("util");Ge.init=uw;Ge.log=sw;Ge.formatArgs=nw;Ge.save=iw;Ge.load=aw;Ge.useColors=rw;Ge.destroy=Si.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ge.colors=[6,2,3,4,5,1];try{let t=$p();t&&(t.stderr||t).level>=2&&(Ge.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ge.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function rw(){return"colors"in Ge.inspectOpts?!!Ge.inspectOpts.colors:tw.isatty(process.stderr.fd)}function nw(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
16
16
  `).join(`
17
- `+s),t.push(o+"m+"+ki.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=ow()+e+" "+t[0]}function ow(){return Ge.inspectOpts.hideDate?"":new Date().toISOString()+" "}function sw(...t){return process.stderr.write(Si.formatWithOptions(Ge.inspectOpts,...t)+`
18
- `)}function iw(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function aw(){return process.env.DEBUG}function uw(t){t.inspectOpts={};let e=Object.keys(Ge.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ge.inspectOpts[e[r]]}ki.exports=wc()(Ge);var{formatters:qp}=ki.exports;qp.o=function(t){return this.inspectOpts.colors=this.useColors,Si.inspect(t,this.inspectOpts).split(`
19
- `).map(e=>e.trim()).join(" ")};qp.O=function(t){return this.inspectOpts.colors=this.useColors,Si.inspect(t,this.inspectOpts)}});var kc=V((zR,Sc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Sc.exports=Np():Sc.exports=zp()});var Gp=V(ut=>{"use strict";var cw=ut&&ut.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),lw=ut&&ut.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Hp=ut&&ut.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&cw(e,t,r);return lw(e,t),e};Object.defineProperty(ut,"__esModule",{value:!0});ut.req=ut.json=ut.toBuffer=void 0;var dw=Hp(require("http")),fw=Hp(require("https"));async function Wp(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}ut.toBuffer=Wp;async function hw(t){let r=(await Wp(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}ut.json=hw;function pw(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?fw:dw).request(t,e),o=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=o.then.bind(o),n}ut.req=pw});var Yp=V(ht=>{"use strict";var Vp=ht&&ht.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),mw=ht&&ht.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Kp=ht&&ht.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Vp(e,t,r);return mw(e,t),e},gw=ht&&ht.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Vp(e,t,r)};Object.defineProperty(ht,"__esModule",{value:!0});ht.Agent=void 0;var yw=Kp(require("net")),Jp=Kp(require("http")),_w=require("https");gw(Gp(),ht);var Zt=Symbol("AgentBaseInternalState"),vc=class extends Jp.Agent{constructor(e){super(e),this[Zt]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
20
- `).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new yw.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?_w.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(s,a),c instanceof Jp.Agent)try{return c.addRequest(e,o)}catch(l){return n(l)}this[Zt].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[Zt].currentSocket;if(this[Zt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Zt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Zt]&&(this[Zt].defaultPort=e)}get protocol(){return this[Zt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Zt]&&(this[Zt].protocol=e)}};ht.Agent=vc});var Qp=V(Yn=>{"use strict";var bw=Yn&&Yn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yn,"__esModule",{value:!0});Yn.parseProxyResponse=void 0;var Cw=bw(kc()),vi=(0,Cw.default)("https-proxy-agent:parse-proxy-response");function ww(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let d=t.read();d?f(d):t.once("readable",s)}function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",s)}function c(){a(),vi("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function l(d){a(),vi("onerror %o",d),r(d)}function f(d){o.push(d),n+=d.length;let p=Buffer.concat(o,n),g=p.indexOf(`\r
17
+ `+s),t.push(o+"m+"+Ai.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=ow()+e+" "+t[0]}function ow(){return Ge.inspectOpts.hideDate?"":new Date().toISOString()+" "}function sw(...t){return process.stderr.write(Si.formatWithOptions(Ge.inspectOpts,...t)+`
18
+ `)}function iw(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function aw(){return process.env.DEBUG}function uw(t){t.inspectOpts={};let e=Object.keys(Ge.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ge.inspectOpts[e[r]]}Ai.exports=wc()(Ge);var{formatters:qp}=Ai.exports;qp.o=function(t){return this.inspectOpts.colors=this.useColors,Si.inspect(t,this.inspectOpts).split(`
19
+ `).map(e=>e.trim()).join(" ")};qp.O=function(t){return this.inspectOpts.colors=this.useColors,Si.inspect(t,this.inspectOpts)}});var Ac=V((HR,Sc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Sc.exports=Np():Sc.exports=zp()});var Gp=V(ut=>{"use strict";var cw=ut&&ut.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),lw=ut&&ut.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Hp=ut&&ut.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&cw(e,t,r);return lw(e,t),e};Object.defineProperty(ut,"__esModule",{value:!0});ut.req=ut.json=ut.toBuffer=void 0;var dw=Hp(require("http")),fw=Hp(require("https"));async function Wp(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}ut.toBuffer=Wp;async function hw(t){let r=(await Wp(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}ut.json=hw;function pw(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?fw:dw).request(t,e),o=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=o.then.bind(o),n}ut.req=pw});var Yp=V(ht=>{"use strict";var Vp=ht&&ht.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),mw=ht&&ht.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Kp=ht&&ht.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Vp(e,t,r);return mw(e,t),e},gw=ht&&ht.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Vp(e,t,r)};Object.defineProperty(ht,"__esModule",{value:!0});ht.Agent=void 0;var yw=Kp(require("net")),Jp=Kp(require("http")),_w=require("https");gw(Gp(),ht);var Zt=Symbol("AgentBaseInternalState"),vc=class extends Jp.Agent{constructor(e){super(e),this[Zt]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
20
+ `).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new yw.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?_w.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(s,a),c instanceof Jp.Agent)try{return c.addRequest(e,o)}catch(l){return n(l)}this[Zt].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[Zt].currentSocket;if(this[Zt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Zt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Zt]&&(this[Zt].defaultPort=e)}get protocol(){return this[Zt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Zt]&&(this[Zt].protocol=e)}};ht.Agent=vc});var Qp=V(Yn=>{"use strict";var bw=Yn&&Yn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yn,"__esModule",{value:!0});Yn.parseProxyResponse=void 0;var Cw=bw(Ac()),vi=(0,Cw.default)("https-proxy-agent:parse-proxy-response");function ww(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let f=t.read();f?d(f):t.once("readable",s)}function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",s)}function c(){a(),vi("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function l(f){a(),vi("onerror %o",f),r(f)}function d(f){o.push(f),n+=f.length;let p=Buffer.concat(o,n),g=p.indexOf(`\r
21
21
  \r
22
- `);if(g===-1){vi("have not received end of HTTP headers yet..."),s();return}let A=p.slice(0,g).toString("ascii").split(`\r
23
- `),E=A.shift();if(!E)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let _=E.split(" "),y=+_[1],m=_.slice(2).join(" "),v={};for(let b of A){if(!b)continue;let S=b.indexOf(":");if(S===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${b}"`));let D=b.slice(0,S).toLowerCase(),O=b.slice(S+1).trimStart(),q=v[D];typeof q=="string"?v[D]=[q,O]:Array.isArray(q)?q.push(O):v[D]=O}vi("got proxy server response: %o %o",E,v),a(),e({connect:{statusCode:y,statusText:m,headers:v},buffered:p})}t.on("error",l),t.on("end",c),s()})}Yn.parseProxyResponse=ww});var nm=V(Dt=>{"use strict";var Ew=Dt&&Dt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Aw=Dt&&Dt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),tm=Dt&&Dt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Ew(e,t,r);return Aw(e,t),e},rm=Dt&&Dt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.HttpsProxyAgent=void 0;var Ti=tm(require("net")),Xp=tm(require("tls")),Sw=rm(require("assert")),kw=rm(kc()),vw=Yp(),Tw=require("url"),Dw=Qp(),$o=(0,kw.default)("https-proxy-agent"),Zp=t=>t.servername===void 0&&t.host&&!Ti.isIP(t.host)?{...t,servername:t.host}:t,Di=class extends vw.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Tw.URL(e):e,this.proxyHeaders=r?.headers??{},$o("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?em(r,"headers"):null,host:n,port:o}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let o;n.protocol==="https:"?($o("Creating `tls.Socket`: %o",this.connectOpts),o=Xp.connect(Zp(this.connectOpts))):($o("Creating `net.Socket`: %o",this.connectOpts),o=Ti.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Ti.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
22
+ `);if(g===-1){vi("have not received end of HTTP headers yet..."),s();return}let k=p.slice(0,g).toString("ascii").split(`\r
23
+ `),w=k.shift();if(!w)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let y=w.split(" "),_=+y[1],m=y.slice(2).join(" "),v={};for(let b of k){if(!b)continue;let S=b.indexOf(":");if(S===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${b}"`));let D=b.slice(0,S).toLowerCase(),O=b.slice(S+1).trimStart(),q=v[D];typeof q=="string"?v[D]=[q,O]:Array.isArray(q)?q.push(O):v[D]=O}vi("got proxy server response: %o %o",w,v),a(),e({connect:{statusCode:_,statusText:m,headers:v},buffered:p})}t.on("error",l),t.on("end",c),s()})}Yn.parseProxyResponse=ww});var nm=V(Dt=>{"use strict";var Ew=Dt&&Dt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),kw=Dt&&Dt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),tm=Dt&&Dt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Ew(e,t,r);return kw(e,t),e},rm=Dt&&Dt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.HttpsProxyAgent=void 0;var Ti=tm(require("net")),Xp=tm(require("tls")),Sw=rm(require("assert")),Aw=rm(Ac()),vw=Yp(),Tw=require("url"),Dw=Qp(),$o=(0,Aw.default)("https-proxy-agent"),Zp=t=>t.servername===void 0&&t.host&&!Ti.isIP(t.host)?{...t,servername:t.host}:t,Di=class extends vw.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Tw.URL(e):e,this.proxyHeaders=r?.headers??{},$o("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?em(r,"headers"):null,host:n,port:o}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let o;n.protocol==="https:"?($o("Creating `tls.Socket`: %o",this.connectOpts),o=Xp.connect(Zp(this.connectOpts))):($o("Creating `net.Socket`: %o",this.connectOpts),o=Ti.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Ti.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
24
24
  `;if(n.username||n.password){let g=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(g).toString("base64")}`}s.Host=`${a}:${r.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let g of Object.keys(s))c+=`${g}: ${s[g]}\r
25
25
  `;let l=(0,Dw.parseProxyResponse)(o);o.write(`${c}\r
26
- `);let{connect:f,buffered:d}=await l;if(e.emit("proxyConnect",f),this.emit("proxyConnect",f,e),f.statusCode===200)return e.once("socket",Rw),r.secureEndpoint?($o("Upgrading socket connection to TLS"),Xp.connect({...em(Zp(r),"host","path","port"),socket:o})):o;o.destroy();let p=new Ti.Socket({writable:!1});return p.readable=!0,e.once("socket",g=>{$o("Replaying proxy buffer for failed request"),(0,Sw.default)(g.listenerCount("data")>0),g.push(d),g.push(null)}),p}};Di.protocols=["http","https"];Dt.HttpsProxyAgent=Di;function Rw(t){t.resume()}function em(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function xw(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",o=!1,s=r[0]||"text/plain",a=s;for(let d=1;d<r.length;d++)r[d]==="base64"?o=!0:r[d]&&(a+=`;${r[d]}`,r[d].indexOf("charset=")===0&&(n=r[d].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let c=o?"base64":"ascii",l=unescape(t.substring(e+1)),f=Buffer.from(l,c);return f.type=s,f.typeFull=a,f.charset=n,f}var om,sm=je(()=>{om=xw});var am=V((Ri,im)=>{(function(t,e){typeof Ri=="object"&&typeof im<"u"?e(Ri):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ri,(function(t){"use strict";function e(){}function r(i){return typeof i=="object"&&i!==null||typeof i=="function"}let n=e;function o(i,u){try{Object.defineProperty(i,"name",{value:u,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,c=Promise.reject.bind(s);function l(i){return new s(i)}function f(i){return l(u=>u(i))}function d(i){return c(i)}function p(i,u,h){return a.call(i,u,h)}function g(i,u,h){p(p(i,u,h),void 0,n)}function A(i,u){g(i,u)}function E(i,u){g(i,void 0,u)}function _(i,u,h){return p(i,u,h)}function y(i){p(i,void 0,n)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let u=f(void 0);m=h=>p(u,h)}return m(i)};function v(i,u,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,u,h)}function b(i,u,h){try{return f(v(i,u,h))}catch(w){return d(w)}}let S=16384;class D{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(u){let h=this._back,w=h;h._elements.length===S-1&&(w={_elements:[],_next:void 0}),h._elements.push(u),w!==h&&(this._back=w,h._next=w),++this._size}shift(){let u=this._front,h=u,w=this._cursor,R=w+1,L=u._elements,$=L[w];return R===S&&(h=u._next,R=0),--this._size,this._cursor=R,u!==h&&(this._front=h),L[w]=void 0,$}forEach(u){let h=this._cursor,w=this._front,R=w._elements;for(;(h!==R.length||w._next!==void 0)&&!(h===R.length&&(w=w._next,R=w._elements,h=0,R.length===0));)u(R[h]),++h}peek(){let u=this._front,h=this._cursor;return u._elements[h]}}let O=Symbol("[[AbortSteps]]"),q=Symbol("[[ErrorSteps]]"),J=Symbol("[[CancelSteps]]"),B=Symbol("[[PullSteps]]"),Y=Symbol("[[ReleaseSteps]]");function te(i,u){i._ownerReadableStream=u,u._reader=i,u._state==="readable"?Ae(i):u._state==="closed"?pe(i):oe(i,u._storedError)}function Z(i,u){let h=i._ownerReadableStream;return Mt(h,u)}function ae(i){let u=i._ownerReadableStream;u._state==="readable"?G(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):K(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),u._readableStreamController[Y](),u._reader=void 0,i._ownerReadableStream=void 0}function de(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function Ae(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h})}function oe(i,u){Ae(i),G(i,u)}function pe(i){Ae(i),ue(i)}function G(i,u){i._closedPromise_reject!==void 0&&(y(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function K(i,u){oe(i,u)}function ue(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let qe=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Te=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function W(i){return typeof i=="object"||typeof i=="function"}function le(i,u){if(i!==void 0&&!W(i))throw new TypeError(`${u} is not an object.`)}function ye(i,u){if(typeof i!="function")throw new TypeError(`${u} is not a function.`)}function Nt(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Re(i,u){if(!Nt(i))throw new TypeError(`${u} is not an object.`)}function Me(i,u,h){if(i===void 0)throw new TypeError(`Parameter ${u} is required in '${h}'.`)}function C(i,u,h){if(i===void 0)throw new TypeError(`${u} is required in '${h}'.`)}function k(i){return Number(i)}function T(i){return i===0?0:i}function j(i){return T(Te(i))}function F(i,u){let w=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=T(R),!qe(R))throw new TypeError(`${u} is not a finite number`);if(R=j(R),R<0||R>w)throw new TypeError(`${u} is outside the accepted range of 0 to ${w}, inclusive`);return!qe(R)||R===0?0:R}function I(i,u){if(!Lr(i))throw new TypeError(`${u} is not a ReadableStream.`)}function U(i){return new z(i)}function x(i,u){i._reader._readRequests.push(u)}function P(i,u,h){let R=i._reader._readRequests.shift();h?R._closeSteps():R._chunkSteps(u)}function M(i){return i._reader._readRequests.length}function N(i){let u=i._reader;return!(u===void 0||!X(u))}class z{constructor(u){if(Me(u,1,"ReadableStreamDefaultReader"),I(u,"First parameter"),Ur(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");te(this,u),this._readRequests=new D}get closed(){return X(this)?this._closedPromise:d(Ne("closed"))}cancel(u=void 0){return X(this)?this._ownerReadableStream===void 0?d(de("cancel")):Z(this,u):d(Ne("cancel"))}read(){if(!X(this))return d(Ne("read"));if(this._ownerReadableStream===void 0)return d(de("read from"));let u,h,w=l((L,$)=>{u=L,h=$});return ee(this,{_chunkSteps:L=>u({value:L,done:!1}),_closeSteps:()=>u({value:void 0,done:!0}),_errorSteps:L=>h(L)}),w}releaseLock(){if(!X(this))throw Ne("releaseLock");this._ownerReadableStream!==void 0&&Ee(this)}}Object.defineProperties(z.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(z.prototype.cancel,"cancel"),o(z.prototype.read,"read"),o(z.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(z.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function X(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof z}function ee(i,u){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?u._closeSteps():h._state==="errored"?u._errorSteps(h._storedError):h._readableStreamController[B](u)}function Ee(i){ae(i);let u=new TypeError("Reader was released");Fe(i,u)}function Fe(i,u){let h=i._readRequests;i._readRequests=new D,h.forEach(w=>{w._errorSteps(u)})}function Ne(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let Ce=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Se{constructor(u,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=u,this._preventCancel=h}next(){let u=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?_(this._ongoingPromise,u,u):u(),this._ongoingPromise}return(u){let h=()=>this._returnSteps(u);return this._ongoingPromise?_(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let u=this._reader,h,w,R=l(($,Q)=>{h=$,w=Q});return ee(u,{_chunkSteps:$=>{this._ongoingPromise=void 0,m(()=>h({value:$,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ae(u),h({value:void 0,done:!0})},_errorSteps:$=>{this._ongoingPromise=void 0,this._isFinished=!0,ae(u),w($)}}),R}_returnSteps(u){if(this._isFinished)return Promise.resolve({value:u,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let w=Z(h,u);return ae(h),_(w,()=>({value:u,done:!0}))}return ae(h),f({value:u,done:!0})}}let Ue={next(){return xn(this)?this._asyncIteratorImpl.next():d(On("next"))},return(i){return xn(this)?this._asyncIteratorImpl.return(i):d(On("return"))}};Object.setPrototypeOf(Ue,Ce);function Rn(i,u){let h=U(i),w=new Se(h,u),R=Object.create(Ue);return R._asyncIteratorImpl=w,R}function xn(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Se}catch{return!1}}function On(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let dt=Number.isNaN||function(i){return i!==i};var fr,Ye,$e;function ke(i){return i.slice()}function kf(i,u,h,w,R){new Uint8Array(i).set(new Uint8Array(h,w,R),u)}let hr=i=>(typeof i.transfer=="function"?hr=u=>u.transfer():typeof structuredClone=="function"?hr=u=>structuredClone(u,{transfer:[u]}):hr=u=>u,hr(i)),Br=i=>(typeof i.detached=="boolean"?Br=u=>u.detached:Br=u=>u.byteLength===0,Br(i));function vf(i,u,h){if(i.slice)return i.slice(u,h);let w=h-u,R=new ArrayBuffer(w);return kf(R,0,i,u,w),R}function Fs(i,u){let h=i[u];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(u)} is not a function`);return h}}function w_(i){let u={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*u})(),w=h.next;return{iterator:h,nextMethod:w,done:!1}}let Cu=($e=(fr=Symbol.asyncIterator)!==null&&fr!==void 0?fr:(Ye=Symbol.for)===null||Ye===void 0?void 0:Ye.call(Symbol,"Symbol.asyncIterator"))!==null&&$e!==void 0?$e:"@@asyncIterator";function Tf(i,u="sync",h){if(h===void 0)if(u==="async"){if(h=Fs(i,Cu),h===void 0){let L=Fs(i,Symbol.iterator),$=Tf(i,"sync",L);return w_($)}}else h=Fs(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let w=v(h,i,[]);if(!r(w))throw new TypeError("The iterator method must return an object");let R=w.next;return{iterator:w,nextMethod:R,done:!1}}function E_(i){let u=v(i.nextMethod,i.iterator,[]);if(!r(u))throw new TypeError("The iterator.next() method must return an object");return u}function A_(i){return!!i.done}function S_(i){return i.value}function k_(i){return!(typeof i!="number"||dt(i)||i<0)}function Df(i){let u=vf(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(u)}function wu(i){let u=i._queue.shift();return i._queueTotalSize-=u.size,i._queueTotalSize<0&&(i._queueTotalSize=0),u.value}function Eu(i,u,h){if(!k_(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:u,size:h}),i._queueTotalSize+=h}function v_(i){return i._queue.peek().value}function Nr(i){i._queue=new D,i._queueTotalSize=0}function Rf(i){return i===DataView}function T_(i){return Rf(i.constructor)}function D_(i){return Rf(i)?1:i.BYTES_PER_ELEMENT}class tn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Au(this))throw Du("view");return this._view}respond(u){if(!Au(this))throw Du("respond");if(Me(u,1,"respond"),u=F(u,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Br(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ns(this._associatedReadableByteStreamController,u)}respondWithNewView(u){if(!Au(this))throw Du("respondWithNewView");if(Me(u,1,"respondWithNewView"),!ArrayBuffer.isView(u))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Br(u.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");js(this._associatedReadableByteStreamController,u)}}Object.defineProperties(tn.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(tn.prototype.respond,"respond"),o(tn.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(tn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class pr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!rn(this))throw To("byobRequest");return Tu(this)}get desiredSize(){if(!rn(this))throw To("desiredSize");return Lf(this)}close(){if(!rn(this))throw To("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let u=this._controlledReadableByteStream._state;if(u!=="readable")throw new TypeError(`The stream (in ${u} state) is not in the readable state and cannot be closed`);vo(this)}enqueue(u){if(!rn(this))throw To("enqueue");if(Me(u,1,"enqueue"),!ArrayBuffer.isView(u))throw new TypeError("chunk must be an array buffer view");if(u.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(u.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);Bs(this,u)}error(u=void 0){if(!rn(this))throw To("error");St(this,u)}[J](u){xf(this),Nr(this);let h=this._cancelAlgorithm(u);return Is(this),h}[B](u){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){Mf(this,u);return}let w=this._autoAllocateChunkSize;if(w!==void 0){let R;try{R=new ArrayBuffer(w)}catch($){u._errorSteps($);return}let L={buffer:R,bufferByteLength:w,byteOffset:0,byteLength:w,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(L)}x(h,u),nn(this)}[Y](){if(this._pendingPullIntos.length>0){let u=this._pendingPullIntos.peek();u.readerType="none",this._pendingPullIntos=new D,this._pendingPullIntos.push(u)}}}Object.defineProperties(pr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pr.prototype.close,"close"),o(pr.prototype.enqueue,"enqueue"),o(pr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function rn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof pr}function Au(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof tn}function nn(i){if(!P_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,nn(i)),null),w=>(St(i,w),null))}function xf(i){ku(i),i._pendingPullIntos=new D}function Su(i,u){let h=!1;i._state==="closed"&&(h=!0);let w=Of(u);u.readerType==="default"?P(i,w,h):L_(i,w,h)}function Of(i){let u=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,u/h)}function Ps(i,u,h,w){i._queue.push({buffer:u,byteOffset:h,byteLength:w}),i._queueTotalSize+=w}function Ff(i,u,h,w){let R;try{R=vf(u,h,h+w)}catch(L){throw St(i,L),L}Ps(i,R,0,w)}function Pf(i,u){u.bytesFilled>0&&Ff(i,u.buffer,u.byteOffset,u.bytesFilled),Fn(i)}function If(i,u){let h=Math.min(i._queueTotalSize,u.byteLength-u.bytesFilled),w=u.bytesFilled+h,R=h,L=!1,$=w%u.elementSize,Q=w-$;Q>=u.minimumFill&&(R=Q-u.bytesFilled,L=!0);let ce=i._queue;for(;R>0;){let ne=ce.peek(),fe=Math.min(R,ne.byteLength),ge=u.byteOffset+u.bytesFilled;kf(u.buffer,ge,ne.buffer,ne.byteOffset,fe),ne.byteLength===fe?ce.shift():(ne.byteOffset+=fe,ne.byteLength-=fe),i._queueTotalSize-=fe,Bf(i,fe,u),R-=fe}return L}function Bf(i,u,h){h.bytesFilled+=u}function Nf(i){i._queueTotalSize===0&&i._closeRequested?(Is(i),Po(i._controlledReadableByteStream)):nn(i)}function ku(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function vu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let u=i._pendingPullIntos.peek();If(i,u)&&(Fn(i),Su(i._controlledReadableByteStream,u))}}function R_(i){let u=i._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=u._readRequests.shift();Mf(i,h)}}function x_(i,u,h,w){let R=i._controlledReadableByteStream,L=u.constructor,$=D_(L),{byteOffset:Q,byteLength:ce}=u,ne=h*$,fe;try{fe=hr(u.buffer)}catch(De){w._errorSteps(De);return}let ge={buffer:fe,bufferByteLength:fe.byteLength,byteOffset:Q,byteLength:ce,bytesFilled:0,minimumFill:ne,elementSize:$,viewConstructor:L,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(ge),qf(R,w);return}if(R._state==="closed"){let De=new L(ge.buffer,ge.byteOffset,0);w._closeSteps(De);return}if(i._queueTotalSize>0){if(If(i,ge)){let De=Of(ge);Nf(i),w._chunkSteps(De);return}if(i._closeRequested){let De=new TypeError("Insufficient bytes to fill elements in the given buffer");St(i,De),w._errorSteps(De);return}}i._pendingPullIntos.push(ge),qf(R,w),nn(i)}function O_(i,u){u.readerType==="none"&&Fn(i);let h=i._controlledReadableByteStream;if(Ru(h))for(;zf(h)>0;){let w=Fn(i);Su(h,w)}}function F_(i,u,h){if(Bf(i,u,h),h.readerType==="none"){Pf(i,h),vu(i);return}if(h.bytesFilled<h.minimumFill)return;Fn(i);let w=h.bytesFilled%h.elementSize;if(w>0){let R=h.byteOffset+h.bytesFilled;Ff(i,h.buffer,R-w,w)}h.bytesFilled-=w,Su(i._controlledReadableByteStream,h),vu(i)}function jf(i,u){let h=i._pendingPullIntos.peek();ku(i),i._controlledReadableByteStream._state==="closed"?O_(i,h):F_(i,u,h),nn(i)}function Fn(i){return i._pendingPullIntos.shift()}function P_(i){let u=i._controlledReadableByteStream;return u._state!=="readable"||i._closeRequested||!i._started?!1:!!(N(u)&&M(u)>0||Ru(u)&&zf(u)>0||Lf(i)>0)}function Is(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function vo(i){let u=i._controlledReadableByteStream;if(!(i._closeRequested||u._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let w=new TypeError("Insufficient bytes to fill elements in the given buffer");throw St(i,w),w}}Is(i),Po(u)}}function Bs(i,u){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:w,byteOffset:R,byteLength:L}=u;if(Br(w))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let $=hr(w);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(Br(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");ku(i),Q.buffer=hr(Q.buffer),Q.readerType==="none"&&Pf(i,Q)}if(N(h))if(R_(i),M(h)===0)Ps(i,$,R,L);else{i._pendingPullIntos.length>0&&Fn(i);let Q=new Uint8Array($,R,L);P(h,Q,!1)}else Ru(h)?(Ps(i,$,R,L),vu(i)):Ps(i,$,R,L);nn(i)}function St(i,u){let h=i._controlledReadableByteStream;h._state==="readable"&&(xf(i),Nr(i),Is(i),hh(h,u))}function Mf(i,u){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,Nf(i);let w=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);u._chunkSteps(w)}function Tu(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let u=i._pendingPullIntos.peek(),h=new Uint8Array(u.buffer,u.byteOffset+u.bytesFilled,u.byteLength-u.bytesFilled),w=Object.create(tn.prototype);B_(w,i,h),i._byobRequest=w}return i._byobRequest}function Lf(i){let u=i._controlledReadableByteStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ns(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(u===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+u>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=hr(h.buffer),jf(i,u)}function js(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(u.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(h.byteOffset+h.bytesFilled!==u.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==u.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+u.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let R=u.byteLength;h.buffer=hr(u.buffer),jf(i,R)}function Uf(i,u,h,w,R,L,$){u._controlledReadableByteStream=i,u._pullAgain=!1,u._pulling=!1,u._byobRequest=null,u._queue=u._queueTotalSize=void 0,Nr(u),u._closeRequested=!1,u._started=!1,u._strategyHWM=L,u._pullAlgorithm=w,u._cancelAlgorithm=R,u._autoAllocateChunkSize=$,u._pendingPullIntos=new D,i._readableStreamController=u;let Q=h();g(f(Q),()=>(u._started=!0,nn(u),null),ce=>(St(u,ce),null))}function I_(i,u,h){let w=Object.create(pr.prototype),R,L,$;u.start!==void 0?R=()=>u.start(w):R=()=>{},u.pull!==void 0?L=()=>u.pull(w):L=()=>f(void 0),u.cancel!==void 0?$=ce=>u.cancel(ce):$=()=>f(void 0);let Q=u.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Uf(i,w,R,L,$,h,Q)}function B_(i,u,h){i._associatedReadableByteStreamController=u,i._view=h}function Du(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function To(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function N_(i,u){le(i,u);let h=i?.mode;return{mode:h===void 0?void 0:j_(h,`${u} has member 'mode' that`)}}function j_(i,u){if(i=`${i}`,i!=="byob")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function M_(i,u){var h;le(i,u);let w=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(w,`${u} has member 'min' that`)}}function $f(i){return new jr(i)}function qf(i,u){i._reader._readIntoRequests.push(u)}function L_(i,u,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(u):R._chunkSteps(u)}function zf(i){return i._reader._readIntoRequests.length}function Ru(i){let u=i._reader;return!(u===void 0||!on(u))}class jr{constructor(u){if(Me(u,1,"ReadableStreamBYOBReader"),I(u,"First parameter"),Ur(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!rn(u._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");te(this,u),this._readIntoRequests=new D}get closed(){return on(this)?this._closedPromise:d(Ms("closed"))}cancel(u=void 0){return on(this)?this._ownerReadableStream===void 0?d(de("cancel")):Z(this,u):d(Ms("cancel"))}read(u,h={}){if(!on(this))return d(Ms("read"));if(!ArrayBuffer.isView(u))return d(new TypeError("view must be an array buffer view"));if(u.byteLength===0)return d(new TypeError("view must have non-zero byteLength"));if(u.buffer.byteLength===0)return d(new TypeError("view's buffer must have non-zero byteLength"));if(Br(u.buffer))return d(new TypeError("view's buffer has been detached"));let w;try{w=M_(h,"options")}catch(ne){return d(ne)}let R=w.min;if(R===0)return d(new TypeError("options.min must be greater than 0"));if(T_(u)){if(R>u.byteLength)return d(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(R>u.length)return d(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return d(de("read from"));let L,$,Q=l((ne,fe)=>{L=ne,$=fe});return Hf(this,u,R,{_chunkSteps:ne=>L({value:ne,done:!1}),_closeSteps:ne=>L({value:ne,done:!0}),_errorSteps:ne=>$(ne)}),Q}releaseLock(){if(!on(this))throw Ms("releaseLock");this._ownerReadableStream!==void 0&&U_(this)}}Object.defineProperties(jr.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(jr.prototype.cancel,"cancel"),o(jr.prototype.read,"read"),o(jr.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(jr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function on(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof jr}function Hf(i,u,h,w){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?w._errorSteps(R._storedError):x_(R._readableStreamController,u,h,w)}function U_(i){ae(i);let u=new TypeError("Reader was released");Wf(i,u)}function Wf(i,u){let h=i._readIntoRequests;i._readIntoRequests=new D,h.forEach(w=>{w._errorSteps(u)})}function Ms(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function Do(i,u){let{highWaterMark:h}=i;if(h===void 0)return u;if(dt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function Ls(i){let{size:u}=i;return u||(()=>1)}function Us(i,u){le(i,u);let h=i?.highWaterMark,w=i?.size;return{highWaterMark:h===void 0?void 0:k(h),size:w===void 0?void 0:$_(w,`${u} has member 'size' that`)}}function $_(i,u){return ye(i,u),h=>k(i(h))}function q_(i,u){le(i,u);let h=i?.abort,w=i?.close,R=i?.start,L=i?.type,$=i?.write;return{abort:h===void 0?void 0:z_(h,i,`${u} has member 'abort' that`),close:w===void 0?void 0:H_(w,i,`${u} has member 'close' that`),start:R===void 0?void 0:W_(R,i,`${u} has member 'start' that`),write:$===void 0?void 0:G_($,i,`${u} has member 'write' that`),type:L}}function z_(i,u,h){return ye(i,h),w=>b(i,u,[w])}function H_(i,u,h){return ye(i,h),()=>b(i,u,[])}function W_(i,u,h){return ye(i,h),w=>v(i,u,[w])}function G_(i,u,h){return ye(i,h),(w,R)=>b(i,u,[w,R])}function Gf(i,u){if(!Pn(i))throw new TypeError(`${u} is not a WritableStream.`)}function J_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let V_=typeof AbortController=="function";function K_(){if(V_)return new AbortController}class Mr{constructor(u={},h={}){u===void 0?u=null:Re(u,"First parameter");let w=Us(h,"Second parameter"),R=q_(u,"First parameter");if(Vf(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let $=Ls(w),Q=Do(w,1);cb(this,R,Q,$)}get locked(){if(!Pn(this))throw Ws("locked");return In(this)}abort(u=void 0){return Pn(this)?In(this)?d(new TypeError("Cannot abort a stream that already has a writer")):$s(this,u):d(Ws("abort"))}close(){return Pn(this)?In(this)?d(new TypeError("Cannot close a stream that already has a writer")):Qt(this)?d(new TypeError("Cannot close an already-closing stream")):Kf(this):d(Ws("close"))}getWriter(){if(!Pn(this))throw Ws("getWriter");return Jf(this)}}Object.defineProperties(Mr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Mr.prototype.abort,"abort"),o(Mr.prototype.close,"close"),o(Mr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Mr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Jf(i){return new mr(i)}function Y_(i,u,h,w,R=1,L=()=>1){let $=Object.create(Mr.prototype);Vf($);let Q=Object.create(Bn.prototype);return th($,Q,i,u,h,w,R,L),$}function Vf(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new D,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function Pn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Mr}function In(i){return i._writer!==void 0}function $s(i,u){var h;if(i._state==="closed"||i._state==="errored")return f(void 0);i._writableStreamController._abortReason=u,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(u);let w=i._state;if(w==="closed"||w==="errored")return f(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let R=!1;w==="erroring"&&(R=!0,u=void 0);let L=l(($,Q)=>{i._pendingAbortRequest={_promise:void 0,_resolve:$,_reject:Q,_reason:u,_wasAlreadyErroring:R}});return i._pendingAbortRequest._promise=L,R||Ou(i,u),L}function Kf(i){let u=i._state;if(u==="closed"||u==="errored")return d(new TypeError(`The stream (in ${u} state) is not in the writable state and cannot be closed`));let h=l((R,L)=>{let $={_resolve:R,_reject:L};i._closeRequest=$}),w=i._writer;return w!==void 0&&i._backpressure&&u==="writable"&&Lu(w),lb(i._writableStreamController),h}function Q_(i){return l((h,w)=>{let R={_resolve:h,_reject:w};i._writeRequests.push(R)})}function xu(i,u){if(i._state==="writable"){Ou(i,u);return}Fu(i)}function Ou(i,u){let h=i._writableStreamController;i._state="erroring",i._storedError=u;let w=i._writer;w!==void 0&&Qf(w,u),!rb(i)&&h._started&&Fu(i)}function Fu(i){i._state="errored",i._writableStreamController[q]();let u=i._storedError;if(i._writeRequests.forEach(R=>{R._reject(u)}),i._writeRequests=new D,i._pendingAbortRequest===void 0){qs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(u),qs(i);return}let w=i._writableStreamController[O](h._reason);g(w,()=>(h._resolve(),qs(i),null),R=>(h._reject(R),qs(i),null))}function X_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function Z_(i,u){i._inFlightWriteRequest._reject(u),i._inFlightWriteRequest=void 0,xu(i,u)}function eb(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let h=i._writer;h!==void 0&&sh(h)}function tb(i,u){i._inFlightCloseRequest._reject(u),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(u),i._pendingAbortRequest=void 0),xu(i,u)}function Qt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function rb(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function nb(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function ob(i){i._inFlightWriteRequest=i._writeRequests.shift()}function qs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let u=i._writer;u!==void 0&&ju(u,i._storedError)}function Pu(i,u){let h=i._writer;h!==void 0&&u!==i._backpressure&&(u?yb(h):Lu(h)),i._backpressure=u}class mr{constructor(u){if(Me(u,1,"WritableStreamDefaultWriter"),Gf(u,"First parameter"),In(u))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=u,u._writer=this;let h=u._state;if(h==="writable")!Qt(u)&&u._backpressure?Js(this):ih(this),Gs(this);else if(h==="erroring")Mu(this,u._storedError),Gs(this);else if(h==="closed")ih(this),mb(this);else{let w=u._storedError;Mu(this,w),oh(this,w)}}get closed(){return sn(this)?this._closedPromise:d(an("closed"))}get desiredSize(){if(!sn(this))throw an("desiredSize");if(this._ownerWritableStream===void 0)throw xo("desiredSize");return ub(this)}get ready(){return sn(this)?this._readyPromise:d(an("ready"))}abort(u=void 0){return sn(this)?this._ownerWritableStream===void 0?d(xo("abort")):sb(this,u):d(an("abort"))}close(){if(!sn(this))return d(an("close"));let u=this._ownerWritableStream;return u===void 0?d(xo("close")):Qt(u)?d(new TypeError("Cannot close an already-closing stream")):Yf(this)}releaseLock(){if(!sn(this))throw an("releaseLock");this._ownerWritableStream!==void 0&&Xf(this)}write(u=void 0){return sn(this)?this._ownerWritableStream===void 0?d(xo("write to")):Zf(this,u):d(an("write"))}}Object.defineProperties(mr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(mr.prototype.abort,"abort"),o(mr.prototype.close,"close"),o(mr.prototype.releaseLock,"releaseLock"),o(mr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function sn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof mr}function sb(i,u){let h=i._ownerWritableStream;return $s(h,u)}function Yf(i){let u=i._ownerWritableStream;return Kf(u)}function ib(i){let u=i._ownerWritableStream,h=u._state;return Qt(u)||h==="closed"?f(void 0):h==="errored"?d(u._storedError):Yf(i)}function ab(i,u){i._closedPromiseState==="pending"?ju(i,u):gb(i,u)}function Qf(i,u){i._readyPromiseState==="pending"?ah(i,u):_b(i,u)}function ub(i){let u=i._ownerWritableStream,h=u._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:rh(u._writableStreamController)}function Xf(i){let u=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Qf(i,h),ab(i,h),u._writer=void 0,i._ownerWritableStream=void 0}function Zf(i,u){let h=i._ownerWritableStream,w=h._writableStreamController,R=db(w,u);if(h!==i._ownerWritableStream)return d(xo("write to"));let L=h._state;if(L==="errored")return d(h._storedError);if(Qt(h)||L==="closed")return d(new TypeError("The stream is closing or closed and cannot be written to"));if(L==="erroring")return d(h._storedError);let $=Q_(h);return fb(w,u,R),$}let eh={};class Bn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Iu(this))throw Nu("abortReason");return this._abortReason}get signal(){if(!Iu(this))throw Nu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(u=void 0){if(!Iu(this))throw Nu("error");this._controlledWritableStream._state==="writable"&&nh(this,u)}[O](u){let h=this._abortAlgorithm(u);return zs(this),h}[q](){Nr(this)}}Object.defineProperties(Bn.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Iu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Bn}function th(i,u,h,w,R,L,$,Q){u._controlledWritableStream=i,i._writableStreamController=u,u._queue=void 0,u._queueTotalSize=void 0,Nr(u),u._abortReason=void 0,u._abortController=K_(),u._started=!1,u._strategySizeAlgorithm=Q,u._strategyHWM=$,u._writeAlgorithm=w,u._closeAlgorithm=R,u._abortAlgorithm=L;let ce=Bu(u);Pu(i,ce);let ne=h(),fe=f(ne);g(fe,()=>(u._started=!0,Hs(u),null),ge=>(u._started=!0,xu(i,ge),null))}function cb(i,u,h,w){let R=Object.create(Bn.prototype),L,$,Q,ce;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.write!==void 0?$=ne=>u.write(ne,R):$=()=>f(void 0),u.close!==void 0?Q=()=>u.close():Q=()=>f(void 0),u.abort!==void 0?ce=ne=>u.abort(ne):ce=()=>f(void 0),th(i,R,L,$,Q,ce,h,w)}function zs(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function lb(i){Eu(i,eh,0),Hs(i)}function db(i,u){try{return i._strategySizeAlgorithm(u)}catch(h){return Ro(i,h),1}}function rh(i){return i._strategyHWM-i._queueTotalSize}function fb(i,u,h){try{Eu(i,u,h)}catch(R){Ro(i,R);return}let w=i._controlledWritableStream;if(!Qt(w)&&w._state==="writable"){let R=Bu(i);Pu(w,R)}Hs(i)}function Hs(i){let u=i._controlledWritableStream;if(!i._started||u._inFlightWriteRequest!==void 0)return;if(u._state==="erroring"){Fu(u);return}if(i._queue.length===0)return;let w=v_(i);w===eh?hb(i):pb(i,w)}function Ro(i,u){i._controlledWritableStream._state==="writable"&&nh(i,u)}function hb(i){let u=i._controlledWritableStream;nb(u),wu(i);let h=i._closeAlgorithm();zs(i),g(h,()=>(eb(u),null),w=>(tb(u,w),null))}function pb(i,u){let h=i._controlledWritableStream;ob(h);let w=i._writeAlgorithm(u);g(w,()=>{X_(h);let R=h._state;if(wu(i),!Qt(h)&&R==="writable"){let L=Bu(i);Pu(h,L)}return Hs(i),null},R=>(h._state==="writable"&&zs(i),Z_(h,R),null))}function Bu(i){return rh(i)<=0}function nh(i,u){let h=i._controlledWritableStream;zs(i),Ou(h,u)}function Ws(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function Nu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function an(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function xo(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Gs(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function oh(i,u){Gs(i),ju(i,u)}function mb(i){Gs(i),sh(i)}function ju(i,u){i._closedPromise_reject!==void 0&&(y(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function gb(i,u){oh(i,u)}function sh(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function Js(i){i._readyPromise=l((u,h)=>{i._readyPromise_resolve=u,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function Mu(i,u){Js(i),ah(i,u)}function ih(i){Js(i),Lu(i)}function ah(i,u){i._readyPromise_reject!==void 0&&(y(i._readyPromise),i._readyPromise_reject(u),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function yb(i){Js(i)}function _b(i,u){Mu(i,u)}function Lu(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function bb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Uu=bb();function Cb(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function wb(){let i=Uu?.DOMException;return Cb(i)?i:void 0}function Eb(){let i=function(h,w){this.message=h||"",this.name=w||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let Ab=wb()||Eb();function uh(i,u,h,w,R,L){let $=U(i),Q=Jf(u);i._disturbed=!0;let ce=!1,ne=f(void 0);return l((fe,ge)=>{let De;if(L!==void 0){if(De=()=>{let se=L.reason!==void 0?L.reason:new Ab("Aborted","AbortError"),_e=[];w||_e.push(()=>u._state==="writable"?$s(u,se):f(void 0)),R||_e.push(()=>i._state==="readable"?Mt(i,se):f(void 0)),it(()=>Promise.all(_e.map(xe=>xe())),!0,se)},L.aborted){De();return}L.addEventListener("abort",De)}function Lt(){return l((se,_e)=>{function xe(ft){ft?se():p(Ln(),xe,_e)}xe(!1)})}function Ln(){return ce?f(!0):p(Q._readyPromise,()=>l((se,_e)=>{ee($,{_chunkSteps:xe=>{ne=p(Zf(Q,xe),void 0,e),se(!1)},_closeSteps:()=>se(!0),_errorSteps:_e})}))}if(yr(i,$._closedPromise,se=>(w?kt(!0,se):it(()=>$s(u,se),!0,se),null)),yr(u,Q._closedPromise,se=>(R?kt(!0,se):it(()=>Mt(i,se),!0,se),null)),et(i,$._closedPromise,()=>(h?kt():it(()=>ib(Q)),null)),Qt(u)||u._state==="closed"){let se=new TypeError("the destination writable stream closed before all data could be piped to it");R?kt(!0,se):it(()=>Mt(i,se),!0,se)}y(Lt());function qr(){let se=ne;return p(ne,()=>se!==ne?qr():void 0)}function yr(se,_e,xe){se._state==="errored"?xe(se._storedError):E(_e,xe)}function et(se,_e,xe){se._state==="closed"?xe():A(_e,xe)}function it(se,_e,xe){if(ce)return;ce=!0,u._state==="writable"&&!Qt(u)?A(qr(),ft):ft();function ft(){return g(se(),()=>_r(_e,xe),Un=>_r(!0,Un)),null}}function kt(se,_e){ce||(ce=!0,u._state==="writable"&&!Qt(u)?A(qr(),()=>_r(se,_e)):_r(se,_e))}function _r(se,_e){return Xf(Q),ae($),L!==void 0&&L.removeEventListener("abort",De),se?ge(_e):fe(void 0),null}})}class gr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Vs(this))throw Ys("desiredSize");return $u(this)}close(){if(!Vs(this))throw Ys("close");if(!jn(this))throw new TypeError("The stream is not in a state that permits close");un(this)}enqueue(u=void 0){if(!Vs(this))throw Ys("enqueue");if(!jn(this))throw new TypeError("The stream is not in a state that permits enqueue");return Nn(this,u)}error(u=void 0){if(!Vs(this))throw Ys("error");jt(this,u)}[J](u){Nr(this);let h=this._cancelAlgorithm(u);return Ks(this),h}[B](u){let h=this._controlledReadableStream;if(this._queue.length>0){let w=wu(this);this._closeRequested&&this._queue.length===0?(Ks(this),Po(h)):Oo(this),u._chunkSteps(w)}else x(h,u),Oo(this)}[Y](){}}Object.defineProperties(gr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(gr.prototype.close,"close"),o(gr.prototype.enqueue,"enqueue"),o(gr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gr.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Vs(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gr}function Oo(i){if(!ch(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Oo(i)),null),w=>(jt(i,w),null))}function ch(i){let u=i._controlledReadableStream;return!jn(i)||!i._started?!1:!!(Ur(u)&&M(u)>0||$u(i)>0)}function Ks(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function un(i){if(!jn(i))return;let u=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(Ks(i),Po(u))}function Nn(i,u){if(!jn(i))return;let h=i._controlledReadableStream;if(Ur(h)&&M(h)>0)P(h,u,!1);else{let w;try{w=i._strategySizeAlgorithm(u)}catch(R){throw jt(i,R),R}try{Eu(i,u,w)}catch(R){throw jt(i,R),R}}Oo(i)}function jt(i,u){let h=i._controlledReadableStream;h._state==="readable"&&(Nr(i),Ks(i),hh(h,u))}function $u(i){let u=i._controlledReadableStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function Sb(i){return!ch(i)}function jn(i){let u=i._controlledReadableStream._state;return!i._closeRequested&&u==="readable"}function lh(i,u,h,w,R,L,$){u._controlledReadableStream=i,u._queue=void 0,u._queueTotalSize=void 0,Nr(u),u._started=!1,u._closeRequested=!1,u._pullAgain=!1,u._pulling=!1,u._strategySizeAlgorithm=$,u._strategyHWM=L,u._pullAlgorithm=w,u._cancelAlgorithm=R,i._readableStreamController=u;let Q=h();g(f(Q),()=>(u._started=!0,Oo(u),null),ce=>(jt(u,ce),null))}function kb(i,u,h,w){let R=Object.create(gr.prototype),L,$,Q;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.pull!==void 0?$=()=>u.pull(R):$=()=>f(void 0),u.cancel!==void 0?Q=ce=>u.cancel(ce):Q=()=>f(void 0),lh(i,R,L,$,Q,h,w)}function Ys(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function vb(i,u){return rn(i._readableStreamController)?Db(i):Tb(i)}function Tb(i,u){let h=U(i),w=!1,R=!1,L=!1,$=!1,Q,ce,ne,fe,ge,De=l(et=>{ge=et});function Lt(){return w?(R=!0,f(void 0)):(w=!0,ee(h,{_chunkSteps:it=>{m(()=>{R=!1;let kt=it,_r=it;L||Nn(ne._readableStreamController,kt),$||Nn(fe._readableStreamController,_r),w=!1,R&&Lt()})},_closeSteps:()=>{w=!1,L||un(ne._readableStreamController),$||un(fe._readableStreamController),(!L||!$)&&ge(void 0)},_errorSteps:()=>{w=!1}}),f(void 0))}function Ln(et){if(L=!0,Q=et,$){let it=ke([Q,ce]),kt=Mt(i,it);ge(kt)}return De}function qr(et){if($=!0,ce=et,L){let it=ke([Q,ce]),kt=Mt(i,it);ge(kt)}return De}function yr(){}return ne=Fo(yr,Lt,Ln),fe=Fo(yr,Lt,qr),E(h._closedPromise,et=>(jt(ne._readableStreamController,et),jt(fe._readableStreamController,et),(!L||!$)&&ge(void 0),null)),[ne,fe]}function Db(i){let u=U(i),h=!1,w=!1,R=!1,L=!1,$=!1,Q,ce,ne,fe,ge,De=l(se=>{ge=se});function Lt(se){E(se._closedPromise,_e=>(se!==u||(St(ne._readableStreamController,_e),St(fe._readableStreamController,_e),(!L||!$)&&ge(void 0)),null))}function Ln(){on(u)&&(ae(u),u=U(i),Lt(u)),ee(u,{_chunkSteps:_e=>{m(()=>{w=!1,R=!1;let xe=_e,ft=_e;if(!L&&!$)try{ft=Df(_e)}catch(Un){St(ne._readableStreamController,Un),St(fe._readableStreamController,Un),ge(Mt(i,Un));return}L||Bs(ne._readableStreamController,xe),$||Bs(fe._readableStreamController,ft),h=!1,w?yr():R&&et()})},_closeSteps:()=>{h=!1,L||vo(ne._readableStreamController),$||vo(fe._readableStreamController),ne._readableStreamController._pendingPullIntos.length>0&&Ns(ne._readableStreamController,0),fe._readableStreamController._pendingPullIntos.length>0&&Ns(fe._readableStreamController,0),(!L||!$)&&ge(void 0)},_errorSteps:()=>{h=!1}})}function qr(se,_e){X(u)&&(ae(u),u=$f(i),Lt(u));let xe=_e?fe:ne,ft=_e?ne:fe;Hf(u,se,1,{_chunkSteps:$n=>{m(()=>{w=!1,R=!1;let qn=_e?$:L;if(_e?L:$)qn||js(xe._readableStreamController,$n);else{let vh;try{vh=Df($n)}catch(Gu){St(xe._readableStreamController,Gu),St(ft._readableStreamController,Gu),ge(Mt(i,Gu));return}qn||js(xe._readableStreamController,$n),Bs(ft._readableStreamController,vh)}h=!1,w?yr():R&&et()})},_closeSteps:$n=>{h=!1;let qn=_e?$:L,oi=_e?L:$;qn||vo(xe._readableStreamController),oi||vo(ft._readableStreamController),$n!==void 0&&(qn||js(xe._readableStreamController,$n),!oi&&ft._readableStreamController._pendingPullIntos.length>0&&Ns(ft._readableStreamController,0)),(!qn||!oi)&&ge(void 0)},_errorSteps:()=>{h=!1}})}function yr(){if(h)return w=!0,f(void 0);h=!0;let se=Tu(ne._readableStreamController);return se===null?Ln():qr(se._view,!1),f(void 0)}function et(){if(h)return R=!0,f(void 0);h=!0;let se=Tu(fe._readableStreamController);return se===null?Ln():qr(se._view,!0),f(void 0)}function it(se){if(L=!0,Q=se,$){let _e=ke([Q,ce]),xe=Mt(i,_e);ge(xe)}return De}function kt(se){if($=!0,ce=se,L){let _e=ke([Q,ce]),xe=Mt(i,_e);ge(xe)}return De}function _r(){}return ne=fh(_r,yr,it),fe=fh(_r,et,kt),Lt(u),[ne,fe]}function Rb(i){return r(i)&&typeof i.getReader<"u"}function xb(i){return Rb(i)?Fb(i.getReader()):Ob(i)}function Ob(i){let u,h=Tf(i,"async"),w=e;function R(){let $;try{$=E_(h)}catch(ce){return d(ce)}let Q=f($);return _(Q,ce=>{if(!r(ce))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(A_(ce))un(u._readableStreamController);else{let fe=S_(ce);Nn(u._readableStreamController,fe)}})}function L($){let Q=h.iterator,ce;try{ce=Fs(Q,"return")}catch(ge){return d(ge)}if(ce===void 0)return f(void 0);let ne;try{ne=v(ce,Q,[$])}catch(ge){return d(ge)}let fe=f(ne);return _(fe,ge=>{if(!r(ge))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return u=Fo(w,R,L,0),u}function Fb(i){let u,h=e;function w(){let L;try{L=i.read()}catch($){return d($)}return _(L,$=>{if(!r($))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if($.done)un(u._readableStreamController);else{let Q=$.value;Nn(u._readableStreamController,Q)}})}function R(L){try{return f(i.cancel(L))}catch($){return d($)}}return u=Fo(h,w,R,0),u}function Pb(i,u){le(i,u);let h=i,w=h?.autoAllocateChunkSize,R=h?.cancel,L=h?.pull,$=h?.start,Q=h?.type;return{autoAllocateChunkSize:w===void 0?void 0:F(w,`${u} has member 'autoAllocateChunkSize' that`),cancel:R===void 0?void 0:Ib(R,h,`${u} has member 'cancel' that`),pull:L===void 0?void 0:Bb(L,h,`${u} has member 'pull' that`),start:$===void 0?void 0:Nb($,h,`${u} has member 'start' that`),type:Q===void 0?void 0:jb(Q,`${u} has member 'type' that`)}}function Ib(i,u,h){return ye(i,h),w=>b(i,u,[w])}function Bb(i,u,h){return ye(i,h),w=>b(i,u,[w])}function Nb(i,u,h){return ye(i,h),w=>v(i,u,[w])}function jb(i,u){if(i=`${i}`,i!=="bytes")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function Mb(i,u){return le(i,u),{preventCancel:!!i?.preventCancel}}function dh(i,u){le(i,u);let h=i?.preventAbort,w=i?.preventCancel,R=i?.preventClose,L=i?.signal;return L!==void 0&&Lb(L,`${u} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!w,preventClose:!!R,signal:L}}function Lb(i,u){if(!J_(i))throw new TypeError(`${u} is not an AbortSignal.`)}function Ub(i,u){le(i,u);let h=i?.readable;C(h,"readable","ReadableWritablePair"),I(h,`${u} has member 'readable' that`);let w=i?.writable;return C(w,"writable","ReadableWritablePair"),Gf(w,`${u} has member 'writable' that`),{readable:h,writable:w}}class Qe{constructor(u={},h={}){u===void 0?u=null:Re(u,"First parameter");let w=Us(h,"Second parameter"),R=Pb(u,"First parameter");if(qu(this),R.type==="bytes"){if(w.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let L=Do(w,0);I_(this,R,L)}else{let L=Ls(w),$=Do(w,1);kb(this,R,$,L)}}get locked(){if(!Lr(this))throw cn("locked");return Ur(this)}cancel(u=void 0){return Lr(this)?Ur(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):Mt(this,u):d(cn("cancel"))}getReader(u=void 0){if(!Lr(this))throw cn("getReader");return N_(u,"First parameter").mode===void 0?U(this):$f(this)}pipeThrough(u,h={}){if(!Lr(this))throw cn("pipeThrough");Me(u,1,"pipeThrough");let w=Ub(u,"First parameter"),R=dh(h,"Second parameter");if(Ur(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(In(w.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let L=uh(this,w.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return y(L),w.readable}pipeTo(u,h={}){if(!Lr(this))return d(cn("pipeTo"));if(u===void 0)return d("Parameter 1 is required in 'pipeTo'.");if(!Pn(u))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let w;try{w=dh(h,"Second parameter")}catch(R){return d(R)}return Ur(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):In(u)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):uh(this,u,w.preventClose,w.preventAbort,w.preventCancel,w.signal)}tee(){if(!Lr(this))throw cn("tee");let u=vb(this);return ke(u)}values(u=void 0){if(!Lr(this))throw cn("values");let h=Mb(u,"First parameter");return Rn(this,h.preventCancel)}[Cu](u){return this.values(u)}static from(u){return xb(u)}}Object.defineProperties(Qe,{from:{enumerable:!0}}),Object.defineProperties(Qe.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(Qe.from,"from"),o(Qe.prototype.cancel,"cancel"),o(Qe.prototype.getReader,"getReader"),o(Qe.prototype.pipeThrough,"pipeThrough"),o(Qe.prototype.pipeTo,"pipeTo"),o(Qe.prototype.tee,"tee"),o(Qe.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Qe.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Qe.prototype,Cu,{value:Qe.prototype.values,writable:!0,configurable:!0});function Fo(i,u,h,w=1,R=()=>1){let L=Object.create(Qe.prototype);qu(L);let $=Object.create(gr.prototype);return lh(L,$,i,u,h,w,R),L}function fh(i,u,h){let w=Object.create(Qe.prototype);qu(w);let R=Object.create(pr.prototype);return Uf(w,R,i,u,h,0,void 0),w}function qu(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function Lr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof Qe}function Ur(i){return i._reader!==void 0}function Mt(i,u){if(i._disturbed=!0,i._state==="closed")return f(void 0);if(i._state==="errored")return d(i._storedError);Po(i);let h=i._reader;if(h!==void 0&&on(h)){let R=h._readIntoRequests;h._readIntoRequests=new D,R.forEach(L=>{L._closeSteps(void 0)})}let w=i._readableStreamController[J](u);return _(w,e)}function Po(i){i._state="closed";let u=i._reader;if(u!==void 0&&(ue(u),X(u))){let h=u._readRequests;u._readRequests=new D,h.forEach(w=>{w._closeSteps()})}}function hh(i,u){i._state="errored",i._storedError=u;let h=i._reader;h!==void 0&&(G(h,u),X(h)?Fe(h,u):Wf(h,u))}function cn(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function ph(i,u){le(i,u);let h=i?.highWaterMark;return C(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:k(h)}}let mh=i=>i.byteLength;o(mh,"size");class Qs{constructor(u){Me(u,1,"ByteLengthQueuingStrategy"),u=ph(u,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!yh(this))throw gh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!yh(this))throw gh("size");return mh}}Object.defineProperties(Qs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Qs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function gh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function yh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof Qs}let _h=()=>1;o(_h,"size");class Xs{constructor(u){Me(u,1,"CountQueuingStrategy"),u=ph(u,"First parameter"),this._countQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!Ch(this))throw bh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Ch(this))throw bh("size");return _h}}Object.defineProperties(Xs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Xs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function bh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function Ch(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Xs}function $b(i,u){le(i,u);let h=i?.cancel,w=i?.flush,R=i?.readableType,L=i?.start,$=i?.transform,Q=i?.writableType;return{cancel:h===void 0?void 0:Wb(h,i,`${u} has member 'cancel' that`),flush:w===void 0?void 0:qb(w,i,`${u} has member 'flush' that`),readableType:R,start:L===void 0?void 0:zb(L,i,`${u} has member 'start' that`),transform:$===void 0?void 0:Hb($,i,`${u} has member 'transform' that`),writableType:Q}}function qb(i,u,h){return ye(i,h),w=>b(i,u,[w])}function zb(i,u,h){return ye(i,h),w=>v(i,u,[w])}function Hb(i,u,h){return ye(i,h),(w,R)=>b(i,u,[w,R])}function Wb(i,u,h){return ye(i,h),w=>b(i,u,[w])}class Zs{constructor(u={},h={},w={}){u===void 0&&(u=null);let R=Us(h,"Second parameter"),L=Us(w,"Third parameter"),$=$b(u,"First parameter");if($.readableType!==void 0)throw new RangeError("Invalid readableType specified");if($.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Q=Do(L,0),ce=Ls(L),ne=Do(R,1),fe=Ls(R),ge,De=l(Lt=>{ge=Lt});Gb(this,De,ne,fe,Q,ce),Vb(this,$),$.start!==void 0?ge($.start(this._transformStreamController)):ge(void 0)}get readable(){if(!wh(this))throw kh("readable");return this._readable}get writable(){if(!wh(this))throw kh("writable");return this._writable}}Object.defineProperties(Zs.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Zs.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Gb(i,u,h,w,R,L){function $(){return u}function Q(De){return Qb(i,De)}function ce(De){return Xb(i,De)}function ne(){return Zb(i)}i._writable=Y_($,Q,ne,ce,h,w);function fe(){return eC(i)}function ge(De){return tC(i,De)}i._readable=Fo($,fe,ge,R,L),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,ei(i,!0),i._transformStreamController=void 0}function wh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Zs}function Eh(i,u){jt(i._readable._readableStreamController,u),zu(i,u)}function zu(i,u){ri(i._transformStreamController),Ro(i._writable._writableStreamController,u),Hu(i)}function Hu(i){i._backpressure&&ei(i,!1)}function ei(i,u){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=u}class $r{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ti(this))throw ni("desiredSize");let u=this._controlledTransformStream._readable._readableStreamController;return $u(u)}enqueue(u=void 0){if(!ti(this))throw ni("enqueue");Ah(this,u)}error(u=void 0){if(!ti(this))throw ni("error");Kb(this,u)}terminate(){if(!ti(this))throw ni("terminate");Yb(this)}}Object.defineProperties($r.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o($r.prototype.enqueue,"enqueue"),o($r.prototype.error,"error"),o($r.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($r.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function ti(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof $r}function Jb(i,u,h,w,R){u._controlledTransformStream=i,i._transformStreamController=u,u._transformAlgorithm=h,u._flushAlgorithm=w,u._cancelAlgorithm=R,u._finishPromise=void 0,u._finishPromise_resolve=void 0,u._finishPromise_reject=void 0}function Vb(i,u){let h=Object.create($r.prototype),w,R,L;u.transform!==void 0?w=$=>u.transform($,h):w=$=>{try{return Ah(h,$),f(void 0)}catch(Q){return d(Q)}},u.flush!==void 0?R=()=>u.flush(h):R=()=>f(void 0),u.cancel!==void 0?L=$=>u.cancel($):L=()=>f(void 0),Jb(i,h,w,R,L)}function ri(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function Ah(i,u){let h=i._controlledTransformStream,w=h._readable._readableStreamController;if(!jn(w))throw new TypeError("Readable side is not in a state that permits enqueue");try{Nn(w,u)}catch(L){throw zu(h,L),h._readable._storedError}Sb(w)!==h._backpressure&&ei(h,!0)}function Kb(i,u){Eh(i._controlledTransformStream,u)}function Sh(i,u){let h=i._transformAlgorithm(u);return _(h,void 0,w=>{throw Eh(i._controlledTransformStream,w),w})}function Yb(i){let u=i._controlledTransformStream,h=u._readable._readableStreamController;un(h);let w=new TypeError("TransformStream terminated");zu(u,w)}function Qb(i,u){let h=i._transformStreamController;if(i._backpressure){let w=i._backpressureChangePromise;return _(w,()=>{let R=i._writable;if(R._state==="erroring")throw R._storedError;return Sh(h,u)})}return Sh(h,u)}function Xb(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let w=i._readable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return ri(h),g(R,()=>(w._state==="errored"?Mn(h,w._storedError):(jt(w._readableStreamController,u),Wu(h)),null),L=>(jt(w._readableStreamController,L),Mn(h,L),null)),h._finishPromise}function Zb(i){let u=i._transformStreamController;if(u._finishPromise!==void 0)return u._finishPromise;let h=i._readable;u._finishPromise=l((R,L)=>{u._finishPromise_resolve=R,u._finishPromise_reject=L});let w=u._flushAlgorithm();return ri(u),g(w,()=>(h._state==="errored"?Mn(u,h._storedError):(un(h._readableStreamController),Wu(u)),null),R=>(jt(h._readableStreamController,R),Mn(u,R),null)),u._finishPromise}function eC(i){return ei(i,!1),i._backpressureChangePromise}function tC(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let w=i._writable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return ri(h),g(R,()=>(w._state==="errored"?Mn(h,w._storedError):(Ro(w._writableStreamController,u),Hu(i),Wu(h)),null),L=>(Ro(w._writableStreamController,L),Hu(i),Mn(h,L),null)),h._finishPromise}function ni(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Wu(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Mn(i,u){i._finishPromise_reject!==void 0&&(y(i._finishPromise),i._finishPromise_reject(u),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function kh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=Qs,t.CountQueuingStrategy=Xs,t.ReadableByteStreamController=pr,t.ReadableStream=Qe,t.ReadableStreamBYOBReader=jr,t.ReadableStreamBYOBRequest=tn,t.ReadableStreamDefaultController=gr,t.ReadableStreamDefaultReader=z,t.TransformStream=Zs,t.TransformStreamDefaultController=$r,t.WritableStream=Mr,t.WritableStreamDefaultController=Bn,t.WritableStreamDefaultWriter=mr}))});var um=V(()=>{if(!globalThis.ReadableStream)try{let t=require("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,am())}try{let{Blob:t}=require("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(r){let n=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let c=await o.slice(n,Math.min(o.size,n+65536)).arrayBuffer();n+=c.byteLength,s.enqueue(new Uint8Array(c)),n===o.size&&s.close()}})})}catch{}});async function*Tc(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,o=r.byteOffset+r.byteLength;for(;n!==o;){let s=Math.min(o-n,cm),a=r.buffer.slice(n,n+s);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,o=r;for(;n!==o.size;){let a=await o.slice(n,Math.min(o.size,n+cm)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var QR,cm,lm,Ow,$t,qo=je(()=>{QR=Pe(um(),1);cm=65536;lm=class Dc{#e=[];#t="";#r=0;#n="transparent";constructor(e=[],r={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof Dc?a=s:a=n.encode(`${s}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let o=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#r}get type(){return this.#t}async text(){let e=new TextDecoder,r="";for await(let n of Tc(this.#e,!1))r+=e.decode(n,{stream:!0});return r+=e.decode(),r}async arrayBuffer(){let e=new Uint8Array(this.size),r=0;for await(let n of Tc(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=Tc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await e.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await e.return()}})}slice(e=0,r=this.size,n=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=r<0?Math.max(o+r,0):Math.min(r,o),c=Math.max(a-s,0),l=this.#e,f=[],d=0;for(let g of l){if(d>=c)break;let A=ArrayBuffer.isView(g)?g.byteLength:g.size;if(s&&A<=s)s-=A,a-=A;else{let E;ArrayBuffer.isView(g)?(E=g.subarray(s,Math.min(A,a)),d+=E.byteLength):(E=g.slice(s,Math.min(A,a)),d+=E.size),a-=A,f.push(E),s=0}}let p=new Dc([],{type:String(n).toLowerCase()});return p.#r=c,p.#e=f,p}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(lm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Ow=lm,$t=Ow});var Fw,Pw,Wr,Rc=je(()=>{qo();Fw=class extends $t{#e=0;#t="";constructor(e,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,n),n===null&&(n={});let o=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof $t&&/^(File)$/.test(e[Symbol.toStringTag])}},Pw=Fw,Wr=Pw});function hm(t,e=$t){var r=`${dm()}${dm()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],o=`--${r}\r
26
+ `);let{connect:d,buffered:f}=await l;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",Rw),r.secureEndpoint?($o("Upgrading socket connection to TLS"),Xp.connect({...em(Zp(r),"host","path","port"),socket:o})):o;o.destroy();let p=new Ti.Socket({writable:!1});return p.readable=!0,e.once("socket",g=>{$o("Replaying proxy buffer for failed request"),(0,Sw.default)(g.listenerCount("data")>0),g.push(f),g.push(null)}),p}};Di.protocols=["http","https"];Dt.HttpsProxyAgent=Di;function Rw(t){t.resume()}function em(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function xw(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",o=!1,s=r[0]||"text/plain",a=s;for(let f=1;f<r.length;f++)r[f]==="base64"?o=!0:r[f]&&(a+=`;${r[f]}`,r[f].indexOf("charset=")===0&&(n=r[f].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let c=o?"base64":"ascii",l=unescape(t.substring(e+1)),d=Buffer.from(l,c);return d.type=s,d.typeFull=a,d.charset=n,d}var om,sm=Me(()=>{om=xw});var am=V((Ri,im)=>{(function(t,e){typeof Ri=="object"&&typeof im<"u"?e(Ri):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ri,(function(t){"use strict";function e(){}function r(i){return typeof i=="object"&&i!==null||typeof i=="function"}let n=e;function o(i,u){try{Object.defineProperty(i,"name",{value:u,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,c=Promise.reject.bind(s);function l(i){return new s(i)}function d(i){return l(u=>u(i))}function f(i){return c(i)}function p(i,u,h){return a.call(i,u,h)}function g(i,u,h){p(p(i,u,h),void 0,n)}function k(i,u){g(i,u)}function w(i,u){g(i,void 0,u)}function y(i,u,h){return p(i,u,h)}function _(i){p(i,void 0,n)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let u=d(void 0);m=h=>p(u,h)}return m(i)};function v(i,u,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,u,h)}function b(i,u,h){try{return d(v(i,u,h))}catch(E){return f(E)}}let S=16384;class D{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(u){let h=this._back,E=h;h._elements.length===S-1&&(E={_elements:[],_next:void 0}),h._elements.push(u),E!==h&&(this._back=E,h._next=E),++this._size}shift(){let u=this._front,h=u,E=this._cursor,R=E+1,L=u._elements,$=L[E];return R===S&&(h=u._next,R=0),--this._size,this._cursor=R,u!==h&&(this._front=h),L[E]=void 0,$}forEach(u){let h=this._cursor,E=this._front,R=E._elements;for(;(h!==R.length||E._next!==void 0)&&!(h===R.length&&(E=E._next,R=E._elements,h=0,R.length===0));)u(R[h]),++h}peek(){let u=this._front,h=this._cursor;return u._elements[h]}}let O=Symbol("[[AbortSteps]]"),q=Symbol("[[ErrorSteps]]"),J=Symbol("[[CancelSteps]]"),B=Symbol("[[PullSteps]]"),Y=Symbol("[[ReleaseSteps]]");function te(i,u){i._ownerReadableStream=u,u._reader=i,u._state==="readable"?ke(i):u._state==="closed"?pe(i):oe(i,u._storedError)}function Z(i,u){let h=i._ownerReadableStream;return jt(h,u)}function ae(i){let u=i._ownerReadableStream;u._state==="readable"?G(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):K(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),u._readableStreamController[Y](),u._reader=void 0,i._ownerReadableStream=void 0}function de(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function ke(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h})}function oe(i,u){ke(i),G(i,u)}function pe(i){ke(i),ue(i)}function G(i,u){i._closedPromise_reject!==void 0&&(_(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function K(i,u){oe(i,u)}function ue(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let qe=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Te=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function W(i){return typeof i=="object"||typeof i=="function"}function le(i,u){if(i!==void 0&&!W(i))throw new TypeError(`${u} is not an object.`)}function ye(i,u){if(typeof i!="function")throw new TypeError(`${u} is not a function.`)}function Nt(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Re(i,u){if(!Nt(i))throw new TypeError(`${u} is not an object.`)}function je(i,u,h){if(i===void 0)throw new TypeError(`Parameter ${u} is required in '${h}'.`)}function C(i,u,h){if(i===void 0)throw new TypeError(`${u} is required in '${h}'.`)}function A(i){return Number(i)}function T(i){return i===0?0:i}function M(i){return T(Te(i))}function P(i,u){let E=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=T(R),!qe(R))throw new TypeError(`${u} is not a finite number`);if(R=M(R),R<0||R>E)throw new TypeError(`${u} is outside the accepted range of 0 to ${E}, inclusive`);return!qe(R)||R===0?0:R}function I(i,u){if(!Lr(i))throw new TypeError(`${u} is not a ReadableStream.`)}function U(i){return new z(i)}function x(i,u){i._reader._readRequests.push(u)}function F(i,u,h){let R=i._reader._readRequests.shift();h?R._closeSteps():R._chunkSteps(u)}function j(i){return i._reader._readRequests.length}function N(i){let u=i._reader;return!(u===void 0||!X(u))}class z{constructor(u){if(je(u,1,"ReadableStreamDefaultReader"),I(u,"First parameter"),Ur(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");te(this,u),this._readRequests=new D}get closed(){return X(this)?this._closedPromise:f(Ne("closed"))}cancel(u=void 0){return X(this)?this._ownerReadableStream===void 0?f(de("cancel")):Z(this,u):f(Ne("cancel"))}read(){if(!X(this))return f(Ne("read"));if(this._ownerReadableStream===void 0)return f(de("read from"));let u,h,E=l((L,$)=>{u=L,h=$});return ee(this,{_chunkSteps:L=>u({value:L,done:!1}),_closeSteps:()=>u({value:void 0,done:!0}),_errorSteps:L=>h(L)}),E}releaseLock(){if(!X(this))throw Ne("releaseLock");this._ownerReadableStream!==void 0&&Ee(this)}}Object.defineProperties(z.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(z.prototype.cancel,"cancel"),o(z.prototype.read,"read"),o(z.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(z.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function X(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof z}function ee(i,u){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?u._closeSteps():h._state==="errored"?u._errorSteps(h._storedError):h._readableStreamController[B](u)}function Ee(i){ae(i);let u=new TypeError("Reader was released");Fe(i,u)}function Fe(i,u){let h=i._readRequests;i._readRequests=new D,h.forEach(E=>{E._errorSteps(u)})}function Ne(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let Ce=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Se{constructor(u,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=u,this._preventCancel=h}next(){let u=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?y(this._ongoingPromise,u,u):u(),this._ongoingPromise}return(u){let h=()=>this._returnSteps(u);return this._ongoingPromise?y(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let u=this._reader,h,E,R=l(($,Q)=>{h=$,E=Q});return ee(u,{_chunkSteps:$=>{this._ongoingPromise=void 0,m(()=>h({value:$,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ae(u),h({value:void 0,done:!0})},_errorSteps:$=>{this._ongoingPromise=void 0,this._isFinished=!0,ae(u),E($)}}),R}_returnSteps(u){if(this._isFinished)return Promise.resolve({value:u,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let E=Z(h,u);return ae(h),y(E,()=>({value:u,done:!0}))}return ae(h),d({value:u,done:!0})}}let Ue={next(){return xn(this)?this._asyncIteratorImpl.next():f(On("next"))},return(i){return xn(this)?this._asyncIteratorImpl.return(i):f(On("return"))}};Object.setPrototypeOf(Ue,Ce);function Rn(i,u){let h=U(i),E=new Se(h,u),R=Object.create(Ue);return R._asyncIteratorImpl=E,R}function xn(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Se}catch{return!1}}function On(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let dt=Number.isNaN||function(i){return i!==i};var fr,Ye,$e;function Ae(i){return i.slice()}function Af(i,u,h,E,R){new Uint8Array(i).set(new Uint8Array(h,E,R),u)}let hr=i=>(typeof i.transfer=="function"?hr=u=>u.transfer():typeof structuredClone=="function"?hr=u=>structuredClone(u,{transfer:[u]}):hr=u=>u,hr(i)),Br=i=>(typeof i.detached=="boolean"?Br=u=>u.detached:Br=u=>u.byteLength===0,Br(i));function vf(i,u,h){if(i.slice)return i.slice(u,h);let E=h-u,R=new ArrayBuffer(E);return Af(R,0,i,u,E),R}function Ps(i,u){let h=i[u];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(u)} is not a function`);return h}}function w_(i){let u={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*u})(),E=h.next;return{iterator:h,nextMethod:E,done:!1}}let Cu=($e=(fr=Symbol.asyncIterator)!==null&&fr!==void 0?fr:(Ye=Symbol.for)===null||Ye===void 0?void 0:Ye.call(Symbol,"Symbol.asyncIterator"))!==null&&$e!==void 0?$e:"@@asyncIterator";function Tf(i,u="sync",h){if(h===void 0)if(u==="async"){if(h=Ps(i,Cu),h===void 0){let L=Ps(i,Symbol.iterator),$=Tf(i,"sync",L);return w_($)}}else h=Ps(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let E=v(h,i,[]);if(!r(E))throw new TypeError("The iterator method must return an object");let R=E.next;return{iterator:E,nextMethod:R,done:!1}}function E_(i){let u=v(i.nextMethod,i.iterator,[]);if(!r(u))throw new TypeError("The iterator.next() method must return an object");return u}function k_(i){return!!i.done}function S_(i){return i.value}function A_(i){return!(typeof i!="number"||dt(i)||i<0)}function Df(i){let u=vf(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(u)}function wu(i){let u=i._queue.shift();return i._queueTotalSize-=u.size,i._queueTotalSize<0&&(i._queueTotalSize=0),u.value}function Eu(i,u,h){if(!A_(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:u,size:h}),i._queueTotalSize+=h}function v_(i){return i._queue.peek().value}function Nr(i){i._queue=new D,i._queueTotalSize=0}function Rf(i){return i===DataView}function T_(i){return Rf(i.constructor)}function D_(i){return Rf(i)?1:i.BYTES_PER_ELEMENT}class tn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!ku(this))throw Du("view");return this._view}respond(u){if(!ku(this))throw Du("respond");if(je(u,1,"respond"),u=P(u,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Br(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ns(this._associatedReadableByteStreamController,u)}respondWithNewView(u){if(!ku(this))throw Du("respondWithNewView");if(je(u,1,"respondWithNewView"),!ArrayBuffer.isView(u))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Br(u.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Ms(this._associatedReadableByteStreamController,u)}}Object.defineProperties(tn.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(tn.prototype.respond,"respond"),o(tn.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(tn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class pr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!rn(this))throw To("byobRequest");return Tu(this)}get desiredSize(){if(!rn(this))throw To("desiredSize");return Lf(this)}close(){if(!rn(this))throw To("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let u=this._controlledReadableByteStream._state;if(u!=="readable")throw new TypeError(`The stream (in ${u} state) is not in the readable state and cannot be closed`);vo(this)}enqueue(u){if(!rn(this))throw To("enqueue");if(je(u,1,"enqueue"),!ArrayBuffer.isView(u))throw new TypeError("chunk must be an array buffer view");if(u.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(u.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);Bs(this,u)}error(u=void 0){if(!rn(this))throw To("error");St(this,u)}[J](u){xf(this),Nr(this);let h=this._cancelAlgorithm(u);return Is(this),h}[B](u){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){jf(this,u);return}let E=this._autoAllocateChunkSize;if(E!==void 0){let R;try{R=new ArrayBuffer(E)}catch($){u._errorSteps($);return}let L={buffer:R,bufferByteLength:E,byteOffset:0,byteLength:E,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(L)}x(h,u),nn(this)}[Y](){if(this._pendingPullIntos.length>0){let u=this._pendingPullIntos.peek();u.readerType="none",this._pendingPullIntos=new D,this._pendingPullIntos.push(u)}}}Object.defineProperties(pr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pr.prototype.close,"close"),o(pr.prototype.enqueue,"enqueue"),o(pr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function rn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof pr}function ku(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof tn}function nn(i){if(!F_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,nn(i)),null),E=>(St(i,E),null))}function xf(i){Au(i),i._pendingPullIntos=new D}function Su(i,u){let h=!1;i._state==="closed"&&(h=!0);let E=Of(u);u.readerType==="default"?F(i,E,h):L_(i,E,h)}function Of(i){let u=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,u/h)}function Fs(i,u,h,E){i._queue.push({buffer:u,byteOffset:h,byteLength:E}),i._queueTotalSize+=E}function Pf(i,u,h,E){let R;try{R=vf(u,h,h+E)}catch(L){throw St(i,L),L}Fs(i,R,0,E)}function Ff(i,u){u.bytesFilled>0&&Pf(i,u.buffer,u.byteOffset,u.bytesFilled),Pn(i)}function If(i,u){let h=Math.min(i._queueTotalSize,u.byteLength-u.bytesFilled),E=u.bytesFilled+h,R=h,L=!1,$=E%u.elementSize,Q=E-$;Q>=u.minimumFill&&(R=Q-u.bytesFilled,L=!0);let ce=i._queue;for(;R>0;){let ne=ce.peek(),fe=Math.min(R,ne.byteLength),ge=u.byteOffset+u.bytesFilled;Af(u.buffer,ge,ne.buffer,ne.byteOffset,fe),ne.byteLength===fe?ce.shift():(ne.byteOffset+=fe,ne.byteLength-=fe),i._queueTotalSize-=fe,Bf(i,fe,u),R-=fe}return L}function Bf(i,u,h){h.bytesFilled+=u}function Nf(i){i._queueTotalSize===0&&i._closeRequested?(Is(i),Fo(i._controlledReadableByteStream)):nn(i)}function Au(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function vu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let u=i._pendingPullIntos.peek();If(i,u)&&(Pn(i),Su(i._controlledReadableByteStream,u))}}function R_(i){let u=i._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=u._readRequests.shift();jf(i,h)}}function x_(i,u,h,E){let R=i._controlledReadableByteStream,L=u.constructor,$=D_(L),{byteOffset:Q,byteLength:ce}=u,ne=h*$,fe;try{fe=hr(u.buffer)}catch(De){E._errorSteps(De);return}let ge={buffer:fe,bufferByteLength:fe.byteLength,byteOffset:Q,byteLength:ce,bytesFilled:0,minimumFill:ne,elementSize:$,viewConstructor:L,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(ge),qf(R,E);return}if(R._state==="closed"){let De=new L(ge.buffer,ge.byteOffset,0);E._closeSteps(De);return}if(i._queueTotalSize>0){if(If(i,ge)){let De=Of(ge);Nf(i),E._chunkSteps(De);return}if(i._closeRequested){let De=new TypeError("Insufficient bytes to fill elements in the given buffer");St(i,De),E._errorSteps(De);return}}i._pendingPullIntos.push(ge),qf(R,E),nn(i)}function O_(i,u){u.readerType==="none"&&Pn(i);let h=i._controlledReadableByteStream;if(Ru(h))for(;zf(h)>0;){let E=Pn(i);Su(h,E)}}function P_(i,u,h){if(Bf(i,u,h),h.readerType==="none"){Ff(i,h),vu(i);return}if(h.bytesFilled<h.minimumFill)return;Pn(i);let E=h.bytesFilled%h.elementSize;if(E>0){let R=h.byteOffset+h.bytesFilled;Pf(i,h.buffer,R-E,E)}h.bytesFilled-=E,Su(i._controlledReadableByteStream,h),vu(i)}function Mf(i,u){let h=i._pendingPullIntos.peek();Au(i),i._controlledReadableByteStream._state==="closed"?O_(i,h):P_(i,u,h),nn(i)}function Pn(i){return i._pendingPullIntos.shift()}function F_(i){let u=i._controlledReadableByteStream;return u._state!=="readable"||i._closeRequested||!i._started?!1:!!(N(u)&&j(u)>0||Ru(u)&&zf(u)>0||Lf(i)>0)}function Is(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function vo(i){let u=i._controlledReadableByteStream;if(!(i._closeRequested||u._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let E=new TypeError("Insufficient bytes to fill elements in the given buffer");throw St(i,E),E}}Is(i),Fo(u)}}function Bs(i,u){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:E,byteOffset:R,byteLength:L}=u;if(Br(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let $=hr(E);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(Br(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");Au(i),Q.buffer=hr(Q.buffer),Q.readerType==="none"&&Ff(i,Q)}if(N(h))if(R_(i),j(h)===0)Fs(i,$,R,L);else{i._pendingPullIntos.length>0&&Pn(i);let Q=new Uint8Array($,R,L);F(h,Q,!1)}else Ru(h)?(Fs(i,$,R,L),vu(i)):Fs(i,$,R,L);nn(i)}function St(i,u){let h=i._controlledReadableByteStream;h._state==="readable"&&(xf(i),Nr(i),Is(i),hh(h,u))}function jf(i,u){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,Nf(i);let E=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);u._chunkSteps(E)}function Tu(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let u=i._pendingPullIntos.peek(),h=new Uint8Array(u.buffer,u.byteOffset+u.bytesFilled,u.byteLength-u.bytesFilled),E=Object.create(tn.prototype);B_(E,i,h),i._byobRequest=E}return i._byobRequest}function Lf(i){let u=i._controlledReadableByteStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ns(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(u===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+u>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=hr(h.buffer),Mf(i,u)}function Ms(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(u.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(h.byteOffset+h.bytesFilled!==u.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==u.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+u.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let R=u.byteLength;h.buffer=hr(u.buffer),Mf(i,R)}function Uf(i,u,h,E,R,L,$){u._controlledReadableByteStream=i,u._pullAgain=!1,u._pulling=!1,u._byobRequest=null,u._queue=u._queueTotalSize=void 0,Nr(u),u._closeRequested=!1,u._started=!1,u._strategyHWM=L,u._pullAlgorithm=E,u._cancelAlgorithm=R,u._autoAllocateChunkSize=$,u._pendingPullIntos=new D,i._readableStreamController=u;let Q=h();g(d(Q),()=>(u._started=!0,nn(u),null),ce=>(St(u,ce),null))}function I_(i,u,h){let E=Object.create(pr.prototype),R,L,$;u.start!==void 0?R=()=>u.start(E):R=()=>{},u.pull!==void 0?L=()=>u.pull(E):L=()=>d(void 0),u.cancel!==void 0?$=ce=>u.cancel(ce):$=()=>d(void 0);let Q=u.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Uf(i,E,R,L,$,h,Q)}function B_(i,u,h){i._associatedReadableByteStreamController=u,i._view=h}function Du(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function To(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function N_(i,u){le(i,u);let h=i?.mode;return{mode:h===void 0?void 0:M_(h,`${u} has member 'mode' that`)}}function M_(i,u){if(i=`${i}`,i!=="byob")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function j_(i,u){var h;le(i,u);let E=(h=i?.min)!==null&&h!==void 0?h:1;return{min:P(E,`${u} has member 'min' that`)}}function $f(i){return new Mr(i)}function qf(i,u){i._reader._readIntoRequests.push(u)}function L_(i,u,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(u):R._chunkSteps(u)}function zf(i){return i._reader._readIntoRequests.length}function Ru(i){let u=i._reader;return!(u===void 0||!on(u))}class Mr{constructor(u){if(je(u,1,"ReadableStreamBYOBReader"),I(u,"First parameter"),Ur(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!rn(u._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");te(this,u),this._readIntoRequests=new D}get closed(){return on(this)?this._closedPromise:f(js("closed"))}cancel(u=void 0){return on(this)?this._ownerReadableStream===void 0?f(de("cancel")):Z(this,u):f(js("cancel"))}read(u,h={}){if(!on(this))return f(js("read"));if(!ArrayBuffer.isView(u))return f(new TypeError("view must be an array buffer view"));if(u.byteLength===0)return f(new TypeError("view must have non-zero byteLength"));if(u.buffer.byteLength===0)return f(new TypeError("view's buffer must have non-zero byteLength"));if(Br(u.buffer))return f(new TypeError("view's buffer has been detached"));let E;try{E=j_(h,"options")}catch(ne){return f(ne)}let R=E.min;if(R===0)return f(new TypeError("options.min must be greater than 0"));if(T_(u)){if(R>u.byteLength)return f(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(R>u.length)return f(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return f(de("read from"));let L,$,Q=l((ne,fe)=>{L=ne,$=fe});return Hf(this,u,R,{_chunkSteps:ne=>L({value:ne,done:!1}),_closeSteps:ne=>L({value:ne,done:!0}),_errorSteps:ne=>$(ne)}),Q}releaseLock(){if(!on(this))throw js("releaseLock");this._ownerReadableStream!==void 0&&U_(this)}}Object.defineProperties(Mr.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Mr.prototype.cancel,"cancel"),o(Mr.prototype.read,"read"),o(Mr.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Mr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function on(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Mr}function Hf(i,u,h,E){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?E._errorSteps(R._storedError):x_(R._readableStreamController,u,h,E)}function U_(i){ae(i);let u=new TypeError("Reader was released");Wf(i,u)}function Wf(i,u){let h=i._readIntoRequests;i._readIntoRequests=new D,h.forEach(E=>{E._errorSteps(u)})}function js(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function Do(i,u){let{highWaterMark:h}=i;if(h===void 0)return u;if(dt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function Ls(i){let{size:u}=i;return u||(()=>1)}function Us(i,u){le(i,u);let h=i?.highWaterMark,E=i?.size;return{highWaterMark:h===void 0?void 0:A(h),size:E===void 0?void 0:$_(E,`${u} has member 'size' that`)}}function $_(i,u){return ye(i,u),h=>A(i(h))}function q_(i,u){le(i,u);let h=i?.abort,E=i?.close,R=i?.start,L=i?.type,$=i?.write;return{abort:h===void 0?void 0:z_(h,i,`${u} has member 'abort' that`),close:E===void 0?void 0:H_(E,i,`${u} has member 'close' that`),start:R===void 0?void 0:W_(R,i,`${u} has member 'start' that`),write:$===void 0?void 0:G_($,i,`${u} has member 'write' that`),type:L}}function z_(i,u,h){return ye(i,h),E=>b(i,u,[E])}function H_(i,u,h){return ye(i,h),()=>b(i,u,[])}function W_(i,u,h){return ye(i,h),E=>v(i,u,[E])}function G_(i,u,h){return ye(i,h),(E,R)=>b(i,u,[E,R])}function Gf(i,u){if(!Fn(i))throw new TypeError(`${u} is not a WritableStream.`)}function J_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let V_=typeof AbortController=="function";function K_(){if(V_)return new AbortController}class jr{constructor(u={},h={}){u===void 0?u=null:Re(u,"First parameter");let E=Us(h,"Second parameter"),R=q_(u,"First parameter");if(Vf(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let $=Ls(E),Q=Do(E,1);cb(this,R,Q,$)}get locked(){if(!Fn(this))throw Ws("locked");return In(this)}abort(u=void 0){return Fn(this)?In(this)?f(new TypeError("Cannot abort a stream that already has a writer")):$s(this,u):f(Ws("abort"))}close(){return Fn(this)?In(this)?f(new TypeError("Cannot close a stream that already has a writer")):Qt(this)?f(new TypeError("Cannot close an already-closing stream")):Kf(this):f(Ws("close"))}getWriter(){if(!Fn(this))throw Ws("getWriter");return Jf(this)}}Object.defineProperties(jr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(jr.prototype.abort,"abort"),o(jr.prototype.close,"close"),o(jr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(jr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Jf(i){return new mr(i)}function Y_(i,u,h,E,R=1,L=()=>1){let $=Object.create(jr.prototype);Vf($);let Q=Object.create(Bn.prototype);return th($,Q,i,u,h,E,R,L),$}function Vf(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new D,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function Fn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof jr}function In(i){return i._writer!==void 0}function $s(i,u){var h;if(i._state==="closed"||i._state==="errored")return d(void 0);i._writableStreamController._abortReason=u,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(u);let E=i._state;if(E==="closed"||E==="errored")return d(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let R=!1;E==="erroring"&&(R=!0,u=void 0);let L=l(($,Q)=>{i._pendingAbortRequest={_promise:void 0,_resolve:$,_reject:Q,_reason:u,_wasAlreadyErroring:R}});return i._pendingAbortRequest._promise=L,R||Ou(i,u),L}function Kf(i){let u=i._state;if(u==="closed"||u==="errored")return f(new TypeError(`The stream (in ${u} state) is not in the writable state and cannot be closed`));let h=l((R,L)=>{let $={_resolve:R,_reject:L};i._closeRequest=$}),E=i._writer;return E!==void 0&&i._backpressure&&u==="writable"&&Lu(E),lb(i._writableStreamController),h}function Q_(i){return l((h,E)=>{let R={_resolve:h,_reject:E};i._writeRequests.push(R)})}function xu(i,u){if(i._state==="writable"){Ou(i,u);return}Pu(i)}function Ou(i,u){let h=i._writableStreamController;i._state="erroring",i._storedError=u;let E=i._writer;E!==void 0&&Qf(E,u),!rb(i)&&h._started&&Pu(i)}function Pu(i){i._state="errored",i._writableStreamController[q]();let u=i._storedError;if(i._writeRequests.forEach(R=>{R._reject(u)}),i._writeRequests=new D,i._pendingAbortRequest===void 0){qs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(u),qs(i);return}let E=i._writableStreamController[O](h._reason);g(E,()=>(h._resolve(),qs(i),null),R=>(h._reject(R),qs(i),null))}function X_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function Z_(i,u){i._inFlightWriteRequest._reject(u),i._inFlightWriteRequest=void 0,xu(i,u)}function eb(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let h=i._writer;h!==void 0&&sh(h)}function tb(i,u){i._inFlightCloseRequest._reject(u),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(u),i._pendingAbortRequest=void 0),xu(i,u)}function Qt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function rb(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function nb(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function ob(i){i._inFlightWriteRequest=i._writeRequests.shift()}function qs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let u=i._writer;u!==void 0&&Mu(u,i._storedError)}function Fu(i,u){let h=i._writer;h!==void 0&&u!==i._backpressure&&(u?yb(h):Lu(h)),i._backpressure=u}class mr{constructor(u){if(je(u,1,"WritableStreamDefaultWriter"),Gf(u,"First parameter"),In(u))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=u,u._writer=this;let h=u._state;if(h==="writable")!Qt(u)&&u._backpressure?Js(this):ih(this),Gs(this);else if(h==="erroring")ju(this,u._storedError),Gs(this);else if(h==="closed")ih(this),mb(this);else{let E=u._storedError;ju(this,E),oh(this,E)}}get closed(){return sn(this)?this._closedPromise:f(an("closed"))}get desiredSize(){if(!sn(this))throw an("desiredSize");if(this._ownerWritableStream===void 0)throw xo("desiredSize");return ub(this)}get ready(){return sn(this)?this._readyPromise:f(an("ready"))}abort(u=void 0){return sn(this)?this._ownerWritableStream===void 0?f(xo("abort")):sb(this,u):f(an("abort"))}close(){if(!sn(this))return f(an("close"));let u=this._ownerWritableStream;return u===void 0?f(xo("close")):Qt(u)?f(new TypeError("Cannot close an already-closing stream")):Yf(this)}releaseLock(){if(!sn(this))throw an("releaseLock");this._ownerWritableStream!==void 0&&Xf(this)}write(u=void 0){return sn(this)?this._ownerWritableStream===void 0?f(xo("write to")):Zf(this,u):f(an("write"))}}Object.defineProperties(mr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(mr.prototype.abort,"abort"),o(mr.prototype.close,"close"),o(mr.prototype.releaseLock,"releaseLock"),o(mr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function sn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof mr}function sb(i,u){let h=i._ownerWritableStream;return $s(h,u)}function Yf(i){let u=i._ownerWritableStream;return Kf(u)}function ib(i){let u=i._ownerWritableStream,h=u._state;return Qt(u)||h==="closed"?d(void 0):h==="errored"?f(u._storedError):Yf(i)}function ab(i,u){i._closedPromiseState==="pending"?Mu(i,u):gb(i,u)}function Qf(i,u){i._readyPromiseState==="pending"?ah(i,u):_b(i,u)}function ub(i){let u=i._ownerWritableStream,h=u._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:rh(u._writableStreamController)}function Xf(i){let u=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Qf(i,h),ab(i,h),u._writer=void 0,i._ownerWritableStream=void 0}function Zf(i,u){let h=i._ownerWritableStream,E=h._writableStreamController,R=db(E,u);if(h!==i._ownerWritableStream)return f(xo("write to"));let L=h._state;if(L==="errored")return f(h._storedError);if(Qt(h)||L==="closed")return f(new TypeError("The stream is closing or closed and cannot be written to"));if(L==="erroring")return f(h._storedError);let $=Q_(h);return fb(E,u,R),$}let eh={};class Bn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Iu(this))throw Nu("abortReason");return this._abortReason}get signal(){if(!Iu(this))throw Nu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(u=void 0){if(!Iu(this))throw Nu("error");this._controlledWritableStream._state==="writable"&&nh(this,u)}[O](u){let h=this._abortAlgorithm(u);return zs(this),h}[q](){Nr(this)}}Object.defineProperties(Bn.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Iu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Bn}function th(i,u,h,E,R,L,$,Q){u._controlledWritableStream=i,i._writableStreamController=u,u._queue=void 0,u._queueTotalSize=void 0,Nr(u),u._abortReason=void 0,u._abortController=K_(),u._started=!1,u._strategySizeAlgorithm=Q,u._strategyHWM=$,u._writeAlgorithm=E,u._closeAlgorithm=R,u._abortAlgorithm=L;let ce=Bu(u);Fu(i,ce);let ne=h(),fe=d(ne);g(fe,()=>(u._started=!0,Hs(u),null),ge=>(u._started=!0,xu(i,ge),null))}function cb(i,u,h,E){let R=Object.create(Bn.prototype),L,$,Q,ce;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.write!==void 0?$=ne=>u.write(ne,R):$=()=>d(void 0),u.close!==void 0?Q=()=>u.close():Q=()=>d(void 0),u.abort!==void 0?ce=ne=>u.abort(ne):ce=()=>d(void 0),th(i,R,L,$,Q,ce,h,E)}function zs(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function lb(i){Eu(i,eh,0),Hs(i)}function db(i,u){try{return i._strategySizeAlgorithm(u)}catch(h){return Ro(i,h),1}}function rh(i){return i._strategyHWM-i._queueTotalSize}function fb(i,u,h){try{Eu(i,u,h)}catch(R){Ro(i,R);return}let E=i._controlledWritableStream;if(!Qt(E)&&E._state==="writable"){let R=Bu(i);Fu(E,R)}Hs(i)}function Hs(i){let u=i._controlledWritableStream;if(!i._started||u._inFlightWriteRequest!==void 0)return;if(u._state==="erroring"){Pu(u);return}if(i._queue.length===0)return;let E=v_(i);E===eh?hb(i):pb(i,E)}function Ro(i,u){i._controlledWritableStream._state==="writable"&&nh(i,u)}function hb(i){let u=i._controlledWritableStream;nb(u),wu(i);let h=i._closeAlgorithm();zs(i),g(h,()=>(eb(u),null),E=>(tb(u,E),null))}function pb(i,u){let h=i._controlledWritableStream;ob(h);let E=i._writeAlgorithm(u);g(E,()=>{X_(h);let R=h._state;if(wu(i),!Qt(h)&&R==="writable"){let L=Bu(i);Fu(h,L)}return Hs(i),null},R=>(h._state==="writable"&&zs(i),Z_(h,R),null))}function Bu(i){return rh(i)<=0}function nh(i,u){let h=i._controlledWritableStream;zs(i),Ou(h,u)}function Ws(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function Nu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function an(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function xo(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Gs(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function oh(i,u){Gs(i),Mu(i,u)}function mb(i){Gs(i),sh(i)}function Mu(i,u){i._closedPromise_reject!==void 0&&(_(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function gb(i,u){oh(i,u)}function sh(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function Js(i){i._readyPromise=l((u,h)=>{i._readyPromise_resolve=u,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function ju(i,u){Js(i),ah(i,u)}function ih(i){Js(i),Lu(i)}function ah(i,u){i._readyPromise_reject!==void 0&&(_(i._readyPromise),i._readyPromise_reject(u),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function yb(i){Js(i)}function _b(i,u){ju(i,u)}function Lu(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function bb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Uu=bb();function Cb(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function wb(){let i=Uu?.DOMException;return Cb(i)?i:void 0}function Eb(){let i=function(h,E){this.message=h||"",this.name=E||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let kb=wb()||Eb();function uh(i,u,h,E,R,L){let $=U(i),Q=Jf(u);i._disturbed=!0;let ce=!1,ne=d(void 0);return l((fe,ge)=>{let De;if(L!==void 0){if(De=()=>{let se=L.reason!==void 0?L.reason:new kb("Aborted","AbortError"),_e=[];E||_e.push(()=>u._state==="writable"?$s(u,se):d(void 0)),R||_e.push(()=>i._state==="readable"?jt(i,se):d(void 0)),it(()=>Promise.all(_e.map(xe=>xe())),!0,se)},L.aborted){De();return}L.addEventListener("abort",De)}function Lt(){return l((se,_e)=>{function xe(ft){ft?se():p(Ln(),xe,_e)}xe(!1)})}function Ln(){return ce?d(!0):p(Q._readyPromise,()=>l((se,_e)=>{ee($,{_chunkSteps:xe=>{ne=p(Zf(Q,xe),void 0,e),se(!1)},_closeSteps:()=>se(!0),_errorSteps:_e})}))}if(yr(i,$._closedPromise,se=>(E?At(!0,se):it(()=>$s(u,se),!0,se),null)),yr(u,Q._closedPromise,se=>(R?At(!0,se):it(()=>jt(i,se),!0,se),null)),et(i,$._closedPromise,()=>(h?At():it(()=>ib(Q)),null)),Qt(u)||u._state==="closed"){let se=new TypeError("the destination writable stream closed before all data could be piped to it");R?At(!0,se):it(()=>jt(i,se),!0,se)}_(Lt());function qr(){let se=ne;return p(ne,()=>se!==ne?qr():void 0)}function yr(se,_e,xe){se._state==="errored"?xe(se._storedError):w(_e,xe)}function et(se,_e,xe){se._state==="closed"?xe():k(_e,xe)}function it(se,_e,xe){if(ce)return;ce=!0,u._state==="writable"&&!Qt(u)?k(qr(),ft):ft();function ft(){return g(se(),()=>_r(_e,xe),Un=>_r(!0,Un)),null}}function At(se,_e){ce||(ce=!0,u._state==="writable"&&!Qt(u)?k(qr(),()=>_r(se,_e)):_r(se,_e))}function _r(se,_e){return Xf(Q),ae($),L!==void 0&&L.removeEventListener("abort",De),se?ge(_e):fe(void 0),null}})}class gr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Vs(this))throw Ys("desiredSize");return $u(this)}close(){if(!Vs(this))throw Ys("close");if(!Mn(this))throw new TypeError("The stream is not in a state that permits close");un(this)}enqueue(u=void 0){if(!Vs(this))throw Ys("enqueue");if(!Mn(this))throw new TypeError("The stream is not in a state that permits enqueue");return Nn(this,u)}error(u=void 0){if(!Vs(this))throw Ys("error");Mt(this,u)}[J](u){Nr(this);let h=this._cancelAlgorithm(u);return Ks(this),h}[B](u){let h=this._controlledReadableStream;if(this._queue.length>0){let E=wu(this);this._closeRequested&&this._queue.length===0?(Ks(this),Fo(h)):Oo(this),u._chunkSteps(E)}else x(h,u),Oo(this)}[Y](){}}Object.defineProperties(gr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(gr.prototype.close,"close"),o(gr.prototype.enqueue,"enqueue"),o(gr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gr.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Vs(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gr}function Oo(i){if(!ch(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Oo(i)),null),E=>(Mt(i,E),null))}function ch(i){let u=i._controlledReadableStream;return!Mn(i)||!i._started?!1:!!(Ur(u)&&j(u)>0||$u(i)>0)}function Ks(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function un(i){if(!Mn(i))return;let u=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(Ks(i),Fo(u))}function Nn(i,u){if(!Mn(i))return;let h=i._controlledReadableStream;if(Ur(h)&&j(h)>0)F(h,u,!1);else{let E;try{E=i._strategySizeAlgorithm(u)}catch(R){throw Mt(i,R),R}try{Eu(i,u,E)}catch(R){throw Mt(i,R),R}}Oo(i)}function Mt(i,u){let h=i._controlledReadableStream;h._state==="readable"&&(Nr(i),Ks(i),hh(h,u))}function $u(i){let u=i._controlledReadableStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function Sb(i){return!ch(i)}function Mn(i){let u=i._controlledReadableStream._state;return!i._closeRequested&&u==="readable"}function lh(i,u,h,E,R,L,$){u._controlledReadableStream=i,u._queue=void 0,u._queueTotalSize=void 0,Nr(u),u._started=!1,u._closeRequested=!1,u._pullAgain=!1,u._pulling=!1,u._strategySizeAlgorithm=$,u._strategyHWM=L,u._pullAlgorithm=E,u._cancelAlgorithm=R,i._readableStreamController=u;let Q=h();g(d(Q),()=>(u._started=!0,Oo(u),null),ce=>(Mt(u,ce),null))}function Ab(i,u,h,E){let R=Object.create(gr.prototype),L,$,Q;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.pull!==void 0?$=()=>u.pull(R):$=()=>d(void 0),u.cancel!==void 0?Q=ce=>u.cancel(ce):Q=()=>d(void 0),lh(i,R,L,$,Q,h,E)}function Ys(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function vb(i,u){return rn(i._readableStreamController)?Db(i):Tb(i)}function Tb(i,u){let h=U(i),E=!1,R=!1,L=!1,$=!1,Q,ce,ne,fe,ge,De=l(et=>{ge=et});function Lt(){return E?(R=!0,d(void 0)):(E=!0,ee(h,{_chunkSteps:it=>{m(()=>{R=!1;let At=it,_r=it;L||Nn(ne._readableStreamController,At),$||Nn(fe._readableStreamController,_r),E=!1,R&&Lt()})},_closeSteps:()=>{E=!1,L||un(ne._readableStreamController),$||un(fe._readableStreamController),(!L||!$)&&ge(void 0)},_errorSteps:()=>{E=!1}}),d(void 0))}function Ln(et){if(L=!0,Q=et,$){let it=Ae([Q,ce]),At=jt(i,it);ge(At)}return De}function qr(et){if($=!0,ce=et,L){let it=Ae([Q,ce]),At=jt(i,it);ge(At)}return De}function yr(){}return ne=Po(yr,Lt,Ln),fe=Po(yr,Lt,qr),w(h._closedPromise,et=>(Mt(ne._readableStreamController,et),Mt(fe._readableStreamController,et),(!L||!$)&&ge(void 0),null)),[ne,fe]}function Db(i){let u=U(i),h=!1,E=!1,R=!1,L=!1,$=!1,Q,ce,ne,fe,ge,De=l(se=>{ge=se});function Lt(se){w(se._closedPromise,_e=>(se!==u||(St(ne._readableStreamController,_e),St(fe._readableStreamController,_e),(!L||!$)&&ge(void 0)),null))}function Ln(){on(u)&&(ae(u),u=U(i),Lt(u)),ee(u,{_chunkSteps:_e=>{m(()=>{E=!1,R=!1;let xe=_e,ft=_e;if(!L&&!$)try{ft=Df(_e)}catch(Un){St(ne._readableStreamController,Un),St(fe._readableStreamController,Un),ge(jt(i,Un));return}L||Bs(ne._readableStreamController,xe),$||Bs(fe._readableStreamController,ft),h=!1,E?yr():R&&et()})},_closeSteps:()=>{h=!1,L||vo(ne._readableStreamController),$||vo(fe._readableStreamController),ne._readableStreamController._pendingPullIntos.length>0&&Ns(ne._readableStreamController,0),fe._readableStreamController._pendingPullIntos.length>0&&Ns(fe._readableStreamController,0),(!L||!$)&&ge(void 0)},_errorSteps:()=>{h=!1}})}function qr(se,_e){X(u)&&(ae(u),u=$f(i),Lt(u));let xe=_e?fe:ne,ft=_e?ne:fe;Hf(u,se,1,{_chunkSteps:$n=>{m(()=>{E=!1,R=!1;let qn=_e?$:L;if(_e?L:$)qn||Ms(xe._readableStreamController,$n);else{let vh;try{vh=Df($n)}catch(Gu){St(xe._readableStreamController,Gu),St(ft._readableStreamController,Gu),ge(jt(i,Gu));return}qn||Ms(xe._readableStreamController,$n),Bs(ft._readableStreamController,vh)}h=!1,E?yr():R&&et()})},_closeSteps:$n=>{h=!1;let qn=_e?$:L,oi=_e?L:$;qn||vo(xe._readableStreamController),oi||vo(ft._readableStreamController),$n!==void 0&&(qn||Ms(xe._readableStreamController,$n),!oi&&ft._readableStreamController._pendingPullIntos.length>0&&Ns(ft._readableStreamController,0)),(!qn||!oi)&&ge(void 0)},_errorSteps:()=>{h=!1}})}function yr(){if(h)return E=!0,d(void 0);h=!0;let se=Tu(ne._readableStreamController);return se===null?Ln():qr(se._view,!1),d(void 0)}function et(){if(h)return R=!0,d(void 0);h=!0;let se=Tu(fe._readableStreamController);return se===null?Ln():qr(se._view,!0),d(void 0)}function it(se){if(L=!0,Q=se,$){let _e=Ae([Q,ce]),xe=jt(i,_e);ge(xe)}return De}function At(se){if($=!0,ce=se,L){let _e=Ae([Q,ce]),xe=jt(i,_e);ge(xe)}return De}function _r(){}return ne=fh(_r,yr,it),fe=fh(_r,et,At),Lt(u),[ne,fe]}function Rb(i){return r(i)&&typeof i.getReader<"u"}function xb(i){return Rb(i)?Pb(i.getReader()):Ob(i)}function Ob(i){let u,h=Tf(i,"async"),E=e;function R(){let $;try{$=E_(h)}catch(ce){return f(ce)}let Q=d($);return y(Q,ce=>{if(!r(ce))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(k_(ce))un(u._readableStreamController);else{let fe=S_(ce);Nn(u._readableStreamController,fe)}})}function L($){let Q=h.iterator,ce;try{ce=Ps(Q,"return")}catch(ge){return f(ge)}if(ce===void 0)return d(void 0);let ne;try{ne=v(ce,Q,[$])}catch(ge){return f(ge)}let fe=d(ne);return y(fe,ge=>{if(!r(ge))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return u=Po(E,R,L,0),u}function Pb(i){let u,h=e;function E(){let L;try{L=i.read()}catch($){return f($)}return y(L,$=>{if(!r($))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if($.done)un(u._readableStreamController);else{let Q=$.value;Nn(u._readableStreamController,Q)}})}function R(L){try{return d(i.cancel(L))}catch($){return f($)}}return u=Po(h,E,R,0),u}function Fb(i,u){le(i,u);let h=i,E=h?.autoAllocateChunkSize,R=h?.cancel,L=h?.pull,$=h?.start,Q=h?.type;return{autoAllocateChunkSize:E===void 0?void 0:P(E,`${u} has member 'autoAllocateChunkSize' that`),cancel:R===void 0?void 0:Ib(R,h,`${u} has member 'cancel' that`),pull:L===void 0?void 0:Bb(L,h,`${u} has member 'pull' that`),start:$===void 0?void 0:Nb($,h,`${u} has member 'start' that`),type:Q===void 0?void 0:Mb(Q,`${u} has member 'type' that`)}}function Ib(i,u,h){return ye(i,h),E=>b(i,u,[E])}function Bb(i,u,h){return ye(i,h),E=>b(i,u,[E])}function Nb(i,u,h){return ye(i,h),E=>v(i,u,[E])}function Mb(i,u){if(i=`${i}`,i!=="bytes")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function jb(i,u){return le(i,u),{preventCancel:!!i?.preventCancel}}function dh(i,u){le(i,u);let h=i?.preventAbort,E=i?.preventCancel,R=i?.preventClose,L=i?.signal;return L!==void 0&&Lb(L,`${u} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!E,preventClose:!!R,signal:L}}function Lb(i,u){if(!J_(i))throw new TypeError(`${u} is not an AbortSignal.`)}function Ub(i,u){le(i,u);let h=i?.readable;C(h,"readable","ReadableWritablePair"),I(h,`${u} has member 'readable' that`);let E=i?.writable;return C(E,"writable","ReadableWritablePair"),Gf(E,`${u} has member 'writable' that`),{readable:h,writable:E}}class Qe{constructor(u={},h={}){u===void 0?u=null:Re(u,"First parameter");let E=Us(h,"Second parameter"),R=Fb(u,"First parameter");if(qu(this),R.type==="bytes"){if(E.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let L=Do(E,0);I_(this,R,L)}else{let L=Ls(E),$=Do(E,1);Ab(this,R,$,L)}}get locked(){if(!Lr(this))throw cn("locked");return Ur(this)}cancel(u=void 0){return Lr(this)?Ur(this)?f(new TypeError("Cannot cancel a stream that already has a reader")):jt(this,u):f(cn("cancel"))}getReader(u=void 0){if(!Lr(this))throw cn("getReader");return N_(u,"First parameter").mode===void 0?U(this):$f(this)}pipeThrough(u,h={}){if(!Lr(this))throw cn("pipeThrough");je(u,1,"pipeThrough");let E=Ub(u,"First parameter"),R=dh(h,"Second parameter");if(Ur(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(In(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let L=uh(this,E.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return _(L),E.readable}pipeTo(u,h={}){if(!Lr(this))return f(cn("pipeTo"));if(u===void 0)return f("Parameter 1 is required in 'pipeTo'.");if(!Fn(u))return f(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=dh(h,"Second parameter")}catch(R){return f(R)}return Ur(this)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):In(u)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):uh(this,u,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!Lr(this))throw cn("tee");let u=vb(this);return Ae(u)}values(u=void 0){if(!Lr(this))throw cn("values");let h=jb(u,"First parameter");return Rn(this,h.preventCancel)}[Cu](u){return this.values(u)}static from(u){return xb(u)}}Object.defineProperties(Qe,{from:{enumerable:!0}}),Object.defineProperties(Qe.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(Qe.from,"from"),o(Qe.prototype.cancel,"cancel"),o(Qe.prototype.getReader,"getReader"),o(Qe.prototype.pipeThrough,"pipeThrough"),o(Qe.prototype.pipeTo,"pipeTo"),o(Qe.prototype.tee,"tee"),o(Qe.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Qe.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Qe.prototype,Cu,{value:Qe.prototype.values,writable:!0,configurable:!0});function Po(i,u,h,E=1,R=()=>1){let L=Object.create(Qe.prototype);qu(L);let $=Object.create(gr.prototype);return lh(L,$,i,u,h,E,R),L}function fh(i,u,h){let E=Object.create(Qe.prototype);qu(E);let R=Object.create(pr.prototype);return Uf(E,R,i,u,h,0,void 0),E}function qu(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function Lr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof Qe}function Ur(i){return i._reader!==void 0}function jt(i,u){if(i._disturbed=!0,i._state==="closed")return d(void 0);if(i._state==="errored")return f(i._storedError);Fo(i);let h=i._reader;if(h!==void 0&&on(h)){let R=h._readIntoRequests;h._readIntoRequests=new D,R.forEach(L=>{L._closeSteps(void 0)})}let E=i._readableStreamController[J](u);return y(E,e)}function Fo(i){i._state="closed";let u=i._reader;if(u!==void 0&&(ue(u),X(u))){let h=u._readRequests;u._readRequests=new D,h.forEach(E=>{E._closeSteps()})}}function hh(i,u){i._state="errored",i._storedError=u;let h=i._reader;h!==void 0&&(G(h,u),X(h)?Fe(h,u):Wf(h,u))}function cn(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function ph(i,u){le(i,u);let h=i?.highWaterMark;return C(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:A(h)}}let mh=i=>i.byteLength;o(mh,"size");class Qs{constructor(u){je(u,1,"ByteLengthQueuingStrategy"),u=ph(u,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!yh(this))throw gh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!yh(this))throw gh("size");return mh}}Object.defineProperties(Qs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Qs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function gh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function yh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof Qs}let _h=()=>1;o(_h,"size");class Xs{constructor(u){je(u,1,"CountQueuingStrategy"),u=ph(u,"First parameter"),this._countQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!Ch(this))throw bh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Ch(this))throw bh("size");return _h}}Object.defineProperties(Xs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Xs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function bh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function Ch(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Xs}function $b(i,u){le(i,u);let h=i?.cancel,E=i?.flush,R=i?.readableType,L=i?.start,$=i?.transform,Q=i?.writableType;return{cancel:h===void 0?void 0:Wb(h,i,`${u} has member 'cancel' that`),flush:E===void 0?void 0:qb(E,i,`${u} has member 'flush' that`),readableType:R,start:L===void 0?void 0:zb(L,i,`${u} has member 'start' that`),transform:$===void 0?void 0:Hb($,i,`${u} has member 'transform' that`),writableType:Q}}function qb(i,u,h){return ye(i,h),E=>b(i,u,[E])}function zb(i,u,h){return ye(i,h),E=>v(i,u,[E])}function Hb(i,u,h){return ye(i,h),(E,R)=>b(i,u,[E,R])}function Wb(i,u,h){return ye(i,h),E=>b(i,u,[E])}class Zs{constructor(u={},h={},E={}){u===void 0&&(u=null);let R=Us(h,"Second parameter"),L=Us(E,"Third parameter"),$=$b(u,"First parameter");if($.readableType!==void 0)throw new RangeError("Invalid readableType specified");if($.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Q=Do(L,0),ce=Ls(L),ne=Do(R,1),fe=Ls(R),ge,De=l(Lt=>{ge=Lt});Gb(this,De,ne,fe,Q,ce),Vb(this,$),$.start!==void 0?ge($.start(this._transformStreamController)):ge(void 0)}get readable(){if(!wh(this))throw Ah("readable");return this._readable}get writable(){if(!wh(this))throw Ah("writable");return this._writable}}Object.defineProperties(Zs.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Zs.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Gb(i,u,h,E,R,L){function $(){return u}function Q(De){return Qb(i,De)}function ce(De){return Xb(i,De)}function ne(){return Zb(i)}i._writable=Y_($,Q,ne,ce,h,E);function fe(){return eC(i)}function ge(De){return tC(i,De)}i._readable=Po($,fe,ge,R,L),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,ei(i,!0),i._transformStreamController=void 0}function wh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Zs}function Eh(i,u){Mt(i._readable._readableStreamController,u),zu(i,u)}function zu(i,u){ri(i._transformStreamController),Ro(i._writable._writableStreamController,u),Hu(i)}function Hu(i){i._backpressure&&ei(i,!1)}function ei(i,u){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=u}class $r{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ti(this))throw ni("desiredSize");let u=this._controlledTransformStream._readable._readableStreamController;return $u(u)}enqueue(u=void 0){if(!ti(this))throw ni("enqueue");kh(this,u)}error(u=void 0){if(!ti(this))throw ni("error");Kb(this,u)}terminate(){if(!ti(this))throw ni("terminate");Yb(this)}}Object.defineProperties($r.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o($r.prototype.enqueue,"enqueue"),o($r.prototype.error,"error"),o($r.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($r.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function ti(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof $r}function Jb(i,u,h,E,R){u._controlledTransformStream=i,i._transformStreamController=u,u._transformAlgorithm=h,u._flushAlgorithm=E,u._cancelAlgorithm=R,u._finishPromise=void 0,u._finishPromise_resolve=void 0,u._finishPromise_reject=void 0}function Vb(i,u){let h=Object.create($r.prototype),E,R,L;u.transform!==void 0?E=$=>u.transform($,h):E=$=>{try{return kh(h,$),d(void 0)}catch(Q){return f(Q)}},u.flush!==void 0?R=()=>u.flush(h):R=()=>d(void 0),u.cancel!==void 0?L=$=>u.cancel($):L=()=>d(void 0),Jb(i,h,E,R,L)}function ri(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function kh(i,u){let h=i._controlledTransformStream,E=h._readable._readableStreamController;if(!Mn(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{Nn(E,u)}catch(L){throw zu(h,L),h._readable._storedError}Sb(E)!==h._backpressure&&ei(h,!0)}function Kb(i,u){Eh(i._controlledTransformStream,u)}function Sh(i,u){let h=i._transformAlgorithm(u);return y(h,void 0,E=>{throw Eh(i._controlledTransformStream,E),E})}function Yb(i){let u=i._controlledTransformStream,h=u._readable._readableStreamController;un(h);let E=new TypeError("TransformStream terminated");zu(u,E)}function Qb(i,u){let h=i._transformStreamController;if(i._backpressure){let E=i._backpressureChangePromise;return y(E,()=>{let R=i._writable;if(R._state==="erroring")throw R._storedError;return Sh(h,u)})}return Sh(h,u)}function Xb(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._readable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return ri(h),g(R,()=>(E._state==="errored"?jn(h,E._storedError):(Mt(E._readableStreamController,u),Wu(h)),null),L=>(Mt(E._readableStreamController,L),jn(h,L),null)),h._finishPromise}function Zb(i){let u=i._transformStreamController;if(u._finishPromise!==void 0)return u._finishPromise;let h=i._readable;u._finishPromise=l((R,L)=>{u._finishPromise_resolve=R,u._finishPromise_reject=L});let E=u._flushAlgorithm();return ri(u),g(E,()=>(h._state==="errored"?jn(u,h._storedError):(un(h._readableStreamController),Wu(u)),null),R=>(Mt(h._readableStreamController,R),jn(u,R),null)),u._finishPromise}function eC(i){return ei(i,!1),i._backpressureChangePromise}function tC(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._writable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return ri(h),g(R,()=>(E._state==="errored"?jn(h,E._storedError):(Ro(E._writableStreamController,u),Hu(i),Wu(h)),null),L=>(Ro(E._writableStreamController,L),Hu(i),jn(h,L),null)),h._finishPromise}function ni(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Wu(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function jn(i,u){i._finishPromise_reject!==void 0&&(_(i._finishPromise),i._finishPromise_reject(u),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Ah(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=Qs,t.CountQueuingStrategy=Xs,t.ReadableByteStreamController=pr,t.ReadableStream=Qe,t.ReadableStreamBYOBReader=Mr,t.ReadableStreamBYOBRequest=tn,t.ReadableStreamDefaultController=gr,t.ReadableStreamDefaultReader=z,t.TransformStream=Zs,t.TransformStreamDefaultController=$r,t.WritableStream=jr,t.WritableStreamDefaultController=Bn,t.WritableStreamDefaultWriter=mr}))});var um=V(()=>{if(!globalThis.ReadableStream)try{let t=require("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,am())}try{let{Blob:t}=require("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(r){let n=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let c=await o.slice(n,Math.min(o.size,n+65536)).arrayBuffer();n+=c.byteLength,s.enqueue(new Uint8Array(c)),n===o.size&&s.close()}})})}catch{}});async function*Tc(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,o=r.byteOffset+r.byteLength;for(;n!==o;){let s=Math.min(o-n,cm),a=r.buffer.slice(n,n+s);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,o=r;for(;n!==o.size;){let a=await o.slice(n,Math.min(o.size,n+cm)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var XR,cm,lm,Ow,$t,qo=Me(()=>{XR=Oe(um(),1);cm=65536;lm=class Dc{#e=[];#t="";#r=0;#n="transparent";constructor(e=[],r={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof Dc?a=s:a=n.encode(`${s}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let o=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#r}get type(){return this.#t}async text(){let e=new TextDecoder,r="";for await(let n of Tc(this.#e,!1))r+=e.decode(n,{stream:!0});return r+=e.decode(),r}async arrayBuffer(){let e=new Uint8Array(this.size),r=0;for await(let n of Tc(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=Tc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await e.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await e.return()}})}slice(e=0,r=this.size,n=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=r<0?Math.max(o+r,0):Math.min(r,o),c=Math.max(a-s,0),l=this.#e,d=[],f=0;for(let g of l){if(f>=c)break;let k=ArrayBuffer.isView(g)?g.byteLength:g.size;if(s&&k<=s)s-=k,a-=k;else{let w;ArrayBuffer.isView(g)?(w=g.subarray(s,Math.min(k,a)),f+=w.byteLength):(w=g.slice(s,Math.min(k,a)),f+=w.size),a-=k,d.push(w),s=0}}let p=new Dc([],{type:String(n).toLowerCase()});return p.#r=c,p.#e=d,p}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(lm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Ow=lm,$t=Ow});var Pw,Fw,Wr,Rc=Me(()=>{qo();Pw=class extends $t{#e=0;#t="";constructor(e,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,n),n===null&&(n={});let o=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof $t&&/^(File)$/.test(e[Symbol.toStringTag])}},Fw=Pw,Wr=Fw});function hm(t,e=$t){var r=`${dm()}${dm()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],o=`--${r}\r
27
27
  Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?n.push(o+xc(a)+`"\r
28
28
  \r
29
29
  ${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
@@ -32,47 +32,47 @@ ${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
32
32
  Content-Type: ${s.type||"application/octet-stream"}\r
33
33
  \r
34
34
  `,s,`\r
35
- `)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}var zo,Iw,Bw,dm,Nw,fm,xc,gn,Gr,xi=je(()=>{qo();Rc();({toStringTag:zo,iterator:Iw,hasInstance:Bw}=Symbol),dm=Math.random,Nw="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),fm=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[zo])?[(r=r!==void 0?r+"":e[zo]=="File"?e.name:"blob",t),e.name!==r||e[zo]=="blob"?new Wr([e],r,e):e]:[t,e+""]),xc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
36
- `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),gn=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},Gr=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[zo](){return"FormData"}[Iw](){return this.entries()}static[Bw](e){return e&&typeof e=="object"&&e[zo]==="FormData"&&!Nw.some(r=>typeof e[r]!="function")}append(...e){gn("append",arguments,2),this.#e.push(fm(...e))}delete(e){gn("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){gn("get",arguments,1),e+="";for(var r=this.#e,n=r.length,o=0;o<n;o++)if(r[o][0]===e)return r[o][1];return null}getAll(e,r){return gn("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return gn("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){gn("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){gn("set",arguments,2);var r=[],n=!0;e=fm(...e),this.#e.forEach(o=>{o[0]===e[0]?n&&(n=!r.push(e)):r.push(o)}),n&&r.push(e),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var Ar,Oi=je(()=>{Ar=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var nt,Oc=je(()=>{Oi();nt=class extends Ar{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var Fi,Fc,Ho,pm,mm,gm,Pi=je(()=>{Fi=Symbol.toStringTag,Fc=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[Fi]==="URLSearchParams",Ho=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[Fi]),pm=t=>typeof t=="object"&&(t[Fi]==="AbortSignal"||t[Fi]==="EventTarget"),mm=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},gm=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var _m=V((l1,ym)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=require("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}ym.exports=globalThis.DOMException});var yn,bm,Cm,Pc,wm,Em,Am,Sm,km,vm,Ii,Ic=je(()=>{yn=require("node:fs"),bm=require("node:path"),Cm=Pe(_m(),1);Rc();qo();({stat:Pc}=yn.promises),wm=(t,e)=>km((0,yn.statSync)(t),t,e),Em=(t,e)=>Pc(t).then(r=>km(r,t,e)),Am=(t,e)=>Pc(t).then(r=>vm(r,t,e)),Sm=(t,e)=>vm((0,yn.statSync)(t),t,e),km=(t,e,r="")=>new $t([new Ii({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),vm=(t,e,r="")=>new Wr([new Ii({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,bm.basename)(e),{type:r,lastModified:t.mtimeMs}),Ii=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new t({path:this.#e,lastModified:this.lastModified,size:r-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await Pc(this.#e);if(e>this.lastModified)throw new Cm.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,yn.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var Dm={};ii(Dm,{toFormData:()=>zw});function qw(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let r=e[2]||e[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),n}async function zw(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let r=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new Bc(r[1]||r[2]),o,s,a,c,l,f,d=[],p=new Gr,g=m=>{a+=y.decode(m,{stream:!0})},A=m=>{d.push(m)},E=()=>{let m=new Wr(d,f,{type:l});p.append(c,m)},_=()=>{p.append(c,a)},y=new TextDecoder("utf-8");y.decode(),n.onPartBegin=function(){n.onPartData=g,n.onPartEnd=_,o="",s="",a="",c="",l="",f=null,d.length=0},n.onHeaderField=function(m){o+=y.decode(m,{stream:!0})},n.onHeaderValue=function(m){s+=y.decode(m,{stream:!0})},n.onHeaderEnd=function(){if(s+=y.decode(),o=o.toLowerCase(),o==="content-disposition"){let m=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);m&&(c=m[2]||m[3]||""),f=qw(s),f&&(n.onPartData=A,n.onPartEnd=E)}else o==="content-type"&&(l=s);s="",o=""};for await(let m of t)n.write(m);return n.end(),p}var er,Oe,Tm,Jr,Bi,Ni,jw,Wo,Mw,Lw,Uw,$w,_n,Bc,Rm=je(()=>{Ic();xi();er=0,Oe={START_BOUNDARY:er++,HEADER_FIELD_START:er++,HEADER_FIELD:er++,HEADER_VALUE_START:er++,HEADER_VALUE:er++,HEADER_VALUE_ALMOST_DONE:er++,HEADERS_ALMOST_DONE:er++,PART_DATA_START:er++,PART_DATA:er++,END:er++},Tm=1,Jr={PART_BOUNDARY:Tm,LAST_BOUNDARY:Tm*=2},Bi=10,Ni=13,jw=32,Wo=45,Mw=58,Lw=97,Uw=122,$w=t=>t|32,_n=()=>{},Bc=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=_n,this.onHeaderField=_n,this.onHeadersEnd=_n,this.onHeaderValue=_n,this.onPartBegin=_n,this.onPartData=_n,this.onPartEnd=_n,this.boundaryChars={},e=`\r
37
- --`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Oe.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:c,index:l,state:f,flags:d}=this,p=this.boundary.length,g=p-1,A=e.length,E,_,y=S=>{this[S+"Mark"]=r},m=S=>{delete this[S+"Mark"]},v=(S,D,O,q)=>{(D===void 0||D!==O)&&this[S](q&&q.subarray(D,O))},b=(S,D)=>{let O=S+"Mark";O in this&&(D?(v(S,this[O],r,e),delete this[O]):(v(S,this[O],e.length,e),this[O]=0))};for(r=0;r<n;r++)switch(E=e[r],f){case Oe.START_BOUNDARY:if(l===a.length-2){if(E===Wo)d|=Jr.LAST_BOUNDARY;else if(E!==Ni)return;l++;break}else if(l-1===a.length-2){if(d&Jr.LAST_BOUNDARY&&E===Wo)f=Oe.END,d=0;else if(!(d&Jr.LAST_BOUNDARY)&&E===Bi)l=0,v("onPartBegin"),f=Oe.HEADER_FIELD_START;else return;break}E!==a[l+2]&&(l=-2),E===a[l+2]&&l++;break;case Oe.HEADER_FIELD_START:f=Oe.HEADER_FIELD,y("onHeaderField"),l=0;case Oe.HEADER_FIELD:if(E===Ni){m("onHeaderField"),f=Oe.HEADERS_ALMOST_DONE;break}if(l++,E===Wo)break;if(E===Mw){if(l===1)return;b("onHeaderField",!0),f=Oe.HEADER_VALUE_START;break}if(_=$w(E),_<Lw||_>Uw)return;break;case Oe.HEADER_VALUE_START:if(E===jw)break;y("onHeaderValue"),f=Oe.HEADER_VALUE;case Oe.HEADER_VALUE:E===Ni&&(b("onHeaderValue",!0),v("onHeaderEnd"),f=Oe.HEADER_VALUE_ALMOST_DONE);break;case Oe.HEADER_VALUE_ALMOST_DONE:if(E!==Bi)return;f=Oe.HEADER_FIELD_START;break;case Oe.HEADERS_ALMOST_DONE:if(E!==Bi)return;v("onHeadersEnd"),f=Oe.PART_DATA_START;break;case Oe.PART_DATA_START:f=Oe.PART_DATA,y("onPartData");case Oe.PART_DATA:if(o=l,l===0){for(r+=g;r<A&&!(e[r]in c);)r+=p;r-=g,E=e[r]}if(l<a.length)a[l]===E?(l===0&&b("onPartData",!0),l++):l=0;else if(l===a.length)l++,E===Ni?d|=Jr.PART_BOUNDARY:E===Wo?d|=Jr.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(d&Jr.PART_BOUNDARY){if(l=0,E===Bi){d&=~Jr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),f=Oe.HEADER_FIELD_START;break}}else d&Jr.LAST_BOUNDARY&&E===Wo?(v("onPartEnd"),f=Oe.END,d=0):l=0;if(l>0)s[l-1]=E;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,S),o=0,y("onPartData"),r--}break;case Oe.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}b("onHeaderField"),b("onHeaderValue"),b("onPartData"),this.index=l,this.state=f,this.flags=d}end(){if(this.state===Oe.HEADER_FIELD_START&&this.index===0||this.state===Oe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Oe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function Nc(t){if(t[ct].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[ct].disturbed=!0,t[ct].error)throw t[ct].error;let{body:e}=t;if(e===null)return pt.Buffer.alloc(0);if(!(e instanceof Rt.default))return pt.Buffer.alloc(0);let r=[],n=0;try{for await(let o of e){if(t.size>0&&n+o.length>t.size){let s=new nt(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}n+=o.length,r.push(o)}}catch(o){throw o instanceof Ar?o:new nt(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(o=>typeof o=="string")?pt.Buffer.from(r.join("")):pt.Buffer.concat(r,n)}catch(o){throw new nt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new nt(`Premature close of server response while trying to fetch ${t.url}`)}var Rt,Sr,pt,Hw,ct,tr,Qn,Ww,ji,xm,Om,Mi=je(()=>{Rt=Pe(require("node:stream"),1),Sr=require("node:util"),pt=require("node:buffer");qo();xi();Oc();Oi();Pi();Hw=(0,Sr.promisify)(Rt.default.pipeline),ct=Symbol("Body internals"),tr=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:Fc(e)?e=pt.Buffer.from(e.toString()):Ho(e)||pt.Buffer.isBuffer(e)||(Sr.types.isAnyArrayBuffer(e)?e=pt.Buffer.from(e):ArrayBuffer.isView(e)?e=pt.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Rt.default||(e instanceof Gr?(e=hm(e),n=e.type.split("=")[1]):e=pt.Buffer.from(String(e))));let o=e;pt.Buffer.isBuffer(e)?o=Rt.default.Readable.from(e):Ho(e)&&(o=Rt.default.Readable.from(e.stream())),this[ct]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Rt.default&&e.on("error",s=>{let a=s instanceof Ar?s:new nt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[ct].error=a})}get body(){return this[ct].stream}get bodyUsed(){return this[ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await Nc(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new Gr,o=new URLSearchParams(await this.text());for(let[s,a]of o)n.append(s,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(Rm(),Dm));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[ct].body&&this[ct].body.type||"",r=await this.arrayBuffer();return new $t([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Nc(this);return new TextDecoder().decode(e)}buffer(){return Nc(this)}};tr.prototype.buffer=(0,Sr.deprecate)(tr.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(tr.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,Sr.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Qn=(t,e)=>{let r,n,{body:o}=t[ct];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Rt.default&&typeof o.getBoundary!="function"&&(r=new Rt.PassThrough({highWaterMark:e}),n=new Rt.PassThrough({highWaterMark:e}),o.pipe(r),o.pipe(n),t[ct].stream=r,o=n),o},Ww=(0,Sr.deprecate)(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),ji=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Fc(t)?"application/x-www-form-urlencoded;charset=UTF-8":Ho(t)?t.type||null:pt.Buffer.isBuffer(t)||Sr.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Gr?`multipart/form-data; boundary=${e[ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${Ww(t)}`:t instanceof Rt.default?null:"text/plain;charset=UTF-8",xm=t=>{let{body:e}=t[ct];return e===null?0:Ho(e)?e.size:pt.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Om=async(t,{body:e})=>{e===null?t.end():await Hw(e,t)}});function Fm(t=[]){return new lt(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return Li(e),Mc(e,String(r)),!0}catch{return!1}}))}var jc,Go,Li,Mc,lt,Ui=je(()=>{jc=require("node:util"),Go=Pe(require("node:http"),1),Li=typeof Go.default.validateHeaderName=="function"?Go.default.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},Mc=typeof Go.default.validateHeaderValue=="function"?Go.default.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},lt=class t extends URLSearchParams{constructor(e){let r=[];if(e instanceof t){let n=e.raw();for(let[o,s]of Object.entries(n))r.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!jc.types.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(o=>{if(typeof o!="object"||jc.types.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,o])=>(Li(n),Mc(n,String(o)),[String(n).toLowerCase(),String(o)])):void 0,super(r),new Proxy(this,{get(n,o,s){switch(o){case"append":case"set":return(a,c)=>(Li(a),Mc(a,String(c)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return a=>(Li(a),URLSearchParams.prototype[o].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};Object.defineProperties(lt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var Gw,Jo,Lc=je(()=>{Gw=new Set([301,302,303,307,308]),Jo=t=>Gw.has(t)});var qt,mt,Pm=je(()=>{Ui();Mi();Lc();qt=Symbol("Response internals"),mt=class t extends tr{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new lt(r.headers);if(e!==null&&!o.has("Content-Type")){let s=ji(e,this);s&&o.append("Content-Type",s)}this[qt]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[qt].type}get url(){return this[qt].url||""}get status(){return this[qt].status}get ok(){return this[qt].status>=200&&this[qt].status<300}get redirected(){return this[qt].counter>0}get statusText(){return this[qt].statusText}get headers(){return this[qt].headers}get highWaterMark(){return this[qt].highWaterMark}clone(){return new t(Qn(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!Jo(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new t(null,{status:0,statusText:""});return e[qt].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let o=new lt(r&&r.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(n,{...r,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(mt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Im,Bm=je(()=>{Im=t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""}});function Nm(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Um(t){if(!Mm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Jw(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,jm.isIP)(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function Xn(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Jw(t)}function $m(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Nm(o),a=Nm(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),r&&(a=r(a));let c=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return Xn(s)&&!Xn(c)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:Xn(s)&&!Xn(c)?"no-referrer":a;case"same-origin":return s.origin===c.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===c.origin?s:a;case"no-referrer-when-downgrade":return Xn(s)&&!Xn(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function qm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&Mm.has(n)&&(r=n);return r}var jm,Mm,Lm,Uc=je(()=>{jm=require("node:net");Mm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Lm="strict-origin-when-cross-origin"});var zm,Hm,Je,Vo,Vw,Vr,Wm,Gm=je(()=>{zm=require("node:url"),Hm=require("node:util");Ui();Mi();Pi();Bm();Uc();Je=Symbol("Request internals"),Vo=t=>typeof t=="object"&&typeof t[Je]=="object",Vw=(0,Hm.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Vr=class t extends tr{constructor(e,r={}){let n;if(Vo(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let o=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Vo(r)&&"data"in r&&Vw(),(r.body!=null||Vo(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=r.body?r.body:Vo(e)&&e.body!==null?Qn(e):null;super(s,{size:r.size||e.size||0});let a=new lt(r.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let f=ji(s,this);f&&a.set("Content-Type",f)}let c=Vo(e)?e.signal:null;if("signal"in r&&(c=r.signal),c!=null&&!pm(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=r.referrer==null?e.referrer:r.referrer;if(l==="")l="no-referrer";else if(l){let f=new URL(l);l=/^about:(\/\/)?client$/.test(f)?"client":f}else l=void 0;this[Je]={method:o,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:c,referrer:l},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[Je].method}get url(){return(0,zm.format)(this[Je].parsedURL)}get headers(){return this[Je].headers}get redirect(){return this[Je].redirect}get signal(){return this[Je].signal}get referrer(){if(this[Je].referrer==="no-referrer")return"";if(this[Je].referrer==="client")return"about:client";if(this[Je].referrer)return this[Je].referrer.toString()}get referrerPolicy(){return this[Je].referrerPolicy}set referrerPolicy(e){this[Je].referrerPolicy=Um(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Vr.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});Wm=t=>{let{parsedURL:e}=t[Je],r=new lt(t[Je].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let c=xm(t);typeof c=="number"&&!Number.isNaN(c)&&(n=String(c))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=Lm),t.referrer&&t.referrer!=="no-referrer"?t[Je].referrer=$m(t):t[Je].referrer="no-referrer",t[Je].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=Im(e),a={path:e.pathname+s,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var Ko,Jm=je(()=>{Oi();Ko=class extends Ar{constructor(e,r="aborted"){super(e,r)}}});var Ym={};ii(Ym,{AbortError:()=>Ko,Blob:()=>$t,FetchError:()=>nt,File:()=>Wr,FormData:()=>Gr,Headers:()=>lt,Request:()=>Vr,Response:()=>mt,blobFrom:()=>Em,blobFromSync:()=>wm,default:()=>$c,fileFrom:()=>Am,fileFromSync:()=>Sm,isRedirect:()=>Jo});async function $c(t,e){return new Promise((r,n)=>{let o=new Vr(t,e),{parsedURL:s,options:a}=Wm(o);if(!Kw.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let E=om(o.url),_=new mt(E,{headers:{"Content-Type":E.typeFull}});r(_);return}let c=(s.protocol==="https:"?Km.default:Vm.default).request,{signal:l}=o,f=null,d=()=>{let E=new Ko("The operation was aborted.");n(E),o.body&&o.body instanceof gt.default.Readable&&o.body.destroy(E),!(!f||!f.body)&&f.body.emit("error",E)};if(l&&l.aborted){d();return}let p=()=>{d(),A()},g=c(s.toString(),a);l&&l.addEventListener("abort",p);let A=()=>{g.abort(),l&&l.removeEventListener("abort",p)};g.on("error",E=>{n(new nt(`request to ${o.url} failed, reason: ${E.message}`,"system",E)),A()}),Yw(g,E=>{f&&f.body&&f.body.destroy(E)}),process.version<"v14"&&g.on("socket",E=>{let _;E.prependListener("end",()=>{_=E._eventsCount}),E.prependListener("close",y=>{if(f&&_<E._eventsCount&&!y){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",f.body.emit("error",m)}})}),g.on("response",E=>{g.setTimeout(0);let _=Fm(E.rawHeaders);if(Jo(E.statusCode)){let S=_.get("Location"),D=null;try{D=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){n(new nt(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),A();return}}switch(o.redirect){case"error":n(new nt(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),A();return;case"manual":break;case"follow":{if(D===null)break;if(o.counter>=o.follow){n(new nt(`maximum redirect reached at: ${o.url}`,"max-redirect")),A();return}let O={headers:new lt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Qn(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!mm(o.url,D)||!gm(o.url,D))for(let J of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete(J);if(E.statusCode!==303&&o.body&&e.body instanceof gt.default.Readable){n(new nt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),A();return}(E.statusCode===303||(E.statusCode===301||E.statusCode===302)&&o.method==="POST")&&(O.method="GET",O.body=void 0,O.headers.delete("content-length"));let q=qm(_);q&&(O.referrerPolicy=q),r($c(new Vr(D,O))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&E.once("end",()=>{l.removeEventListener("abort",p)});let y=(0,gt.pipeline)(E,new gt.PassThrough,S=>{S&&n(S)});process.version<"v12.10"&&E.on("aborted",p);let m={url:o.url,status:E.statusCode,statusText:E.statusMessage,headers:_,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},v=_.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||v===null||E.statusCode===204||E.statusCode===304){f=new mt(y,m),r(f);return}let b={flush:bn.default.Z_SYNC_FLUSH,finishFlush:bn.default.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){y=(0,gt.pipeline)(y,bn.default.createGunzip(b),S=>{S&&n(S)}),f=new mt(y,m),r(f);return}if(v==="deflate"||v==="x-deflate"){let S=(0,gt.pipeline)(E,new gt.PassThrough,D=>{D&&n(D)});S.once("data",D=>{(D[0]&15)===8?y=(0,gt.pipeline)(y,bn.default.createInflate(),O=>{O&&n(O)}):y=(0,gt.pipeline)(y,bn.default.createInflateRaw(),O=>{O&&n(O)}),f=new mt(y,m),r(f)}),S.once("end",()=>{f||(f=new mt(y,m),r(f))});return}if(v==="br"){y=(0,gt.pipeline)(y,bn.default.createBrotliDecompress(),S=>{S&&n(S)}),f=new mt(y,m),r(f);return}f=new mt(y,m),r(f)}),Om(g,o).catch(n)})}function Yw(t,e){let r=Yo.Buffer.from(`0\r
35
+ `)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}var zo,Iw,Bw,dm,Nw,fm,xc,gn,Gr,xi=Me(()=>{qo();Rc();({toStringTag:zo,iterator:Iw,hasInstance:Bw}=Symbol),dm=Math.random,Nw="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),fm=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[zo])?[(r=r!==void 0?r+"":e[zo]=="File"?e.name:"blob",t),e.name!==r||e[zo]=="blob"?new Wr([e],r,e):e]:[t,e+""]),xc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
36
+ `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),gn=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},Gr=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[zo](){return"FormData"}[Iw](){return this.entries()}static[Bw](e){return e&&typeof e=="object"&&e[zo]==="FormData"&&!Nw.some(r=>typeof e[r]!="function")}append(...e){gn("append",arguments,2),this.#e.push(fm(...e))}delete(e){gn("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){gn("get",arguments,1),e+="";for(var r=this.#e,n=r.length,o=0;o<n;o++)if(r[o][0]===e)return r[o][1];return null}getAll(e,r){return gn("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return gn("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){gn("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){gn("set",arguments,2);var r=[],n=!0;e=fm(...e),this.#e.forEach(o=>{o[0]===e[0]?n&&(n=!r.push(e)):r.push(o)}),n&&r.push(e),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var kr,Oi=Me(()=>{kr=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var nt,Oc=Me(()=>{Oi();nt=class extends kr{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var Pi,Pc,Ho,pm,mm,gm,Fi=Me(()=>{Pi=Symbol.toStringTag,Pc=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[Pi]==="URLSearchParams",Ho=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[Pi]),pm=t=>typeof t=="object"&&(t[Pi]==="AbortSignal"||t[Pi]==="EventTarget"),mm=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},gm=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var _m=V((d1,ym)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=require("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}ym.exports=globalThis.DOMException});var yn,bm,Cm,Fc,wm,Em,km,Sm,Am,vm,Ii,Ic=Me(()=>{yn=require("node:fs"),bm=require("node:path"),Cm=Oe(_m(),1);Rc();qo();({stat:Fc}=yn.promises),wm=(t,e)=>Am((0,yn.statSync)(t),t,e),Em=(t,e)=>Fc(t).then(r=>Am(r,t,e)),km=(t,e)=>Fc(t).then(r=>vm(r,t,e)),Sm=(t,e)=>vm((0,yn.statSync)(t),t,e),Am=(t,e,r="")=>new $t([new Ii({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),vm=(t,e,r="")=>new Wr([new Ii({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,bm.basename)(e),{type:r,lastModified:t.mtimeMs}),Ii=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new t({path:this.#e,lastModified:this.lastModified,size:r-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await Fc(this.#e);if(e>this.lastModified)throw new Cm.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,yn.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var Dm={};ii(Dm,{toFormData:()=>zw});function qw(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let r=e[2]||e[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),n}async function zw(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let r=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new Bc(r[1]||r[2]),o,s,a,c,l,d,f=[],p=new Gr,g=m=>{a+=_.decode(m,{stream:!0})},k=m=>{f.push(m)},w=()=>{let m=new Wr(f,d,{type:l});p.append(c,m)},y=()=>{p.append(c,a)},_=new TextDecoder("utf-8");_.decode(),n.onPartBegin=function(){n.onPartData=g,n.onPartEnd=y,o="",s="",a="",c="",l="",d=null,f.length=0},n.onHeaderField=function(m){o+=_.decode(m,{stream:!0})},n.onHeaderValue=function(m){s+=_.decode(m,{stream:!0})},n.onHeaderEnd=function(){if(s+=_.decode(),o=o.toLowerCase(),o==="content-disposition"){let m=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);m&&(c=m[2]||m[3]||""),d=qw(s),d&&(n.onPartData=k,n.onPartEnd=w)}else o==="content-type"&&(l=s);s="",o=""};for await(let m of t)n.write(m);return n.end(),p}var er,Pe,Tm,Jr,Bi,Ni,Mw,Wo,jw,Lw,Uw,$w,_n,Bc,Rm=Me(()=>{Ic();xi();er=0,Pe={START_BOUNDARY:er++,HEADER_FIELD_START:er++,HEADER_FIELD:er++,HEADER_VALUE_START:er++,HEADER_VALUE:er++,HEADER_VALUE_ALMOST_DONE:er++,HEADERS_ALMOST_DONE:er++,PART_DATA_START:er++,PART_DATA:er++,END:er++},Tm=1,Jr={PART_BOUNDARY:Tm,LAST_BOUNDARY:Tm*=2},Bi=10,Ni=13,Mw=32,Wo=45,jw=58,Lw=97,Uw=122,$w=t=>t|32,_n=()=>{},Bc=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=_n,this.onHeaderField=_n,this.onHeadersEnd=_n,this.onHeaderValue=_n,this.onPartBegin=_n,this.onPartData=_n,this.onPartEnd=_n,this.boundaryChars={},e=`\r
37
+ --`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Pe.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:c,index:l,state:d,flags:f}=this,p=this.boundary.length,g=p-1,k=e.length,w,y,_=S=>{this[S+"Mark"]=r},m=S=>{delete this[S+"Mark"]},v=(S,D,O,q)=>{(D===void 0||D!==O)&&this[S](q&&q.subarray(D,O))},b=(S,D)=>{let O=S+"Mark";O in this&&(D?(v(S,this[O],r,e),delete this[O]):(v(S,this[O],e.length,e),this[O]=0))};for(r=0;r<n;r++)switch(w=e[r],d){case Pe.START_BOUNDARY:if(l===a.length-2){if(w===Wo)f|=Jr.LAST_BOUNDARY;else if(w!==Ni)return;l++;break}else if(l-1===a.length-2){if(f&Jr.LAST_BOUNDARY&&w===Wo)d=Pe.END,f=0;else if(!(f&Jr.LAST_BOUNDARY)&&w===Bi)l=0,v("onPartBegin"),d=Pe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Pe.HEADER_FIELD_START:d=Pe.HEADER_FIELD,_("onHeaderField"),l=0;case Pe.HEADER_FIELD:if(w===Ni){m("onHeaderField"),d=Pe.HEADERS_ALMOST_DONE;break}if(l++,w===Wo)break;if(w===jw){if(l===1)return;b("onHeaderField",!0),d=Pe.HEADER_VALUE_START;break}if(y=$w(w),y<Lw||y>Uw)return;break;case Pe.HEADER_VALUE_START:if(w===Mw)break;_("onHeaderValue"),d=Pe.HEADER_VALUE;case Pe.HEADER_VALUE:w===Ni&&(b("onHeaderValue",!0),v("onHeaderEnd"),d=Pe.HEADER_VALUE_ALMOST_DONE);break;case Pe.HEADER_VALUE_ALMOST_DONE:if(w!==Bi)return;d=Pe.HEADER_FIELD_START;break;case Pe.HEADERS_ALMOST_DONE:if(w!==Bi)return;v("onHeadersEnd"),d=Pe.PART_DATA_START;break;case Pe.PART_DATA_START:d=Pe.PART_DATA,_("onPartData");case Pe.PART_DATA:if(o=l,l===0){for(r+=g;r<k&&!(e[r]in c);)r+=p;r-=g,w=e[r]}if(l<a.length)a[l]===w?(l===0&&b("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Ni?f|=Jr.PART_BOUNDARY:w===Wo?f|=Jr.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(f&Jr.PART_BOUNDARY){if(l=0,w===Bi){f&=~Jr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),d=Pe.HEADER_FIELD_START;break}}else f&Jr.LAST_BOUNDARY&&w===Wo?(v("onPartEnd"),d=Pe.END,f=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,S),o=0,_("onPartData"),r--}break;case Pe.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}b("onHeaderField"),b("onHeaderValue"),b("onPartData"),this.index=l,this.state=d,this.flags=f}end(){if(this.state===Pe.HEADER_FIELD_START&&this.index===0||this.state===Pe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Pe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function Nc(t){if(t[ct].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[ct].disturbed=!0,t[ct].error)throw t[ct].error;let{body:e}=t;if(e===null)return pt.Buffer.alloc(0);if(!(e instanceof Rt.default))return pt.Buffer.alloc(0);let r=[],n=0;try{for await(let o of e){if(t.size>0&&n+o.length>t.size){let s=new nt(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}n+=o.length,r.push(o)}}catch(o){throw o instanceof kr?o:new nt(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(o=>typeof o=="string")?pt.Buffer.from(r.join("")):pt.Buffer.concat(r,n)}catch(o){throw new nt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new nt(`Premature close of server response while trying to fetch ${t.url}`)}var Rt,Sr,pt,Hw,ct,tr,Qn,Ww,Mi,xm,Om,ji=Me(()=>{Rt=Oe(require("node:stream"),1),Sr=require("node:util"),pt=require("node:buffer");qo();xi();Oc();Oi();Fi();Hw=(0,Sr.promisify)(Rt.default.pipeline),ct=Symbol("Body internals"),tr=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:Pc(e)?e=pt.Buffer.from(e.toString()):Ho(e)||pt.Buffer.isBuffer(e)||(Sr.types.isAnyArrayBuffer(e)?e=pt.Buffer.from(e):ArrayBuffer.isView(e)?e=pt.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Rt.default||(e instanceof Gr?(e=hm(e),n=e.type.split("=")[1]):e=pt.Buffer.from(String(e))));let o=e;pt.Buffer.isBuffer(e)?o=Rt.default.Readable.from(e):Ho(e)&&(o=Rt.default.Readable.from(e.stream())),this[ct]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Rt.default&&e.on("error",s=>{let a=s instanceof kr?s:new nt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[ct].error=a})}get body(){return this[ct].stream}get bodyUsed(){return this[ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await Nc(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new Gr,o=new URLSearchParams(await this.text());for(let[s,a]of o)n.append(s,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(Rm(),Dm));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[ct].body&&this[ct].body.type||"",r=await this.arrayBuffer();return new $t([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Nc(this);return new TextDecoder().decode(e)}buffer(){return Nc(this)}};tr.prototype.buffer=(0,Sr.deprecate)(tr.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(tr.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,Sr.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Qn=(t,e)=>{let r,n,{body:o}=t[ct];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Rt.default&&typeof o.getBoundary!="function"&&(r=new Rt.PassThrough({highWaterMark:e}),n=new Rt.PassThrough({highWaterMark:e}),o.pipe(r),o.pipe(n),t[ct].stream=r,o=n),o},Ww=(0,Sr.deprecate)(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),Mi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Pc(t)?"application/x-www-form-urlencoded;charset=UTF-8":Ho(t)?t.type||null:pt.Buffer.isBuffer(t)||Sr.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Gr?`multipart/form-data; boundary=${e[ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${Ww(t)}`:t instanceof Rt.default?null:"text/plain;charset=UTF-8",xm=t=>{let{body:e}=t[ct];return e===null?0:Ho(e)?e.size:pt.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Om=async(t,{body:e})=>{e===null?t.end():await Hw(e,t)}});function Pm(t=[]){return new lt(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return Li(e),jc(e,String(r)),!0}catch{return!1}}))}var Mc,Go,Li,jc,lt,Ui=Me(()=>{Mc=require("node:util"),Go=Oe(require("node:http"),1),Li=typeof Go.default.validateHeaderName=="function"?Go.default.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},jc=typeof Go.default.validateHeaderValue=="function"?Go.default.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},lt=class t extends URLSearchParams{constructor(e){let r=[];if(e instanceof t){let n=e.raw();for(let[o,s]of Object.entries(n))r.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!Mc.types.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(o=>{if(typeof o!="object"||Mc.types.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,o])=>(Li(n),jc(n,String(o)),[String(n).toLowerCase(),String(o)])):void 0,super(r),new Proxy(this,{get(n,o,s){switch(o){case"append":case"set":return(a,c)=>(Li(a),jc(a,String(c)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return a=>(Li(a),URLSearchParams.prototype[o].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};Object.defineProperties(lt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var Gw,Jo,Lc=Me(()=>{Gw=new Set([301,302,303,307,308]),Jo=t=>Gw.has(t)});var qt,mt,Fm=Me(()=>{Ui();ji();Lc();qt=Symbol("Response internals"),mt=class t extends tr{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new lt(r.headers);if(e!==null&&!o.has("Content-Type")){let s=Mi(e,this);s&&o.append("Content-Type",s)}this[qt]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[qt].type}get url(){return this[qt].url||""}get status(){return this[qt].status}get ok(){return this[qt].status>=200&&this[qt].status<300}get redirected(){return this[qt].counter>0}get statusText(){return this[qt].statusText}get headers(){return this[qt].headers}get highWaterMark(){return this[qt].highWaterMark}clone(){return new t(Qn(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!Jo(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new t(null,{status:0,statusText:""});return e[qt].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let o=new lt(r&&r.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(n,{...r,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(mt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Im,Bm=Me(()=>{Im=t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""}});function Nm(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Um(t){if(!jm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Jw(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,Mm.isIP)(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function Xn(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Jw(t)}function $m(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Nm(o),a=Nm(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),r&&(a=r(a));let c=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return Xn(s)&&!Xn(c)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:Xn(s)&&!Xn(c)?"no-referrer":a;case"same-origin":return s.origin===c.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===c.origin?s:a;case"no-referrer-when-downgrade":return Xn(s)&&!Xn(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function qm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&jm.has(n)&&(r=n);return r}var Mm,jm,Lm,Uc=Me(()=>{Mm=require("node:net");jm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Lm="strict-origin-when-cross-origin"});var zm,Hm,Je,Vo,Vw,Vr,Wm,Gm=Me(()=>{zm=require("node:url"),Hm=require("node:util");Ui();ji();Fi();Bm();Uc();Je=Symbol("Request internals"),Vo=t=>typeof t=="object"&&typeof t[Je]=="object",Vw=(0,Hm.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Vr=class t extends tr{constructor(e,r={}){let n;if(Vo(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let o=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Vo(r)&&"data"in r&&Vw(),(r.body!=null||Vo(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=r.body?r.body:Vo(e)&&e.body!==null?Qn(e):null;super(s,{size:r.size||e.size||0});let a=new lt(r.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let d=Mi(s,this);d&&a.set("Content-Type",d)}let c=Vo(e)?e.signal:null;if("signal"in r&&(c=r.signal),c!=null&&!pm(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=r.referrer==null?e.referrer:r.referrer;if(l==="")l="no-referrer";else if(l){let d=new URL(l);l=/^about:(\/\/)?client$/.test(d)?"client":d}else l=void 0;this[Je]={method:o,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:c,referrer:l},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[Je].method}get url(){return(0,zm.format)(this[Je].parsedURL)}get headers(){return this[Je].headers}get redirect(){return this[Je].redirect}get signal(){return this[Je].signal}get referrer(){if(this[Je].referrer==="no-referrer")return"";if(this[Je].referrer==="client")return"about:client";if(this[Je].referrer)return this[Je].referrer.toString()}get referrerPolicy(){return this[Je].referrerPolicy}set referrerPolicy(e){this[Je].referrerPolicy=Um(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Vr.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});Wm=t=>{let{parsedURL:e}=t[Je],r=new lt(t[Je].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let c=xm(t);typeof c=="number"&&!Number.isNaN(c)&&(n=String(c))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=Lm),t.referrer&&t.referrer!=="no-referrer"?t[Je].referrer=$m(t):t[Je].referrer="no-referrer",t[Je].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=Im(e),a={path:e.pathname+s,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var Ko,Jm=Me(()=>{Oi();Ko=class extends kr{constructor(e,r="aborted"){super(e,r)}}});var Ym={};ii(Ym,{AbortError:()=>Ko,Blob:()=>$t,FetchError:()=>nt,File:()=>Wr,FormData:()=>Gr,Headers:()=>lt,Request:()=>Vr,Response:()=>mt,blobFrom:()=>Em,blobFromSync:()=>wm,default:()=>$c,fileFrom:()=>km,fileFromSync:()=>Sm,isRedirect:()=>Jo});async function $c(t,e){return new Promise((r,n)=>{let o=new Vr(t,e),{parsedURL:s,options:a}=Wm(o);if(!Kw.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let w=om(o.url),y=new mt(w,{headers:{"Content-Type":w.typeFull}});r(y);return}let c=(s.protocol==="https:"?Km.default:Vm.default).request,{signal:l}=o,d=null,f=()=>{let w=new Ko("The operation was aborted.");n(w),o.body&&o.body instanceof gt.default.Readable&&o.body.destroy(w),!(!d||!d.body)&&d.body.emit("error",w)};if(l&&l.aborted){f();return}let p=()=>{f(),k()},g=c(s.toString(),a);l&&l.addEventListener("abort",p);let k=()=>{g.abort(),l&&l.removeEventListener("abort",p)};g.on("error",w=>{n(new nt(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),k()}),Yw(g,w=>{d&&d.body&&d.body.destroy(w)}),process.version<"v14"&&g.on("socket",w=>{let y;w.prependListener("end",()=>{y=w._eventsCount}),w.prependListener("close",_=>{if(d&&y<w._eventsCount&&!_){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",m)}})}),g.on("response",w=>{g.setTimeout(0);let y=Pm(w.rawHeaders);if(Jo(w.statusCode)){let S=y.get("Location"),D=null;try{D=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){n(new nt(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),k();return}}switch(o.redirect){case"error":n(new nt(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),k();return;case"manual":break;case"follow":{if(D===null)break;if(o.counter>=o.follow){n(new nt(`maximum redirect reached at: ${o.url}`,"max-redirect")),k();return}let O={headers:new lt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Qn(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!mm(o.url,D)||!gm(o.url,D))for(let J of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete(J);if(w.statusCode!==303&&o.body&&e.body instanceof gt.default.Readable){n(new nt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),k();return}(w.statusCode===303||(w.statusCode===301||w.statusCode===302)&&o.method==="POST")&&(O.method="GET",O.body=void 0,O.headers.delete("content-length"));let q=qm(y);q&&(O.referrerPolicy=q),r($c(new Vr(D,O))),k();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",p)});let _=(0,gt.pipeline)(w,new gt.PassThrough,S=>{S&&n(S)});process.version<"v12.10"&&w.on("aborted",p);let m={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:y,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},v=y.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||v===null||w.statusCode===204||w.statusCode===304){d=new mt(_,m),r(d);return}let b={flush:bn.default.Z_SYNC_FLUSH,finishFlush:bn.default.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){_=(0,gt.pipeline)(_,bn.default.createGunzip(b),S=>{S&&n(S)}),d=new mt(_,m),r(d);return}if(v==="deflate"||v==="x-deflate"){let S=(0,gt.pipeline)(w,new gt.PassThrough,D=>{D&&n(D)});S.once("data",D=>{(D[0]&15)===8?_=(0,gt.pipeline)(_,bn.default.createInflate(),O=>{O&&n(O)}):_=(0,gt.pipeline)(_,bn.default.createInflateRaw(),O=>{O&&n(O)}),d=new mt(_,m),r(d)}),S.once("end",()=>{d||(d=new mt(_,m),r(d))});return}if(v==="br"){_=(0,gt.pipeline)(_,bn.default.createBrotliDecompress(),S=>{S&&n(S)}),d=new mt(_,m),r(d);return}d=new mt(_,m),r(d)}),Om(g,o).catch(n)})}function Yw(t,e){let r=Yo.Buffer.from(`0\r
38
38
  \r
39
- `),n=!1,o=!1,s;t.on("response",a=>{let{headers:c}=a;n=c["transfer-encoding"]==="chunked"&&!c["content-length"]}),t.on("socket",a=>{let c=()=>{if(n&&!o){let f=new Error("Premature close");f.code="ERR_STREAM_PREMATURE_CLOSE",e(f)}},l=f=>{o=Yo.Buffer.compare(f.slice(-5),r)===0,!o&&s&&(o=Yo.Buffer.compare(s.slice(-3),r.slice(0,3))===0&&Yo.Buffer.compare(f.slice(-2),r.slice(3))===0),s=f};a.prependListener("close",c),a.on("data",l),t.on("close",()=>{a.removeListener("close",c),a.removeListener("data",l)})})}var Vm,Km,bn,gt,Yo,Kw,Qm=je(()=>{Vm=Pe(require("node:http"),1),Km=Pe(require("node:https"),1),bn=Pe(require("node:zlib"),1),gt=Pe(require("node:stream"),1),Yo=require("node:buffer");sm();Mi();Pm();Ui();Gm();Oc();Jm();Lc();xi();Pi();Uc();Ic();Kw=new Set(["data:","http:","https:"])});var eg=V(eo=>{"use strict";var Qw=eo&&eo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Zn;Object.defineProperty(eo,"__esModule",{value:!0});eo.Gaxios=void 0;var Xw=Qw(pc()),Zw=require("https"),Cn=yc(),eE=Fp(),Xm=require("stream"),Zm=Cc(),tE=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),$i=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new Zm.GaxiosInterceptorManager,response:new Zm.GaxiosInterceptorManager}}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&Zn.mergeHeaders(s,r.headers),n&&Zn.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}async request(e={}){let r=await this.#n(e);return r=await this.#t(r),this.#r(this._request(r))}async _defaultAdapter(e){let r=e.fetchImplementation||this.defaults.fetchImplementation||await Zn.#u(),n={...e};delete n.data;let o=await r(e.url,n),s=await this.getResponseData(e,o);return Object.getOwnPropertyDescriptor(o,"data")?.configurable||Object.defineProperties(o,{data:{configurable:!0,writable:!0,enumerable:!0,value:s}}),Object.assign(o,{config:e,data:s})}async _request(e){try{let r;if(e.adapter?r=await e.adapter(e,this._defaultAdapter.bind(this)):r=await this._defaultAdapter(e),!e.validateStatus(r.status)){if(e.responseType==="stream"){let o=[];for await(let s of r.data)o.push(s);r.data=o.toString()}let n=Cn.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new Cn.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof Cn.GaxiosError?n=r:r instanceof Error?n=new Cn.GaxiosError(r.message,e,void 0,r):n=new Cn.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,eE.getRetryConfig)(n);if(o&&s)return n.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=n.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(n),n}}async getResponseData(e,r){if(e.maxContentLength&&r.headers.has("content-length")&&e.maxContentLength<Number.parseInt(r.headers?.get("content-length")||""))throw new Cn.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(r,{config:e}));switch(e.responseType){case"stream":return r.body;case"json":return r.json();case"arraybuffer":return r.arrayBuffer();case"blob":return r.blob();case"text":return r.text();default:return this.getResponseDataFromContentType(r)}}#e(e,r=[]){let n=new URL(e),o=[...r],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let a of s)o.push(a.trim());for(let a of o)if(a instanceof RegExp){if(a.test(n.toString()))return!1}else if(a instanceof URL){if(a.origin===n.origin)return!1}else if(a.startsWith("*.")||a.startsWith(".")){let c=a.replace(/^\*\./,".");if(n.hostname.endsWith(c))return!1}else if(a===n.origin||a===n.hostname||a===n.href)return!1;return!0}async#t(e){let r=Promise.resolve(e);for(let n of this.interceptors.request.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#r(e){let r=Promise.resolve(e);for(let n of this.interceptors.response.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#n(e){let r=new Headers(this.defaults.headers);Zn.mergeHeaders(r,e.headers);let n=(0,Xw.default)(!0,{},this.defaults,e);if(!n.url)throw new Error("URL is required.");if(n.baseURL&&(n.url=new URL(n.url,n.baseURL)),n.url=new URL(n.url),n.params)if(n.paramsSerializer){let a=n.paramsSerializer(n.params);a.startsWith("?")&&(a=a.slice(1));let c=n.url.toString().includes("?")?"&":"?";n.url=n.url+c+a}else{let a=n.url instanceof URL?n.url:new URL(n.url);for(let[c,l]of new URLSearchParams(n.params))a.searchParams.append(c,l);n.url=a}typeof e.maxContentLength=="number"&&(n.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(n.follow=e.maxRedirects);let o=typeof n.data=="string"||n.data instanceof ArrayBuffer||n.data instanceof Blob||globalThis.File&&n.data instanceof File||n.data instanceof FormData||n.data instanceof Xm.Readable||n.data instanceof ReadableStream||n.data instanceof String||n.data instanceof URLSearchParams||ArrayBuffer.isView(n.data)||["Blob","File","FormData"].includes(n.data?.constructor?.name||"");if(n.multipart?.length){let a=await tE();r.set("content-type",`multipart/related; boundary=${a}`),n.body=Xm.Readable.from(this.getMultipartRequest(n.multipart,a))}else o?n.body=n.data:typeof n.data=="object"?r.get("Content-Type")==="application/x-www-form-urlencoded"?n.body=n.paramsSerializer?n.paramsSerializer(n.data):new URLSearchParams(n.data):(r.has("content-type")||r.set("content-type","application/json"),n.body=JSON.stringify(n.data)):n.data&&(n.body=n.data);n.validateStatus=n.validateStatus||this.validateStatus,n.responseType=n.responseType||"unknown",!r.has("accept")&&n.responseType==="json"&&r.set("accept","application/json");let s=n.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!n.agent)if(s&&this.#e(n.url,n.noProxy)){let a=await Zn.#a();this.agentCache.has(s)?n.agent=this.agentCache.get(s):(n.agent=new a(s,{cert:n.cert,key:n.key}),this.agentCache.set(s,n.agent))}else n.cert&&n.key&&(this.agentCache.has(n.key)?n.agent=this.agentCache.get(n.key):(n.agent=new Zw.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=Cn.defaultErrorRedactor),n.body&&!("duplex"in n)&&(n.duplex="half"),this.#o(n),Object.assign(n,{headers:r,url:n.url instanceof URL?n.url:new URL(n.url)})}#o(e){if(e.timeout){let r=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,r]):e.signal=r}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let r=e.headers.get("Content-Type");if(r===null)return e.text();if(r=r.toLowerCase(),r.includes("application/json")){let n=await e.text();try{n=JSON.parse(n)}catch{}return n}else return r.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,r){let n=`--${r}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${r}\r
39
+ `),n=!1,o=!1,s;t.on("response",a=>{let{headers:c}=a;n=c["transfer-encoding"]==="chunked"&&!c["content-length"]}),t.on("socket",a=>{let c=()=>{if(n&&!o){let d=new Error("Premature close");d.code="ERR_STREAM_PREMATURE_CLOSE",e(d)}},l=d=>{o=Yo.Buffer.compare(d.slice(-5),r)===0,!o&&s&&(o=Yo.Buffer.compare(s.slice(-3),r.slice(0,3))===0&&Yo.Buffer.compare(d.slice(-2),r.slice(3))===0),s=d};a.prependListener("close",c),a.on("data",l),t.on("close",()=>{a.removeListener("close",c),a.removeListener("data",l)})})}var Vm,Km,bn,gt,Yo,Kw,Qm=Me(()=>{Vm=Oe(require("node:http"),1),Km=Oe(require("node:https"),1),bn=Oe(require("node:zlib"),1),gt=Oe(require("node:stream"),1),Yo=require("node:buffer");sm();ji();Fm();Ui();Gm();Oc();Jm();Lc();xi();Fi();Uc();Ic();Kw=new Set(["data:","http:","https:"])});var eg=V(eo=>{"use strict";var Qw=eo&&eo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Zn;Object.defineProperty(eo,"__esModule",{value:!0});eo.Gaxios=void 0;var Xw=Qw(pc()),Zw=require("https"),Cn=yc(),eE=Pp(),Xm=require("stream"),Zm=Cc(),tE=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),$i=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new Zm.GaxiosInterceptorManager,response:new Zm.GaxiosInterceptorManager}}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&Zn.mergeHeaders(s,r.headers),n&&Zn.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}async request(e={}){let r=await this.#n(e);return r=await this.#t(r),this.#r(this._request(r))}async _defaultAdapter(e){let r=e.fetchImplementation||this.defaults.fetchImplementation||await Zn.#u(),n={...e};delete n.data;let o=await r(e.url,n),s=await this.getResponseData(e,o);return Object.getOwnPropertyDescriptor(o,"data")?.configurable||Object.defineProperties(o,{data:{configurable:!0,writable:!0,enumerable:!0,value:s}}),Object.assign(o,{config:e,data:s})}async _request(e){try{let r;if(e.adapter?r=await e.adapter(e,this._defaultAdapter.bind(this)):r=await this._defaultAdapter(e),!e.validateStatus(r.status)){if(e.responseType==="stream"){let o=[];for await(let s of r.data)o.push(s);r.data=o.toString()}let n=Cn.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new Cn.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof Cn.GaxiosError?n=r:r instanceof Error?n=new Cn.GaxiosError(r.message,e,void 0,r):n=new Cn.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,eE.getRetryConfig)(n);if(o&&s)return n.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=n.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(n),n}}async getResponseData(e,r){if(e.maxContentLength&&r.headers.has("content-length")&&e.maxContentLength<Number.parseInt(r.headers?.get("content-length")||""))throw new Cn.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(r,{config:e}));switch(e.responseType){case"stream":return r.body;case"json":return r.json();case"arraybuffer":return r.arrayBuffer();case"blob":return r.blob();case"text":return r.text();default:return this.getResponseDataFromContentType(r)}}#e(e,r=[]){let n=new URL(e),o=[...r],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let a of s)o.push(a.trim());for(let a of o)if(a instanceof RegExp){if(a.test(n.toString()))return!1}else if(a instanceof URL){if(a.origin===n.origin)return!1}else if(a.startsWith("*.")||a.startsWith(".")){let c=a.replace(/^\*\./,".");if(n.hostname.endsWith(c))return!1}else if(a===n.origin||a===n.hostname||a===n.href)return!1;return!0}async#t(e){let r=Promise.resolve(e);for(let n of this.interceptors.request.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#r(e){let r=Promise.resolve(e);for(let n of this.interceptors.response.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#n(e){let r=new Headers(this.defaults.headers);Zn.mergeHeaders(r,e.headers);let n=(0,Xw.default)(!0,{},this.defaults,e);if(!n.url)throw new Error("URL is required.");if(n.baseURL&&(n.url=new URL(n.url,n.baseURL)),n.url=new URL(n.url),n.params)if(n.paramsSerializer){let a=n.paramsSerializer(n.params);a.startsWith("?")&&(a=a.slice(1));let c=n.url.toString().includes("?")?"&":"?";n.url=n.url+c+a}else{let a=n.url instanceof URL?n.url:new URL(n.url);for(let[c,l]of new URLSearchParams(n.params))a.searchParams.append(c,l);n.url=a}typeof e.maxContentLength=="number"&&(n.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(n.follow=e.maxRedirects);let o=typeof n.data=="string"||n.data instanceof ArrayBuffer||n.data instanceof Blob||globalThis.File&&n.data instanceof File||n.data instanceof FormData||n.data instanceof Xm.Readable||n.data instanceof ReadableStream||n.data instanceof String||n.data instanceof URLSearchParams||ArrayBuffer.isView(n.data)||["Blob","File","FormData"].includes(n.data?.constructor?.name||"");if(n.multipart?.length){let a=await tE();r.set("content-type",`multipart/related; boundary=${a}`),n.body=Xm.Readable.from(this.getMultipartRequest(n.multipart,a))}else o?n.body=n.data:typeof n.data=="object"?r.get("Content-Type")==="application/x-www-form-urlencoded"?n.body=n.paramsSerializer?n.paramsSerializer(n.data):new URLSearchParams(n.data):(r.has("content-type")||r.set("content-type","application/json"),n.body=JSON.stringify(n.data)):n.data&&(n.body=n.data);n.validateStatus=n.validateStatus||this.validateStatus,n.responseType=n.responseType||"unknown",!r.has("accept")&&n.responseType==="json"&&r.set("accept","application/json");let s=n.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!n.agent)if(s&&this.#e(n.url,n.noProxy)){let a=await Zn.#a();this.agentCache.has(s)?n.agent=this.agentCache.get(s):(n.agent=new a(s,{cert:n.cert,key:n.key}),this.agentCache.set(s,n.agent))}else n.cert&&n.key&&(this.agentCache.has(n.key)?n.agent=this.agentCache.get(n.key):(n.agent=new Zw.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=Cn.defaultErrorRedactor),n.body&&!("duplex"in n)&&(n.duplex="half"),this.#o(n),Object.assign(n,{headers:r,url:n.url instanceof URL?n.url:new URL(n.url)})}#o(e){if(e.timeout){let r=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,r]):e.signal=r}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let r=e.headers.get("Content-Type");if(r===null)return e.text();if(r=r.toLowerCase(),r.includes("application/json")){let n=await e.text();try{n=JSON.parse(n)}catch{}return n}else return r.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,r){let n=`--${r}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${r}\r
40
40
  Content-Type: ${s}\r
41
41
  \r
42
42
  `,typeof o.content=="string"?yield o.content:yield*o.content,yield`\r
43
- `}yield n}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Pe(nm()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(Qm(),Ym))).default,this.#i}static mergeHeaders(e,...r){e=e instanceof Headers?e:new Headers(e);for(let n of r)(n instanceof Headers?n:new Headers(n)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};eo.Gaxios=$i;Zn=$i});var Ke=V(ot=>{"use strict";var rE=ot&&ot.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),nE=ot&&ot.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&rE(e,t,r)};Object.defineProperty(ot,"__esModule",{value:!0});ot.instance=ot.Gaxios=ot.GaxiosError=void 0;ot.request=sE;var tg=eg();Object.defineProperty(ot,"Gaxios",{enumerable:!0,get:function(){return tg.Gaxios}});var oE=yc();Object.defineProperty(ot,"GaxiosError",{enumerable:!0,get:function(){return oE.GaxiosError}});nE(Cc(),ot);ot.instance=new tg.Gaxios;async function sE(t){return ot.instance.request(t)}});var qc=V((rg,qi)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",c=1e14,l=14,f=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,g=1e9;function A(D){var O,q,J,B=W.prototype={constructor:W,toString:null,valueOf:null},Y=new W(1),te=20,Z=4,ae=-7,de=21,Ae=-1e7,oe=1e7,pe=!1,G=1,K=0,ue={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},qe="0123456789abcdefghijklmnopqrstuvwxyz",Te=!0;function W(C,k){var T,j,F,I,U,x,P,M,N=this;if(!(N instanceof W))return new W(C,k);if(k==null){if(C&&C._isBigNumber===!0){N.s=C.s,!C.c||C.e>oe?N.c=N.e=null:C.e<Ae?N.c=[N.e=0]:(N.e=C.e,N.c=C.c.slice());return}if((x=typeof C=="number")&&C*0==0){if(N.s=1/C<0?(C=-C,-1):1,C===~~C){for(I=0,U=C;U>=10;U/=10,I++);I>oe?N.c=N.e=null:(N.e=I,N.c=[C]);return}M=String(C)}else{if(!r.test(M=String(C)))return J(N,M,x);N.s=M.charCodeAt(0)==45?(M=M.slice(1),-1):1}(I=M.indexOf("."))>-1&&(M=M.replace(".","")),(U=M.search(/e/i))>0?(I<0&&(I=U),I+=+M.slice(U+1),M=M.substring(0,U)):I<0&&(I=M.length)}else{if(m(k,2,qe.length,"Base"),k==10&&Te)return N=new W(C),Re(N,te+N.e+1,Z);if(M=String(C),x=typeof C=="number"){if(C*0!=0)return J(N,M,x,k);if(N.s=1/C<0?(M=M.slice(1),-1):1,W.DEBUG&&M.replace(/^0\.0*|\./,"").length>15)throw Error(a+C)}else N.s=M.charCodeAt(0)===45?(M=M.slice(1),-1):1;for(T=qe.slice(0,k),I=U=0,P=M.length;U<P;U++)if(T.indexOf(j=M.charAt(U))<0){if(j=="."){if(U>I){I=P;continue}}else if(!F&&(M==M.toUpperCase()&&(M=M.toLowerCase())||M==M.toLowerCase()&&(M=M.toUpperCase()))){F=!0,U=-1,I=0;continue}return J(N,String(C),x,k)}x=!1,M=q(M,k,10,N.s),(I=M.indexOf("."))>-1?M=M.replace(".",""):I=M.length}for(U=0;M.charCodeAt(U)===48;U++);for(P=M.length;M.charCodeAt(--P)===48;);if(M=M.slice(U,++P)){if(P-=U,x&&W.DEBUG&&P>15&&(C>f||C!==o(C)))throw Error(a+N.s*C);if((I=I-U-1)>oe)N.c=N.e=null;else if(I<Ae)N.c=[N.e=0];else{if(N.e=I,N.c=[],U=(I+1)%l,I<0&&(U+=l),U<P){for(U&&N.c.push(+M.slice(0,U)),P-=l;U<P;)N.c.push(+M.slice(U,U+=l));U=l-(M=M.slice(U)).length}else U-=P;for(;U--;M+="0");N.c.push(+M)}}else N.c=[N.e=0]}W.clone=A,W.ROUND_UP=0,W.ROUND_DOWN=1,W.ROUND_CEIL=2,W.ROUND_FLOOR=3,W.ROUND_HALF_UP=4,W.ROUND_HALF_DOWN=5,W.ROUND_HALF_EVEN=6,W.ROUND_HALF_CEIL=7,W.ROUND_HALF_FLOOR=8,W.EUCLID=9,W.config=W.set=function(C){var k,T;if(C!=null)if(typeof C=="object"){if(C.hasOwnProperty(k="DECIMAL_PLACES")&&(T=C[k],m(T,0,g,k),te=T),C.hasOwnProperty(k="ROUNDING_MODE")&&(T=C[k],m(T,0,8,k),Z=T),C.hasOwnProperty(k="EXPONENTIAL_AT")&&(T=C[k],T&&T.pop?(m(T[0],-g,0,k),m(T[1],0,g,k),ae=T[0],de=T[1]):(m(T,-g,g,k),ae=-(de=T<0?-T:T))),C.hasOwnProperty(k="RANGE"))if(T=C[k],T&&T.pop)m(T[0],-g,-1,k),m(T[1],1,g,k),Ae=T[0],oe=T[1];else if(m(T,-g,g,k),T)Ae=-(oe=T<0?-T:T);else throw Error(s+k+" cannot be zero: "+T);if(C.hasOwnProperty(k="CRYPTO"))if(T=C[k],T===!!T)if(T)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))pe=T;else throw pe=!T,Error(s+"crypto unavailable");else pe=T;else throw Error(s+k+" not true or false: "+T);if(C.hasOwnProperty(k="MODULO_MODE")&&(T=C[k],m(T,0,9,k),G=T),C.hasOwnProperty(k="POW_PRECISION")&&(T=C[k],m(T,0,g,k),K=T),C.hasOwnProperty(k="FORMAT"))if(T=C[k],typeof T=="object")ue=T;else throw Error(s+k+" not an object: "+T);if(C.hasOwnProperty(k="ALPHABET"))if(T=C[k],typeof T=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(T))Te=T.slice(0,10)=="0123456789",qe=T;else throw Error(s+k+" invalid: "+T)}else throw Error(s+"Object expected: "+C);return{DECIMAL_PLACES:te,ROUNDING_MODE:Z,EXPONENTIAL_AT:[ae,de],RANGE:[Ae,oe],CRYPTO:pe,MODULO_MODE:G,POW_PRECISION:K,FORMAT:ue,ALPHABET:qe}},W.isBigNumber=function(C){if(!C||C._isBigNumber!==!0)return!1;if(!W.DEBUG)return!0;var k,T,j=C.c,F=C.e,I=C.s;e:if({}.toString.call(j)=="[object Array]"){if((I===1||I===-1)&&F>=-g&&F<=g&&F===o(F)){if(j[0]===0){if(F===0&&j.length===1)return!0;break e}if(k=(F+1)%l,k<1&&(k+=l),String(j[0]).length==k){for(k=0;k<j.length;k++)if(T=j[k],T<0||T>=c||T!==o(T))break e;if(T!==0)return!0}}}else if(j===null&&F===null&&(I===null||I===1||I===-1))return!0;throw Error(s+"Invalid BigNumber: "+C)},W.maximum=W.max=function(){return ye(arguments,-1)},W.minimum=W.min=function(){return ye(arguments,1)},W.random=(function(){var C=9007199254740992,k=Math.random()*C&2097151?function(){return o(Math.random()*C)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(T){var j,F,I,U,x,P=0,M=[],N=new W(Y);if(T==null?T=te:m(T,0,g),U=n(T/l),pe)if(crypto.getRandomValues){for(j=crypto.getRandomValues(new Uint32Array(U*=2));P<U;)x=j[P]*131072+(j[P+1]>>>11),x>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),j[P]=F[0],j[P+1]=F[1]):(M.push(x%1e14),P+=2);P=U/2}else if(crypto.randomBytes){for(j=crypto.randomBytes(U*=7);P<U;)x=(j[P]&31)*281474976710656+j[P+1]*1099511627776+j[P+2]*4294967296+j[P+3]*16777216+(j[P+4]<<16)+(j[P+5]<<8)+j[P+6],x>=9e15?crypto.randomBytes(7).copy(j,P):(M.push(x%1e14),P+=7);P=U/7}else throw pe=!1,Error(s+"crypto unavailable");if(!pe)for(;P<U;)x=k(),x<9e15&&(M[P++]=x%1e14);for(U=M[--P],T%=l,U&&T&&(x=d[l-T],M[P]=o(U/x)*x);M[P]===0;M.pop(),P--);if(P<0)M=[I=0];else{for(I=-1;M[0]===0;M.splice(0,1),I-=l);for(P=1,x=M[0];x>=10;x/=10,P++);P<l&&(I-=l-P)}return N.e=I,N.c=M,N}})(),W.sum=function(){for(var C=1,k=arguments,T=new W(k[0]);C<k.length;)T=T.plus(k[C++]);return T},q=(function(){var C="0123456789";function k(T,j,F,I){for(var U,x=[0],P,M=0,N=T.length;M<N;){for(P=x.length;P--;x[P]*=j);for(x[0]+=I.indexOf(T.charAt(M++)),U=0;U<x.length;U++)x[U]>F-1&&(x[U+1]==null&&(x[U+1]=0),x[U+1]+=x[U]/F|0,x[U]%=F)}return x.reverse()}return function(T,j,F,I,U){var x,P,M,N,z,X,ee,Ee,Fe=T.indexOf("."),Ne=te,Ce=Z;for(Fe>=0&&(N=K,K=0,T=T.replace(".",""),Ee=new W(j),X=Ee.pow(T.length-Fe),K=N,Ee.c=k(S(_(X.c),X.e,"0"),10,F,C),Ee.e=Ee.c.length),ee=k(T,j,F,U?(x=qe,C):(x=C,qe)),M=N=ee.length;ee[--N]==0;ee.pop());if(!ee[0])return x.charAt(0);if(Fe<0?--M:(X.c=ee,X.e=M,X.s=I,X=O(X,Ee,Ne,Ce,F),ee=X.c,z=X.r,M=X.e),P=M+Ne+1,Fe=ee[P],N=F/2,z=z||P<0||ee[P+1]!=null,z=Ce<4?(Fe!=null||z)&&(Ce==0||Ce==(X.s<0?3:2)):Fe>N||Fe==N&&(Ce==4||z||Ce==6&&ee[P-1]&1||Ce==(X.s<0?8:7)),P<1||!ee[0])T=z?S(x.charAt(1),-Ne,x.charAt(0)):x.charAt(0);else{if(ee.length=P,z)for(--F;++ee[--P]>F;)ee[P]=0,P||(++M,ee=[1].concat(ee));for(N=ee.length;!ee[--N];);for(Fe=0,T="";Fe<=N;T+=x.charAt(ee[Fe++]));T=S(T,M,x.charAt(0))}return T}})(),O=(function(){function C(j,F,I){var U,x,P,M,N=0,z=j.length,X=F%p,ee=F/p|0;for(j=j.slice();z--;)P=j[z]%p,M=j[z]/p|0,U=ee*P+M*X,x=X*P+U%p*p+N,N=(x/I|0)+(U/p|0)+ee*M,j[z]=x%I;return N&&(j=[N].concat(j)),j}function k(j,F,I,U){var x,P;if(I!=U)P=I>U?1:-1;else for(x=P=0;x<I;x++)if(j[x]!=F[x]){P=j[x]>F[x]?1:-1;break}return P}function T(j,F,I,U){for(var x=0;I--;)j[I]-=x,x=j[I]<F[I]?1:0,j[I]=x*U+j[I]-F[I];for(;!j[0]&&j.length>1;j.splice(0,1));}return function(j,F,I,U,x){var P,M,N,z,X,ee,Ee,Fe,Ne,Ce,Se,Ue,Rn,xn,On,dt,fr,Ye=j.s==F.s?1:-1,$e=j.c,ke=F.c;if(!$e||!$e[0]||!ke||!ke[0])return new W(!j.s||!F.s||($e?ke&&$e[0]==ke[0]:!ke)?NaN:$e&&$e[0]==0||!ke?Ye*0:Ye/0);for(Fe=new W(Ye),Ne=Fe.c=[],M=j.e-F.e,Ye=I+M+1,x||(x=c,M=E(j.e/l)-E(F.e/l),Ye=Ye/l|0),N=0;ke[N]==($e[N]||0);N++);if(ke[N]>($e[N]||0)&&M--,Ye<0)Ne.push(1),z=!0;else{for(xn=$e.length,dt=ke.length,N=0,Ye+=2,X=o(x/(ke[0]+1)),X>1&&(ke=C(ke,X,x),$e=C($e,X,x),dt=ke.length,xn=$e.length),Rn=dt,Ce=$e.slice(0,dt),Se=Ce.length;Se<dt;Ce[Se++]=0);fr=ke.slice(),fr=[0].concat(fr),On=ke[0],ke[1]>=x/2&&On++;do{if(X=0,P=k(ke,Ce,dt,Se),P<0){if(Ue=Ce[0],dt!=Se&&(Ue=Ue*x+(Ce[1]||0)),X=o(Ue/On),X>1)for(X>=x&&(X=x-1),ee=C(ke,X,x),Ee=ee.length,Se=Ce.length;k(ee,Ce,Ee,Se)==1;)X--,T(ee,dt<Ee?fr:ke,Ee,x),Ee=ee.length,P=1;else X==0&&(P=X=1),ee=ke.slice(),Ee=ee.length;if(Ee<Se&&(ee=[0].concat(ee)),T(Ce,ee,Se,x),Se=Ce.length,P==-1)for(;k(ke,Ce,dt,Se)<1;)X++,T(Ce,dt<Se?fr:ke,Se,x),Se=Ce.length}else P===0&&(X++,Ce=[0]);Ne[N++]=X,Ce[0]?Ce[Se++]=$e[Rn]||0:(Ce=[$e[Rn]],Se=1)}while((Rn++<xn||Ce[0]!=null)&&Ye--);z=Ce[0]!=null,Ne[0]||Ne.splice(0,1)}if(x==c){for(N=1,Ye=Ne[0];Ye>=10;Ye/=10,N++);Re(Fe,I+(Fe.e=N+M*l-1)+1,U,z)}else Fe.e=M,Fe.r=+z;return Fe}})();function le(C,k,T,j){var F,I,U,x,P;if(T==null?T=Z:m(T,0,8),!C.c)return C.toString();if(F=C.c[0],U=C.e,k==null)P=_(C.c),P=j==1||j==2&&(U<=ae||U>=de)?b(P,U):S(P,U,"0");else if(C=Re(new W(C),k,T),I=C.e,P=_(C.c),x=P.length,j==1||j==2&&(k<=I||I<=ae)){for(;x<k;P+="0",x++);P=b(P,I)}else if(k-=U+(j===2&&I>U),P=S(P,I,"0"),I+1>x){if(--k>0)for(P+=".";k--;P+="0");}else if(k+=I-x,k>0)for(I+1==x&&(P+=".");k--;P+="0");return C.s<0&&F?"-"+P:P}function ye(C,k){for(var T,j,F=1,I=new W(C[0]);F<C.length;F++)j=new W(C[F]),(!j.s||(T=y(I,j))===k||T===0&&I.s===k)&&(I=j);return I}function Nt(C,k,T){for(var j=1,F=k.length;!k[--F];k.pop());for(F=k[0];F>=10;F/=10,j++);return(T=j+T*l-1)>oe?C.c=C.e=null:T<Ae?C.c=[C.e=0]:(C.e=T,C.c=k),C}J=(function(){var C=/^(-?)0([xbo])(?=\w[\w.]*$)/i,k=/^([^.]+)\.$/,T=/^\.([^.]+)$/,j=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,U,x,P){var M,N=x?U:U.replace(F,"");if(j.test(N))I.s=isNaN(N)?null:N<0?-1:1;else{if(!x&&(N=N.replace(C,function(z,X,ee){return M=(ee=ee.toLowerCase())=="x"?16:ee=="b"?2:8,!P||P==M?X:z}),P&&(M=P,N=N.replace(k,"$1").replace(T,"0.$1")),U!=N))return new W(N,M);if(W.DEBUG)throw Error(s+"Not a"+(P?" base "+P:"")+" number: "+U);I.s=null}I.c=I.e=null}})();function Re(C,k,T,j){var F,I,U,x,P,M,N,z=C.c,X=d;if(z){e:{for(F=1,x=z[0];x>=10;x/=10,F++);if(I=k-F,I<0)I+=l,U=k,P=z[M=0],N=o(P/X[F-U-1]%10);else if(M=n((I+1)/l),M>=z.length)if(j){for(;z.length<=M;z.push(0));P=N=0,F=1,I%=l,U=I-l+1}else break e;else{for(P=x=z[M],F=1;x>=10;x/=10,F++);I%=l,U=I-l+F,N=U<0?0:o(P/X[F-U-1]%10)}if(j=j||k<0||z[M+1]!=null||(U<0?P:P%X[F-U-1]),j=T<4?(N||j)&&(T==0||T==(C.s<0?3:2)):N>5||N==5&&(T==4||j||T==6&&(I>0?U>0?P/X[F-U]:0:z[M-1])%10&1||T==(C.s<0?8:7)),k<1||!z[0])return z.length=0,j?(k-=C.e+1,z[0]=X[(l-k%l)%l],C.e=-k||0):z[0]=C.e=0,C;if(I==0?(z.length=M,x=1,M--):(z.length=M+1,x=X[l-I],z[M]=U>0?o(P/X[F-U]%X[U])*x:0),j)for(;;)if(M==0){for(I=1,U=z[0];U>=10;U/=10,I++);for(U=z[0]+=x,x=1;U>=10;U/=10,x++);I!=x&&(C.e++,z[0]==c&&(z[0]=1));break}else{if(z[M]+=x,z[M]!=c)break;z[M--]=0,x=1}for(I=z.length;z[--I]===0;z.pop());}C.e>oe?C.c=C.e=null:C.e<Ae&&(C.c=[C.e=0])}return C}function Me(C){var k,T=C.e;return T===null?C.toString():(k=_(C.c),k=T<=ae||T>=de?b(k,T):S(k,T,"0"),C.s<0?"-"+k:k)}return B.absoluteValue=B.abs=function(){var C=new W(this);return C.s<0&&(C.s=1),C},B.comparedTo=function(C,k){return y(this,new W(C,k))},B.decimalPlaces=B.dp=function(C,k){var T,j,F,I=this;if(C!=null)return m(C,0,g),k==null?k=Z:m(k,0,8),Re(new W(I),C+I.e+1,k);if(!(T=I.c))return null;if(j=((F=T.length-1)-E(this.e/l))*l,F=T[F])for(;F%10==0;F/=10,j--);return j<0&&(j=0),j},B.dividedBy=B.div=function(C,k){return O(this,new W(C,k),te,Z)},B.dividedToIntegerBy=B.idiv=function(C,k){return O(this,new W(C,k),0,1)},B.exponentiatedBy=B.pow=function(C,k){var T,j,F,I,U,x,P,M,N,z=this;if(C=new W(C),C.c&&!C.isInteger())throw Error(s+"Exponent not an integer: "+Me(C));if(k!=null&&(k=new W(k)),x=C.e>14,!z.c||!z.c[0]||z.c[0]==1&&!z.e&&z.c.length==1||!C.c||!C.c[0])return N=new W(Math.pow(+Me(z),x?C.s*(2-v(C)):+Me(C))),k?N.mod(k):N;if(P=C.s<0,k){if(k.c?!k.c[0]:!k.s)return new W(NaN);j=!P&&z.isInteger()&&k.isInteger(),j&&(z=z.mod(k))}else{if(C.e>9&&(z.e>0||z.e<-1||(z.e==0?z.c[0]>1||x&&z.c[1]>=24e7:z.c[0]<8e13||x&&z.c[0]<=9999975e7)))return I=z.s<0&&v(C)?-0:0,z.e>-1&&(I=1/I),new W(P?1/I:I);K&&(I=n(K/l+2))}for(x?(T=new W(.5),P&&(C.s=1),M=v(C)):(F=Math.abs(+Me(C)),M=F%2),N=new W(Y);;){if(M){if(N=N.times(z),!N.c)break;I?N.c.length>I&&(N.c.length=I):j&&(N=N.mod(k))}if(F){if(F=o(F/2),F===0)break;M=F%2}else if(C=C.times(T),Re(C,C.e+1,1),C.e>14)M=v(C);else{if(F=+Me(C),F===0)break;M=F%2}z=z.times(z),I?z.c&&z.c.length>I&&(z.c.length=I):j&&(z=z.mod(k))}return j?N:(P&&(N=Y.div(N)),k?N.mod(k):I?Re(N,K,Z,U):N)},B.integerValue=function(C){var k=new W(this);return C==null?C=Z:m(C,0,8),Re(k,k.e+1,C)},B.isEqualTo=B.eq=function(C,k){return y(this,new W(C,k))===0},B.isFinite=function(){return!!this.c},B.isGreaterThan=B.gt=function(C,k){return y(this,new W(C,k))>0},B.isGreaterThanOrEqualTo=B.gte=function(C,k){return(k=y(this,new W(C,k)))===1||k===0},B.isInteger=function(){return!!this.c&&E(this.e/l)>this.c.length-2},B.isLessThan=B.lt=function(C,k){return y(this,new W(C,k))<0},B.isLessThanOrEqualTo=B.lte=function(C,k){return(k=y(this,new W(C,k)))===-1||k===0},B.isNaN=function(){return!this.s},B.isNegative=function(){return this.s<0},B.isPositive=function(){return this.s>0},B.isZero=function(){return!!this.c&&this.c[0]==0},B.minus=function(C,k){var T,j,F,I,U=this,x=U.s;if(C=new W(C,k),k=C.s,!x||!k)return new W(NaN);if(x!=k)return C.s=-k,U.plus(C);var P=U.e/l,M=C.e/l,N=U.c,z=C.c;if(!P||!M){if(!N||!z)return N?(C.s=-k,C):new W(z?U:NaN);if(!N[0]||!z[0])return z[0]?(C.s=-k,C):new W(N[0]?U:Z==3?-0:0)}if(P=E(P),M=E(M),N=N.slice(),x=P-M){for((I=x<0)?(x=-x,F=N):(M=P,F=z),F.reverse(),k=x;k--;F.push(0));F.reverse()}else for(j=(I=(x=N.length)<(k=z.length))?x:k,x=k=0;k<j;k++)if(N[k]!=z[k]){I=N[k]<z[k];break}if(I&&(F=N,N=z,z=F,C.s=-C.s),k=(j=z.length)-(T=N.length),k>0)for(;k--;N[T++]=0);for(k=c-1;j>x;){if(N[--j]<z[j]){for(T=j;T&&!N[--T];N[T]=k);--N[T],N[j]+=c}N[j]-=z[j]}for(;N[0]==0;N.splice(0,1),--M);return N[0]?Nt(C,N,M):(C.s=Z==3?-1:1,C.c=[C.e=0],C)},B.modulo=B.mod=function(C,k){var T,j,F=this;return C=new W(C,k),!F.c||!C.s||C.c&&!C.c[0]?new W(NaN):!C.c||F.c&&!F.c[0]?new W(F):(G==9?(j=C.s,C.s=1,T=O(F,C,0,3),C.s=j,T.s*=j):T=O(F,C,0,G),C=F.minus(T.times(C)),!C.c[0]&&G==1&&(C.s=F.s),C)},B.multipliedBy=B.times=function(C,k){var T,j,F,I,U,x,P,M,N,z,X,ee,Ee,Fe,Ne,Ce=this,Se=Ce.c,Ue=(C=new W(C,k)).c;if(!Se||!Ue||!Se[0]||!Ue[0])return!Ce.s||!C.s||Se&&!Se[0]&&!Ue||Ue&&!Ue[0]&&!Se?C.c=C.e=C.s=null:(C.s*=Ce.s,!Se||!Ue?C.c=C.e=null:(C.c=[0],C.e=0)),C;for(j=E(Ce.e/l)+E(C.e/l),C.s*=Ce.s,P=Se.length,z=Ue.length,P<z&&(Ee=Se,Se=Ue,Ue=Ee,F=P,P=z,z=F),F=P+z,Ee=[];F--;Ee.push(0));for(Fe=c,Ne=p,F=z;--F>=0;){for(T=0,X=Ue[F]%Ne,ee=Ue[F]/Ne|0,U=P,I=F+U;I>F;)M=Se[--U]%Ne,N=Se[U]/Ne|0,x=ee*M+N*X,M=X*M+x%Ne*Ne+Ee[I]+T,T=(M/Fe|0)+(x/Ne|0)+ee*N,Ee[I--]=M%Fe;Ee[I]=T}return T?++j:Ee.splice(0,1),Nt(C,Ee,j)},B.negated=function(){var C=new W(this);return C.s=-C.s||null,C},B.plus=function(C,k){var T,j=this,F=j.s;if(C=new W(C,k),k=C.s,!F||!k)return new W(NaN);if(F!=k)return C.s=-k,j.minus(C);var I=j.e/l,U=C.e/l,x=j.c,P=C.c;if(!I||!U){if(!x||!P)return new W(F/0);if(!x[0]||!P[0])return P[0]?C:new W(x[0]?j:F*0)}if(I=E(I),U=E(U),x=x.slice(),F=I-U){for(F>0?(U=I,T=P):(F=-F,T=x),T.reverse();F--;T.push(0));T.reverse()}for(F=x.length,k=P.length,F-k<0&&(T=P,P=x,x=T,k=F),F=0;k;)F=(x[--k]=x[k]+P[k]+F)/c|0,x[k]=c===x[k]?0:x[k]%c;return F&&(x=[F].concat(x),++U),Nt(C,x,U)},B.precision=B.sd=function(C,k){var T,j,F,I=this;if(C!=null&&C!==!!C)return m(C,1,g),k==null?k=Z:m(k,0,8),Re(new W(I),C,k);if(!(T=I.c))return null;if(F=T.length-1,j=F*l+1,F=T[F]){for(;F%10==0;F/=10,j--);for(F=T[0];F>=10;F/=10,j++);}return C&&I.e+1>j&&(j=I.e+1),j},B.shiftedBy=function(C){return m(C,-f,f),this.times("1e"+C)},B.squareRoot=B.sqrt=function(){var C,k,T,j,F,I=this,U=I.c,x=I.s,P=I.e,M=te+4,N=new W("0.5");if(x!==1||!U||!U[0])return new W(!x||x<0&&(!U||U[0])?NaN:U?I:1/0);if(x=Math.sqrt(+Me(I)),x==0||x==1/0?(k=_(U),(k.length+P)%2==0&&(k+="0"),x=Math.sqrt(+k),P=E((P+1)/2)-(P<0||P%2),x==1/0?k="5e"+P:(k=x.toExponential(),k=k.slice(0,k.indexOf("e")+1)+P),T=new W(k)):T=new W(x+""),T.c[0]){for(P=T.e,x=P+M,x<3&&(x=0);;)if(F=T,T=N.times(F.plus(O(I,F,M,1))),_(F.c).slice(0,x)===(k=_(T.c)).slice(0,x))if(T.e<P&&--x,k=k.slice(x-3,x+1),k=="9999"||!j&&k=="4999"){if(!j&&(Re(F,F.e+te+2,0),F.times(F).eq(I))){T=F;break}M+=4,x+=4,j=1}else{(!+k||!+k.slice(1)&&k.charAt(0)=="5")&&(Re(T,T.e+te+2,1),C=!T.times(T).eq(I));break}}return Re(T,T.e+te+1,Z,C)},B.toExponential=function(C,k){return C!=null&&(m(C,0,g),C++),le(this,C,k,1)},B.toFixed=function(C,k){return C!=null&&(m(C,0,g),C=C+this.e+1),le(this,C,k)},B.toFormat=function(C,k,T){var j,F=this;if(T==null)C!=null&&k&&typeof k=="object"?(T=k,k=null):C&&typeof C=="object"?(T=C,C=k=null):T=ue;else if(typeof T!="object")throw Error(s+"Argument not an object: "+T);if(j=F.toFixed(C,k),F.c){var I,U=j.split("."),x=+T.groupSize,P=+T.secondaryGroupSize,M=T.groupSeparator||"",N=U[0],z=U[1],X=F.s<0,ee=X?N.slice(1):N,Ee=ee.length;if(P&&(I=x,x=P,P=I,Ee-=I),x>0&&Ee>0){for(I=Ee%x||x,N=ee.substr(0,I);I<Ee;I+=x)N+=M+ee.substr(I,x);P>0&&(N+=M+ee.slice(I)),X&&(N="-"+N)}j=z?N+(T.decimalSeparator||"")+((P=+T.fractionGroupSize)?z.replace(new RegExp("\\d{"+P+"}\\B","g"),"$&"+(T.fractionGroupSeparator||"")):z):N}return(T.prefix||"")+j+(T.suffix||"")},B.toFraction=function(C){var k,T,j,F,I,U,x,P,M,N,z,X,ee=this,Ee=ee.c;if(C!=null&&(x=new W(C),!x.isInteger()&&(x.c||x.s!==1)||x.lt(Y)))throw Error(s+"Argument "+(x.isInteger()?"out of range: ":"not an integer: ")+Me(x));if(!Ee)return new W(ee);for(k=new W(Y),M=T=new W(Y),j=P=new W(Y),X=_(Ee),I=k.e=X.length-ee.e-1,k.c[0]=d[(U=I%l)<0?l+U:U],C=!C||x.comparedTo(k)>0?I>0?k:M:x,U=oe,oe=1/0,x=new W(X),P.c[0]=0;N=O(x,k,0,1),F=T.plus(N.times(j)),F.comparedTo(C)!=1;)T=j,j=F,M=P.plus(N.times(F=M)),P=F,k=x.minus(N.times(F=k)),x=F;return F=O(C.minus(T),j,0,1),P=P.plus(F.times(M)),T=T.plus(F.times(j)),P.s=M.s=ee.s,I=I*2,z=O(M,j,I,Z).minus(ee).abs().comparedTo(O(P,T,I,Z).minus(ee).abs())<1?[M,j]:[P,T],oe=U,z},B.toNumber=function(){return+Me(this)},B.toPrecision=function(C,k){return C!=null&&m(C,1,g),le(this,C,k,2)},B.toString=function(C){var k,T=this,j=T.s,F=T.e;return F===null?j?(k="Infinity",j<0&&(k="-"+k)):k="NaN":(C==null?k=F<=ae||F>=de?b(_(T.c),F):S(_(T.c),F,"0"):C===10&&Te?(T=Re(new W(T),te+F+1,Z),k=S(_(T.c),T.e,"0")):(m(C,2,qe.length,"Base"),k=q(S(_(T.c),F,"0"),10,C,j,!0)),j<0&&T.c[0]&&(k="-"+k)),k},B.valueOf=B.toJSON=function(){return Me(this)},B._isBigNumber=!0,D!=null&&W.set(D),W}function E(D){var O=D|0;return D>0||D===O?O:O-1}function _(D){for(var O,q,J=1,B=D.length,Y=D[0]+"";J<B;){for(O=D[J++]+"",q=l-O.length;q--;O="0"+O);Y+=O}for(B=Y.length;Y.charCodeAt(--B)===48;);return Y.slice(0,B+1||1)}function y(D,O){var q,J,B=D.c,Y=O.c,te=D.s,Z=O.s,ae=D.e,de=O.e;if(!te||!Z)return null;if(q=B&&!B[0],J=Y&&!Y[0],q||J)return q?J?0:-Z:te;if(te!=Z)return te;if(q=te<0,J=ae==de,!B||!Y)return J?0:!B^q?1:-1;if(!J)return ae>de^q?1:-1;for(Z=(ae=B.length)<(de=Y.length)?ae:de,te=0;te<Z;te++)if(B[te]!=Y[te])return B[te]>Y[te]^q?1:-1;return ae==de?0:ae>de^q?1:-1}function m(D,O,q,J){if(D<O||D>q||D!==o(D))throw Error(s+(J||"Argument")+(typeof D=="number"?D<O||D>q?" out of range: ":" not an integer: ":" not a primitive number: ")+String(D))}function v(D){var O=D.c.length-1;return E(D.e/l)==O&&D.c[O]%2!=0}function b(D,O){return(D.length>1?D.charAt(0)+"."+D.slice(1):D)+(O<0?"e":"e+")+O}function S(D,O,q){var J,B;if(O<0){for(B=q+".";++O;B+=q);D=B+D}else if(J=D.length,++O>J){for(B=q,O-=J;--O;B+=q);D+=B}else O<J&&(D=D.slice(0,O)+"."+D.slice(O));return D}e=A(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof qi<"u"&&qi.exports?qi.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(rg)});var ig=V((X1,sg)=>{var ng=qc(),og=sg.exports;(function(){"use strict";function t(f){return f<10?"0"+f:f}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function c(f){return r.lastIndex=0,r.test(f)?'"'+f.replace(r,function(d){var p=s[d];return typeof p=="string"?p:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function l(f,d){var p,g,A,E,_=n,y,m=d[f],v=m!=null&&(m instanceof ng||ng.isBigNumber(m));switch(m&&typeof m=="object"&&typeof m.toJSON=="function"&&(m=m.toJSON(f)),typeof a=="function"&&(m=a.call(d,f,m)),typeof m){case"string":return v?m:c(m);case"number":return isFinite(m)?String(m):"null";case"boolean":case"null":case"bigint":return String(m);case"object":if(!m)return"null";if(n+=o,y=[],Object.prototype.toString.apply(m)==="[object Array]"){for(E=m.length,p=0;p<E;p+=1)y[p]=l(p,m)||"null";return A=y.length===0?"[]":n?`[
44
- `+n+y.join(`,
43
+ `}yield n}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Oe(nm()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(Qm(),Ym))).default,this.#i}static mergeHeaders(e,...r){e=e instanceof Headers?e:new Headers(e);for(let n of r)(n instanceof Headers?n:new Headers(n)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};eo.Gaxios=$i;Zn=$i});var Ke=V(ot=>{"use strict";var rE=ot&&ot.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),nE=ot&&ot.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&rE(e,t,r)};Object.defineProperty(ot,"__esModule",{value:!0});ot.instance=ot.Gaxios=ot.GaxiosError=void 0;ot.request=sE;var tg=eg();Object.defineProperty(ot,"Gaxios",{enumerable:!0,get:function(){return tg.Gaxios}});var oE=yc();Object.defineProperty(ot,"GaxiosError",{enumerable:!0,get:function(){return oE.GaxiosError}});nE(Cc(),ot);ot.instance=new tg.Gaxios;async function sE(t){return ot.instance.request(t)}});var qc=V((rg,qi)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",c=1e14,l=14,d=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,g=1e9;function k(D){var O,q,J,B=W.prototype={constructor:W,toString:null,valueOf:null},Y=new W(1),te=20,Z=4,ae=-7,de=21,ke=-1e7,oe=1e7,pe=!1,G=1,K=0,ue={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},qe="0123456789abcdefghijklmnopqrstuvwxyz",Te=!0;function W(C,A){var T,M,P,I,U,x,F,j,N=this;if(!(N instanceof W))return new W(C,A);if(A==null){if(C&&C._isBigNumber===!0){N.s=C.s,!C.c||C.e>oe?N.c=N.e=null:C.e<ke?N.c=[N.e=0]:(N.e=C.e,N.c=C.c.slice());return}if((x=typeof C=="number")&&C*0==0){if(N.s=1/C<0?(C=-C,-1):1,C===~~C){for(I=0,U=C;U>=10;U/=10,I++);I>oe?N.c=N.e=null:(N.e=I,N.c=[C]);return}j=String(C)}else{if(!r.test(j=String(C)))return J(N,j,x);N.s=j.charCodeAt(0)==45?(j=j.slice(1),-1):1}(I=j.indexOf("."))>-1&&(j=j.replace(".","")),(U=j.search(/e/i))>0?(I<0&&(I=U),I+=+j.slice(U+1),j=j.substring(0,U)):I<0&&(I=j.length)}else{if(m(A,2,qe.length,"Base"),A==10&&Te)return N=new W(C),Re(N,te+N.e+1,Z);if(j=String(C),x=typeof C=="number"){if(C*0!=0)return J(N,j,x,A);if(N.s=1/C<0?(j=j.slice(1),-1):1,W.DEBUG&&j.replace(/^0\.0*|\./,"").length>15)throw Error(a+C)}else N.s=j.charCodeAt(0)===45?(j=j.slice(1),-1):1;for(T=qe.slice(0,A),I=U=0,F=j.length;U<F;U++)if(T.indexOf(M=j.charAt(U))<0){if(M=="."){if(U>I){I=F;continue}}else if(!P&&(j==j.toUpperCase()&&(j=j.toLowerCase())||j==j.toLowerCase()&&(j=j.toUpperCase()))){P=!0,U=-1,I=0;continue}return J(N,String(C),x,A)}x=!1,j=q(j,A,10,N.s),(I=j.indexOf("."))>-1?j=j.replace(".",""):I=j.length}for(U=0;j.charCodeAt(U)===48;U++);for(F=j.length;j.charCodeAt(--F)===48;);if(j=j.slice(U,++F)){if(F-=U,x&&W.DEBUG&&F>15&&(C>d||C!==o(C)))throw Error(a+N.s*C);if((I=I-U-1)>oe)N.c=N.e=null;else if(I<ke)N.c=[N.e=0];else{if(N.e=I,N.c=[],U=(I+1)%l,I<0&&(U+=l),U<F){for(U&&N.c.push(+j.slice(0,U)),F-=l;U<F;)N.c.push(+j.slice(U,U+=l));U=l-(j=j.slice(U)).length}else U-=F;for(;U--;j+="0");N.c.push(+j)}}else N.c=[N.e=0]}W.clone=k,W.ROUND_UP=0,W.ROUND_DOWN=1,W.ROUND_CEIL=2,W.ROUND_FLOOR=3,W.ROUND_HALF_UP=4,W.ROUND_HALF_DOWN=5,W.ROUND_HALF_EVEN=6,W.ROUND_HALF_CEIL=7,W.ROUND_HALF_FLOOR=8,W.EUCLID=9,W.config=W.set=function(C){var A,T;if(C!=null)if(typeof C=="object"){if(C.hasOwnProperty(A="DECIMAL_PLACES")&&(T=C[A],m(T,0,g,A),te=T),C.hasOwnProperty(A="ROUNDING_MODE")&&(T=C[A],m(T,0,8,A),Z=T),C.hasOwnProperty(A="EXPONENTIAL_AT")&&(T=C[A],T&&T.pop?(m(T[0],-g,0,A),m(T[1],0,g,A),ae=T[0],de=T[1]):(m(T,-g,g,A),ae=-(de=T<0?-T:T))),C.hasOwnProperty(A="RANGE"))if(T=C[A],T&&T.pop)m(T[0],-g,-1,A),m(T[1],1,g,A),ke=T[0],oe=T[1];else if(m(T,-g,g,A),T)ke=-(oe=T<0?-T:T);else throw Error(s+A+" cannot be zero: "+T);if(C.hasOwnProperty(A="CRYPTO"))if(T=C[A],T===!!T)if(T)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))pe=T;else throw pe=!T,Error(s+"crypto unavailable");else pe=T;else throw Error(s+A+" not true or false: "+T);if(C.hasOwnProperty(A="MODULO_MODE")&&(T=C[A],m(T,0,9,A),G=T),C.hasOwnProperty(A="POW_PRECISION")&&(T=C[A],m(T,0,g,A),K=T),C.hasOwnProperty(A="FORMAT"))if(T=C[A],typeof T=="object")ue=T;else throw Error(s+A+" not an object: "+T);if(C.hasOwnProperty(A="ALPHABET"))if(T=C[A],typeof T=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(T))Te=T.slice(0,10)=="0123456789",qe=T;else throw Error(s+A+" invalid: "+T)}else throw Error(s+"Object expected: "+C);return{DECIMAL_PLACES:te,ROUNDING_MODE:Z,EXPONENTIAL_AT:[ae,de],RANGE:[ke,oe],CRYPTO:pe,MODULO_MODE:G,POW_PRECISION:K,FORMAT:ue,ALPHABET:qe}},W.isBigNumber=function(C){if(!C||C._isBigNumber!==!0)return!1;if(!W.DEBUG)return!0;var A,T,M=C.c,P=C.e,I=C.s;e:if({}.toString.call(M)=="[object Array]"){if((I===1||I===-1)&&P>=-g&&P<=g&&P===o(P)){if(M[0]===0){if(P===0&&M.length===1)return!0;break e}if(A=(P+1)%l,A<1&&(A+=l),String(M[0]).length==A){for(A=0;A<M.length;A++)if(T=M[A],T<0||T>=c||T!==o(T))break e;if(T!==0)return!0}}}else if(M===null&&P===null&&(I===null||I===1||I===-1))return!0;throw Error(s+"Invalid BigNumber: "+C)},W.maximum=W.max=function(){return ye(arguments,-1)},W.minimum=W.min=function(){return ye(arguments,1)},W.random=(function(){var C=9007199254740992,A=Math.random()*C&2097151?function(){return o(Math.random()*C)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(T){var M,P,I,U,x,F=0,j=[],N=new W(Y);if(T==null?T=te:m(T,0,g),U=n(T/l),pe)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(U*=2));F<U;)x=M[F]*131072+(M[F+1]>>>11),x>=9e15?(P=crypto.getRandomValues(new Uint32Array(2)),M[F]=P[0],M[F+1]=P[1]):(j.push(x%1e14),F+=2);F=U/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(U*=7);F<U;)x=(M[F]&31)*281474976710656+M[F+1]*1099511627776+M[F+2]*4294967296+M[F+3]*16777216+(M[F+4]<<16)+(M[F+5]<<8)+M[F+6],x>=9e15?crypto.randomBytes(7).copy(M,F):(j.push(x%1e14),F+=7);F=U/7}else throw pe=!1,Error(s+"crypto unavailable");if(!pe)for(;F<U;)x=A(),x<9e15&&(j[F++]=x%1e14);for(U=j[--F],T%=l,U&&T&&(x=f[l-T],j[F]=o(U/x)*x);j[F]===0;j.pop(),F--);if(F<0)j=[I=0];else{for(I=-1;j[0]===0;j.splice(0,1),I-=l);for(F=1,x=j[0];x>=10;x/=10,F++);F<l&&(I-=l-F)}return N.e=I,N.c=j,N}})(),W.sum=function(){for(var C=1,A=arguments,T=new W(A[0]);C<A.length;)T=T.plus(A[C++]);return T},q=(function(){var C="0123456789";function A(T,M,P,I){for(var U,x=[0],F,j=0,N=T.length;j<N;){for(F=x.length;F--;x[F]*=M);for(x[0]+=I.indexOf(T.charAt(j++)),U=0;U<x.length;U++)x[U]>P-1&&(x[U+1]==null&&(x[U+1]=0),x[U+1]+=x[U]/P|0,x[U]%=P)}return x.reverse()}return function(T,M,P,I,U){var x,F,j,N,z,X,ee,Ee,Fe=T.indexOf("."),Ne=te,Ce=Z;for(Fe>=0&&(N=K,K=0,T=T.replace(".",""),Ee=new W(M),X=Ee.pow(T.length-Fe),K=N,Ee.c=A(S(y(X.c),X.e,"0"),10,P,C),Ee.e=Ee.c.length),ee=A(T,M,P,U?(x=qe,C):(x=C,qe)),j=N=ee.length;ee[--N]==0;ee.pop());if(!ee[0])return x.charAt(0);if(Fe<0?--j:(X.c=ee,X.e=j,X.s=I,X=O(X,Ee,Ne,Ce,P),ee=X.c,z=X.r,j=X.e),F=j+Ne+1,Fe=ee[F],N=P/2,z=z||F<0||ee[F+1]!=null,z=Ce<4?(Fe!=null||z)&&(Ce==0||Ce==(X.s<0?3:2)):Fe>N||Fe==N&&(Ce==4||z||Ce==6&&ee[F-1]&1||Ce==(X.s<0?8:7)),F<1||!ee[0])T=z?S(x.charAt(1),-Ne,x.charAt(0)):x.charAt(0);else{if(ee.length=F,z)for(--P;++ee[--F]>P;)ee[F]=0,F||(++j,ee=[1].concat(ee));for(N=ee.length;!ee[--N];);for(Fe=0,T="";Fe<=N;T+=x.charAt(ee[Fe++]));T=S(T,j,x.charAt(0))}return T}})(),O=(function(){function C(M,P,I){var U,x,F,j,N=0,z=M.length,X=P%p,ee=P/p|0;for(M=M.slice();z--;)F=M[z]%p,j=M[z]/p|0,U=ee*F+j*X,x=X*F+U%p*p+N,N=(x/I|0)+(U/p|0)+ee*j,M[z]=x%I;return N&&(M=[N].concat(M)),M}function A(M,P,I,U){var x,F;if(I!=U)F=I>U?1:-1;else for(x=F=0;x<I;x++)if(M[x]!=P[x]){F=M[x]>P[x]?1:-1;break}return F}function T(M,P,I,U){for(var x=0;I--;)M[I]-=x,x=M[I]<P[I]?1:0,M[I]=x*U+M[I]-P[I];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,P,I,U,x){var F,j,N,z,X,ee,Ee,Fe,Ne,Ce,Se,Ue,Rn,xn,On,dt,fr,Ye=M.s==P.s?1:-1,$e=M.c,Ae=P.c;if(!$e||!$e[0]||!Ae||!Ae[0])return new W(!M.s||!P.s||($e?Ae&&$e[0]==Ae[0]:!Ae)?NaN:$e&&$e[0]==0||!Ae?Ye*0:Ye/0);for(Fe=new W(Ye),Ne=Fe.c=[],j=M.e-P.e,Ye=I+j+1,x||(x=c,j=w(M.e/l)-w(P.e/l),Ye=Ye/l|0),N=0;Ae[N]==($e[N]||0);N++);if(Ae[N]>($e[N]||0)&&j--,Ye<0)Ne.push(1),z=!0;else{for(xn=$e.length,dt=Ae.length,N=0,Ye+=2,X=o(x/(Ae[0]+1)),X>1&&(Ae=C(Ae,X,x),$e=C($e,X,x),dt=Ae.length,xn=$e.length),Rn=dt,Ce=$e.slice(0,dt),Se=Ce.length;Se<dt;Ce[Se++]=0);fr=Ae.slice(),fr=[0].concat(fr),On=Ae[0],Ae[1]>=x/2&&On++;do{if(X=0,F=A(Ae,Ce,dt,Se),F<0){if(Ue=Ce[0],dt!=Se&&(Ue=Ue*x+(Ce[1]||0)),X=o(Ue/On),X>1)for(X>=x&&(X=x-1),ee=C(Ae,X,x),Ee=ee.length,Se=Ce.length;A(ee,Ce,Ee,Se)==1;)X--,T(ee,dt<Ee?fr:Ae,Ee,x),Ee=ee.length,F=1;else X==0&&(F=X=1),ee=Ae.slice(),Ee=ee.length;if(Ee<Se&&(ee=[0].concat(ee)),T(Ce,ee,Se,x),Se=Ce.length,F==-1)for(;A(Ae,Ce,dt,Se)<1;)X++,T(Ce,dt<Se?fr:Ae,Se,x),Se=Ce.length}else F===0&&(X++,Ce=[0]);Ne[N++]=X,Ce[0]?Ce[Se++]=$e[Rn]||0:(Ce=[$e[Rn]],Se=1)}while((Rn++<xn||Ce[0]!=null)&&Ye--);z=Ce[0]!=null,Ne[0]||Ne.splice(0,1)}if(x==c){for(N=1,Ye=Ne[0];Ye>=10;Ye/=10,N++);Re(Fe,I+(Fe.e=N+j*l-1)+1,U,z)}else Fe.e=j,Fe.r=+z;return Fe}})();function le(C,A,T,M){var P,I,U,x,F;if(T==null?T=Z:m(T,0,8),!C.c)return C.toString();if(P=C.c[0],U=C.e,A==null)F=y(C.c),F=M==1||M==2&&(U<=ae||U>=de)?b(F,U):S(F,U,"0");else if(C=Re(new W(C),A,T),I=C.e,F=y(C.c),x=F.length,M==1||M==2&&(A<=I||I<=ae)){for(;x<A;F+="0",x++);F=b(F,I)}else if(A-=U+(M===2&&I>U),F=S(F,I,"0"),I+1>x){if(--A>0)for(F+=".";A--;F+="0");}else if(A+=I-x,A>0)for(I+1==x&&(F+=".");A--;F+="0");return C.s<0&&P?"-"+F:F}function ye(C,A){for(var T,M,P=1,I=new W(C[0]);P<C.length;P++)M=new W(C[P]),(!M.s||(T=_(I,M))===A||T===0&&I.s===A)&&(I=M);return I}function Nt(C,A,T){for(var M=1,P=A.length;!A[--P];A.pop());for(P=A[0];P>=10;P/=10,M++);return(T=M+T*l-1)>oe?C.c=C.e=null:T<ke?C.c=[C.e=0]:(C.e=T,C.c=A),C}J=(function(){var C=/^(-?)0([xbo])(?=\w[\w.]*$)/i,A=/^([^.]+)\.$/,T=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,P=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,U,x,F){var j,N=x?U:U.replace(P,"");if(M.test(N))I.s=isNaN(N)?null:N<0?-1:1;else{if(!x&&(N=N.replace(C,function(z,X,ee){return j=(ee=ee.toLowerCase())=="x"?16:ee=="b"?2:8,!F||F==j?X:z}),F&&(j=F,N=N.replace(A,"$1").replace(T,"0.$1")),U!=N))return new W(N,j);if(W.DEBUG)throw Error(s+"Not a"+(F?" base "+F:"")+" number: "+U);I.s=null}I.c=I.e=null}})();function Re(C,A,T,M){var P,I,U,x,F,j,N,z=C.c,X=f;if(z){e:{for(P=1,x=z[0];x>=10;x/=10,P++);if(I=A-P,I<0)I+=l,U=A,F=z[j=0],N=o(F/X[P-U-1]%10);else if(j=n((I+1)/l),j>=z.length)if(M){for(;z.length<=j;z.push(0));F=N=0,P=1,I%=l,U=I-l+1}else break e;else{for(F=x=z[j],P=1;x>=10;x/=10,P++);I%=l,U=I-l+P,N=U<0?0:o(F/X[P-U-1]%10)}if(M=M||A<0||z[j+1]!=null||(U<0?F:F%X[P-U-1]),M=T<4?(N||M)&&(T==0||T==(C.s<0?3:2)):N>5||N==5&&(T==4||M||T==6&&(I>0?U>0?F/X[P-U]:0:z[j-1])%10&1||T==(C.s<0?8:7)),A<1||!z[0])return z.length=0,M?(A-=C.e+1,z[0]=X[(l-A%l)%l],C.e=-A||0):z[0]=C.e=0,C;if(I==0?(z.length=j,x=1,j--):(z.length=j+1,x=X[l-I],z[j]=U>0?o(F/X[P-U]%X[U])*x:0),M)for(;;)if(j==0){for(I=1,U=z[0];U>=10;U/=10,I++);for(U=z[0]+=x,x=1;U>=10;U/=10,x++);I!=x&&(C.e++,z[0]==c&&(z[0]=1));break}else{if(z[j]+=x,z[j]!=c)break;z[j--]=0,x=1}for(I=z.length;z[--I]===0;z.pop());}C.e>oe?C.c=C.e=null:C.e<ke&&(C.c=[C.e=0])}return C}function je(C){var A,T=C.e;return T===null?C.toString():(A=y(C.c),A=T<=ae||T>=de?b(A,T):S(A,T,"0"),C.s<0?"-"+A:A)}return B.absoluteValue=B.abs=function(){var C=new W(this);return C.s<0&&(C.s=1),C},B.comparedTo=function(C,A){return _(this,new W(C,A))},B.decimalPlaces=B.dp=function(C,A){var T,M,P,I=this;if(C!=null)return m(C,0,g),A==null?A=Z:m(A,0,8),Re(new W(I),C+I.e+1,A);if(!(T=I.c))return null;if(M=((P=T.length-1)-w(this.e/l))*l,P=T[P])for(;P%10==0;P/=10,M--);return M<0&&(M=0),M},B.dividedBy=B.div=function(C,A){return O(this,new W(C,A),te,Z)},B.dividedToIntegerBy=B.idiv=function(C,A){return O(this,new W(C,A),0,1)},B.exponentiatedBy=B.pow=function(C,A){var T,M,P,I,U,x,F,j,N,z=this;if(C=new W(C),C.c&&!C.isInteger())throw Error(s+"Exponent not an integer: "+je(C));if(A!=null&&(A=new W(A)),x=C.e>14,!z.c||!z.c[0]||z.c[0]==1&&!z.e&&z.c.length==1||!C.c||!C.c[0])return N=new W(Math.pow(+je(z),x?C.s*(2-v(C)):+je(C))),A?N.mod(A):N;if(F=C.s<0,A){if(A.c?!A.c[0]:!A.s)return new W(NaN);M=!F&&z.isInteger()&&A.isInteger(),M&&(z=z.mod(A))}else{if(C.e>9&&(z.e>0||z.e<-1||(z.e==0?z.c[0]>1||x&&z.c[1]>=24e7:z.c[0]<8e13||x&&z.c[0]<=9999975e7)))return I=z.s<0&&v(C)?-0:0,z.e>-1&&(I=1/I),new W(F?1/I:I);K&&(I=n(K/l+2))}for(x?(T=new W(.5),F&&(C.s=1),j=v(C)):(P=Math.abs(+je(C)),j=P%2),N=new W(Y);;){if(j){if(N=N.times(z),!N.c)break;I?N.c.length>I&&(N.c.length=I):M&&(N=N.mod(A))}if(P){if(P=o(P/2),P===0)break;j=P%2}else if(C=C.times(T),Re(C,C.e+1,1),C.e>14)j=v(C);else{if(P=+je(C),P===0)break;j=P%2}z=z.times(z),I?z.c&&z.c.length>I&&(z.c.length=I):M&&(z=z.mod(A))}return M?N:(F&&(N=Y.div(N)),A?N.mod(A):I?Re(N,K,Z,U):N)},B.integerValue=function(C){var A=new W(this);return C==null?C=Z:m(C,0,8),Re(A,A.e+1,C)},B.isEqualTo=B.eq=function(C,A){return _(this,new W(C,A))===0},B.isFinite=function(){return!!this.c},B.isGreaterThan=B.gt=function(C,A){return _(this,new W(C,A))>0},B.isGreaterThanOrEqualTo=B.gte=function(C,A){return(A=_(this,new W(C,A)))===1||A===0},B.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},B.isLessThan=B.lt=function(C,A){return _(this,new W(C,A))<0},B.isLessThanOrEqualTo=B.lte=function(C,A){return(A=_(this,new W(C,A)))===-1||A===0},B.isNaN=function(){return!this.s},B.isNegative=function(){return this.s<0},B.isPositive=function(){return this.s>0},B.isZero=function(){return!!this.c&&this.c[0]==0},B.minus=function(C,A){var T,M,P,I,U=this,x=U.s;if(C=new W(C,A),A=C.s,!x||!A)return new W(NaN);if(x!=A)return C.s=-A,U.plus(C);var F=U.e/l,j=C.e/l,N=U.c,z=C.c;if(!F||!j){if(!N||!z)return N?(C.s=-A,C):new W(z?U:NaN);if(!N[0]||!z[0])return z[0]?(C.s=-A,C):new W(N[0]?U:Z==3?-0:0)}if(F=w(F),j=w(j),N=N.slice(),x=F-j){for((I=x<0)?(x=-x,P=N):(j=F,P=z),P.reverse(),A=x;A--;P.push(0));P.reverse()}else for(M=(I=(x=N.length)<(A=z.length))?x:A,x=A=0;A<M;A++)if(N[A]!=z[A]){I=N[A]<z[A];break}if(I&&(P=N,N=z,z=P,C.s=-C.s),A=(M=z.length)-(T=N.length),A>0)for(;A--;N[T++]=0);for(A=c-1;M>x;){if(N[--M]<z[M]){for(T=M;T&&!N[--T];N[T]=A);--N[T],N[M]+=c}N[M]-=z[M]}for(;N[0]==0;N.splice(0,1),--j);return N[0]?Nt(C,N,j):(C.s=Z==3?-1:1,C.c=[C.e=0],C)},B.modulo=B.mod=function(C,A){var T,M,P=this;return C=new W(C,A),!P.c||!C.s||C.c&&!C.c[0]?new W(NaN):!C.c||P.c&&!P.c[0]?new W(P):(G==9?(M=C.s,C.s=1,T=O(P,C,0,3),C.s=M,T.s*=M):T=O(P,C,0,G),C=P.minus(T.times(C)),!C.c[0]&&G==1&&(C.s=P.s),C)},B.multipliedBy=B.times=function(C,A){var T,M,P,I,U,x,F,j,N,z,X,ee,Ee,Fe,Ne,Ce=this,Se=Ce.c,Ue=(C=new W(C,A)).c;if(!Se||!Ue||!Se[0]||!Ue[0])return!Ce.s||!C.s||Se&&!Se[0]&&!Ue||Ue&&!Ue[0]&&!Se?C.c=C.e=C.s=null:(C.s*=Ce.s,!Se||!Ue?C.c=C.e=null:(C.c=[0],C.e=0)),C;for(M=w(Ce.e/l)+w(C.e/l),C.s*=Ce.s,F=Se.length,z=Ue.length,F<z&&(Ee=Se,Se=Ue,Ue=Ee,P=F,F=z,z=P),P=F+z,Ee=[];P--;Ee.push(0));for(Fe=c,Ne=p,P=z;--P>=0;){for(T=0,X=Ue[P]%Ne,ee=Ue[P]/Ne|0,U=F,I=P+U;I>P;)j=Se[--U]%Ne,N=Se[U]/Ne|0,x=ee*j+N*X,j=X*j+x%Ne*Ne+Ee[I]+T,T=(j/Fe|0)+(x/Ne|0)+ee*N,Ee[I--]=j%Fe;Ee[I]=T}return T?++M:Ee.splice(0,1),Nt(C,Ee,M)},B.negated=function(){var C=new W(this);return C.s=-C.s||null,C},B.plus=function(C,A){var T,M=this,P=M.s;if(C=new W(C,A),A=C.s,!P||!A)return new W(NaN);if(P!=A)return C.s=-A,M.minus(C);var I=M.e/l,U=C.e/l,x=M.c,F=C.c;if(!I||!U){if(!x||!F)return new W(P/0);if(!x[0]||!F[0])return F[0]?C:new W(x[0]?M:P*0)}if(I=w(I),U=w(U),x=x.slice(),P=I-U){for(P>0?(U=I,T=F):(P=-P,T=x),T.reverse();P--;T.push(0));T.reverse()}for(P=x.length,A=F.length,P-A<0&&(T=F,F=x,x=T,A=P),P=0;A;)P=(x[--A]=x[A]+F[A]+P)/c|0,x[A]=c===x[A]?0:x[A]%c;return P&&(x=[P].concat(x),++U),Nt(C,x,U)},B.precision=B.sd=function(C,A){var T,M,P,I=this;if(C!=null&&C!==!!C)return m(C,1,g),A==null?A=Z:m(A,0,8),Re(new W(I),C,A);if(!(T=I.c))return null;if(P=T.length-1,M=P*l+1,P=T[P]){for(;P%10==0;P/=10,M--);for(P=T[0];P>=10;P/=10,M++);}return C&&I.e+1>M&&(M=I.e+1),M},B.shiftedBy=function(C){return m(C,-d,d),this.times("1e"+C)},B.squareRoot=B.sqrt=function(){var C,A,T,M,P,I=this,U=I.c,x=I.s,F=I.e,j=te+4,N=new W("0.5");if(x!==1||!U||!U[0])return new W(!x||x<0&&(!U||U[0])?NaN:U?I:1/0);if(x=Math.sqrt(+je(I)),x==0||x==1/0?(A=y(U),(A.length+F)%2==0&&(A+="0"),x=Math.sqrt(+A),F=w((F+1)/2)-(F<0||F%2),x==1/0?A="5e"+F:(A=x.toExponential(),A=A.slice(0,A.indexOf("e")+1)+F),T=new W(A)):T=new W(x+""),T.c[0]){for(F=T.e,x=F+j,x<3&&(x=0);;)if(P=T,T=N.times(P.plus(O(I,P,j,1))),y(P.c).slice(0,x)===(A=y(T.c)).slice(0,x))if(T.e<F&&--x,A=A.slice(x-3,x+1),A=="9999"||!M&&A=="4999"){if(!M&&(Re(P,P.e+te+2,0),P.times(P).eq(I))){T=P;break}j+=4,x+=4,M=1}else{(!+A||!+A.slice(1)&&A.charAt(0)=="5")&&(Re(T,T.e+te+2,1),C=!T.times(T).eq(I));break}}return Re(T,T.e+te+1,Z,C)},B.toExponential=function(C,A){return C!=null&&(m(C,0,g),C++),le(this,C,A,1)},B.toFixed=function(C,A){return C!=null&&(m(C,0,g),C=C+this.e+1),le(this,C,A)},B.toFormat=function(C,A,T){var M,P=this;if(T==null)C!=null&&A&&typeof A=="object"?(T=A,A=null):C&&typeof C=="object"?(T=C,C=A=null):T=ue;else if(typeof T!="object")throw Error(s+"Argument not an object: "+T);if(M=P.toFixed(C,A),P.c){var I,U=M.split("."),x=+T.groupSize,F=+T.secondaryGroupSize,j=T.groupSeparator||"",N=U[0],z=U[1],X=P.s<0,ee=X?N.slice(1):N,Ee=ee.length;if(F&&(I=x,x=F,F=I,Ee-=I),x>0&&Ee>0){for(I=Ee%x||x,N=ee.substr(0,I);I<Ee;I+=x)N+=j+ee.substr(I,x);F>0&&(N+=j+ee.slice(I)),X&&(N="-"+N)}M=z?N+(T.decimalSeparator||"")+((F=+T.fractionGroupSize)?z.replace(new RegExp("\\d{"+F+"}\\B","g"),"$&"+(T.fractionGroupSeparator||"")):z):N}return(T.prefix||"")+M+(T.suffix||"")},B.toFraction=function(C){var A,T,M,P,I,U,x,F,j,N,z,X,ee=this,Ee=ee.c;if(C!=null&&(x=new W(C),!x.isInteger()&&(x.c||x.s!==1)||x.lt(Y)))throw Error(s+"Argument "+(x.isInteger()?"out of range: ":"not an integer: ")+je(x));if(!Ee)return new W(ee);for(A=new W(Y),j=T=new W(Y),M=F=new W(Y),X=y(Ee),I=A.e=X.length-ee.e-1,A.c[0]=f[(U=I%l)<0?l+U:U],C=!C||x.comparedTo(A)>0?I>0?A:j:x,U=oe,oe=1/0,x=new W(X),F.c[0]=0;N=O(x,A,0,1),P=T.plus(N.times(M)),P.comparedTo(C)!=1;)T=M,M=P,j=F.plus(N.times(P=j)),F=P,A=x.minus(N.times(P=A)),x=P;return P=O(C.minus(T),M,0,1),F=F.plus(P.times(j)),T=T.plus(P.times(M)),F.s=j.s=ee.s,I=I*2,z=O(j,M,I,Z).minus(ee).abs().comparedTo(O(F,T,I,Z).minus(ee).abs())<1?[j,M]:[F,T],oe=U,z},B.toNumber=function(){return+je(this)},B.toPrecision=function(C,A){return C!=null&&m(C,1,g),le(this,C,A,2)},B.toString=function(C){var A,T=this,M=T.s,P=T.e;return P===null?M?(A="Infinity",M<0&&(A="-"+A)):A="NaN":(C==null?A=P<=ae||P>=de?b(y(T.c),P):S(y(T.c),P,"0"):C===10&&Te?(T=Re(new W(T),te+P+1,Z),A=S(y(T.c),T.e,"0")):(m(C,2,qe.length,"Base"),A=q(S(y(T.c),P,"0"),10,C,M,!0)),M<0&&T.c[0]&&(A="-"+A)),A},B.valueOf=B.toJSON=function(){return je(this)},B._isBigNumber=!0,D!=null&&W.set(D),W}function w(D){var O=D|0;return D>0||D===O?O:O-1}function y(D){for(var O,q,J=1,B=D.length,Y=D[0]+"";J<B;){for(O=D[J++]+"",q=l-O.length;q--;O="0"+O);Y+=O}for(B=Y.length;Y.charCodeAt(--B)===48;);return Y.slice(0,B+1||1)}function _(D,O){var q,J,B=D.c,Y=O.c,te=D.s,Z=O.s,ae=D.e,de=O.e;if(!te||!Z)return null;if(q=B&&!B[0],J=Y&&!Y[0],q||J)return q?J?0:-Z:te;if(te!=Z)return te;if(q=te<0,J=ae==de,!B||!Y)return J?0:!B^q?1:-1;if(!J)return ae>de^q?1:-1;for(Z=(ae=B.length)<(de=Y.length)?ae:de,te=0;te<Z;te++)if(B[te]!=Y[te])return B[te]>Y[te]^q?1:-1;return ae==de?0:ae>de^q?1:-1}function m(D,O,q,J){if(D<O||D>q||D!==o(D))throw Error(s+(J||"Argument")+(typeof D=="number"?D<O||D>q?" out of range: ":" not an integer: ":" not a primitive number: ")+String(D))}function v(D){var O=D.c.length-1;return w(D.e/l)==O&&D.c[O]%2!=0}function b(D,O){return(D.length>1?D.charAt(0)+"."+D.slice(1):D)+(O<0?"e":"e+")+O}function S(D,O,q){var J,B;if(O<0){for(B=q+".";++O;B+=q);D=B+D}else if(J=D.length,++O>J){for(B=q,O-=J;--O;B+=q);D+=B}else O<J&&(D=D.slice(0,O)+"."+D.slice(O));return D}e=k(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof qi<"u"&&qi.exports?qi.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(rg)});var ig=V((Z1,sg)=>{var ng=qc(),og=sg.exports;(function(){"use strict";function t(d){return d<10?"0"+d:d}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function c(d){return r.lastIndex=0,r.test(d)?'"'+d.replace(r,function(f){var p=s[f];return typeof p=="string"?p:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function l(d,f){var p,g,k,w,y=n,_,m=f[d],v=m!=null&&(m instanceof ng||ng.isBigNumber(m));switch(m&&typeof m=="object"&&typeof m.toJSON=="function"&&(m=m.toJSON(d)),typeof a=="function"&&(m=a.call(f,d,m)),typeof m){case"string":return v?m:c(m);case"number":return isFinite(m)?String(m):"null";case"boolean":case"null":case"bigint":return String(m);case"object":if(!m)return"null";if(n+=o,_=[],Object.prototype.toString.apply(m)==="[object Array]"){for(w=m.length,p=0;p<w;p+=1)_[p]=l(p,m)||"null";return k=_.length===0?"[]":n?`[
44
+ `+n+_.join(`,
45
45
  `+n)+`
46
- `+_+"]":"["+y.join(",")+"]",n=_,A}if(a&&typeof a=="object")for(E=a.length,p=0;p<E;p+=1)typeof a[p]=="string"&&(g=a[p],A=l(g,m),A&&y.push(c(g)+(n?": ":":")+A));else Object.keys(m).forEach(function(b){var S=l(b,m);S&&y.push(c(b)+(n?": ":":")+S)});return A=y.length===0?"{}":n?`{
47
- `+n+y.join(`,
46
+ `+y+"]":"["+_.join(",")+"]",n=y,k}if(a&&typeof a=="object")for(w=a.length,p=0;p<w;p+=1)typeof a[p]=="string"&&(g=a[p],k=l(g,m),k&&_.push(c(g)+(n?": ":":")+k));else Object.keys(m).forEach(function(b){var S=l(b,m);S&&_.push(c(b)+(n?": ":":")+S)});return k=_.length===0?"{}":n?`{
47
+ `+n+_.join(`,
48
48
  `+n)+`
49
- `+_+"}":"{"+y.join(",")+"}",n=_,A}}typeof og.stringify!="function"&&(og.stringify=function(f,d,p){var g;if(n="",o="",typeof p=="number")for(g=0;g<p;g+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=d,d&&typeof d!="function"&&(typeof d!="object"||typeof d.length!="number"))throw new Error("JSON.stringify");return l("",{"":f})})})()});var ug=V((Z1,ag)=>{var zi=null,iE=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,aE=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,uE=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var r,n,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
50
- `,r:"\r",t:" "},s,a=function(_){throw{name:"SyntaxError",message:_,at:r,text:s}},c=function(_){return _&&_!==n&&a("Expected '"+_+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},l=function(){var _,y="";for(n==="-"&&(y="-",c("-"));n>="0"&&n<="9";)y+=n,c();if(n===".")for(y+=".";c()&&n>="0"&&n<="9";)y+=n;if(n==="e"||n==="E")for(y+=n,c(),(n==="-"||n==="+")&&(y+=n,c());n>="0"&&n<="9";)y+=n,c();if(_=+y,!isFinite(_))a("Bad number");else return zi==null&&(zi=qc()),y.length>15?e.storeAsString?y:e.useNativeBigInt?BigInt(y):new zi(y):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(_):new zi(_):_},f=function(){var _,y,m="",v;if(n==='"')for(var b=r;c();){if(n==='"')return r-1>b&&(m+=s.substring(b,r-1)),c(),m;if(n==="\\"){if(r-1>b&&(m+=s.substring(b,r-1)),c(),n==="u"){for(v=0,y=0;y<4&&(_=parseInt(c(),16),!!isFinite(_));y+=1)v=v*16+_;m+=String.fromCharCode(v)}else if(typeof o[n]=="string")m+=o[n];else break;b=r}}a("Bad string")},d=function(){for(;n&&n<=" ";)c()},p=function(){switch(n){case"t":return c("t"),c("r"),c("u"),c("e"),!0;case"f":return c("f"),c("a"),c("l"),c("s"),c("e"),!1;case"n":return c("n"),c("u"),c("l"),c("l"),null}a("Unexpected '"+n+"'")},g,A=function(){var _=[];if(n==="["){if(c("["),d(),n==="]")return c("]"),_;for(;n;){if(_.push(g()),d(),n==="]")return c("]"),_;c(","),d()}}a("Bad array")},E=function(){var _,y=Object.create(null);if(n==="{"){if(c("{"),d(),n==="}")return c("}"),y;for(;n;){if(_=f(),d(),c(":"),e.strict===!0&&Object.hasOwnProperty.call(y,_)&&a('Duplicate key "'+_+'"'),iE.test(_)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?g():y[_]=g():aE.test(_)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?g():y[_]=g():y[_]=g(),d(),n==="}")return c("}"),y;c(","),d()}}a("Bad object")};return g=function(){switch(d(),n){case"{":return E();case"[":return A();case'"':return f();case"-":return l();default:return n>="0"&&n<="9"?l():p()}},function(_,y){var m;return s=_+"",r=0,n=" ",m=g(),d(),n&&a("Syntax error"),typeof y=="function"?(function v(b,S){var D,O,q=b[S];return q&&typeof q=="object"&&Object.keys(q).forEach(function(J){O=v(q,J),O!==void 0?q[J]=O:delete q[J]}),y.call(b,S,q)})({"":m},""):m}};ag.exports=uE});var dg=V((ex,Hi)=>{var cg=ig().stringify,lg=ug();Hi.exports=function(t){return{parse:lg(t),stringify:cg}};Hi.exports.parse=lg();Hi.exports.stringify=cg});var zc=V(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=pg;zt.isGoogleComputeEngineLinux=mg;zt.isGoogleComputeEngineMACAddress=gg;zt.isGoogleComputeEngine=yg;zt.detectGCPResidency=lE;var fg=require("fs"),hg=require("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var cE=/^42:01/;function pg(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function mg(){if((0,hg.platform)()!=="linux")return!1;try{(0,fg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,fg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function gg(){let t=(0,hg.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(cE.test(r))return!0}return!1}function yg(){return mg()||gg()}function lE(){return pg()||yg()}});var _g=V(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.Colours=void 0;var Ze=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};Wi.Colours=Ze;Ze.enabled=!1;Ze.reset="";Ze.bright="";Ze.dim="";Ze.red="";Ze.green="";Ze.yellow="";Ze.blue="";Ze.magenta="";Ze.cyan="";Ze.white="";Ze.grey="";Ze.refresh()});var Eg=V(ve=>{"use strict";var dE=ve&&ve.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),fE=ve&&ve.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),bg=ve&&ve.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&dE(r,e,n[o]);return fE(r,e),r}})();Object.defineProperty(ve,"__esModule",{value:!0});ve.env=ve.DebugLogBackendBase=ve.placeholder=ve.AdhocDebugLogger=ve.LogSeverity=void 0;ve.getNodeBackend=Wc;ve.getDebugBackend=pE;ve.getStructuredBackend=mE;ve.setBackend=gE;ve.log=wg;var hE=require("events"),Qo=bg(require("process")),Cg=bg(require("util")),yt=_g(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(ve.LogSeverity=Ht={}));var Xo=class extends hE.EventEmitter{constructor(e,r){super(),this.namespace=e,this.upstream=r,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(n,o)=>this.on(n,o)}),this.func.debug=(...n)=>this.invokeSeverity(Ht.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(Ht.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(Ht.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(Ht.ERROR,...n),this.func.sublog=n=>wg(n,this.func)}invoke(e,...r){if(this.upstream)try{this.upstream(e,...r)}catch{}try{this.emit("log",e,r)}catch{}}invokeSeverity(e,...r){this.invoke({severity:e},...r)}};ve.AdhocDebugLogger=Xo;ve.placeholder=new Xo("",()=>{}).func;var to=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=Qo.env[ve.env.nodeEnables])!==null&&e!==void 0?e:"*";r==="all"&&(r="*"),this.filters=r.split(",")}log(e,r,...n){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(r,...n)}catch(o){console.error(o)}}};ve.DebugLogBackendBase=to;var Hc=class extends to{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(r,...n)=>{var o;let s=`${yt.Colours.green}${e}${yt.Colours.reset}`,a=`${yt.Colours.yellow}${Qo.pid}${yt.Colours.reset}`,c;switch(r.severity){case Ht.ERROR:c=`${yt.Colours.red}${r.severity}${yt.Colours.reset}`;break;case Ht.INFO:c=`${yt.Colours.magenta}${r.severity}${yt.Colours.reset}`;break;case Ht.WARNING:c=`${yt.Colours.yellow}${r.severity}${yt.Colours.reset}`;break;default:c=(o=r.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=Cg.formatWithOptions({colors:yt.Colours.enabled},...n),f=Object.assign({},r);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",p=d?`${yt.Colours.grey}${d}${yt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,c,l,d?` ${p}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function Wc(){return new Hc}var Gc=class extends to{constructor(e){super(),this.debugPkg=e}makeLogger(e){let r=this.debugPkg(e);return(n,...o)=>{r(o[0],...o.slice(1))}}setFilters(){var e;let r=(e=Qo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Qo.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function pE(t){return new Gc(t)}var Jc=class extends to{constructor(e){var r;super(),this.upstream=(r=e)!==null&&r!==void 0?r:void 0}makeLogger(e){var r;let n=(r=this.upstream)===null||r===void 0?void 0:r.makeLogger(e);return(o,...s)=>{var a;let c=(a=o.severity)!==null&&a!==void 0?a:Ht.INFO,l=Object.assign({severity:c,message:Cg.format(...s)},o),f=JSON.stringify(l);n?n(o,f):console.log("%s",f)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function mE(t){return new Jc(t)}ve.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Vc=new Map,_t;function gE(t){_t=t,Vc.clear()}function wg(t,e){if(!_t&&!Qo.env[ve.env.nodeEnables]||!t)return ve.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=Vc.get(t);if(r)return r.func;if(_t===null)return ve.placeholder;_t===void 0&&(_t=Wc());let n=(()=>{let o;return new Xo(t,(a,...c)=>{if(o!==_t){if(_t===null)return;_t===void 0&&(_t=Wc()),o=_t}_t?.log(t,a,...c)})})();return Vc.set(t,n),n.func}});var Kc=V(wn=>{"use strict";var yE=wn&&wn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),_E=wn&&wn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&yE(e,t,r)};Object.defineProperty(wn,"__esModule",{value:!0});_E(Eg(),wn)});var es=V(ie=>{"use strict";var Sg=ie&&ie.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),bE=ie&&ie.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),CE=ie&&ie.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Sg(r,e,n[o]);return bE(r,e),r}})(),wE=ie&&ie.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Sg(e,t,r)};Object.defineProperty(ie,"__esModule",{value:!0});ie.gcpResidencyCache=ie.METADATA_SERVER_DETECTION=ie.HEADERS=ie.HEADER_VALUE=ie.HEADER_NAME=ie.SECONDARY_HOST_ADDRESS=ie.HOST_ADDRESS=ie.BASE_PATH=void 0;ie.instance=TE;ie.project=DE;ie.universe=RE;ie.bulk=xE;ie.isAvailable=FE;ie.resetIsAvailableCache=PE;ie.getGCPResidency=Xc;ie.setGCPResidency=kg;ie.requestTimeout=vg;var Yc=Ke(),EE=dg(),AE=zc(),SE=CE(Kc());ie.BASE_PATH="/computeMetadata/v1";ie.HOST_ADDRESS="http://169.254.169.254";ie.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";ie.HEADER_NAME="Metadata-Flavor";ie.HEADER_VALUE="Google";ie.HEADERS=Object.freeze({[ie.HEADER_NAME]:ie.HEADER_VALUE});var Ag=SE.log("gcp-metadata");ie.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function Qc(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||ie.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(ie.BASE_PATH,t).href}function kE(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function Zo(t,e={},r=3,n=!1){let o=new Headers(ie.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((g,A)=>o.set(A,g)),s=p.metadataKey,a=p.params||a,r=p.noResponseRetries||r,n=p.fastFail||n}else s=t;typeof e=="string"?s+=`/${e}`:(kE(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,g)=>o.set(g,p)),a=e.params||a);let c=n?vE:Yc.request,l={url:`${Qc()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:vg()};Ag.info("instance request %j",l);let f=await c(l);Ag.info("instance metadata is %s",f.data);let d=f.headers.get(ie.HEADER_NAME);if(d!==ie.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ie.HEADER_NAME} header. Expected '${ie.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return EE.parse(f.data)}catch{}return f.data}async function vE(t){let e={...t,url:t.url?.toString().replace(Qc(),Qc(ie.SECONDARY_HOST_ADDRESS))},r=(0,Yc.request)(t),n=(0,Yc.request)(e);return Promise.any([r,n])}function TE(t){return Zo("instance",t)}function DE(t){return Zo("project",t)}function RE(t){return Zo("universe",t)}async function xE(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await Zo(r),o=r.metadataKey;e[o]=n})())),e}function OE(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Gi;async function FE(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in ie.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(ie.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return Xc();case"ping-only":}}try{return Gi===void 0&&(Gi=Zo("instance",void 0,OE(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Gi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let r="UNKNOWN";e.code&&(r=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${r}`,"MetadataLookupWarning")}return!1}}function PE(){Gi=void 0}ie.gcpResidencyCache=null;function Xc(){return ie.gcpResidencyCache===null&&kg(),ie.gcpResidencyCache}function kg(t=null){ie.gcpResidencyCache=t!==null?t:(0,AE.detectGCPResidency)()}function vg(){return Xc()?0:3e3}wE(zc(),ie)});var Rg=V(Ji=>{"use strict";Ji.byteLength=BE;Ji.toByteArray=jE;Ji.fromByteArray=UE;var rr=[],xt=[],IE=typeof Uint8Array<"u"?Uint8Array:Array,Zc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(En=0,Tg=Zc.length;En<Tg;++En)rr[En]=Zc[En],xt[Zc.charCodeAt(En)]=En;var En,Tg;xt[45]=62;xt[95]=63;function Dg(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function BE(t){var e=Dg(t),r=e[0],n=e[1];return(r+n)*3/4-n}function NE(t,e,r){return(e+r)*3/4-r}function jE(t){var e,r=Dg(t),n=r[0],o=r[1],s=new IE(NE(t,n,o)),a=0,c=o>0?n-4:n,l;for(l=0;l<c;l+=4)e=xt[t.charCodeAt(l)]<<18|xt[t.charCodeAt(l+1)]<<12|xt[t.charCodeAt(l+2)]<<6|xt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=xt[t.charCodeAt(l)]<<2|xt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=xt[t.charCodeAt(l)]<<10|xt[t.charCodeAt(l+1)]<<4|xt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function ME(t){return rr[t>>18&63]+rr[t>>12&63]+rr[t>>6&63]+rr[t&63]}function LE(t,e,r){for(var n,o=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(ME(n));return o.join("")}function UE(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,c=r-n;a<c;a+=s)o.push(LE(t,a,a+s>c?c:a+s));return n===1?(e=t[r-1],o.push(rr[e>>2]+rr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(rr[e>>10]+rr[e>>4&63]+rr[e<<2&63]+"=")),o.join("")}});var tl=V(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.fromArrayBufferToHex=$E;function $E(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var xg=V(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.BrowserCrypto=void 0;var ro=Rg(),qE=tl(),rl=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return ro.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),ro.fromByteArray(r)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,r,n){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(r),a=ro.toByteArray(t.padBase64(n)),c=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,c,a,s)}async sign(e,r){let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(r),s=await window.crypto.subtle.importKey("jwk",e,n,!0,["sign"]),a=await window.crypto.subtle.sign(n,s,o);return ro.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=ro.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return ro.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,qE.fromArrayBufferToHex)(n)}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(n),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(r))}};Vi.BrowserCrypto=rl});var Og=V(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.NodeCrypto=void 0;var no=require("crypto"),nl=class{async sha256DigestBase64(e){return no.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return no.randomBytes(e).toString("base64")}async verify(e,r,n){let o=no.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=no.createSign("RSA-SHA256");return n.update(r),n.end(),n.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return no.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:HE(e);return zE(no.createHmac("sha256",n).update(r).digest())}};Ki.NodeCrypto=nl;function zE(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function HE(t){return Buffer.from(t)}});var ts=V(kr=>{"use strict";var WE=kr&&kr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),GE=kr&&kr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&WE(e,t,r)};Object.defineProperty(kr,"__esModule",{value:!0});kr.createCrypto=KE;kr.hasBrowserCrypto=Fg;var JE=xg(),VE=Og();GE(tl(),kr);function KE(){return Fg()?new JE.BrowserCrypto:new VE.NodeCrypto}function Fg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var oo=V((ol,Ig)=>{var Yi=require("buffer"),nr=Yi.Buffer;function Pg(t,e){for(var r in t)e[r]=t[r]}nr.from&&nr.alloc&&nr.allocUnsafe&&nr.allocUnsafeSlow?Ig.exports=Yi:(Pg(Yi,ol),ol.Buffer=An);function An(t,e,r){return nr(t,e,r)}An.prototype=Object.create(nr.prototype);Pg(nr,An);An.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return nr(t,e,r)};An.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=nr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};An.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return nr(t)};An.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Yi.SlowBuffer(t)}});var Ng=V((dx,Bg)=>{"use strict";function sl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var YE={ES256:sl(256),ES384:sl(384),ES512:sl(521)};function QE(t){var e=YE[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}Bg.exports=QE});var il=V((fx,qg)=>{"use strict";var Qi=oo().Buffer,Mg=Ng(),Xi=128,Lg=0,XE=32,ZE=16,eA=2,Ug=ZE|XE|Lg<<6,Zi=eA|Lg<<6;function tA(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function $g(t){if(Qi.isBuffer(t))return t;if(typeof t=="string")return Qi.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function rA(t,e){t=$g(t);var r=Mg(e),n=r+1,o=t.length,s=0;if(t[s++]!==Ug)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Xi|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Zi)throw new Error('Could not find expected "int" for "r"');var c=t[s++];if(o-s-2<c)throw new Error('"r" specified length of "'+c+'", only "'+(o-s-2)+'" available');if(n<c)throw new Error('"r" specified length of "'+c+'", max of "'+n+'" is acceptable');var l=s;if(s+=c,t[s++]!==Zi)throw new Error('Could not find expected "int" for "s"');var f=t[s++];if(o-s!==f)throw new Error('"s" specified length of "'+f+'", expected "'+(o-s)+'"');if(n<f)throw new Error('"s" specified length of "'+f+'", max of "'+n+'" is acceptable');var d=s;if(s+=f,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=r-c,g=r-f,A=Qi.allocUnsafe(p+c+g+f);for(s=0;s<p;++s)A[s]=0;t.copy(A,s,l+Math.max(-p,0),l+c),s=r;for(var E=s;s<E+g;++s)A[s]=0;return t.copy(A,s,d+Math.max(-g,0),d+f),A=A.toString("base64"),A=tA(A),A}function jg(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=Xi;return o&&--n,n}function nA(t,e){t=$g(t);var r=Mg(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=jg(t,0,r),s=jg(t,r,t.length),a=r-o,c=r-s,l=2+a+1+1+c,f=l<Xi,d=Qi.allocUnsafe((f?2:3)+l),p=0;return d[p++]=Ug,f?d[p++]=l:(d[p++]=Xi|1,d[p++]=l&255),d[p++]=Zi,d[p++]=a,o<0?(d[p++]=0,p+=t.copy(d,p,0,r)):p+=t.copy(d,p,o,r),d[p++]=Zi,d[p++]=c,s<0?(d[p++]=0,t.copy(d,p,r)):t.copy(d,p,r+s),d}qg.exports={derToJose:rA,joseToDer:nA}});var Wt=V(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.LRUCache=void 0;vr.snakeToCamel=Hg;vr.originalOrCamelOptions=aA;vr.removeUndefinedValuesInObject=uA;vr.isValidFile=cA;vr.getWellKnownCertificateConfigFileLocation=lA;var oA=require("fs"),sA=require("os"),al=require("path"),iA="certificate_config.json",zg="gcloud";function Hg(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function aA(t){function e(r){let n=t||{};return n[r]??n[Hg(r)]}return{get:e}}var ul=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,r){this.#e.delete(e),this.#e.set(e,{value:r,lastAccessed:Date.now()})}set(e,r){this.#t(e,r),this.#r()}get(e){let r=this.#e.get(e);if(r)return this.#t(e,r.value),this.#r(),r.value}#r(){let e=this.maxAge?Date.now()-this.maxAge:0,r=this.#e.entries().next();for(;!r.done&&(this.#e.size>this.capacity||r.value[1].lastAccessed<e);)this.#e.delete(r.value[0]),r=this.#e.entries().next()}};vr.LRUCache=ul;function uA(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function cA(t){try{return(await oA.promises.lstat(t)).isFile()}catch{return!1}}function lA(){let t=process.env.CLOUDSDK_CONFIG||(dA()?al.join(process.env.APPDATA||"",zg):al.join(process.env.HOME||"",".config",zg));return al.join(t,iA)}function dA(){return sA.platform().startsWith("win")}});var Wg=V((px,fA)=>{fA.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var cl=V(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.USER_AGENT=Kr.PRODUCT_NAME=Kr.pkg=void 0;var Gg=Wg();Kr.pkg=Gg;var Jg="google-api-nodejs-client";Kr.PRODUCT_NAME=Jg;var hA=`${Jg}/${Gg.version}`;Kr.USER_AGENT=hA});var bt=V(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var pA=require("events"),ll=Ke(),mA=Wt(),gA=Kc(),dl=cl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var fl=class t extends pA.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Gt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,mA.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=r.get("project_id")??null,this.quotaProjectId=r.get("quota_project_id"),this.credentials=r.get("credentials")??{},this.universeDomain=r.get("universe_domain")??Gt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new ll.Gaxios(e.transporterOptions),r.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&ll.Gaxios.mergeHeaders(s,r.headers),n&&ll.Gaxios.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,r){let n=r.get("x-goog-user-project"),o=r.get("authorization");return n&&e.set("x-goog-user-project",n),o&&e.set("authorization",o),e}static log=(0,gA.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let n=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${n}`)}let r=e.headers.get("User-Agent");r?r.includes(`${dl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${dl.USER_AGENT}`):e.headers.set("User-Agent",dl.USER_AGENT);try{let n=e,o=n[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;n[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] response %j",n,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] error %j",n,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,r){try{let n=e;n[t.RequestMethodNameSymbol]=r}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Gt.AuthClient=fl});var pl=V(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.LoginTicket=void 0;var hl=class{envelope;payload;constructor(e,r){this.envelope=e,this.payload=r}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};ea.LoginTicket=hl});var Sn=V(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.OAuth2Client=or.ClientAuthentication=or.CertificateFormat=or.CodeChallengeMethod=void 0;var Vg=Ke(),yA=require("querystring"),_A=require("stream"),bA=il(),Kg=Wt(),ml=ts(),so=bt(),CA=pl(),Yg;(function(t){t.Plain="plain",t.S256="S256"})(Yg||(or.CodeChallengeMethod=Yg={}));var Tr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Tr||(or.CertificateFormat=Tr={}));var rs;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(rs||(or.ClientAuthentication=rs={}));var gl=class t extends so.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Tr.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},r,n){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:r,redirectUri:n}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||rs.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+yA.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,ml.createCrypto)(),n=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(n)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:n,codeChallenge:s}}getToken(e,r){let n=typeof e=="string"?{code:e}:e;if(r)this.getTokenAsync(n).then(o=>r(null,o.tokens,o.res),o=>r(o,null,o.response));else return this.getTokenAsync(n)}async getTokenAsync(e){let r=this.endpoints.oauth2TokenUrl.toString(),n=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===rs.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===rs.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Kg.removeUndefinedValuesInObject)(o)),headers:n};so.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),c=a.data;return a.data&&a.data.expires_in&&(c.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete c.expires_in),this.emit("tokens",c),{tokens:c,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let r=this.refreshTokenNoCache(e).then(n=>(this.refreshTokenPromises.delete(e),n),n=>{throw this.refreshTokenPromises.delete(e),n});return this.refreshTokenPromises.set(e,r),r}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let r=this.endpoints.oauth2TokenUrl.toString(),n={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Kg.removeUndefinedValuesInObject)(n))};so.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof Vg.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(r=>e(null,r.credentials,r.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),r=e.tokens;return r.refresh_token=this.credentials.refresh_token,this.credentials=r,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(r=>e(null,r.token,r.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let n=await this.processAndValidateRefreshHandler();if(n?.access_token)return this.setCredentials(n),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let r=await this.refreshAccessTokenAsync();if(!r.credentials||r.credentials&&!r.credentials.access_token)throw new Error("Could not refresh access token.");return{token:r.credentials.access_token,res:r.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let r=this.credentials;if(!r.access_token&&!r.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(r.access_token&&!this.isTokenExpiring()){r.token_type=r.token_type||"Bearer";let c=new Headers({authorization:r.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(c)}}if(this.refreshHandler){let c=await this.processAndValidateRefreshHandler();if(c?.access_token){this.setCredentials(c);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let n=null,o=null;try{n=await this.refreshToken(r.refresh_token),o=n.tokens}catch(c){let l=c;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:n.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let r=new URL(this.endpoints.oauth2RevokeUrl);return r.searchParams.append("token",e),r}revokeToken(e,r){let n={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(so.AuthClient.setMethodName(n,"revokeToken"),r)this.transporter.request(n).then(o=>r(null,o),r);else return this.transporter.request(n)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(r=>e(null,r),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){try{let n=await this.getRequestMetadataAsync();return e.headers=Vg.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(n){let o=n.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),c=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof _A.Readable,f=s===401||s===403;if(!r&&f&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&f&&!l&&c){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),this.requestAsync(e,!0)}}throw n}}verifyIdToken(e,r){if(r&&typeof r!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(r)this.verifyIdTokenAsync(e).then(n=>r(null,n),r);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let r=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,r.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:r}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),n=Object.assign({expiry_date:new Date().getTime()+r.expires_in*1e3,scopes:r.scope.split(" ")},r);return delete n.expires_in,delete n.scope,n}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(r=>e(null,r.certs,r.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),r=(0,ml.hasBrowserCrypto)()?Tr.JWK:Tr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Tr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Tr.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let f={...t.RETRY_CONFIG,url:o};so.AuthClient.setMethodName(f,"getFederatedSignonCertsAsync"),n=await this.transporter.request(f)}catch(f){throw f instanceof Error&&(f.message=`Failed to retrieve verification certificates: ${f.message}`),f}let s=n?.headers.get("cache-control"),a=-1;if(s){let f=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;f&&(a=Number(f)*1e3)}let c={};switch(r){case Tr.PEM:c=n.data;break;case Tr.JWK:for(let f of n.data.keys)c[f.kid]=f;break;default:throw new Error(`Unsupported certificate format ${r}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=c,this.certificateCacheFormat=r,{certs:c,format:r,res:n}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(r=>e(null,r.pubkeys,r.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,r=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let n={...t.RETRY_CONFIG,url:r};so.AuthClient.setMethodName(n,"getIapPublicKeysAsync"),e=await this.transporter.request(n)}catch(n){throw n instanceof Error&&(n.message=`Failed to retrieve verification certificates: ${n.message}`),n}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,r,n,o,s){let a=(0,ml.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let c=e.split(".");if(c.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=c[0]+"."+c[1],f=c[2],d,p;try{d=JSON.parse(a.decodeBase64StringUtf8(c[0]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token envelope: ${c[0]}': ${b.message}`),b}if(!d)throw new Error("Can't parse token envelope: "+c[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(c[1]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token payload '${c[0]}`),b}if(!p)throw new Error("Can't parse token payload: "+c[1]);if(!Object.prototype.hasOwnProperty.call(r,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let g=r[d.kid];if(d.alg==="ES256"&&(f=bA.joseToDer(f,"ES256").toString("base64")),!await a.verify(g,l,f))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let E=Number(p.iat);if(isNaN(E))throw new Error("iat field using invalid format");let _=Number(p.exp);if(isNaN(_))throw new Error("exp field using invalid format");let y=new Date().getTime()/1e3;if(_>=y+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=E-t.CLOCK_SKEW_SECS_,v=_+t.CLOCK_SKEW_SECS_;if(y<m)throw new Error("Token used too early, "+y+" < "+m+": "+JSON.stringify(p));if(y>v)throw new Error("Token used too late, "+y+" > "+v+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof n<"u"&&n!==null){let b=p.aud,S=!1;if(n.constructor===Array?S=n.indexOf(b)>-1:S=b===n,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new CA.LoginTicket(d,p)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};or.OAuth2Client=gl});var _l=V(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.Compute=void 0;var wA=Ke(),Qg=es(),EA=Sn(),yl=class extends EA.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,r;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),r=await Qg.instance(o)}catch(o){throw o instanceof wA.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let n=r;return r&&r.expires_in&&(n.expiry_date=new Date().getTime()+r.expires_in*1e3,delete n.expires_in),this.emit("tokens",n),{tokens:n,res:null}}async fetchIdToken(e){let r=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,n;try{let o={property:r};n=await Qg.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return n}wrapError(e){let r=e.response;r&&r.status&&(e.status=r.status,r.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:r.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};ta.Compute=yl});var Cl=V(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.IdTokenClient=void 0;var AA=Sn(),bl=class extends AA.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let r=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:r,expiry_date:this.getIdTokenExpiryDate(r)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let r=e.split(".")[1];if(r)return JSON.parse(Buffer.from(r,"base64").toString("ascii")).exp*1e3}};ra.IdTokenClient=bl});var wl=V(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.GCPEnv=void 0;io.clear=SA;io.getEnv=kA;var Xg=es(),sr;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(sr||(io.GCPEnv=sr={}));var ns;function SA(){ns=void 0}async function kA(){return ns||(ns=vA(),ns)}async function vA(){let t=sr.NONE;return TA()?t=sr.APP_ENGINE:DA()?t=sr.CLOUD_FUNCTIONS:await FA()?await OA()?t=sr.KUBERNETES_ENGINE:RA()?t=sr.CLOUD_RUN:xA()?t=sr.CLOUD_RUN_JOBS:t=sr.COMPUTE_ENGINE:t=sr.NONE,t}function TA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function DA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function RA(){return!!process.env.K_CONFIGURATION}function xA(){return!!process.env.CLOUD_RUN_JOB}async function OA(){try{return await Xg.instance("attributes/cluster-name"),!0}catch{return!1}}async function FA(){return Xg.isAvailable()}});var El=V((Ex,Zg)=>{var na=oo().Buffer,PA=require("stream"),IA=require("util");function oa(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=na.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=na.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}IA.inherits(oa,PA);oa.prototype.write=function(e){this.buffer=na.concat([this.buffer,na.from(e)]),this.emit("data",e)};oa.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};Zg.exports=oa});var ty=V((Ax,ey)=>{"use strict";var os=require("buffer").Buffer,Al=require("buffer").SlowBuffer;ey.exports=sa;function sa(t,e){if(!os.isBuffer(t)||!os.isBuffer(e)||t.length!==e.length)return!1;for(var r=0,n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}sa.install=function(){os.prototype.equal=Al.prototype.equal=function(e){return sa(this,e)}};var BA=os.prototype.equal,NA=Al.prototype.equal;sa.restore=function(){os.prototype.equal=BA,Al.prototype.equal=NA}});var Tl=V((Sx,ly)=>{var uo=oo().Buffer,Ot=require("crypto"),ny=il(),ry=require("util"),jA=`"%s" is not a valid algorithm.
49
+ `+y+"}":"{"+_.join(",")+"}",n=y,k}}typeof og.stringify!="function"&&(og.stringify=function(d,f,p){var g;if(n="",o="",typeof p=="number")for(g=0;g<p;g+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return l("",{"":d})})})()});var ug=V((ex,ag)=>{var zi=null,iE=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,aE=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,uE=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var r,n,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
50
+ `,r:"\r",t:" "},s,a=function(y){throw{name:"SyntaxError",message:y,at:r,text:s}},c=function(y){return y&&y!==n&&a("Expected '"+y+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},l=function(){var y,_="";for(n==="-"&&(_="-",c("-"));n>="0"&&n<="9";)_+=n,c();if(n===".")for(_+=".";c()&&n>="0"&&n<="9";)_+=n;if(n==="e"||n==="E")for(_+=n,c(),(n==="-"||n==="+")&&(_+=n,c());n>="0"&&n<="9";)_+=n,c();if(y=+_,!isFinite(y))a("Bad number");else return zi==null&&(zi=qc()),_.length>15?e.storeAsString?_:e.useNativeBigInt?BigInt(_):new zi(_):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new zi(y):y},d=function(){var y,_,m="",v;if(n==='"')for(var b=r;c();){if(n==='"')return r-1>b&&(m+=s.substring(b,r-1)),c(),m;if(n==="\\"){if(r-1>b&&(m+=s.substring(b,r-1)),c(),n==="u"){for(v=0,_=0;_<4&&(y=parseInt(c(),16),!!isFinite(y));_+=1)v=v*16+y;m+=String.fromCharCode(v)}else if(typeof o[n]=="string")m+=o[n];else break;b=r}}a("Bad string")},f=function(){for(;n&&n<=" ";)c()},p=function(){switch(n){case"t":return c("t"),c("r"),c("u"),c("e"),!0;case"f":return c("f"),c("a"),c("l"),c("s"),c("e"),!1;case"n":return c("n"),c("u"),c("l"),c("l"),null}a("Unexpected '"+n+"'")},g,k=function(){var y=[];if(n==="["){if(c("["),f(),n==="]")return c("]"),y;for(;n;){if(y.push(g()),f(),n==="]")return c("]"),y;c(","),f()}}a("Bad array")},w=function(){var y,_=Object.create(null);if(n==="{"){if(c("{"),f(),n==="}")return c("}"),_;for(;n;){if(y=d(),f(),c(":"),e.strict===!0&&Object.hasOwnProperty.call(_,y)&&a('Duplicate key "'+y+'"'),iE.test(y)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?g():_[y]=g():aE.test(y)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?g():_[y]=g():_[y]=g(),f(),n==="}")return c("}"),_;c(","),f()}}a("Bad object")};return g=function(){switch(f(),n){case"{":return w();case"[":return k();case'"':return d();case"-":return l();default:return n>="0"&&n<="9"?l():p()}},function(y,_){var m;return s=y+"",r=0,n=" ",m=g(),f(),n&&a("Syntax error"),typeof _=="function"?(function v(b,S){var D,O,q=b[S];return q&&typeof q=="object"&&Object.keys(q).forEach(function(J){O=v(q,J),O!==void 0?q[J]=O:delete q[J]}),_.call(b,S,q)})({"":m},""):m}};ag.exports=uE});var dg=V((tx,Hi)=>{var cg=ig().stringify,lg=ug();Hi.exports=function(t){return{parse:lg(t),stringify:cg}};Hi.exports.parse=lg();Hi.exports.stringify=cg});var zc=V(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=pg;zt.isGoogleComputeEngineLinux=mg;zt.isGoogleComputeEngineMACAddress=gg;zt.isGoogleComputeEngine=yg;zt.detectGCPResidency=lE;var fg=require("fs"),hg=require("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var cE=/^42:01/;function pg(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function mg(){if((0,hg.platform)()!=="linux")return!1;try{(0,fg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,fg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function gg(){let t=(0,hg.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(cE.test(r))return!0}return!1}function yg(){return mg()||gg()}function lE(){return pg()||yg()}});var _g=V(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.Colours=void 0;var Ze=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};Wi.Colours=Ze;Ze.enabled=!1;Ze.reset="";Ze.bright="";Ze.dim="";Ze.red="";Ze.green="";Ze.yellow="";Ze.blue="";Ze.magenta="";Ze.cyan="";Ze.white="";Ze.grey="";Ze.refresh()});var Eg=V(ve=>{"use strict";var dE=ve&&ve.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),fE=ve&&ve.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),bg=ve&&ve.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&dE(r,e,n[o]);return fE(r,e),r}})();Object.defineProperty(ve,"__esModule",{value:!0});ve.env=ve.DebugLogBackendBase=ve.placeholder=ve.AdhocDebugLogger=ve.LogSeverity=void 0;ve.getNodeBackend=Wc;ve.getDebugBackend=pE;ve.getStructuredBackend=mE;ve.setBackend=gE;ve.log=wg;var hE=require("events"),Qo=bg(require("process")),Cg=bg(require("util")),yt=_g(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(ve.LogSeverity=Ht={}));var Xo=class extends hE.EventEmitter{constructor(e,r){super(),this.namespace=e,this.upstream=r,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(n,o)=>this.on(n,o)}),this.func.debug=(...n)=>this.invokeSeverity(Ht.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(Ht.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(Ht.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(Ht.ERROR,...n),this.func.sublog=n=>wg(n,this.func)}invoke(e,...r){if(this.upstream)try{this.upstream(e,...r)}catch{}try{this.emit("log",e,r)}catch{}}invokeSeverity(e,...r){this.invoke({severity:e},...r)}};ve.AdhocDebugLogger=Xo;ve.placeholder=new Xo("",()=>{}).func;var to=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=Qo.env[ve.env.nodeEnables])!==null&&e!==void 0?e:"*";r==="all"&&(r="*"),this.filters=r.split(",")}log(e,r,...n){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(r,...n)}catch(o){console.error(o)}}};ve.DebugLogBackendBase=to;var Hc=class extends to{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(r,...n)=>{var o;let s=`${yt.Colours.green}${e}${yt.Colours.reset}`,a=`${yt.Colours.yellow}${Qo.pid}${yt.Colours.reset}`,c;switch(r.severity){case Ht.ERROR:c=`${yt.Colours.red}${r.severity}${yt.Colours.reset}`;break;case Ht.INFO:c=`${yt.Colours.magenta}${r.severity}${yt.Colours.reset}`;break;case Ht.WARNING:c=`${yt.Colours.yellow}${r.severity}${yt.Colours.reset}`;break;default:c=(o=r.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=Cg.formatWithOptions({colors:yt.Colours.enabled},...n),d=Object.assign({},r);delete d.severity;let f=Object.getOwnPropertyNames(d).length?JSON.stringify(d):"",p=f?`${yt.Colours.grey}${f}${yt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,c,l,f?` ${p}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function Wc(){return new Hc}var Gc=class extends to{constructor(e){super(),this.debugPkg=e}makeLogger(e){let r=this.debugPkg(e);return(n,...o)=>{r(o[0],...o.slice(1))}}setFilters(){var e;let r=(e=Qo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Qo.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function pE(t){return new Gc(t)}var Jc=class extends to{constructor(e){var r;super(),this.upstream=(r=e)!==null&&r!==void 0?r:void 0}makeLogger(e){var r;let n=(r=this.upstream)===null||r===void 0?void 0:r.makeLogger(e);return(o,...s)=>{var a;let c=(a=o.severity)!==null&&a!==void 0?a:Ht.INFO,l=Object.assign({severity:c,message:Cg.format(...s)},o),d=JSON.stringify(l);n?n(o,d):console.log("%s",d)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function mE(t){return new Jc(t)}ve.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Vc=new Map,_t;function gE(t){_t=t,Vc.clear()}function wg(t,e){if(!_t&&!Qo.env[ve.env.nodeEnables]||!t)return ve.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=Vc.get(t);if(r)return r.func;if(_t===null)return ve.placeholder;_t===void 0&&(_t=Wc());let n=(()=>{let o;return new Xo(t,(a,...c)=>{if(o!==_t){if(_t===null)return;_t===void 0&&(_t=Wc()),o=_t}_t?.log(t,a,...c)})})();return Vc.set(t,n),n.func}});var Kc=V(wn=>{"use strict";var yE=wn&&wn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),_E=wn&&wn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&yE(e,t,r)};Object.defineProperty(wn,"__esModule",{value:!0});_E(Eg(),wn)});var es=V(ie=>{"use strict";var Sg=ie&&ie.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),bE=ie&&ie.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),CE=ie&&ie.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Sg(r,e,n[o]);return bE(r,e),r}})(),wE=ie&&ie.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Sg(e,t,r)};Object.defineProperty(ie,"__esModule",{value:!0});ie.gcpResidencyCache=ie.METADATA_SERVER_DETECTION=ie.HEADERS=ie.HEADER_VALUE=ie.HEADER_NAME=ie.SECONDARY_HOST_ADDRESS=ie.HOST_ADDRESS=ie.BASE_PATH=void 0;ie.instance=TE;ie.project=DE;ie.universe=RE;ie.bulk=xE;ie.isAvailable=PE;ie.resetIsAvailableCache=FE;ie.getGCPResidency=Xc;ie.setGCPResidency=Ag;ie.requestTimeout=vg;var Yc=Ke(),EE=dg(),kE=zc(),SE=CE(Kc());ie.BASE_PATH="/computeMetadata/v1";ie.HOST_ADDRESS="http://169.254.169.254";ie.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";ie.HEADER_NAME="Metadata-Flavor";ie.HEADER_VALUE="Google";ie.HEADERS=Object.freeze({[ie.HEADER_NAME]:ie.HEADER_VALUE});var kg=SE.log("gcp-metadata");ie.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function Qc(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||ie.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(ie.BASE_PATH,t).href}function AE(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function Zo(t,e={},r=3,n=!1){let o=new Headers(ie.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((g,k)=>o.set(k,g)),s=p.metadataKey,a=p.params||a,r=p.noResponseRetries||r,n=p.fastFail||n}else s=t;typeof e=="string"?s+=`/${e}`:(AE(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,g)=>o.set(g,p)),a=e.params||a);let c=n?vE:Yc.request,l={url:`${Qc()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:vg()};kg.info("instance request %j",l);let d=await c(l);kg.info("instance metadata is %s",d.data);let f=d.headers.get(ie.HEADER_NAME);if(f!==ie.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ie.HEADER_NAME} header. Expected '${ie.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return EE.parse(d.data)}catch{}return d.data}async function vE(t){let e={...t,url:t.url?.toString().replace(Qc(),Qc(ie.SECONDARY_HOST_ADDRESS))},r=(0,Yc.request)(t),n=(0,Yc.request)(e);return Promise.any([r,n])}function TE(t){return Zo("instance",t)}function DE(t){return Zo("project",t)}function RE(t){return Zo("universe",t)}async function xE(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await Zo(r),o=r.metadataKey;e[o]=n})())),e}function OE(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Gi;async function PE(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in ie.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(ie.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return Xc();case"ping-only":}}try{return Gi===void 0&&(Gi=Zo("instance",void 0,OE(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Gi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let r="UNKNOWN";e.code&&(r=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${r}`,"MetadataLookupWarning")}return!1}}function FE(){Gi=void 0}ie.gcpResidencyCache=null;function Xc(){return ie.gcpResidencyCache===null&&Ag(),ie.gcpResidencyCache}function Ag(t=null){ie.gcpResidencyCache=t!==null?t:(0,kE.detectGCPResidency)()}function vg(){return Xc()?0:3e3}wE(zc(),ie)});var Rg=V(Ji=>{"use strict";Ji.byteLength=BE;Ji.toByteArray=ME;Ji.fromByteArray=UE;var rr=[],xt=[],IE=typeof Uint8Array<"u"?Uint8Array:Array,Zc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(En=0,Tg=Zc.length;En<Tg;++En)rr[En]=Zc[En],xt[Zc.charCodeAt(En)]=En;var En,Tg;xt[45]=62;xt[95]=63;function Dg(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function BE(t){var e=Dg(t),r=e[0],n=e[1];return(r+n)*3/4-n}function NE(t,e,r){return(e+r)*3/4-r}function ME(t){var e,r=Dg(t),n=r[0],o=r[1],s=new IE(NE(t,n,o)),a=0,c=o>0?n-4:n,l;for(l=0;l<c;l+=4)e=xt[t.charCodeAt(l)]<<18|xt[t.charCodeAt(l+1)]<<12|xt[t.charCodeAt(l+2)]<<6|xt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=xt[t.charCodeAt(l)]<<2|xt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=xt[t.charCodeAt(l)]<<10|xt[t.charCodeAt(l+1)]<<4|xt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function jE(t){return rr[t>>18&63]+rr[t>>12&63]+rr[t>>6&63]+rr[t&63]}function LE(t,e,r){for(var n,o=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(jE(n));return o.join("")}function UE(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,c=r-n;a<c;a+=s)o.push(LE(t,a,a+s>c?c:a+s));return n===1?(e=t[r-1],o.push(rr[e>>2]+rr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(rr[e>>10]+rr[e>>4&63]+rr[e<<2&63]+"=")),o.join("")}});var tl=V(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.fromArrayBufferToHex=$E;function $E(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var xg=V(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.BrowserCrypto=void 0;var ro=Rg(),qE=tl(),rl=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return ro.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),ro.fromByteArray(r)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,r,n){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(r),a=ro.toByteArray(t.padBase64(n)),c=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,c,a,s)}async sign(e,r){let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(r),s=await window.crypto.subtle.importKey("jwk",e,n,!0,["sign"]),a=await window.crypto.subtle.sign(n,s,o);return ro.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=ro.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return ro.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,qE.fromArrayBufferToHex)(n)}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(n),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(r))}};Vi.BrowserCrypto=rl});var Og=V(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.NodeCrypto=void 0;var no=require("crypto"),nl=class{async sha256DigestBase64(e){return no.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return no.randomBytes(e).toString("base64")}async verify(e,r,n){let o=no.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=no.createSign("RSA-SHA256");return n.update(r),n.end(),n.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return no.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:HE(e);return zE(no.createHmac("sha256",n).update(r).digest())}};Ki.NodeCrypto=nl;function zE(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function HE(t){return Buffer.from(t)}});var ts=V(Ar=>{"use strict";var WE=Ar&&Ar.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),GE=Ar&&Ar.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&WE(e,t,r)};Object.defineProperty(Ar,"__esModule",{value:!0});Ar.createCrypto=KE;Ar.hasBrowserCrypto=Pg;var JE=xg(),VE=Og();GE(tl(),Ar);function KE(){return Pg()?new JE.BrowserCrypto:new VE.NodeCrypto}function Pg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var oo=V((ol,Ig)=>{var Yi=require("buffer"),nr=Yi.Buffer;function Fg(t,e){for(var r in t)e[r]=t[r]}nr.from&&nr.alloc&&nr.allocUnsafe&&nr.allocUnsafeSlow?Ig.exports=Yi:(Fg(Yi,ol),ol.Buffer=kn);function kn(t,e,r){return nr(t,e,r)}kn.prototype=Object.create(nr.prototype);Fg(nr,kn);kn.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return nr(t,e,r)};kn.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=nr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};kn.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return nr(t)};kn.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Yi.SlowBuffer(t)}});var Ng=V((fx,Bg)=>{"use strict";function sl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var YE={ES256:sl(256),ES384:sl(384),ES512:sl(521)};function QE(t){var e=YE[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}Bg.exports=QE});var il=V((hx,qg)=>{"use strict";var Qi=oo().Buffer,jg=Ng(),Xi=128,Lg=0,XE=32,ZE=16,ek=2,Ug=ZE|XE|Lg<<6,Zi=ek|Lg<<6;function tk(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function $g(t){if(Qi.isBuffer(t))return t;if(typeof t=="string")return Qi.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function rk(t,e){t=$g(t);var r=jg(e),n=r+1,o=t.length,s=0;if(t[s++]!==Ug)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Xi|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Zi)throw new Error('Could not find expected "int" for "r"');var c=t[s++];if(o-s-2<c)throw new Error('"r" specified length of "'+c+'", only "'+(o-s-2)+'" available');if(n<c)throw new Error('"r" specified length of "'+c+'", max of "'+n+'" is acceptable');var l=s;if(s+=c,t[s++]!==Zi)throw new Error('Could not find expected "int" for "s"');var d=t[s++];if(o-s!==d)throw new Error('"s" specified length of "'+d+'", expected "'+(o-s)+'"');if(n<d)throw new Error('"s" specified length of "'+d+'", max of "'+n+'" is acceptable');var f=s;if(s+=d,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=r-c,g=r-d,k=Qi.allocUnsafe(p+c+g+d);for(s=0;s<p;++s)k[s]=0;t.copy(k,s,l+Math.max(-p,0),l+c),s=r;for(var w=s;s<w+g;++s)k[s]=0;return t.copy(k,s,f+Math.max(-g,0),f+d),k=k.toString("base64"),k=tk(k),k}function Mg(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=Xi;return o&&--n,n}function nk(t,e){t=$g(t);var r=jg(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=Mg(t,0,r),s=Mg(t,r,t.length),a=r-o,c=r-s,l=2+a+1+1+c,d=l<Xi,f=Qi.allocUnsafe((d?2:3)+l),p=0;return f[p++]=Ug,d?f[p++]=l:(f[p++]=Xi|1,f[p++]=l&255),f[p++]=Zi,f[p++]=a,o<0?(f[p++]=0,p+=t.copy(f,p,0,r)):p+=t.copy(f,p,o,r),f[p++]=Zi,f[p++]=c,s<0?(f[p++]=0,t.copy(f,p,r)):t.copy(f,p,r+s),f}qg.exports={derToJose:rk,joseToDer:nk}});var Wt=V(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.LRUCache=void 0;vr.snakeToCamel=Hg;vr.originalOrCamelOptions=ak;vr.removeUndefinedValuesInObject=uk;vr.isValidFile=ck;vr.getWellKnownCertificateConfigFileLocation=lk;var ok=require("fs"),sk=require("os"),al=require("path"),ik="certificate_config.json",zg="gcloud";function Hg(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function ak(t){function e(r){let n=t||{};return n[r]??n[Hg(r)]}return{get:e}}var ul=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,r){this.#e.delete(e),this.#e.set(e,{value:r,lastAccessed:Date.now()})}set(e,r){this.#t(e,r),this.#r()}get(e){let r=this.#e.get(e);if(r)return this.#t(e,r.value),this.#r(),r.value}#r(){let e=this.maxAge?Date.now()-this.maxAge:0,r=this.#e.entries().next();for(;!r.done&&(this.#e.size>this.capacity||r.value[1].lastAccessed<e);)this.#e.delete(r.value[0]),r=this.#e.entries().next()}};vr.LRUCache=ul;function uk(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function ck(t){try{return(await ok.promises.lstat(t)).isFile()}catch{return!1}}function lk(){let t=process.env.CLOUDSDK_CONFIG||(dk()?al.join(process.env.APPDATA||"",zg):al.join(process.env.HOME||"",".config",zg));return al.join(t,ik)}function dk(){return sk.platform().startsWith("win")}});var Wg=V((mx,fk)=>{fk.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var cl=V(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.USER_AGENT=Kr.PRODUCT_NAME=Kr.pkg=void 0;var Gg=Wg();Kr.pkg=Gg;var Jg="google-api-nodejs-client";Kr.PRODUCT_NAME=Jg;var hk=`${Jg}/${Gg.version}`;Kr.USER_AGENT=hk});var bt=V(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var pk=require("events"),ll=Ke(),mk=Wt(),gk=Kc(),dl=cl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var fl=class t extends pk.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Gt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,mk.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=r.get("project_id")??null,this.quotaProjectId=r.get("quota_project_id"),this.credentials=r.get("credentials")??{},this.universeDomain=r.get("universe_domain")??Gt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new ll.Gaxios(e.transporterOptions),r.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&ll.Gaxios.mergeHeaders(s,r.headers),n&&ll.Gaxios.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,r){let n=r.get("x-goog-user-project"),o=r.get("authorization");return n&&e.set("x-goog-user-project",n),o&&e.set("authorization",o),e}static log=(0,gk.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let n=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${n}`)}let r=e.headers.get("User-Agent");r?r.includes(`${dl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${dl.USER_AGENT}`):e.headers.set("User-Agent",dl.USER_AGENT);try{let n=e,o=n[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;n[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] response %j",n,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] error %j",n,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,r){try{let n=e;n[t.RequestMethodNameSymbol]=r}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Gt.AuthClient=fl});var pl=V(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.LoginTicket=void 0;var hl=class{envelope;payload;constructor(e,r){this.envelope=e,this.payload=r}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};ea.LoginTicket=hl});var Sn=V(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.OAuth2Client=or.ClientAuthentication=or.CertificateFormat=or.CodeChallengeMethod=void 0;var Vg=Ke(),yk=require("querystring"),_k=require("stream"),bk=il(),Kg=Wt(),ml=ts(),so=bt(),Ck=pl(),Yg;(function(t){t.Plain="plain",t.S256="S256"})(Yg||(or.CodeChallengeMethod=Yg={}));var Tr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Tr||(or.CertificateFormat=Tr={}));var rs;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(rs||(or.ClientAuthentication=rs={}));var gl=class t extends so.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Tr.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},r,n){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:r,redirectUri:n}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||rs.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+yk.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,ml.createCrypto)(),n=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(n)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:n,codeChallenge:s}}getToken(e,r){let n=typeof e=="string"?{code:e}:e;if(r)this.getTokenAsync(n).then(o=>r(null,o.tokens,o.res),o=>r(o,null,o.response));else return this.getTokenAsync(n)}async getTokenAsync(e){let r=this.endpoints.oauth2TokenUrl.toString(),n=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===rs.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===rs.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Kg.removeUndefinedValuesInObject)(o)),headers:n};so.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),c=a.data;return a.data&&a.data.expires_in&&(c.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete c.expires_in),this.emit("tokens",c),{tokens:c,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let r=this.refreshTokenNoCache(e).then(n=>(this.refreshTokenPromises.delete(e),n),n=>{throw this.refreshTokenPromises.delete(e),n});return this.refreshTokenPromises.set(e,r),r}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let r=this.endpoints.oauth2TokenUrl.toString(),n={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Kg.removeUndefinedValuesInObject)(n))};so.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof Vg.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(r=>e(null,r.credentials,r.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),r=e.tokens;return r.refresh_token=this.credentials.refresh_token,this.credentials=r,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(r=>e(null,r.token,r.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let n=await this.processAndValidateRefreshHandler();if(n?.access_token)return this.setCredentials(n),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let r=await this.refreshAccessTokenAsync();if(!r.credentials||r.credentials&&!r.credentials.access_token)throw new Error("Could not refresh access token.");return{token:r.credentials.access_token,res:r.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let r=this.credentials;if(!r.access_token&&!r.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(r.access_token&&!this.isTokenExpiring()){r.token_type=r.token_type||"Bearer";let c=new Headers({authorization:r.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(c)}}if(this.refreshHandler){let c=await this.processAndValidateRefreshHandler();if(c?.access_token){this.setCredentials(c);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let n=null,o=null;try{n=await this.refreshToken(r.refresh_token),o=n.tokens}catch(c){let l=c;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:n.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let r=new URL(this.endpoints.oauth2RevokeUrl);return r.searchParams.append("token",e),r}revokeToken(e,r){let n={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(so.AuthClient.setMethodName(n,"revokeToken"),r)this.transporter.request(n).then(o=>r(null,o),r);else return this.transporter.request(n)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(r=>e(null,r),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){try{let n=await this.getRequestMetadataAsync();return e.headers=Vg.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(n){let o=n.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),c=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof _k.Readable,d=s===401||s===403;if(!r&&d&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&d&&!l&&c){let f=await this.processAndValidateRefreshHandler();return f?.access_token&&this.setCredentials(f),this.requestAsync(e,!0)}}throw n}}verifyIdToken(e,r){if(r&&typeof r!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(r)this.verifyIdTokenAsync(e).then(n=>r(null,n),r);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let r=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,r.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:r}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),n=Object.assign({expiry_date:new Date().getTime()+r.expires_in*1e3,scopes:r.scope.split(" ")},r);return delete n.expires_in,delete n.scope,n}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(r=>e(null,r.certs,r.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),r=(0,ml.hasBrowserCrypto)()?Tr.JWK:Tr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Tr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Tr.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let d={...t.RETRY_CONFIG,url:o};so.AuthClient.setMethodName(d,"getFederatedSignonCertsAsync"),n=await this.transporter.request(d)}catch(d){throw d instanceof Error&&(d.message=`Failed to retrieve verification certificates: ${d.message}`),d}let s=n?.headers.get("cache-control"),a=-1;if(s){let d=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;d&&(a=Number(d)*1e3)}let c={};switch(r){case Tr.PEM:c=n.data;break;case Tr.JWK:for(let d of n.data.keys)c[d.kid]=d;break;default:throw new Error(`Unsupported certificate format ${r}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=c,this.certificateCacheFormat=r,{certs:c,format:r,res:n}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(r=>e(null,r.pubkeys,r.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,r=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let n={...t.RETRY_CONFIG,url:r};so.AuthClient.setMethodName(n,"getIapPublicKeysAsync"),e=await this.transporter.request(n)}catch(n){throw n instanceof Error&&(n.message=`Failed to retrieve verification certificates: ${n.message}`),n}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,r,n,o,s){let a=(0,ml.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let c=e.split(".");if(c.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=c[0]+"."+c[1],d=c[2],f,p;try{f=JSON.parse(a.decodeBase64StringUtf8(c[0]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token envelope: ${c[0]}': ${b.message}`),b}if(!f)throw new Error("Can't parse token envelope: "+c[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(c[1]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token payload '${c[0]}`),b}if(!p)throw new Error("Can't parse token payload: "+c[1]);if(!Object.prototype.hasOwnProperty.call(r,f.kid))throw new Error("No pem found for envelope: "+JSON.stringify(f));let g=r[f.kid];if(f.alg==="ES256"&&(d=bk.joseToDer(d,"ES256").toString("base64")),!await a.verify(g,l,d))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let w=Number(p.iat);if(isNaN(w))throw new Error("iat field using invalid format");let y=Number(p.exp);if(isNaN(y))throw new Error("exp field using invalid format");let _=new Date().getTime()/1e3;if(y>=_+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=w-t.CLOCK_SKEW_SECS_,v=y+t.CLOCK_SKEW_SECS_;if(_<m)throw new Error("Token used too early, "+_+" < "+m+": "+JSON.stringify(p));if(_>v)throw new Error("Token used too late, "+_+" > "+v+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof n<"u"&&n!==null){let b=p.aud,S=!1;if(n.constructor===Array?S=n.indexOf(b)>-1:S=b===n,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new Ck.LoginTicket(f,p)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};or.OAuth2Client=gl});var _l=V(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.Compute=void 0;var wk=Ke(),Qg=es(),Ek=Sn(),yl=class extends Ek.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,r;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),r=await Qg.instance(o)}catch(o){throw o instanceof wk.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let n=r;return r&&r.expires_in&&(n.expiry_date=new Date().getTime()+r.expires_in*1e3,delete n.expires_in),this.emit("tokens",n),{tokens:n,res:null}}async fetchIdToken(e){let r=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,n;try{let o={property:r};n=await Qg.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return n}wrapError(e){let r=e.response;r&&r.status&&(e.status=r.status,r.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:r.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};ta.Compute=yl});var Cl=V(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.IdTokenClient=void 0;var kk=Sn(),bl=class extends kk.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let r=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:r,expiry_date:this.getIdTokenExpiryDate(r)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let r=e.split(".")[1];if(r)return JSON.parse(Buffer.from(r,"base64").toString("ascii")).exp*1e3}};ra.IdTokenClient=bl});var wl=V(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.GCPEnv=void 0;io.clear=Sk;io.getEnv=Ak;var Xg=es(),sr;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(sr||(io.GCPEnv=sr={}));var ns;function Sk(){ns=void 0}async function Ak(){return ns||(ns=vk(),ns)}async function vk(){let t=sr.NONE;return Tk()?t=sr.APP_ENGINE:Dk()?t=sr.CLOUD_FUNCTIONS:await Pk()?await Ok()?t=sr.KUBERNETES_ENGINE:Rk()?t=sr.CLOUD_RUN:xk()?t=sr.CLOUD_RUN_JOBS:t=sr.COMPUTE_ENGINE:t=sr.NONE,t}function Tk(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function Dk(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function Rk(){return!!process.env.K_CONFIGURATION}function xk(){return!!process.env.CLOUD_RUN_JOB}async function Ok(){try{return await Xg.instance("attributes/cluster-name"),!0}catch{return!1}}async function Pk(){return Xg.isAvailable()}});var El=V((kx,Zg)=>{var na=oo().Buffer,Fk=require("stream"),Ik=require("util");function oa(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=na.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=na.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}Ik.inherits(oa,Fk);oa.prototype.write=function(e){this.buffer=na.concat([this.buffer,na.from(e)]),this.emit("data",e)};oa.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};Zg.exports=oa});var ty=V((Sx,ey)=>{"use strict";var os=require("buffer").Buffer,kl=require("buffer").SlowBuffer;ey.exports=sa;function sa(t,e){if(!os.isBuffer(t)||!os.isBuffer(e)||t.length!==e.length)return!1;for(var r=0,n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}sa.install=function(){os.prototype.equal=kl.prototype.equal=function(e){return sa(this,e)}};var Bk=os.prototype.equal,Nk=kl.prototype.equal;sa.restore=function(){os.prototype.equal=Bk,kl.prototype.equal=Nk}});var Tl=V((Ax,ly)=>{var uo=oo().Buffer,Ot=require("crypto"),ny=il(),ry=require("util"),Mk=`"%s" is not a valid algorithm.
51
51
  Supported algorithms are:
52
- "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,ss="secret must be a string or buffer",ao="key must be a string or a buffer",MA="key must be a string, a buffer or an object",kl=typeof Ot.createPublicKey=="function";kl&&(ao+=" or a KeyObject",ss+="or a KeyObject");function oy(t){if(!uo.isBuffer(t)&&typeof t!="string"&&(!kl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(ao)}function sy(t){if(!uo.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(MA)}function LA(t){if(!uo.isBuffer(t)){if(typeof t=="string")return t;if(!kl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(ss)}}function vl(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function iy(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var r=0;r<e;++r)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Jt(t){var e=[].slice.call(arguments,1),r=ry.format.bind(ry,t).apply(null,e);return new TypeError(r)}function UA(t){return uo.isBuffer(t)||typeof t=="string"}function is(t){return UA(t)||(t=JSON.stringify(t)),t}function ay(t){return function(r,n){LA(n),r=is(r);var o=Ot.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return vl(s)}}var Sl,$A="timingSafeEqual"in Ot?function(e,r){return e.byteLength!==r.byteLength?!1:Ot.timingSafeEqual(e,r)}:function(e,r){return Sl||(Sl=ty()),Sl(e,r)};function qA(t){return function(r,n,o){var s=ay(t)(r,o);return $A(uo.from(n),uo.from(s))}}function uy(t){return function(r,n){sy(n),r=is(r);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return vl(s)}}function cy(t){return function(r,n,o){oy(o),r=is(r),n=iy(n);var s=Ot.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function zA(t){return function(r,n){sy(n),r=is(r);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return vl(s)}}function HA(t){return function(r,n,o){oy(o),r=is(r),n=iy(n);var s=Ot.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function WA(t){var e=uy(t);return function(){var n=e.apply(null,arguments);return n=ny.derToJose(n,"ES"+t),n}}function GA(t){var e=cy(t);return function(n,o,s){o=ny.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function JA(){return function(){return""}}function VA(){return function(e,r){return r===""}}ly.exports=function(e){var r={hs:ay,rs:uy,ps:zA,es:WA,none:JA},n={hs:qA,rs:cy,ps:HA,es:GA,none:VA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(jA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var Dl=V((kx,dy)=>{var KA=require("buffer").Buffer;dy.exports=function(e){return typeof e=="string"?e:typeof e=="number"||KA.isBuffer(e)?e.toString():JSON.stringify(e)}});var yy=V((vx,gy)=>{var YA=oo().Buffer,fy=El(),QA=Tl(),XA=require("stream"),hy=Dl(),Rl=require("util");function py(t,e){return YA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function ZA(t,e,r){r=r||"utf8";var n=py(hy(t),"binary"),o=py(hy(e),r);return Rl.format("%s.%s",n,o)}function my(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=QA(e.alg),a=ZA(e,r,o),c=s.sign(a,n);return Rl.format("%s.%s",a,c)}function ia(t){var e=t.secret||t.privateKey||t.key,r=new fy(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new fy(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}Rl.inherits(ia,XA);ia.prototype.sign=function(){try{var e=my({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};ia.sign=my;gy.exports=ia});var Ty=V((Tx,vy)=>{var by=oo().Buffer,_y=El(),eS=Tl(),tS=require("stream"),Cy=Dl(),rS=require("util"),nS=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function oS(t){return Object.prototype.toString.call(t)==="[object Object]"}function sS(t){if(oS(t))return t;try{return JSON.parse(t)}catch{return}}function wy(t){var e=t.split(".",1)[0];return sS(by.from(e,"base64").toString("binary"))}function iS(t){return t.split(".",2).join(".")}function Ey(t){return t.split(".")[2]}function aS(t,e){e=e||"utf8";var r=t.split(".")[1];return by.from(r,"base64").toString(e)}function Ay(t){return nS.test(t)&&!!wy(t)}function Sy(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=Cy(t);var o=Ey(t),s=iS(t),a=eS(e);return a.verify(s,o,r)}function ky(t,e){if(e=e||{},t=Cy(t),!Ay(t))return null;var r=wy(t);if(!r)return null;var n=aS(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:Ey(t)}}function co(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new _y(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new _y(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}rS.inherits(co,tS);co.prototype.verify=function(){try{var e=Sy(this.signature.buffer,this.algorithm,this.key.buffer),r=ky(this.signature.buffer,this.encoding);return this.emit("done",e,r),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};co.decode=ky;co.isValid=Ay;co.verify=Sy;vy.exports=co});var xl=V(Yr=>{var Dy=yy(),aa=Ty(),uS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Yr.ALGORITHMS=uS;Yr.sign=Dy.sign;Yr.verify=aa.verify;Yr.decode=aa.decode;Yr.isValid=aa.isValid;Yr.createSign=function(e){return new Dy(e)};Yr.createVerify=function(e){return new aa(e)}});var zy=V(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.GoogleToken=void 0;var Ry=ua(require("fs")),cS=Ke(),lS=ua(xl()),dS=ua(require("path")),fS=require("util");function ua(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(ua=function(s,a){if(!a&&s&&s.__esModule)return s;var c,l,f={__proto__:null,default:s};if(s===null||Dr(s)!="object"&&typeof s!="function")return f;if(c=a?n:r){if(c.has(s))return c.get(s);c.set(s,f)}for(var d in s)d!=="default"&&{}.hasOwnProperty.call(s,d)&&((l=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,d))&&(l.get||l.set)?c(f,d,l):f[d]=s[d]);return f})(t,e)}function Dr(t){"@babel/helpers - typeof";return Dr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Dr(t)}function hS(t,e){My(t,e),e.add(t)}function pS(t,e,r){My(t,e),e.set(t,r)}function My(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function xy(t,e,r){return t.set(Vt(t,e),r),r}function Oy(t,e){return t.get(Vt(t,e))}function Vt(t,e,r){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}function Fy(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,$y(n.key),n)}}function Ly(t,e,r){return e&&Fy(t.prototype,e),r&&Fy(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function Uy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function mS(t,e,r){return e=ls(e),gS(t,Nl()?Reflect.construct(e,r||[],ls(t).constructor):e.apply(t,r))}function gS(t,e){if(e&&(Dr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yS(t)}function yS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _S(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&cs(t,e)}function Ol(t){var e=typeof Map=="function"?new Map:void 0;return Ol=function(n){if(n===null||!CS(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,o)}function o(){return bS(n,arguments,ls(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),cs(o,n)},Ol(t)}function bS(t,e,r){if(Nl())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&cs(o,r.prototype),o}function Nl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Nl=function(){return!!t})()}function CS(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function cs(t,e){return cs=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},cs(t,e)}function ls(t){return ls=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ls(t)}function Ct(t,e,r){return(e=$y(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function $y(t){var e=wS(t,"string");return Dr(e)=="symbol"?e:e+""}function wS(t,e){if(Dr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(Dr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Et(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(A,E,_,y){var m=E&&E.prototype instanceof c?E:c,v=Object.create(m.prototype);return wt(v,"_invoke",(function(b,S,D){var O,q,J,B=0,Y=D||[],te=!1,Z={p:0,n:0,v:t,a:ae,f:ae.bind(t,4),d:function(Ae,oe){return O=Ae,q=0,J=t,Z.n=oe,a}};function ae(de,Ae){for(q=de,J=Ae,e=0;!te&&B&&!oe&&e<Y.length;e++){var oe,pe=Y[e],G=Z.p,K=pe[2];de>3?(oe=K===Ae)&&(J=pe[(q=pe[4])?5:(q=3,3)],pe[4]=pe[5]=t):pe[0]<=G&&((oe=de<2&&G<pe[1])?(q=0,Z.v=Ae,Z.n=pe[1]):G<K&&(oe=de<3||pe[0]>Ae||Ae>K)&&(pe[4]=de,pe[5]=Ae,Z.n=K,q=0))}if(oe||de>1)return a;throw te=!0,Ae}return function(de,Ae,oe){if(B>1)throw TypeError("Generator is already running");for(te&&Ae===1&&ae(Ae,oe),q=Ae,J=oe;(e=q<2?t:J)||!te;){O||(q?q<3?(q>1&&(Z.n=-1),ae(q,J)):Z.n=J:Z.v=J);try{if(B=2,O){if(q||(de="next"),e=O[de]){if(!(e=e.call(O,J)))throw TypeError("iterator result is not an object");if(!e.done)return e;J=e.value,q<2&&(q=0)}else q===1&&(e=O.return)&&e.call(O),q<2&&(J=TypeError("The iterator does not provide a '"+de+"' method"),q=1);O=t}else if((e=(te=Z.n<0)?J:b.call(S,Z))!==a)break}catch(pe){O=t,q=1,J=pe}finally{B=1}}return{value:e,done:te}}})(A,_,y),!0),v}var a={};function c(){}function l(){}function f(){}e=Object.getPrototypeOf;var d=[][n]?e(e([][n]())):(wt(e={},n,function(){return this}),e),p=f.prototype=c.prototype=Object.create(d);function g(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,f):(A.__proto__=f,wt(A,o,"GeneratorFunction")),A.prototype=Object.create(p),A}return l.prototype=f,wt(p,"constructor",f),wt(f,"constructor",l),l.displayName="GeneratorFunction",wt(f,o,"GeneratorFunction"),wt(p),wt(p,o,"Generator"),wt(p,n,function(){return this}),wt(p,"toString",function(){return"[object Generator]"}),(Et=function(){return{w:s,m:g}})()}function wt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}wt=function(a,c,l,f){if(c)o?o(a,c,{value:l,enumerable:!f,configurable:!f,writable:!f}):a[c]=l;else{var d=function(g,A){wt(a,g,function(E){return this._invoke(g,A,E)})};d("next",0),d("throw",1),d("return",2)}},wt(t,e,r,n)}function Py(t,e,r,n,o,s,a){try{var c=t[s](a),l=c.value}catch(f){return void r(f)}c.done?e(l):Promise.resolve(l).then(n,o)}function lo(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(l){Py(s,n,o,a,c,"next",l)}function c(l){Py(s,n,o,a,c,"throw",l)}a(void 0)})}}var Iy=Ry.readFile?(0,fS.promisify)(Ry.readFile):lo(Et().m(function t(){return Et().w(function(e){for(;;)switch(e.n){case 0:throw new us("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),By="https://oauth2.googleapis.com/token",ES="https://oauth2.googleapis.com/revoke?token=",us=(function(t){function e(r,n){var o;return Uy(this,e),o=mS(this,e,[r]),Ct(o,"code",void 0),o.code=n,o}return _S(e,t),Ly(e)})(Ol(Error)),as=new WeakMap,ir=new WeakSet,Rx=ca.GoogleToken=(function(){function t(e){Uy(this,t),hS(this,ir),Ct(this,"expiresAt",void 0),Ct(this,"key",void 0),Ct(this,"keyFile",void 0),Ct(this,"iss",void 0),Ct(this,"sub",void 0),Ct(this,"scope",void 0),Ct(this,"rawToken",void 0),Ct(this,"tokenExpires",void 0),Ct(this,"email",void 0),Ct(this,"additionalClaims",void 0),Ct(this,"eagerRefreshThresholdMillis",void 0),Ct(this,"transporter",{request:function(n){return(0,cS.request)(n)}}),pS(this,as,void 0),Vt(ir,this,qy).call(this,e)}return Ly(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var r=new Date().getTime();return this.rawToken&&this.expiresAt?r>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var r,n=new Date().getTime(),o=(r=this.eagerRefreshThresholdMillis)!==null&&r!==void 0?r:0;return this.rawToken&&this.expiresAt?this.expiresAt<=n+o:!0}},{key:"getToken",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Dr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;Vt(ir,this,Ny).call(this,n).then(function(s){return o(null,s)},r);return}return Vt(ir,this,Ny).call(this,n)}},{key:"getCredentials",value:(function(){var e=lo(Et().m(function n(o){var s,a,c,l,f,d,p;return Et().w(function(g){for(;;)switch(g.n){case 0:s=dS.extname(o),p=s,g.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return g.n=2,Iy(o,"utf8");case 2:if(a=g.v,c=JSON.parse(a),l=c.private_key,f=c.client_email,!(!l||!f)){g.n=3;break}throw new us("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return g.a(2,{privateKey:l,clientEmail:f});case 4:return g.n=5,Iy(o,"utf8");case 5:return d=g.v,g.a(2,{privateKey:d});case 6:throw new us("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new us("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return g.a(2)}},n)}));function r(n){return e.apply(this,arguments)}return r})()},{key:"revokeToken",value:function(r){if(r){Vt(ir,this,jy).call(this).then(function(){return r()},r);return}return Vt(ir,this,jy).call(this)}}])})();function Ny(t){return Fl.apply(this,arguments)}function Fl(){return Fl=lo(Et().m(function t(e){return Et().w(function(r){for(;;)switch(r.n){case 0:if(!(Oy(as,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,Oy(as,this));case 1:return r.p=1,r.n=2,xy(as,this,Vt(ir,this,AS).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,xy(as,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),Fl.apply(this,arguments)}function AS(t){return Pl.apply(this,arguments)}function Pl(){return Pl=lo(Et().m(function t(e){var r;return Et().w(function(n){for(;;)switch(n.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){n.n=1;break}return n.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){n.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){n.n=4;break}return n.n=3,this.getCredentials(this.keyFile);case 3:r=n.v,this.key=r.privateKey,this.iss=r.clientEmail||this.iss,r.clientEmail||Vt(ir,this,SS).call(this);case 4:return n.a(2,Vt(ir,this,kS).call(this))}},t,this)})),Pl.apply(this,arguments)}function SS(){if(!this.iss)throw new us("email is required.","MISSING_CREDENTIALS")}function jy(){return Il.apply(this,arguments)}function Il(){return Il=lo(Et().m(function t(){var e;return Et().w(function(r){for(;;)switch(r.n){case 0:if(this.accessToken){r.n=1;break}throw new Error("No token to revoke.");case 1:return e=ES+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(ir,this,qy).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return r.a(2)}},t,this)})),Il.apply(this,arguments)}function qy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,Dr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function kS(){return Bl.apply(this,arguments)}function Bl(){return Bl=lo(Et().m(function t(){var e,r,n,o,s,a,c,l,f,d;return Et().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),r=this.additionalClaims||{},n=Object.assign({iss:this.iss,scope:this.scope,aud:By,exp:e+3600,iat:e,sub:this.sub},r),o=lS.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:By,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,p.a(2,this.rawToken);case 3:throw p.p=3,d=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=d.response&&(a=d.response)!==null&&a!==void 0&&a.data?(c=d.response)===null||c===void 0?void 0:c.data:{},l.error&&(f=l.error_description?": ".concat(l.error_description):"",d.message="".concat(l.error).concat(f)),d;case 4:return p.a(2)}},t,this,[[1,3]])})),Bl.apply(this,arguments)}});var Ml=V(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.JWTAccess=void 0;var vS=xl(),TS=Wt(),Hy={alg:"RS256",typ:"JWT"},jl=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new TS.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,r,n,o){this.email=e,this.key=r,this.keyId=n,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,r){let n=e;if(r&&Array.isArray(r)&&r.length?n=e?`${e}_${r.join("_")}`:`${r.join("_")}`:typeof r=="string"&&(n=e?`${e}_${r}`:r),!n)throw Error("Scopes or url must be provided");return n}getRequestHeaders(e,r,n){let o=this.getCachedKey(e,n),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let c=Math.floor(Date.now()/1e3),l=t.getExpirationTime(c),f;if(Array.isArray(n)&&(n=n.join(" ")),n?f={iss:this.email,sub:this.email,scope:n,exp:l,iat:c}:f={iss:this.email,sub:this.email,aud:e,exp:l,iat:c},r){for(let E in f)if(r[E])throw new Error(`The '${E}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...Hy,kid:this.keyId}:Hy,p=Object.assign(f,r),g=vS.sign({header:d,payload:p,secret:this.key}),A=new Headers({authorization:`Bearer ${g}`});return this.cache.set(o,{expiration:l*1e3,headers:A}),A}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{e||n(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",n).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}};la.JWTAccess=jl});var Ul=V(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.JWT=void 0;var Wy=zy(),DS=Ml(),RS=Sn(),da=bt(),Ll=class t extends RS.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let r=new t(this);return r.scopes=e,r}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let r=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==da.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==da.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${da.DEFAULT_UNIVERSE}`);if(!this.apiKey&&r)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:n}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${n.id_token}`}))}}else{this.access||(this.access=new DS.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let n;this.hasUserScopes()?n=this.scopes:e||(n=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==da.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?n:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let r=new Wy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await r.getToken({forceRefresh:!0}),!r.idToken)throw new Error("Unknown error: Failed to fetch ID token");return r.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(r=>e(null,r),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),n={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",n),{res:null,tokens:n}}createGToken(){return this.gtoken||(this.gtoken=new Wy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let r=await this.createGToken().getCredentials(this.keyFile);return{private_key:r.privateKey,client_email:r.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};fa.JWT=Ll});var ql=V(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.UserRefreshClient=fo.USER_REFRESH_ACCOUNT_TYPE=void 0;var xS=Sn(),OS=bt();fo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var $l=class t extends xS.OAuth2Client{_refreshToken;constructor(e,r,n,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:r,refreshToken:n,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let r={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return OS.AuthClient.setMethodName(r,"fetchIdToken"),(await this.transporter.request(r)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((r,n)=>{if(!e)return n(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),r()}catch(s){return n(s)}})})}static fromJSON(e){let r=new t;return r.fromJSON(e),r}};fo.UserRefreshClient=$l});var Hl=V(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.Impersonated=ho.IMPERSONATED_ACCOUNT_TYPE=void 0;var Gy=Sn(),FS=Ke(),PS=Wt();ho.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var zl=class t extends Gy.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new Gy.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,PS.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,n=`${this.endpoint}/v1/${r}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,r=`${this.endpoint}/v1/${e}:generateAccessToken`,n={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:n,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let r=0,n="";throw e instanceof FS.GaxiosError&&(r=e?.response?.data?.error?.status,n=e?.response?.data?.error?.message),r&&n?(e.message=`${r}: unable to impersonate: ${n}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,r){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${n}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:r?.includeEmail??!0,useEmailAzp:r?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};ho.Impersonated=zl});var Gl=V(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.OAuthClientAuthHandler=void 0;ds.getErrorFromOAuthErrorResponse=NS;var po=Ke(),IS=ts(),BS=["PUT","POST","PATCH"],Wl=class{#e=(0,IS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new po.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new po.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=po.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=po.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=po.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);po.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!BS.includes(r))throw new Error(`${r} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};ds.OAuthClientAuthHandler=Wl;function NS(t,e){let r=t.error,n=t.error_description,o=t.error_uri,s=`Error code ${r}`;typeof n<"u"&&(s+=`: ${n}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let c=Object.keys(e);e.stack&&c.push("stack"),c.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var pa=V(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.StsCredentials=void 0;var jS=Ke(),MS=bt(),Jy=Gl(),LS=Wt(),Jl=class t extends Jy.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},r){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:r}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,r,n){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:n&&JSON.stringify(n)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:r,data:new URLSearchParams((0,LS.removeUndefinedValuesInObject)(o))};MS.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),c=a.data;return c.res=a,c}catch(a){throw a instanceof jS.GaxiosError&&a.response?(0,Jy.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};ha.StsCredentials=Jl});var Qr=V(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.BaseExternalAccountClient=Ft.CLOUD_RESOURCE_MANAGER=Ft.EXTERNAL_ACCOUNT_TYPE=Ft.EXPIRATION_TIME_OFFSET=void 0;var US=Ke(),$S=require("stream"),Vl=bt(),qS=pa(),Vy=Wt(),zS=cl(),HS="urn:ietf:params:oauth:grant-type:token-exchange",WS="urn:ietf:params:oauth:token-type:access_token",Kl="https://www.googleapis.com/auth/cloud-platform",GS=3600;Ft.EXPIRATION_TIME_OFFSET=300*1e3;Ft.EXTERNAL_ACCOUNT_TYPE="external_account";Ft.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var JS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",VS="https://sts.{universeDomain}/v1/token",Yl=class t extends Vl.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let r=(0,Vy.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==Ft.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Ft.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=r.get("client_id"),s=r.get("client_secret");this.tokenUrl=r.get("token_url")??VS.replace("{universeDomain}",this.universeDomain);let a=r.get("subject_token_type"),c=r.get("workforce_pool_user_project"),l=r.get("service_account_impersonation_url"),f=r.get("service_account_impersonation"),d=(0,Vy.originalOrCamelOptions)(f).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(r.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new qS.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[Kl],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=c;let p=new RegExp(JS);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=GS),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let r=await this.getRequestHeaders(),n={...t.RETRY_CONFIG,headers:r,url:`${this.cloudResourceManagerURL.toString()}${e}`};Vl.AuthClient.setMethodName(n,"getProjectId");let o=await this.transporter.request(n);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=US.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof $S.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),r={grantType:HS,audience:this.audience,requestedTokenType:WS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Kl]:this.getScopesArray()},n=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(r,o,n);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let r=e.match(/\/projects\/([^/]+)/);return r?r[1]:null}async getImpersonatedAccessToken(e){let r={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};Vl.AuthClient.setMethodName(r,"getImpersonatedAccessToken");let n=await this.transporter.request(r),o=n.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:n}}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Kl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${zS.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Ft.BaseExternalAccountClient=Yl});var Ky=V(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.FileSubjectTokenSupplier=void 0;var Xl=require("util"),Zl=require("fs"),KS=(0,Xl.promisify)(Zl.readFile??(()=>{})),YS=(0,Xl.promisify)(Zl.realpath??(()=>{})),QS=(0,Xl.promisify)(Zl.lstat??(()=>{})),Ql=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await YS(e),!(await QS(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r,n=await KS(e,{encoding:"utf8"});if(this.formatType==="text"?r=n:this.formatType==="json"&&this.subjectTokenFieldName&&(r=JSON.parse(n)[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source file");return r}};ma.FileSubjectTokenSupplier=Ql});var Yy=V(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.UrlSubjectTokenSupplier=void 0;var XS=bt(),ed=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let r={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};XS.AuthClient.setMethodName(r,"getSubjectToken");let n;if(this.formatType==="text"?n=(await e.transporter.request(r)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(n=(await e.transporter.request(r)).data[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source URL");return n}};ga.UrlSubjectTokenSupplier=ed});var Qy=V(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.CertificateSubjectTokenSupplier=At.InvalidConfigurationError=At.CertificateSourceUnavailableError=At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var ya=Wt(),_a=require("fs"),ba=require("crypto"),ZS=require("https");At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var ar=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};At.CertificateSourceUnavailableError=ar;var Pt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};At.InvalidConfigurationError=Pt;var td=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Pt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Pt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Pt("Cannot create mTLS Agent with missing certificate or key");return new ZS.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:r}=await this.#t();return{cert:this.cert,key:this.key}=await this.#r(e,r),await this.#n(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,ya.isValidFile)(e))return e;throw new ar(`Provided certificate config path is invalid: ${e}`)}let r=process.env[At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,ya.isValidFile)(r))return r;throw new ar(`Path from environment variable "${At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,ya.getWellKnownCertificateConfigFileLocation)();if(await(0,ya.isValidFile)(n))return n;throw new ar(`Could not find certificate configuration file. Searched override path, the "${At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await _a.promises.readFile(e,"utf8")}catch{throw new ar(`Failed to read certificate config file at: ${e}`)}try{let n=JSON.parse(r),o=n?.cert_configs?.workload?.cert_path,s=n?.cert_configs?.workload?.key_path;if(!o||!s)throw new Pt(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(n){throw n instanceof Pt?n:new Pt(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await _a.promises.readFile(e),new ba.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ar(`Failed to read certificate file at ${e}: ${a}`)}try{o=await _a.promises.readFile(r),(0,ba.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ar(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new ba.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await _a.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,f)=>{try{return new ba.X509Certificate(l)}catch(d){let p=d instanceof Error?d.message:String(d);throw new Pt(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>r.raw.equals(l.raw)),c;if(a===-1)c=[r,...s];else if(a===0)c=s;else throw new Pt(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(c.map(l=>l.raw.toString("base64")))}catch(n){if(n instanceof Pt)throw n;let o=n instanceof Error?n.message:String(n);throw new ar(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};At.CertificateSubjectTokenSupplier=td});var od=V(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.IdentityPoolClient=void 0;var ek=Qr(),rd=Wt(),tk=Ky(),rk=Yy(),Xy=Qy(),nk=pa(),Zy=Ke(),nd=class t extends ek.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,rd.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("subject_token_supplier");if(!n&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,rd.originalOrCamelOptions)(n),a=(0,rd.originalOrCamelOptions)(s.get("format")),c=a.get("type")||"text",l=a.get("subject_token_field_name");if(c!=="json"&&c!=="text")throw new Error(`Invalid credential_source format "${c}"`);if(c==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let f=s.get("file"),d=s.get("url"),p=s.get("certificate"),g=s.get("headers");if(f&&d||d&&p||f&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(f)this.credentialSourceType="file",this.subjectTokenSupplier=new tk.FileSubjectTokenSupplier({filePath:f,formatType:c,subjectTokenFieldName:l});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new rk.UrlSubjectTokenSupplier({url:d,formatType:c,subjectTokenFieldName:l,headers:g,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let A=new Xy.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=A}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof Xy.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new nk.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new Zy.Gaxios({agent:r})}),this.transporter=new Zy.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};Ca.IdentityPoolClient=nd});var id=V(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.AwsRequestSigner=void 0;var wa=Ke(),t0=ts(),e0="AWS4-HMAC-SHA256",ok="aws4_request",sd=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,t0.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let r=typeof e.data=="object"?JSON.stringify(e.data):e.data,n=e.url,o=e.method||"GET",s=e.body||r,a=e.headers,c=await this.getCredentials(),l=new URL(n);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let f=await ik({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:c,requestPayload:s,additionalAmzHeaders:a}),d=wa.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:l.host},a||{});c.token&&wa.Gaxios.mergeHeaders(d,{"x-amz-security-token":c.token});let p={url:n,method:o,headers:d};return s!==void 0&&(p.body=s),p}};Ea.AwsRequestSigner=sd;async function fs(t,e,r){return await t.signWithHmacSha256(e,r)}async function sk(t,e,r,n,o){let s=await fs(t,`AWS4${e}`,r),a=await fs(t,s,n),c=await fs(t,a,o);return await fs(t,c,"aws4_request")}async function ik(t){let e=wa.Gaxios.mergeHeaders(t.additionalAmzHeaders),r=t.requestPayload||"",n=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let c=wa.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",f=[...c.keys()].sort();f.forEach(v=>{l+=`${v}:${c.get(v)}
53
- `});let d=f.join(";"),p=await t.crypto.sha256DigestHex(r),g=`${t.method.toUpperCase()}
52
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,ss="secret must be a string or buffer",ao="key must be a string or a buffer",jk="key must be a string, a buffer or an object",Al=typeof Ot.createPublicKey=="function";Al&&(ao+=" or a KeyObject",ss+="or a KeyObject");function oy(t){if(!uo.isBuffer(t)&&typeof t!="string"&&(!Al||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(ao)}function sy(t){if(!uo.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(jk)}function Lk(t){if(!uo.isBuffer(t)){if(typeof t=="string")return t;if(!Al||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(ss)}}function vl(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function iy(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var r=0;r<e;++r)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Jt(t){var e=[].slice.call(arguments,1),r=ry.format.bind(ry,t).apply(null,e);return new TypeError(r)}function Uk(t){return uo.isBuffer(t)||typeof t=="string"}function is(t){return Uk(t)||(t=JSON.stringify(t)),t}function ay(t){return function(r,n){Lk(n),r=is(r);var o=Ot.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return vl(s)}}var Sl,$k="timingSafeEqual"in Ot?function(e,r){return e.byteLength!==r.byteLength?!1:Ot.timingSafeEqual(e,r)}:function(e,r){return Sl||(Sl=ty()),Sl(e,r)};function qk(t){return function(r,n,o){var s=ay(t)(r,o);return $k(uo.from(n),uo.from(s))}}function uy(t){return function(r,n){sy(n),r=is(r);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return vl(s)}}function cy(t){return function(r,n,o){oy(o),r=is(r),n=iy(n);var s=Ot.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function zk(t){return function(r,n){sy(n),r=is(r);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return vl(s)}}function Hk(t){return function(r,n,o){oy(o),r=is(r),n=iy(n);var s=Ot.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function Wk(t){var e=uy(t);return function(){var n=e.apply(null,arguments);return n=ny.derToJose(n,"ES"+t),n}}function Gk(t){var e=cy(t);return function(n,o,s){o=ny.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function Jk(){return function(){return""}}function Vk(){return function(e,r){return r===""}}ly.exports=function(e){var r={hs:ay,rs:uy,ps:zk,es:Wk,none:Jk},n={hs:qk,rs:cy,ps:Hk,es:Gk,none:Vk},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(Mk,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var Dl=V((vx,dy)=>{var Kk=require("buffer").Buffer;dy.exports=function(e){return typeof e=="string"?e:typeof e=="number"||Kk.isBuffer(e)?e.toString():JSON.stringify(e)}});var yy=V((Tx,gy)=>{var Yk=oo().Buffer,fy=El(),Qk=Tl(),Xk=require("stream"),hy=Dl(),Rl=require("util");function py(t,e){return Yk.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Zk(t,e,r){r=r||"utf8";var n=py(hy(t),"binary"),o=py(hy(e),r);return Rl.format("%s.%s",n,o)}function my(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=Qk(e.alg),a=Zk(e,r,o),c=s.sign(a,n);return Rl.format("%s.%s",a,c)}function ia(t){var e=t.secret||t.privateKey||t.key,r=new fy(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new fy(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}Rl.inherits(ia,Xk);ia.prototype.sign=function(){try{var e=my({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};ia.sign=my;gy.exports=ia});var Ty=V((Dx,vy)=>{var by=oo().Buffer,_y=El(),eS=Tl(),tS=require("stream"),Cy=Dl(),rS=require("util"),nS=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function oS(t){return Object.prototype.toString.call(t)==="[object Object]"}function sS(t){if(oS(t))return t;try{return JSON.parse(t)}catch{return}}function wy(t){var e=t.split(".",1)[0];return sS(by.from(e,"base64").toString("binary"))}function iS(t){return t.split(".",2).join(".")}function Ey(t){return t.split(".")[2]}function aS(t,e){e=e||"utf8";var r=t.split(".")[1];return by.from(r,"base64").toString(e)}function ky(t){return nS.test(t)&&!!wy(t)}function Sy(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=Cy(t);var o=Ey(t),s=iS(t),a=eS(e);return a.verify(s,o,r)}function Ay(t,e){if(e=e||{},t=Cy(t),!ky(t))return null;var r=wy(t);if(!r)return null;var n=aS(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:Ey(t)}}function co(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new _y(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new _y(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}rS.inherits(co,tS);co.prototype.verify=function(){try{var e=Sy(this.signature.buffer,this.algorithm,this.key.buffer),r=Ay(this.signature.buffer,this.encoding);return this.emit("done",e,r),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};co.decode=Ay;co.isValid=ky;co.verify=Sy;vy.exports=co});var xl=V(Yr=>{var Dy=yy(),aa=Ty(),uS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Yr.ALGORITHMS=uS;Yr.sign=Dy.sign;Yr.verify=aa.verify;Yr.decode=aa.decode;Yr.isValid=aa.isValid;Yr.createSign=function(e){return new Dy(e)};Yr.createVerify=function(e){return new aa(e)}});var zy=V(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.GoogleToken=void 0;var Ry=ua(require("fs")),cS=Ke(),lS=ua(xl()),dS=ua(require("path")),fS=require("util");function ua(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(ua=function(s,a){if(!a&&s&&s.__esModule)return s;var c,l,d={__proto__:null,default:s};if(s===null||Dr(s)!="object"&&typeof s!="function")return d;if(c=a?n:r){if(c.has(s))return c.get(s);c.set(s,d)}for(var f in s)f!=="default"&&{}.hasOwnProperty.call(s,f)&&((l=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,f))&&(l.get||l.set)?c(d,f,l):d[f]=s[f]);return d})(t,e)}function Dr(t){"@babel/helpers - typeof";return Dr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Dr(t)}function hS(t,e){jy(t,e),e.add(t)}function pS(t,e,r){jy(t,e),e.set(t,r)}function jy(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function xy(t,e,r){return t.set(Vt(t,e),r),r}function Oy(t,e){return t.get(Vt(t,e))}function Vt(t,e,r){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}function Py(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,$y(n.key),n)}}function Ly(t,e,r){return e&&Py(t.prototype,e),r&&Py(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function Uy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function mS(t,e,r){return e=ls(e),gS(t,Nl()?Reflect.construct(e,r||[],ls(t).constructor):e.apply(t,r))}function gS(t,e){if(e&&(Dr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yS(t)}function yS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _S(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&cs(t,e)}function Ol(t){var e=typeof Map=="function"?new Map:void 0;return Ol=function(n){if(n===null||!CS(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,o)}function o(){return bS(n,arguments,ls(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),cs(o,n)},Ol(t)}function bS(t,e,r){if(Nl())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&cs(o,r.prototype),o}function Nl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Nl=function(){return!!t})()}function CS(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function cs(t,e){return cs=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},cs(t,e)}function ls(t){return ls=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ls(t)}function Ct(t,e,r){return(e=$y(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function $y(t){var e=wS(t,"string");return Dr(e)=="symbol"?e:e+""}function wS(t,e){if(Dr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(Dr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Et(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(k,w,y,_){var m=w&&w.prototype instanceof c?w:c,v=Object.create(m.prototype);return wt(v,"_invoke",(function(b,S,D){var O,q,J,B=0,Y=D||[],te=!1,Z={p:0,n:0,v:t,a:ae,f:ae.bind(t,4),d:function(ke,oe){return O=ke,q=0,J=t,Z.n=oe,a}};function ae(de,ke){for(q=de,J=ke,e=0;!te&&B&&!oe&&e<Y.length;e++){var oe,pe=Y[e],G=Z.p,K=pe[2];de>3?(oe=K===ke)&&(J=pe[(q=pe[4])?5:(q=3,3)],pe[4]=pe[5]=t):pe[0]<=G&&((oe=de<2&&G<pe[1])?(q=0,Z.v=ke,Z.n=pe[1]):G<K&&(oe=de<3||pe[0]>ke||ke>K)&&(pe[4]=de,pe[5]=ke,Z.n=K,q=0))}if(oe||de>1)return a;throw te=!0,ke}return function(de,ke,oe){if(B>1)throw TypeError("Generator is already running");for(te&&ke===1&&ae(ke,oe),q=ke,J=oe;(e=q<2?t:J)||!te;){O||(q?q<3?(q>1&&(Z.n=-1),ae(q,J)):Z.n=J:Z.v=J);try{if(B=2,O){if(q||(de="next"),e=O[de]){if(!(e=e.call(O,J)))throw TypeError("iterator result is not an object");if(!e.done)return e;J=e.value,q<2&&(q=0)}else q===1&&(e=O.return)&&e.call(O),q<2&&(J=TypeError("The iterator does not provide a '"+de+"' method"),q=1);O=t}else if((e=(te=Z.n<0)?J:b.call(S,Z))!==a)break}catch(pe){O=t,q=1,J=pe}finally{B=1}}return{value:e,done:te}}})(k,y,_),!0),v}var a={};function c(){}function l(){}function d(){}e=Object.getPrototypeOf;var f=[][n]?e(e([][n]())):(wt(e={},n,function(){return this}),e),p=d.prototype=c.prototype=Object.create(f);function g(k){return Object.setPrototypeOf?Object.setPrototypeOf(k,d):(k.__proto__=d,wt(k,o,"GeneratorFunction")),k.prototype=Object.create(p),k}return l.prototype=d,wt(p,"constructor",d),wt(d,"constructor",l),l.displayName="GeneratorFunction",wt(d,o,"GeneratorFunction"),wt(p),wt(p,o,"Generator"),wt(p,n,function(){return this}),wt(p,"toString",function(){return"[object Generator]"}),(Et=function(){return{w:s,m:g}})()}function wt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}wt=function(a,c,l,d){if(c)o?o(a,c,{value:l,enumerable:!d,configurable:!d,writable:!d}):a[c]=l;else{var f=function(g,k){wt(a,g,function(w){return this._invoke(g,k,w)})};f("next",0),f("throw",1),f("return",2)}},wt(t,e,r,n)}function Fy(t,e,r,n,o,s,a){try{var c=t[s](a),l=c.value}catch(d){return void r(d)}c.done?e(l):Promise.resolve(l).then(n,o)}function lo(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(l){Fy(s,n,o,a,c,"next",l)}function c(l){Fy(s,n,o,a,c,"throw",l)}a(void 0)})}}var Iy=Ry.readFile?(0,fS.promisify)(Ry.readFile):lo(Et().m(function t(){return Et().w(function(e){for(;;)switch(e.n){case 0:throw new us("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),By="https://oauth2.googleapis.com/token",ES="https://oauth2.googleapis.com/revoke?token=",us=(function(t){function e(r,n){var o;return Uy(this,e),o=mS(this,e,[r]),Ct(o,"code",void 0),o.code=n,o}return _S(e,t),Ly(e)})(Ol(Error)),as=new WeakMap,ir=new WeakSet,xx=ca.GoogleToken=(function(){function t(e){Uy(this,t),hS(this,ir),Ct(this,"expiresAt",void 0),Ct(this,"key",void 0),Ct(this,"keyFile",void 0),Ct(this,"iss",void 0),Ct(this,"sub",void 0),Ct(this,"scope",void 0),Ct(this,"rawToken",void 0),Ct(this,"tokenExpires",void 0),Ct(this,"email",void 0),Ct(this,"additionalClaims",void 0),Ct(this,"eagerRefreshThresholdMillis",void 0),Ct(this,"transporter",{request:function(n){return(0,cS.request)(n)}}),pS(this,as,void 0),Vt(ir,this,qy).call(this,e)}return Ly(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var r=new Date().getTime();return this.rawToken&&this.expiresAt?r>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var r,n=new Date().getTime(),o=(r=this.eagerRefreshThresholdMillis)!==null&&r!==void 0?r:0;return this.rawToken&&this.expiresAt?this.expiresAt<=n+o:!0}},{key:"getToken",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Dr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;Vt(ir,this,Ny).call(this,n).then(function(s){return o(null,s)},r);return}return Vt(ir,this,Ny).call(this,n)}},{key:"getCredentials",value:(function(){var e=lo(Et().m(function n(o){var s,a,c,l,d,f,p;return Et().w(function(g){for(;;)switch(g.n){case 0:s=dS.extname(o),p=s,g.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return g.n=2,Iy(o,"utf8");case 2:if(a=g.v,c=JSON.parse(a),l=c.private_key,d=c.client_email,!(!l||!d)){g.n=3;break}throw new us("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return g.a(2,{privateKey:l,clientEmail:d});case 4:return g.n=5,Iy(o,"utf8");case 5:return f=g.v,g.a(2,{privateKey:f});case 6:throw new us("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new us("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return g.a(2)}},n)}));function r(n){return e.apply(this,arguments)}return r})()},{key:"revokeToken",value:function(r){if(r){Vt(ir,this,My).call(this).then(function(){return r()},r);return}return Vt(ir,this,My).call(this)}}])})();function Ny(t){return Pl.apply(this,arguments)}function Pl(){return Pl=lo(Et().m(function t(e){return Et().w(function(r){for(;;)switch(r.n){case 0:if(!(Oy(as,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,Oy(as,this));case 1:return r.p=1,r.n=2,xy(as,this,Vt(ir,this,kS).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,xy(as,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),Pl.apply(this,arguments)}function kS(t){return Fl.apply(this,arguments)}function Fl(){return Fl=lo(Et().m(function t(e){var r;return Et().w(function(n){for(;;)switch(n.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){n.n=1;break}return n.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){n.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){n.n=4;break}return n.n=3,this.getCredentials(this.keyFile);case 3:r=n.v,this.key=r.privateKey,this.iss=r.clientEmail||this.iss,r.clientEmail||Vt(ir,this,SS).call(this);case 4:return n.a(2,Vt(ir,this,AS).call(this))}},t,this)})),Fl.apply(this,arguments)}function SS(){if(!this.iss)throw new us("email is required.","MISSING_CREDENTIALS")}function My(){return Il.apply(this,arguments)}function Il(){return Il=lo(Et().m(function t(){var e;return Et().w(function(r){for(;;)switch(r.n){case 0:if(this.accessToken){r.n=1;break}throw new Error("No token to revoke.");case 1:return e=ES+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(ir,this,qy).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return r.a(2)}},t,this)})),Il.apply(this,arguments)}function qy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,Dr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function AS(){return Bl.apply(this,arguments)}function Bl(){return Bl=lo(Et().m(function t(){var e,r,n,o,s,a,c,l,d,f;return Et().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),r=this.additionalClaims||{},n=Object.assign({iss:this.iss,scope:this.scope,aud:By,exp:e+3600,iat:e,sub:this.sub},r),o=lS.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:By,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,p.a(2,this.rawToken);case 3:throw p.p=3,f=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=f.response&&(a=f.response)!==null&&a!==void 0&&a.data?(c=f.response)===null||c===void 0?void 0:c.data:{},l.error&&(d=l.error_description?": ".concat(l.error_description):"",f.message="".concat(l.error).concat(d)),f;case 4:return p.a(2)}},t,this,[[1,3]])})),Bl.apply(this,arguments)}});var jl=V(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.JWTAccess=void 0;var vS=xl(),TS=Wt(),Hy={alg:"RS256",typ:"JWT"},Ml=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new TS.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,r,n,o){this.email=e,this.key=r,this.keyId=n,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,r){let n=e;if(r&&Array.isArray(r)&&r.length?n=e?`${e}_${r.join("_")}`:`${r.join("_")}`:typeof r=="string"&&(n=e?`${e}_${r}`:r),!n)throw Error("Scopes or url must be provided");return n}getRequestHeaders(e,r,n){let o=this.getCachedKey(e,n),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let c=Math.floor(Date.now()/1e3),l=t.getExpirationTime(c),d;if(Array.isArray(n)&&(n=n.join(" ")),n?d={iss:this.email,sub:this.email,scope:n,exp:l,iat:c}:d={iss:this.email,sub:this.email,aud:e,exp:l,iat:c},r){for(let w in d)if(r[w])throw new Error(`The '${w}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let f=this.keyId?{...Hy,kid:this.keyId}:Hy,p=Object.assign(d,r),g=vS.sign({header:f,payload:p,secret:this.key}),k=new Headers({authorization:`Bearer ${g}`});return this.cache.set(o,{expiration:l*1e3,headers:k}),k}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{e||n(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",n).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}};la.JWTAccess=Ml});var Ul=V(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.JWT=void 0;var Wy=zy(),DS=jl(),RS=Sn(),da=bt(),Ll=class t extends RS.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let r=new t(this);return r.scopes=e,r}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let r=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==da.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==da.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${da.DEFAULT_UNIVERSE}`);if(!this.apiKey&&r)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:n}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${n.id_token}`}))}}else{this.access||(this.access=new DS.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let n;this.hasUserScopes()?n=this.scopes:e||(n=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==da.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?n:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let r=new Wy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await r.getToken({forceRefresh:!0}),!r.idToken)throw new Error("Unknown error: Failed to fetch ID token");return r.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(r=>e(null,r),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),n={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",n),{res:null,tokens:n}}createGToken(){return this.gtoken||(this.gtoken=new Wy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let r=await this.createGToken().getCredentials(this.keyFile);return{private_key:r.privateKey,client_email:r.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};fa.JWT=Ll});var ql=V(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.UserRefreshClient=fo.USER_REFRESH_ACCOUNT_TYPE=void 0;var xS=Sn(),OS=bt();fo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var $l=class t extends xS.OAuth2Client{_refreshToken;constructor(e,r,n,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:r,refreshToken:n,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let r={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return OS.AuthClient.setMethodName(r,"fetchIdToken"),(await this.transporter.request(r)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((r,n)=>{if(!e)return n(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),r()}catch(s){return n(s)}})})}static fromJSON(e){let r=new t;return r.fromJSON(e),r}};fo.UserRefreshClient=$l});var Hl=V(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.Impersonated=ho.IMPERSONATED_ACCOUNT_TYPE=void 0;var Gy=Sn(),PS=Ke(),FS=Wt();ho.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var zl=class t extends Gy.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new Gy.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,FS.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,n=`${this.endpoint}/v1/${r}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,r=`${this.endpoint}/v1/${e}:generateAccessToken`,n={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:n,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let r=0,n="";throw e instanceof PS.GaxiosError&&(r=e?.response?.data?.error?.status,n=e?.response?.data?.error?.message),r&&n?(e.message=`${r}: unable to impersonate: ${n}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,r){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${n}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:r?.includeEmail??!0,useEmailAzp:r?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};ho.Impersonated=zl});var Gl=V(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.OAuthClientAuthHandler=void 0;ds.getErrorFromOAuthErrorResponse=NS;var po=Ke(),IS=ts(),BS=["PUT","POST","PATCH"],Wl=class{#e=(0,IS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new po.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new po.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=po.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=po.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=po.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);po.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!BS.includes(r))throw new Error(`${r} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};ds.OAuthClientAuthHandler=Wl;function NS(t,e){let r=t.error,n=t.error_description,o=t.error_uri,s=`Error code ${r}`;typeof n<"u"&&(s+=`: ${n}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let c=Object.keys(e);e.stack&&c.push("stack"),c.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var pa=V(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.StsCredentials=void 0;var MS=Ke(),jS=bt(),Jy=Gl(),LS=Wt(),Jl=class t extends Jy.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},r){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:r}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,r,n){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:n&&JSON.stringify(n)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:r,data:new URLSearchParams((0,LS.removeUndefinedValuesInObject)(o))};jS.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),c=a.data;return c.res=a,c}catch(a){throw a instanceof MS.GaxiosError&&a.response?(0,Jy.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};ha.StsCredentials=Jl});var Qr=V(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.BaseExternalAccountClient=Pt.CLOUD_RESOURCE_MANAGER=Pt.EXTERNAL_ACCOUNT_TYPE=Pt.EXPIRATION_TIME_OFFSET=void 0;var US=Ke(),$S=require("stream"),Vl=bt(),qS=pa(),Vy=Wt(),zS=cl(),HS="urn:ietf:params:oauth:grant-type:token-exchange",WS="urn:ietf:params:oauth:token-type:access_token",Kl="https://www.googleapis.com/auth/cloud-platform",GS=3600;Pt.EXPIRATION_TIME_OFFSET=300*1e3;Pt.EXTERNAL_ACCOUNT_TYPE="external_account";Pt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var JS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",VS="https://sts.{universeDomain}/v1/token",Yl=class t extends Vl.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let r=(0,Vy.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==Pt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Pt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=r.get("client_id"),s=r.get("client_secret");this.tokenUrl=r.get("token_url")??VS.replace("{universeDomain}",this.universeDomain);let a=r.get("subject_token_type"),c=r.get("workforce_pool_user_project"),l=r.get("service_account_impersonation_url"),d=r.get("service_account_impersonation"),f=(0,Vy.originalOrCamelOptions)(d).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(r.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new qS.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[Kl],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=c;let p=new RegExp(JS);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=f,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=GS),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let r=await this.getRequestHeaders(),n={...t.RETRY_CONFIG,headers:r,url:`${this.cloudResourceManagerURL.toString()}${e}`};Vl.AuthClient.setMethodName(n,"getProjectId");let o=await this.transporter.request(n);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=US.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof $S.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),r={grantType:HS,audience:this.audience,requestedTokenType:WS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Kl]:this.getScopesArray()},n=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(r,o,n);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let r=e.match(/\/projects\/([^/]+)/);return r?r[1]:null}async getImpersonatedAccessToken(e){let r={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};Vl.AuthClient.setMethodName(r,"getImpersonatedAccessToken");let n=await this.transporter.request(r),o=n.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:n}}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Kl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${zS.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Pt.BaseExternalAccountClient=Yl});var Ky=V(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.FileSubjectTokenSupplier=void 0;var Xl=require("util"),Zl=require("fs"),KS=(0,Xl.promisify)(Zl.readFile??(()=>{})),YS=(0,Xl.promisify)(Zl.realpath??(()=>{})),QS=(0,Xl.promisify)(Zl.lstat??(()=>{})),Ql=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await YS(e),!(await QS(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r,n=await KS(e,{encoding:"utf8"});if(this.formatType==="text"?r=n:this.formatType==="json"&&this.subjectTokenFieldName&&(r=JSON.parse(n)[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source file");return r}};ma.FileSubjectTokenSupplier=Ql});var Yy=V(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.UrlSubjectTokenSupplier=void 0;var XS=bt(),ed=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let r={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};XS.AuthClient.setMethodName(r,"getSubjectToken");let n;if(this.formatType==="text"?n=(await e.transporter.request(r)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(n=(await e.transporter.request(r)).data[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source URL");return n}};ga.UrlSubjectTokenSupplier=ed});var Qy=V(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.CertificateSubjectTokenSupplier=kt.InvalidConfigurationError=kt.CertificateSourceUnavailableError=kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var ya=Wt(),_a=require("fs"),ba=require("crypto"),ZS=require("https");kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var ar=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};kt.CertificateSourceUnavailableError=ar;var Ft=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};kt.InvalidConfigurationError=Ft;var td=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ft("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ft("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ft("Cannot create mTLS Agent with missing certificate or key");return new ZS.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:r}=await this.#t();return{cert:this.cert,key:this.key}=await this.#r(e,r),await this.#n(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,ya.isValidFile)(e))return e;throw new ar(`Provided certificate config path is invalid: ${e}`)}let r=process.env[kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,ya.isValidFile)(r))return r;throw new ar(`Path from environment variable "${kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,ya.getWellKnownCertificateConfigFileLocation)();if(await(0,ya.isValidFile)(n))return n;throw new ar(`Could not find certificate configuration file. Searched override path, the "${kt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await _a.promises.readFile(e,"utf8")}catch{throw new ar(`Failed to read certificate config file at: ${e}`)}try{let n=JSON.parse(r),o=n?.cert_configs?.workload?.cert_path,s=n?.cert_configs?.workload?.key_path;if(!o||!s)throw new Ft(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(n){throw n instanceof Ft?n:new Ft(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await _a.promises.readFile(e),new ba.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ar(`Failed to read certificate file at ${e}: ${a}`)}try{o=await _a.promises.readFile(r),(0,ba.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ar(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new ba.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await _a.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,d)=>{try{return new ba.X509Certificate(l)}catch(f){let p=f instanceof Error?f.message:String(f);throw new Ft(`Failed to parse certificate at index ${d} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>r.raw.equals(l.raw)),c;if(a===-1)c=[r,...s];else if(a===0)c=s;else throw new Ft(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(c.map(l=>l.raw.toString("base64")))}catch(n){if(n instanceof Ft)throw n;let o=n instanceof Error?n.message:String(n);throw new ar(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};kt.CertificateSubjectTokenSupplier=td});var od=V(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.IdentityPoolClient=void 0;var eA=Qr(),rd=Wt(),tA=Ky(),rA=Yy(),Xy=Qy(),nA=pa(),Zy=Ke(),nd=class t extends eA.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,rd.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("subject_token_supplier");if(!n&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,rd.originalOrCamelOptions)(n),a=(0,rd.originalOrCamelOptions)(s.get("format")),c=a.get("type")||"text",l=a.get("subject_token_field_name");if(c!=="json"&&c!=="text")throw new Error(`Invalid credential_source format "${c}"`);if(c==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let d=s.get("file"),f=s.get("url"),p=s.get("certificate"),g=s.get("headers");if(d&&f||f&&p||d&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(d)this.credentialSourceType="file",this.subjectTokenSupplier=new tA.FileSubjectTokenSupplier({filePath:d,formatType:c,subjectTokenFieldName:l});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new rA.UrlSubjectTokenSupplier({url:f,formatType:c,subjectTokenFieldName:l,headers:g,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let k=new Xy.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=k}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof Xy.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new nA.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new Zy.Gaxios({agent:r})}),this.transporter=new Zy.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};Ca.IdentityPoolClient=nd});var id=V(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.AwsRequestSigner=void 0;var wa=Ke(),t0=ts(),e0="AWS4-HMAC-SHA256",oA="aws4_request",sd=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,t0.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let r=typeof e.data=="object"?JSON.stringify(e.data):e.data,n=e.url,o=e.method||"GET",s=e.body||r,a=e.headers,c=await this.getCredentials(),l=new URL(n);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let d=await iA({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:c,requestPayload:s,additionalAmzHeaders:a}),f=wa.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:l.host},a||{});c.token&&wa.Gaxios.mergeHeaders(f,{"x-amz-security-token":c.token});let p={url:n,method:o,headers:f};return s!==void 0&&(p.body=s),p}};Ea.AwsRequestSigner=sd;async function fs(t,e,r){return await t.signWithHmacSha256(e,r)}async function sA(t,e,r,n,o){let s=await fs(t,`AWS4${e}`,r),a=await fs(t,s,n),c=await fs(t,a,o);return await fs(t,c,"aws4_request")}async function iA(t){let e=wa.Gaxios.mergeHeaders(t.additionalAmzHeaders),r=t.requestPayload||"",n=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let c=wa.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",d=[...c.keys()].sort();d.forEach(v=>{l+=`${v}:${c.get(v)}
53
+ `});let f=d.join(";"),p=await t.crypto.sha256DigestHex(r),g=`${t.method.toUpperCase()}
54
54
  ${t.canonicalUri}
55
55
  ${t.canonicalQuerystring}
56
56
  ${l}
57
- ${d}
58
- ${p}`,A=`${a}/${t.region}/${n}/${ok}`,E=`${e0}
57
+ ${f}
58
+ ${p}`,k=`${a}/${t.region}/${n}/${oA}`,w=`${e0}
59
59
  ${s}
60
- ${A}
61
- `+await t.crypto.sha256DigestHex(g),_=await sk(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),y=await fs(t.crypto,_,E),m=`${e0} Credential=${t.securityCredentials.accessKeyId}/${A}, SignedHeaders=${d}, Signature=${(0,t0.fromArrayBufferToHex)(y)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var r0=V(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.DefaultAwsSecurityCredentialsSupplier=void 0;var Aa=bt(),ad=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#n)return this.#n;let r=new Headers;if(!this.#n&&this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let n={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:r};Aa.AuthClient.setMethodName(n,"getAwsRegion");let o=await e.transporter.request(n);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let r=new Headers;this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let n=await this.#t(r,e.transporter),o=await this.#r(n,r,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let r={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return Aa.AuthClient.setMethodName(r,"#getImdsV2SessionToken"),(await e.request(r)).data}async#t(e,r){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let n={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return Aa.AuthClient.setMethodName(n,"#getAwsRoleName"),(await r.request(n)).data}async#r(e,r,n){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:r};return Aa.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await n.request(o)).data}get#n(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};Sa.DefaultAwsSecurityCredentialsSupplier=ad});var cd=V(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.AwsClient=void 0;var ak=id(),uk=Qr(),ck=r0(),n0=Wt(),lk=Ke(),ud=class t extends uk.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let r=(0,n0.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("aws_security_credentials_supplier");if(!n&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,n0.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let a=s.get("region_url"),c=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new ck.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:c,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new ak.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),r=[];return lk.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>r.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:r}))}};ka.AwsClient=ud});var pd=V(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.InvalidSubjectTokenError=Le.InvalidMessageFieldError=Le.InvalidCodeFieldError=Le.InvalidTokenTypeFieldError=Le.InvalidExpirationTimeFieldError=Le.InvalidSuccessFieldError=Le.InvalidVersionFieldError=Le.ExecutableResponseError=Le.ExecutableResponse=void 0;var va="urn:ietf:params:oauth:token-type:saml2",ld="urn:ietf:params:oauth:token-type:id_token",dd="urn:ietf:params:oauth:token-type:jwt",fd=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Ta("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Da("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==va&&this.tokenType!==ld&&this.tokenType!==dd)throw new Ra(`Executable response must contain a 'token_type' field when successful and it must be one of ${ld}, ${dd}, or ${va}.`);if(this.tokenType===va){if(!e.saml_response)throw new hs(`Executable response must contain a 'saml_response' field when token_type=${va}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new hs(`Executable response must contain a 'id_token' field when token_type=${ld} or ${dd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new xa("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Oa("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};Le.ExecutableResponse=fd;var ur=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Le.ExecutableResponseError=ur;var Ta=class extends ur{};Le.InvalidVersionFieldError=Ta;var Da=class extends ur{};Le.InvalidSuccessFieldError=Da;var hd=class extends ur{};Le.InvalidExpirationTimeFieldError=hd;var Ra=class extends ur{};Le.InvalidTokenTypeFieldError=Ra;var xa=class extends ur{};Le.InvalidCodeFieldError=xa;var Oa=class extends ur{};Le.InvalidMessageFieldError=Oa;var hs=class extends ur{};Le.InvalidSubjectTokenError=hs});var yd=V(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.PluggableAuthHandler=mo.ExecutableError=void 0;var kn=pd(),dk=require("child_process"),md=require("fs"),Fa=class extends Error{code;constructor(e,r){super(`The executable failed with exit code: ${r} and error message: ${e}.`),this.code=r,Object.setPrototypeOf(this,new.target.prototype)}};mo.ExecutableError=Fa;var gd=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((r,n)=>{let o=dk.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",c=>{s+=c}),o.stderr.on("data",c=>{s+=c});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),n(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",c=>{if(clearTimeout(a),c===0)try{let l=JSON.parse(s),f=new kn.ExecutableResponse(l);return r(f)}catch(l){return l instanceof kn.ExecutableResponseError?n(l):n(new kn.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new Fa(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await md.promises.realpath(this.outputFile)}catch{return}if(!(await md.promises.lstat(e)).isFile())return;let r=await md.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new kn.ExecutableResponse(n).isValid()?new kn.ExecutableResponse(n):void 0}catch(n){throw n instanceof kn.ExecutableResponseError?n:new kn.ExecutableResponseError(`The output file contained an invalid response: ${r}`)}}static parseCommand(e){let r=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!r)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let n=0;n<r.length;n++)r[n][0]==='"'&&r[n].slice(-1)==='"'&&(r[n]=r[n].slice(1,-1));return r}};mo.PluggableAuthHandler=gd});var bd=V(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.PluggableAuthClient=go.ExecutableError=void 0;var fk=Qr(),hk=pd(),o0=yd(),pk=yd();Object.defineProperty(go,"ExecutableError",{enumerable:!0,get:function(){return pk.ExecutableError}});var mk=30*1e3,s0=5*1e3,i0=120*1e3,gk="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",a0=1,_d=class extends fk.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=mk;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<s0||this.timeoutMillis>i0)throw new Error(`Timeout must be between ${s0} and ${i0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new o0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[gk]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let r=new Map;r.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),r.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),r.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&r.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let n=this.getServiceAccountEmail();n&&r.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",n),e=await this.handler.retrieveResponseFromExecutable(r)}if(e.version>a0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${a0}.`);if(!e.success)throw new o0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new hk.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};go.PluggableAuthClient=_d});var wd=V(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ExternalAccountClient=void 0;var yk=Qr(),_k=od(),bk=cd(),Ck=bd(),Cd=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===yk.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new bk.AwsClient(e):e.credential_source?.executable?new Ck.PluggableAuthClient(e):new _k.IdentityPoolClient(e):null}};Pa.ExternalAccountClient=Cd});var d0=V(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.ExternalAccountAuthorizedUserClient=yo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var c0=bt(),u0=Gl(),l0=Ke(),wk=require("stream"),Ek=Qr();yo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var Ak="https://sts.{universeDomain}/v1/oauthtoken",Ed=class t extends u0.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,r){let n={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:r,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};c0.AuthClient.setMethodName(n,"refreshToken"),this.applyClientAuthenticationOptions(n);try{let o=await this.transporter.request(n),s=o.data;return s.res=o,s}catch(o){throw o instanceof l0.GaxiosError&&o.response?(0,u0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Ad=class extends c0.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let r={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new Ed({tokenRefreshEndpoint:e.token_url??Ak.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=Ek.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=l0.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof wk.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};yo.ExternalAccountAuthorizedUserClient=Ad});var m0=V(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var Sk=require("child_process"),ps=require("fs"),kk=Ke(),ms=es(),vk=require("os"),Sd=require("path"),Tk=ts(),Dk=_l(),Rk=Cl(),xk=wl(),_o=Ul(),f0=ql(),bo=Hl(),Ok=wd(),gs=Qr(),kd=bt(),h0=d0(),p0=Wt();Kt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
60
+ ${k}
61
+ `+await t.crypto.sha256DigestHex(g),y=await sA(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),_=await fs(t.crypto,y,w),m=`${e0} Credential=${t.securityCredentials.accessKeyId}/${k}, SignedHeaders=${f}, Signature=${(0,t0.fromArrayBufferToHex)(_)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var r0=V(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.DefaultAwsSecurityCredentialsSupplier=void 0;var ka=bt(),ad=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#n)return this.#n;let r=new Headers;if(!this.#n&&this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let n={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:r};ka.AuthClient.setMethodName(n,"getAwsRegion");let o=await e.transporter.request(n);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let r=new Headers;this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let n=await this.#t(r,e.transporter),o=await this.#r(n,r,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let r={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return ka.AuthClient.setMethodName(r,"#getImdsV2SessionToken"),(await e.request(r)).data}async#t(e,r){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let n={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return ka.AuthClient.setMethodName(n,"#getAwsRoleName"),(await r.request(n)).data}async#r(e,r,n){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:r};return ka.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await n.request(o)).data}get#n(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};Sa.DefaultAwsSecurityCredentialsSupplier=ad});var cd=V(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.AwsClient=void 0;var aA=id(),uA=Qr(),cA=r0(),n0=Wt(),lA=Ke(),ud=class t extends uA.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let r=(0,n0.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("aws_security_credentials_supplier");if(!n&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,n0.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let a=s.get("region_url"),c=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new cA.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:c,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new aA.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),r=[];return lA.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>r.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:r}))}};Aa.AwsClient=ud});var pd=V(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.InvalidSubjectTokenError=Le.InvalidMessageFieldError=Le.InvalidCodeFieldError=Le.InvalidTokenTypeFieldError=Le.InvalidExpirationTimeFieldError=Le.InvalidSuccessFieldError=Le.InvalidVersionFieldError=Le.ExecutableResponseError=Le.ExecutableResponse=void 0;var va="urn:ietf:params:oauth:token-type:saml2",ld="urn:ietf:params:oauth:token-type:id_token",dd="urn:ietf:params:oauth:token-type:jwt",fd=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Ta("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Da("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==va&&this.tokenType!==ld&&this.tokenType!==dd)throw new Ra(`Executable response must contain a 'token_type' field when successful and it must be one of ${ld}, ${dd}, or ${va}.`);if(this.tokenType===va){if(!e.saml_response)throw new hs(`Executable response must contain a 'saml_response' field when token_type=${va}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new hs(`Executable response must contain a 'id_token' field when token_type=${ld} or ${dd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new xa("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Oa("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};Le.ExecutableResponse=fd;var ur=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Le.ExecutableResponseError=ur;var Ta=class extends ur{};Le.InvalidVersionFieldError=Ta;var Da=class extends ur{};Le.InvalidSuccessFieldError=Da;var hd=class extends ur{};Le.InvalidExpirationTimeFieldError=hd;var Ra=class extends ur{};Le.InvalidTokenTypeFieldError=Ra;var xa=class extends ur{};Le.InvalidCodeFieldError=xa;var Oa=class extends ur{};Le.InvalidMessageFieldError=Oa;var hs=class extends ur{};Le.InvalidSubjectTokenError=hs});var yd=V(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.PluggableAuthHandler=mo.ExecutableError=void 0;var An=pd(),dA=require("child_process"),md=require("fs"),Pa=class extends Error{code;constructor(e,r){super(`The executable failed with exit code: ${r} and error message: ${e}.`),this.code=r,Object.setPrototypeOf(this,new.target.prototype)}};mo.ExecutableError=Pa;var gd=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((r,n)=>{let o=dA.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",c=>{s+=c}),o.stderr.on("data",c=>{s+=c});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),n(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",c=>{if(clearTimeout(a),c===0)try{let l=JSON.parse(s),d=new An.ExecutableResponse(l);return r(d)}catch(l){return l instanceof An.ExecutableResponseError?n(l):n(new An.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new Pa(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await md.promises.realpath(this.outputFile)}catch{return}if(!(await md.promises.lstat(e)).isFile())return;let r=await md.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new An.ExecutableResponse(n).isValid()?new An.ExecutableResponse(n):void 0}catch(n){throw n instanceof An.ExecutableResponseError?n:new An.ExecutableResponseError(`The output file contained an invalid response: ${r}`)}}static parseCommand(e){let r=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!r)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let n=0;n<r.length;n++)r[n][0]==='"'&&r[n].slice(-1)==='"'&&(r[n]=r[n].slice(1,-1));return r}};mo.PluggableAuthHandler=gd});var bd=V(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.PluggableAuthClient=go.ExecutableError=void 0;var fA=Qr(),hA=pd(),o0=yd(),pA=yd();Object.defineProperty(go,"ExecutableError",{enumerable:!0,get:function(){return pA.ExecutableError}});var mA=30*1e3,s0=5*1e3,i0=120*1e3,gA="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",a0=1,_d=class extends fA.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=mA;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<s0||this.timeoutMillis>i0)throw new Error(`Timeout must be between ${s0} and ${i0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new o0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[gA]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let r=new Map;r.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),r.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),r.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&r.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let n=this.getServiceAccountEmail();n&&r.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",n),e=await this.handler.retrieveResponseFromExecutable(r)}if(e.version>a0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${a0}.`);if(!e.success)throw new o0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new hA.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};go.PluggableAuthClient=_d});var wd=V(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.ExternalAccountClient=void 0;var yA=Qr(),_A=od(),bA=cd(),CA=bd(),Cd=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===yA.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new bA.AwsClient(e):e.credential_source?.executable?new CA.PluggableAuthClient(e):new _A.IdentityPoolClient(e):null}};Fa.ExternalAccountClient=Cd});var d0=V(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.ExternalAccountAuthorizedUserClient=yo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var c0=bt(),u0=Gl(),l0=Ke(),wA=require("stream"),EA=Qr();yo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var kA="https://sts.{universeDomain}/v1/oauthtoken",Ed=class t extends u0.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,r){let n={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:r,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};c0.AuthClient.setMethodName(n,"refreshToken"),this.applyClientAuthenticationOptions(n);try{let o=await this.transporter.request(n),s=o.data;return s.res=o,s}catch(o){throw o instanceof l0.GaxiosError&&o.response?(0,u0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},kd=class extends c0.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let r={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new Ed({tokenRefreshEndpoint:e.token_url??kA.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=EA.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=l0.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof wA.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};yo.ExternalAccountAuthorizedUserClient=kd});var m0=V(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var SA=require("child_process"),ps=require("fs"),AA=Ke(),ms=es(),vA=require("os"),Sd=require("path"),TA=ts(),DA=_l(),RA=Cl(),xA=wl(),_o=Ul(),f0=ql(),bo=Hl(),OA=wd(),gs=Qr(),Ad=bt(),h0=d0(),p0=Wt();Kt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
62
62
  To learn more about authentication and Google APIs, visit:
63
63
  https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
64
64
  To learn more about authentication and Google APIs, visit:
65
65
  https://cloud.google.com/docs/authentication/getting-started`,NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:`Unable to detect a Universe Domain in the current environment.
66
66
  To learn more about Universe Domain retrieval, visit:
67
- https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var vd=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Kt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(r=>e(null,r),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await ms.universe("universe-domain"),e||=kd.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=kd.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,p0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=kd.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},r){let n;if(typeof e=="function"?r=e:n=e,r)this.getApplicationDefaultAsync(n).then(o=>r(null,o.credential,o.projectId),r);else return this.getApplicationDefaultAsync(n)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let r;if(r=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),r)return r instanceof _o.JWT?r.scopes=this.scopes:r instanceof gs.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof _o.JWT?r.scopes=this.scopes:r instanceof gs.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new Dk.Compute(e));throw new Error(Kt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,r=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let n=await this.getProjectIdOptional();return r&&(e.quotaProjectId=r),this.cachedCredential=e,{credential:e,projectId:n}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=ms.getGCPResidency()||await ms.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let r=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!r||r.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(r,e)}catch(n){throw n instanceof Error&&(n.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${n.message}`),n}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let r=null;if(this._isWindows())r=process.env.APPDATA;else{let o=process.env.HOME;o&&(r=Sd.join(o,".config"))}return r&&(r=Sd.join(r,"gcloud","application_default_credentials.json"),ps.existsSync(r)||(r=null)),r?await this._getApplicationCredentialsFromFilePath(r,e):null}async _getApplicationCredentialsFromFilePath(e,r={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=ps.realpathSync(e),!ps.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n=ps.createReadStream(e);return this.fromStream(n,r)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==bo.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${bo.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let r=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let n=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!n)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new bo.Impersonated({...e,sourceClient:r,targetPrincipal:n,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,r={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let n,o=(0,p0.originalOrCamelOptions)(r).get("universe_domain");return e.type===f0.USER_REFRESH_ACCOUNT_TYPE?(n=new f0.UserRefreshClient(r),n.fromJSON(e)):e.type===bo.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===gs.EXTERNAL_ACCOUNT_TYPE?(n=Ok.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===h0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new h0.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new _o.JWT(r),this.setGapicJWTValues(n),n.fromJSON(e)),o&&(n.universeDomain=o),n}_cacheClientFromJSON(e,r){let n=this.fromJSON(e,r);return this.jsonContent=e,this.cachedCredential=n,n}fromStream(e,r={},n){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof r=="function"?n=r:o=r,n)this.fromStreamAsync(e,o).then(s=>n(null,s),n);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,r){return new Promise((n,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",a=>s.push(a)).on("end",()=>{try{try{let a=JSON.parse(s.join("")),c=this._cacheClientFromJSON(a,r);return n(c)}catch(a){if(!this.keyFilename)throw a;let c=new _o.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=c,this.setGapicJWTValues(c),n(c)}}catch(a){return o(a)}})})}fromAPIKey(e,r={}){return new _o.JWT({...r,apiKey:e})}_isWindows(){let e=vk.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,Sk.exec)("gcloud config config-helper --format json",(r,n)=>{if(!r&&n)try{let o=JSON.parse(n).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let r=await this.getClient();if(r&&r.projectId)return r.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==gs.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ms.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(r=>e(null,r),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof bo.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof gs.BaseExternalAccountClient){let r=e.getServiceAccountEmail();if(r)return{client_email:r,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[r,n]=await Promise.all([ms.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:r,universe_domain:n}}throw new Error(Kt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#r();try{return await this.#e}finally{this.#e=null}}async#r(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=Sd.resolve(this.keyFilename),r=ps.createReadStream(e);return await this.fromStreamAsync(r,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:r}=await this.#t(e);return r}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let r=await this.getClient();if(!("fetchIdToken"in r))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new Rk.IdTokenClient({targetAudience:e,idTokenProvider:r})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let r=e.url,o=await(await this.getClient()).getRequestHeaders(r);return e.headers=kk.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,xk.getEnv)()}async sign(e,r){let n=await this.getClient(),o=await this.getUniverseDomain();if(r=r||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,n instanceof bo.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,Tk.createCrypto)();if(n instanceof _o.JWT&&n.key)return await s.sign(n.key,e);let a=await this.getCredentials();if(!a.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,a.client_email,e,r)}async signBlob(e,r,n,o){let s=new URL(o+`${r}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(n)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Kt.GoogleAuth=vd});var g0=V(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.IAMAuth=void 0;var Td=class{selector;token;constructor(e,r){this.selector=e,this.token=r,this.selector=e,this.token=r}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};Ia.IAMAuth=Td});var y0=V(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.DownscopedClient=cr.EXPIRATION_TIME_OFFSET=cr.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var Fk=Ke(),Pk=require("stream"),Dd=bt(),Ik=pa(),Bk="urn:ietf:params:oauth:grant-type:token-exchange",Nk="urn:ietf:params:oauth:token-type:access_token",jk="urn:ietf:params:oauth:token-type:access_token";cr.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;cr.EXPIRATION_TIME_OFFSET=300*1e3;var Rd=class extends Dd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Dd.AuthClient?{}:e),e instanceof Dd.AuthClient?(this.authClient=e,this.credentialAccessBoundary=r):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>cr.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${cr.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let n of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(n.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new Ik.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=Fk.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof Pk.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,r={grantType:Bk,requestedTokenType:Nk,subjectToken:e,subjectTokenType:jk},n=await this.stsCredential.exchangeToken(r,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=n.expires_in?new Date().getTime()+n.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:n.access_token,expiry_date:s,res:n.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};cr.DownscopedClient=Rd});var _0=V(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.PassThroughClient=void 0;var Mk=bt(),xd=class extends Mk.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Ba.PassThroughClient=xd});var Fd=V(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.GoogleAuth=re.auth=re.PassThroughClient=re.ExecutableError=re.PluggableAuthClient=re.DownscopedClient=re.BaseExternalAccountClient=re.ExternalAccountClient=re.IdentityPoolClient=re.AwsRequestSigner=re.AwsClient=re.UserRefreshClient=re.LoginTicket=re.ClientAuthentication=re.OAuth2Client=re.CodeChallengeMethod=re.Impersonated=re.JWT=re.JWTAccess=re.IdTokenClient=re.IAMAuth=re.GCPEnv=re.Compute=re.DEFAULT_UNIVERSE=re.AuthClient=re.gaxios=re.gcpMetadata=void 0;var b0=m0();Object.defineProperty(re,"GoogleAuth",{enumerable:!0,get:function(){return b0.GoogleAuth}});re.gcpMetadata=es();re.gaxios=Ke();var C0=bt();Object.defineProperty(re,"AuthClient",{enumerable:!0,get:function(){return C0.AuthClient}});Object.defineProperty(re,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return C0.DEFAULT_UNIVERSE}});var Lk=_l();Object.defineProperty(re,"Compute",{enumerable:!0,get:function(){return Lk.Compute}});var Uk=wl();Object.defineProperty(re,"GCPEnv",{enumerable:!0,get:function(){return Uk.GCPEnv}});var $k=g0();Object.defineProperty(re,"IAMAuth",{enumerable:!0,get:function(){return $k.IAMAuth}});var qk=Cl();Object.defineProperty(re,"IdTokenClient",{enumerable:!0,get:function(){return qk.IdTokenClient}});var zk=Ml();Object.defineProperty(re,"JWTAccess",{enumerable:!0,get:function(){return zk.JWTAccess}});var Hk=Ul();Object.defineProperty(re,"JWT",{enumerable:!0,get:function(){return Hk.JWT}});var Wk=Hl();Object.defineProperty(re,"Impersonated",{enumerable:!0,get:function(){return Wk.Impersonated}});var Od=Sn();Object.defineProperty(re,"CodeChallengeMethod",{enumerable:!0,get:function(){return Od.CodeChallengeMethod}});Object.defineProperty(re,"OAuth2Client",{enumerable:!0,get:function(){return Od.OAuth2Client}});Object.defineProperty(re,"ClientAuthentication",{enumerable:!0,get:function(){return Od.ClientAuthentication}});var Gk=pl();Object.defineProperty(re,"LoginTicket",{enumerable:!0,get:function(){return Gk.LoginTicket}});var Jk=ql();Object.defineProperty(re,"UserRefreshClient",{enumerable:!0,get:function(){return Jk.UserRefreshClient}});var Vk=cd();Object.defineProperty(re,"AwsClient",{enumerable:!0,get:function(){return Vk.AwsClient}});var Kk=id();Object.defineProperty(re,"AwsRequestSigner",{enumerable:!0,get:function(){return Kk.AwsRequestSigner}});var Yk=od();Object.defineProperty(re,"IdentityPoolClient",{enumerable:!0,get:function(){return Yk.IdentityPoolClient}});var Qk=wd();Object.defineProperty(re,"ExternalAccountClient",{enumerable:!0,get:function(){return Qk.ExternalAccountClient}});var Xk=Qr();Object.defineProperty(re,"BaseExternalAccountClient",{enumerable:!0,get:function(){return Xk.BaseExternalAccountClient}});var Zk=y0();Object.defineProperty(re,"DownscopedClient",{enumerable:!0,get:function(){return Zk.DownscopedClient}});var w0=bd();Object.defineProperty(re,"PluggableAuthClient",{enumerable:!0,get:function(){return w0.PluggableAuthClient}});Object.defineProperty(re,"ExecutableError",{enumerable:!0,get:function(){return w0.ExecutableError}});var ev=_0();Object.defineProperty(re,"PassThroughClient",{enumerable:!0,get:function(){return ev.PassThroughClient}});var tv=new b0.GoogleAuth;re.auth=tv});var l_=V((jP,pf)=>{"use strict";var ND=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,jD=/(\w*(\.\w*)*)\..*/;pf.exports=function(e){if(e.name.length>0)return e.name;let r=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(n){return Error.stackTraceLimit=r,c_(n.stack)}};function c_(t){let e=t.match(ND);return e?e[1].split(/[/\\]/).slice(-1)[0].match(jD)[1]:"anonymous"}pf.exports.extractPluginName=c_});var f_=V((MP,d_)=>{"use strict";d_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var h_=V((LP,bu)=>{"use strict";var MD=l_(),LD=f_(),UD=0;function mf(t,e={}){let r=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(r=!0,e.name=MD(t)+"-auto-"+UD++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let n=LD(e.name);return!r&&!t[n]&&(t[n]=t),t}bu.exports=mf;bu.exports.default=mf;bu.exports.fastifyPlugin=mf});var Ts,yf=je(()=>{"use strict";Ts=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,r){let{format:n="text",timestamp:o=!0,prefix:s,metadata:a}=r||{},c="";if(o){let l=new Date().toISOString();c+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}switch(s&&(c+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),n){case"json":c+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?c+=this.toMarkdown(e):c+=String(e);break;case"text":default:typeof e=="object"?c+=JSON.stringify(e,null,2):c+=String(e);break}return a&&Object.keys(a).length>0&&(c+=`
67
+ https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var vd=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Kt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(r=>e(null,r),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await ms.universe("universe-domain"),e||=Ad.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=Ad.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,p0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Ad.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},r){let n;if(typeof e=="function"?r=e:n=e,r)this.getApplicationDefaultAsync(n).then(o=>r(null,o.credential,o.projectId),r);else return this.getApplicationDefaultAsync(n)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let r;if(r=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),r)return r instanceof _o.JWT?r.scopes=this.scopes:r instanceof gs.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof _o.JWT?r.scopes=this.scopes:r instanceof gs.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new DA.Compute(e));throw new Error(Kt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,r=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let n=await this.getProjectIdOptional();return r&&(e.quotaProjectId=r),this.cachedCredential=e,{credential:e,projectId:n}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=ms.getGCPResidency()||await ms.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let r=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!r||r.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(r,e)}catch(n){throw n instanceof Error&&(n.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${n.message}`),n}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let r=null;if(this._isWindows())r=process.env.APPDATA;else{let o=process.env.HOME;o&&(r=Sd.join(o,".config"))}return r&&(r=Sd.join(r,"gcloud","application_default_credentials.json"),ps.existsSync(r)||(r=null)),r?await this._getApplicationCredentialsFromFilePath(r,e):null}async _getApplicationCredentialsFromFilePath(e,r={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=ps.realpathSync(e),!ps.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n=ps.createReadStream(e);return this.fromStream(n,r)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==bo.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${bo.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let r=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let n=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!n)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new bo.Impersonated({...e,sourceClient:r,targetPrincipal:n,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,r={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let n,o=(0,p0.originalOrCamelOptions)(r).get("universe_domain");return e.type===f0.USER_REFRESH_ACCOUNT_TYPE?(n=new f0.UserRefreshClient(r),n.fromJSON(e)):e.type===bo.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===gs.EXTERNAL_ACCOUNT_TYPE?(n=OA.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===h0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new h0.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new _o.JWT(r),this.setGapicJWTValues(n),n.fromJSON(e)),o&&(n.universeDomain=o),n}_cacheClientFromJSON(e,r){let n=this.fromJSON(e,r);return this.jsonContent=e,this.cachedCredential=n,n}fromStream(e,r={},n){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof r=="function"?n=r:o=r,n)this.fromStreamAsync(e,o).then(s=>n(null,s),n);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,r){return new Promise((n,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",a=>s.push(a)).on("end",()=>{try{try{let a=JSON.parse(s.join("")),c=this._cacheClientFromJSON(a,r);return n(c)}catch(a){if(!this.keyFilename)throw a;let c=new _o.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=c,this.setGapicJWTValues(c),n(c)}}catch(a){return o(a)}})})}fromAPIKey(e,r={}){return new _o.JWT({...r,apiKey:e})}_isWindows(){let e=vA.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,SA.exec)("gcloud config config-helper --format json",(r,n)=>{if(!r&&n)try{let o=JSON.parse(n).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let r=await this.getClient();if(r&&r.projectId)return r.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==gs.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ms.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(r=>e(null,r),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof bo.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof gs.BaseExternalAccountClient){let r=e.getServiceAccountEmail();if(r)return{client_email:r,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[r,n]=await Promise.all([ms.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:r,universe_domain:n}}throw new Error(Kt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#r();try{return await this.#e}finally{this.#e=null}}async#r(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=Sd.resolve(this.keyFilename),r=ps.createReadStream(e);return await this.fromStreamAsync(r,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:r}=await this.#t(e);return r}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let r=await this.getClient();if(!("fetchIdToken"in r))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new RA.IdTokenClient({targetAudience:e,idTokenProvider:r})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let r=e.url,o=await(await this.getClient()).getRequestHeaders(r);return e.headers=AA.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,xA.getEnv)()}async sign(e,r){let n=await this.getClient(),o=await this.getUniverseDomain();if(r=r||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,n instanceof bo.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,TA.createCrypto)();if(n instanceof _o.JWT&&n.key)return await s.sign(n.key,e);let a=await this.getCredentials();if(!a.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,a.client_email,e,r)}async signBlob(e,r,n,o){let s=new URL(o+`${r}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(n)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Kt.GoogleAuth=vd});var g0=V(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.IAMAuth=void 0;var Td=class{selector;token;constructor(e,r){this.selector=e,this.token=r,this.selector=e,this.token=r}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};Ia.IAMAuth=Td});var y0=V(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.DownscopedClient=cr.EXPIRATION_TIME_OFFSET=cr.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var PA=Ke(),FA=require("stream"),Dd=bt(),IA=pa(),BA="urn:ietf:params:oauth:grant-type:token-exchange",NA="urn:ietf:params:oauth:token-type:access_token",MA="urn:ietf:params:oauth:token-type:access_token";cr.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;cr.EXPIRATION_TIME_OFFSET=300*1e3;var Rd=class extends Dd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Dd.AuthClient?{}:e),e instanceof Dd.AuthClient?(this.authClient=e,this.credentialAccessBoundary=r):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>cr.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${cr.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let n of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(n.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new IA.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=PA.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof FA.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,r={grantType:BA,requestedTokenType:NA,subjectToken:e,subjectTokenType:MA},n=await this.stsCredential.exchangeToken(r,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=n.expires_in?new Date().getTime()+n.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:n.access_token,expiry_date:s,res:n.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};cr.DownscopedClient=Rd});var _0=V(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.PassThroughClient=void 0;var jA=bt(),xd=class extends jA.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Ba.PassThroughClient=xd});var Pd=V(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.GoogleAuth=re.auth=re.PassThroughClient=re.ExecutableError=re.PluggableAuthClient=re.DownscopedClient=re.BaseExternalAccountClient=re.ExternalAccountClient=re.IdentityPoolClient=re.AwsRequestSigner=re.AwsClient=re.UserRefreshClient=re.LoginTicket=re.ClientAuthentication=re.OAuth2Client=re.CodeChallengeMethod=re.Impersonated=re.JWT=re.JWTAccess=re.IdTokenClient=re.IAMAuth=re.GCPEnv=re.Compute=re.DEFAULT_UNIVERSE=re.AuthClient=re.gaxios=re.gcpMetadata=void 0;var b0=m0();Object.defineProperty(re,"GoogleAuth",{enumerable:!0,get:function(){return b0.GoogleAuth}});re.gcpMetadata=es();re.gaxios=Ke();var C0=bt();Object.defineProperty(re,"AuthClient",{enumerable:!0,get:function(){return C0.AuthClient}});Object.defineProperty(re,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return C0.DEFAULT_UNIVERSE}});var LA=_l();Object.defineProperty(re,"Compute",{enumerable:!0,get:function(){return LA.Compute}});var UA=wl();Object.defineProperty(re,"GCPEnv",{enumerable:!0,get:function(){return UA.GCPEnv}});var $A=g0();Object.defineProperty(re,"IAMAuth",{enumerable:!0,get:function(){return $A.IAMAuth}});var qA=Cl();Object.defineProperty(re,"IdTokenClient",{enumerable:!0,get:function(){return qA.IdTokenClient}});var zA=jl();Object.defineProperty(re,"JWTAccess",{enumerable:!0,get:function(){return zA.JWTAccess}});var HA=Ul();Object.defineProperty(re,"JWT",{enumerable:!0,get:function(){return HA.JWT}});var WA=Hl();Object.defineProperty(re,"Impersonated",{enumerable:!0,get:function(){return WA.Impersonated}});var Od=Sn();Object.defineProperty(re,"CodeChallengeMethod",{enumerable:!0,get:function(){return Od.CodeChallengeMethod}});Object.defineProperty(re,"OAuth2Client",{enumerable:!0,get:function(){return Od.OAuth2Client}});Object.defineProperty(re,"ClientAuthentication",{enumerable:!0,get:function(){return Od.ClientAuthentication}});var GA=pl();Object.defineProperty(re,"LoginTicket",{enumerable:!0,get:function(){return GA.LoginTicket}});var JA=ql();Object.defineProperty(re,"UserRefreshClient",{enumerable:!0,get:function(){return JA.UserRefreshClient}});var VA=cd();Object.defineProperty(re,"AwsClient",{enumerable:!0,get:function(){return VA.AwsClient}});var KA=id();Object.defineProperty(re,"AwsRequestSigner",{enumerable:!0,get:function(){return KA.AwsRequestSigner}});var YA=od();Object.defineProperty(re,"IdentityPoolClient",{enumerable:!0,get:function(){return YA.IdentityPoolClient}});var QA=wd();Object.defineProperty(re,"ExternalAccountClient",{enumerable:!0,get:function(){return QA.ExternalAccountClient}});var XA=Qr();Object.defineProperty(re,"BaseExternalAccountClient",{enumerable:!0,get:function(){return XA.BaseExternalAccountClient}});var ZA=y0();Object.defineProperty(re,"DownscopedClient",{enumerable:!0,get:function(){return ZA.DownscopedClient}});var w0=bd();Object.defineProperty(re,"PluggableAuthClient",{enumerable:!0,get:function(){return w0.PluggableAuthClient}});Object.defineProperty(re,"ExecutableError",{enumerable:!0,get:function(){return w0.ExecutableError}});var ev=_0();Object.defineProperty(re,"PassThroughClient",{enumerable:!0,get:function(){return ev.PassThroughClient}});var tv=new b0.GoogleAuth;re.auth=tv});var l_=V((jF,pf)=>{"use strict";var MD=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,jD=/(\w*(\.\w*)*)\..*/;pf.exports=function(e){if(e.name.length>0)return e.name;let r=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(n){return Error.stackTraceLimit=r,c_(n.stack)}};function c_(t){let e=t.match(MD);return e?e[1].split(/[/\\]/).slice(-1)[0].match(jD)[1]:"anonymous"}pf.exports.extractPluginName=c_});var f_=V((LF,d_)=>{"use strict";d_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var h_=V((UF,bu)=>{"use strict";var LD=l_(),UD=f_(),$D=0;function mf(t,e={}){let r=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(r=!0,e.name=LD(t)+"-auto-"+$D++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let n=UD(e.name);return!r&&!t[n]&&(t[n]=t),t}bu.exports=mf;bu.exports.default=mf;bu.exports.fastifyPlugin=mf});var Ts,yf=Me(()=>{"use strict";Ts=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,r){let{format:n="text",timestamp:o=!0,prefix:s,metadata:a}=r||{},c="";if(o){let l=new Date().toISOString();c+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}switch(s&&(c+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),n){case"json":c+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?c+=this.toMarkdown(e):c+=String(e);break;case"text":default:typeof e=="object"?c+=JSON.stringify(e,null,2):c+=String(e);break}return a&&Object.keys(a).length>0&&(c+=`
68
68
  `+(this.config.colors?`${this.colors.dim}`:""),c+="Metadata: "+JSON.stringify(a,null,2),this.config.colors&&(c+=this.colors.reset)),c}toMarkdown(e,r=0){let n=" ".repeat(r);return Array.isArray(e)?e.map(o=>typeof o=="object"?`${n}-
69
69
  ${this.toMarkdown(o,r+1)}`:`${n}- ${o}`).join(`
70
70
  `):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${n}${o}:
71
71
  ${this.toMarkdown(s,r+1)}`:`${n}${o}: ${s}`).join(`
72
- `):`${n}${e}`}async output(e,r={}){try{let n=this.formatData(e,r);switch(this.config.level||"log"){case"info":console.info(n);break;case"warn":console.warn(n);break;case"error":console.error(n);break;case"debug":console.debug(n);break;case"log":default:console.log(n);break}return!0}catch(n){return console.error("[ConsoleOutputHandler] Output failed:",n),!1}}}});var Ds,_f=je(()=>{"use strict";Ds=class{type="webhook";config;defaultTimeout=3e4;constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let r=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${r}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,r){let{format:n="json",timestamp:o=!0,prefix:s,metadata:a}=r||{},c={data:e};return o&&(c.timestamp=new Date().toISOString()),s&&(c.prefix=s),a&&Object.keys(a).length>0&&(c.metadata=a),c}async sendRequest(e,r,n,o,s){let a=new AbortController,c=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(c),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(c),l}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,a){let c=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,r,n,o,s)}catch(f){if(c=f,l===a.maxAttempts)break;let d=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${d}ms...`,f.message),await this.delay(d)}throw c}async output(e,r={}){let n=r.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,r),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,n,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return console.error(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});var So,bf,p_,Rs,Cf=je(()=>{"use strict";So=require("fs"),bf=require("path"),p_=require("os"),Rs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=(0,p_.tmpdir)();this.baseDir=(0,bf.join)(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,So.existsSync)(this.baseDir)||(0,So.mkdirSync)(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let r=e.match(/_session_([a-f0-9-]+)/i);return r?r[1]:null}catch{return null}}getFilePath(e){let r=this.config.prefix||"session",n=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${r}-${e}-${s}${n}`}else o=`${r}-${e}${n}`;return(0,bf.join)(this.baseDir,o)}async output(e,r={}){try{let n=r.metadata?.sessionId;if(!n)return!1;let o={...e,timestamp:Date.now(),sessionId:n},s=this.getFilePath(n);return(0,So.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var wf,ko,m_=je(()=>{"use strict";yf();_f();Cf();wf=class{handlers=new Map;defaultOptions={};registerHandler(e,r){this.handlers.set(e,r)}registerHandlers(e){for(let r of e)if(r.enabled!==!1)try{let n=this.createHandler(r),o=r.type+"_"+Date.now();this.registerHandler(o,n)}catch(n){console.error(`[OutputManager] Failed to register ${r.type} handler:`,n)}}createHandler(e){switch(e.type){case"console":return new Ts(e.config);case"webhook":return new Ds(e.config);case"temp-file":return new Rs(e.config);default:throw new Error(`Unknown output handler type: ${e.type}`)}}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,r){let n={...this.defaultOptions,...r},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,c])=>{try{await c.output(e,n)?o.success.push(a):o.failed.push(a)}catch(l){console.error(`[OutputManager] Handler ${a} failed:`,l),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,r,n){let o={...this.defaultOptions,...n},s={success:[],failed:[]},a=e.map(async c=>{let l=this.handlers.get(c);if(!l){console.warn(`[OutputManager] Handler ${c} not found`),s.failed.push(c);return}try{await l.output(r,o)?s.success.push(c):s.failed.push(c)}catch(f){console.error(`[OutputManager] Handler ${c} failed:`,f),s.failed.push(c)}});return await Promise.all(a),s}async outputToType(e,r,n){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,r,n)}},ko=new wf});var HD={};ii(HD,{ActiveProbeService:()=>ks,ConfigService:()=>fn,ProviderHealthStore:()=>Mo,ProviderService:()=>pn,SSEParserTransform:()=>Dn,SSESerializerTransform:()=>vs,TokenizerService:()=>Tn,TransformerService:()=>vn,calculateTokenCount:()=>Zd,default:()=>zD,getActiveProbeService:()=>df,getAllQuotaResults:()=>e_,getAllRateLimitInfo:()=>ip,getHealthStore:()=>Xe,getQuotaAdapter:()=>gu,getQuotaResult:()=>lu,getRateLimitInfo:()=>sp,getRuntimeDebugLog:()=>Jh,initQuotaStorePersistence:()=>t_,initRateLimitPersistence:()=>ap,pluginManager:()=>hf,resetActiveProbeService:()=>u_,rewriteStream:()=>gf,router:()=>mu,searchProjectBySession:()=>ef,sessionUsageCache:()=>uu,setRuntimeDebugLog:()=>Gh,startActiveProbe:()=>yu,stopActiveProbe:()=>_u,storeQuotaResult:()=>cu,tokenSpeedPlugin:()=>Af});module.exports=Dh(HD);var b_=Pe(require("fastify"),1),C_=Pe(require("@fastify/cors"),1);var No=require("fs"),rc=require("path"),Lh=require("dotenv"),Uh=Pe(tc(),1),fn=class{config={};options;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:(0,rc.join)(process.cwd(),this.options.jsonPath);if((0,No.existsSync)(e))try{let r=(0,No.readFileSync)(e,"utf-8"),n=Uh.default.parse(r);this.config={...this.config,...n},console.log(`Loaded JSON config from: ${e}`)}catch(r){console.warn(`Failed to load JSON config from ${e}:`,r)}else console.warn(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:(0,rc.join)(process.cwd(),this.options.envPath);if((0,No.existsSync)(e))try{let r=(0,Lh.config)({path:e});r.parsed&&(this.config={...this.config,...this.parseEnvConfig(r.parsed)})}catch(r){console.warn(`Failed to load .env config from ${e}:`,r)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let r={};return Object.assign(r,e),r}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,r){let n=this.config[e];return n!==void 0?n:r}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,r){this.config[e]=r}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};function rt(t,e=500,r="internal_error",n="api_error"){let o=new Error(t);return o.statusCode=e,o.code=r,o.type=n,o}async function $h(t,e,r){e.log.error(t);let n=t.statusCode||500;if(t.rawBody)try{let s=JSON.parse(t.rawBody);return r.code(n).send(s)}catch{return r.code(n).send(t.rawBody)}let o={error:{message:t.message+(t.stack||"Internal Server Error"),type:t.type||"api_error",code:t.code||"internal_error"}};return r.code(n).send(o)}var qh=require("undici");function zh(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([f,d])=>{d&&s.set(f,d)});let a,c=AbortSignal.timeout(r.TIMEOUT??60*1e3*60);if(r.signal){let f=new AbortController,d=()=>f.abort();r.signal.addEventListener("abort",d),c.addEventListener("abort",d),a=f.signal}else a=c;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return r.httpsProxy&&(l.dispatcher=new qh.ProxyAgent(new URL(r.httpsProxy).toString())),o?.debug({reqId:n.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:r.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var mC=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),zn={maxBodyLength:4096,maxStreamChunks:100},nc=!1;function Gh(t){nc=t}function Jh(){return nc}function di(t){return nc||t.get("DEBUG_LOG")===!0}function Vh(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?zn:{maxBodyLength:e.maxBodyLength??zn.maxBodyLength,maxStreamChunks:e.maxStreamChunks??zn.maxStreamChunks}}function Kh(t){let e={};for(let[r,n]of Object.entries(t))mC.has(r.toLowerCase())?e[r]="***MASKED***":e[r]=n;return e}function oc(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function Yh(t,e,r){let n=typeof r.body=="string"?r.body:JSON.stringify(r.body);t.info({debug_log:!0,reqId:e,phase:"provider_request",url:r.url,headers:Kh(r.headers),body:oc(n,zn.maxBodyLength)})}function Qh(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:r.status,headers:Kh(r.headers),...r.body!==void 0?{body:oc(r.body,zn.maxBodyLength)}:{}})}function Hh(t,e,r,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:r,data:oc(n,zn.maxBodyLength)})}function Wh(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:r})}function Xh(t,e,r,n){(async()=>{let o=t.pipeThrough(new TextDecoderStream).getReader(),s=0;try{let a="";for(;;){let{done:c,value:l}=await o.read();if(c)break;a+=l;let f=a.split(`
72
+ `):`${n}${e}`}async output(e,r={}){try{let n=this.formatData(e,r);switch(this.config.level||"log"){case"info":console.info(n);break;case"warn":console.warn(n);break;case"error":console.error(n);break;case"debug":console.debug(n);break;case"log":default:console.log(n);break}return!0}catch(n){return console.error("[ConsoleOutputHandler] Output failed:",n),!1}}}});var Ds,_f=Me(()=>{"use strict";Ds=class{type="webhook";config;defaultTimeout=3e4;constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let r=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${r}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,r){let{format:n="json",timestamp:o=!0,prefix:s,metadata:a}=r||{},c={data:e};return o&&(c.timestamp=new Date().toISOString()),s&&(c.prefix=s),a&&Object.keys(a).length>0&&(c.metadata=a),c}async sendRequest(e,r,n,o,s){let a=new AbortController,c=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(c),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(c),l}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,a){let c=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,r,n,o,s)}catch(d){if(c=d,l===a.maxAttempts)break;let f=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${f}ms...`,d.message),await this.delay(f)}throw c}async output(e,r={}){let n=r.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,r),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,n,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return console.error(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});var So,bf,p_,Rs,Cf=Me(()=>{"use strict";So=require("fs"),bf=require("path"),p_=require("os"),Rs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=(0,p_.tmpdir)();this.baseDir=(0,bf.join)(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,So.existsSync)(this.baseDir)||(0,So.mkdirSync)(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let r=e.match(/_session_([a-f0-9-]+)/i);return r?r[1]:null}catch{return null}}getFilePath(e){let r=this.config.prefix||"session",n=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${r}-${e}-${s}${n}`}else o=`${r}-${e}${n}`;return(0,bf.join)(this.baseDir,o)}async output(e,r={}){try{let n=r.metadata?.sessionId;if(!n)return!1;let o={...e,timestamp:Date.now(),sessionId:n},s=this.getFilePath(n);return(0,So.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var wf,Ao,m_=Me(()=>{"use strict";yf();_f();Cf();wf=class{handlers=new Map;defaultOptions={};registerHandler(e,r){this.handlers.set(e,r)}registerHandlers(e){for(let r of e)if(r.enabled!==!1)try{let n=this.createHandler(r),o=r.type+"_"+Date.now();this.registerHandler(o,n)}catch(n){console.error(`[OutputManager] Failed to register ${r.type} handler:`,n)}}createHandler(e){switch(e.type){case"console":return new Ts(e.config);case"webhook":return new Ds(e.config);case"temp-file":return new Rs(e.config);default:throw new Error(`Unknown output handler type: ${e.type}`)}}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,r){let n={...this.defaultOptions,...r},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,c])=>{try{await c.output(e,n)?o.success.push(a):o.failed.push(a)}catch(l){console.error(`[OutputManager] Handler ${a} failed:`,l),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,r,n){let o={...this.defaultOptions,...n},s={success:[],failed:[]},a=e.map(async c=>{let l=this.handlers.get(c);if(!l){console.warn(`[OutputManager] Handler ${c} not found`),s.failed.push(c);return}try{await l.output(r,o)?s.success.push(c):s.failed.push(c)}catch(d){console.error(`[OutputManager] Handler ${c} failed:`,d),s.failed.push(c)}});return await Promise.all(a),s}async outputToType(e,r,n){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,r,n)}},Ao=new wf});var WD={};ii(WD,{ActiveProbeService:()=>As,ConfigService:()=>fn,ProviderHealthStore:()=>jo,ProviderService:()=>pn,SSEParserTransform:()=>Dn,SSESerializerTransform:()=>vs,TokenizerService:()=>Tn,TransformerService:()=>vn,calculateTokenCount:()=>Zd,default:()=>HD,getActiveProbeService:()=>df,getAllQuotaResults:()=>e_,getAllRateLimitInfo:()=>ip,getHealthStore:()=>Xe,getQuotaAdapter:()=>gu,getQuotaResult:()=>lu,getRateLimitInfo:()=>sp,getRuntimeDebugLog:()=>Jh,initQuotaStorePersistence:()=>t_,initRateLimitPersistence:()=>ap,pluginManager:()=>hf,resetActiveProbeService:()=>u_,rewriteStream:()=>gf,router:()=>mu,searchProjectBySession:()=>ef,sessionUsageCache:()=>uu,setRuntimeDebugLog:()=>Gh,startActiveProbe:()=>yu,stopActiveProbe:()=>_u,storeQuotaResult:()=>cu,tokenSpeedPlugin:()=>kf});module.exports=Dh(WD);var b_=Oe(require("fastify"),1),C_=Oe(require("@fastify/cors"),1);var No=require("fs"),rc=require("path"),Lh=require("dotenv"),Uh=Oe(tc(),1),fn=class{config={};options;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:(0,rc.join)(process.cwd(),this.options.jsonPath);if((0,No.existsSync)(e))try{let r=(0,No.readFileSync)(e,"utf-8"),n=Uh.default.parse(r);this.config={...this.config,...n},console.log(`Loaded JSON config from: ${e}`)}catch(r){console.warn(`Failed to load JSON config from ${e}:`,r)}else console.warn(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:(0,rc.join)(process.cwd(),this.options.envPath);if((0,No.existsSync)(e))try{let r=(0,Lh.config)({path:e});r.parsed&&(this.config={...this.config,...this.parseEnvConfig(r.parsed)})}catch(r){console.warn(`Failed to load .env config from ${e}:`,r)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let r={};return Object.assign(r,e),r}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,r){let n=this.config[e];return n!==void 0?n:r}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,r){this.config[e]=r}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};function rt(t,e=500,r="internal_error",n="api_error"){let o=new Error(t);return o.statusCode=e,o.code=r,o.type=n,o}async function $h(t,e,r){e.log.error(t);let n=t.statusCode||500;if(t.rawBody)try{let s=JSON.parse(t.rawBody);return r.code(n).send(s)}catch{return r.code(n).send(t.rawBody)}let o={error:{message:t.message+(t.stack||"Internal Server Error"),type:t.type||"api_error",code:t.code||"internal_error"}};return r.code(n).send(o)}var qh=require("undici");function zh(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([d,f])=>{f&&s.set(d,f)});let a,c=AbortSignal.timeout(r.TIMEOUT??60*1e3*60);if(r.signal){let d=new AbortController,f=()=>d.abort();r.signal.addEventListener("abort",f),c.addEventListener("abort",f),a=d.signal}else a=c;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return r.httpsProxy&&(l.dispatcher=new qh.ProxyAgent(new URL(r.httpsProxy).toString())),o?.debug({reqId:n.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:r.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var mC=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),zn={maxBodyLength:4096,maxStreamChunks:100},nc=!1;function Gh(t){nc=t}function Jh(){return nc}function di(t){return nc||t.get("DEBUG_LOG")===!0}function Vh(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?zn:{maxBodyLength:e.maxBodyLength??zn.maxBodyLength,maxStreamChunks:e.maxStreamChunks??zn.maxStreamChunks}}function Kh(t){let e={};for(let[r,n]of Object.entries(t))mC.has(r.toLowerCase())?e[r]="***MASKED***":e[r]=n;return e}function oc(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function Yh(t,e,r){let n=typeof r.body=="string"?r.body:JSON.stringify(r.body);t.info({debug_log:!0,reqId:e,phase:"provider_request",url:r.url,headers:Kh(r.headers),body:oc(n,zn.maxBodyLength)})}function Qh(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:r.status,headers:Kh(r.headers),...r.body!==void 0?{body:oc(r.body,zn.maxBodyLength)}:{}})}function Hh(t,e,r,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:r,data:oc(n,zn.maxBodyLength)})}function Wh(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:r})}function Xh(t,e,r,n){(async()=>{let o=t.pipeThrough(new TextDecoderStream).getReader(),s=0;try{let a="";for(;;){let{done:c,value:l}=await o.read();if(c)break;a+=l;let d=a.split(`
73
73
 
74
- `);a=f.pop()||"";for(let d of f)d.trim()&&(s<n.maxStreamChunks?Hh(e,r,s,d):s===n.maxStreamChunks&&e.info({debug_log:!0,reqId:r,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${n.maxStreamChunks}]`}),s++)}a.trim()&&(s<n.maxStreamChunks&&Hh(e,r,s,a.trim()),s++),Wh(e,r,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${r}:`,a),Wh(e,r,s)}finally{o.releaseLock()}})()}var Zh="2.1.6";Hn();var Er=require("fs"),lc=require("path"),op=require("@wengine-ai/claude-code-router-shared"),uc=(0,lc.join)(op.HOME_DIR,"runtime"),cc=(0,lc.join)(uc,"rate-limit.json"),Wn=new Map,tp=!1,CC=null,wC=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],EC=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],AC=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Lo(t,e,r){let n=c=>{if(r instanceof Headers)return r.get(c);let l=Object.keys(r).find(f=>f.toLowerCase()===c);return l?r[l]:null},o=ac(n,wC),s=ac(n,EC),a=ac(n,AC);(o||s||a)&&Wn.set(t,{provider:t,remaining:rp(o),limit:rp(s),reset:SC(a),capturedAt:Date.now()})}function sp(t){return Wn.get(t)}function ip(){return Array.from(Wn.values())}function ac(t,e){for(let r of e){let n=t(r);if(n)return n}return null}function rp(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function SC(t){if(!t)return null;let e=t.trim();if(!e)return null;let r=Number(e);if(Number.isFinite(r))return r>1e12?Math.floor(r/1e3):r>1e9?Math.floor(r):Math.floor(Date.now()/1e3+r);let n=Date.parse(e);if(Number.isFinite(n))return Math.floor(n/1e3);let o=kC(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function kC(t){let e=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/gi,r=0,n=!1;for(let o of t.matchAll(e)){n=!0;let s=Number(o[1]),a=o[2].toLowerCase();if(Number.isFinite(s))switch(a){case"ms":r+=s;break;case"s":r+=s*1e3;break;case"m":r+=s*60*1e3;break;case"h":r+=s*60*60*1e3;break;case"d":r+=s*24*60*60*1e3;break}}return n?r:null}function vC(){try{if(!(0,Er.existsSync)(cc))return;let t=JSON.parse((0,Er.readFileSync)(cc,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let r of t)if(r&&r.provider){if(r.capturedAt&&e-r.capturedAt>3600*1e3)continue;Wn.set(r.provider,r)}}catch{}}function np(){try{if(Wn.size===0)return;(0,Er.existsSync)(uc)||(0,Er.mkdirSync)(uc,{recursive:!0}),(0,Er.writeFileSync)(cc,JSON.stringify(Array.from(Wn.values()),null,2),"utf-8")}catch{}}function ap(){tp||(tp=!0,vC(),CC=setInterval(np,6e4),process.on("exit",np))}fi();async function TC(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s);if(!a)throw rt(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:c,config:l,bypass:f}=await up(o,a,n,t.headers,{req:t}),d=await cp(c,l,a,r,f,n,{req:t});try{a?.baseUrl&&d?.headers&&Lo(s,a.baseUrl,d.headers)}catch{}let p=await lp(c,d,a,n,f,{req:t}),g=dp(p,e,o,r);try{let A=o.model||t.originalModel;s&&A&&Xe().recordSuccess(s,A)}catch{}return g}catch(c){let l=await DC(t,e,r,n,c);if(l)return l;throw c}}async function DC(t,e,r,n,o){let s=t.scenarioType||"default",a=t.familyFallback,c=t.modelFamily,l=r.configService.get("fallback"),f=Xe(),d=t.provider||"",p=t.body.model||"",g=new Set;if(d&&p&&(f.recordFailure(d,p,o?.message),g.add(`${d},${p}`),r.recordUsage?.({provider:d,model:p,originalModel:t.originalModel||p,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0})),!r.configService.get("Router")?.enableFallback)return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let E=m=>{let[v,...b]=m.split(","),S=v?.trim(),D=b.join(",").trim();return!S||!D?null:{provider:S,model:D,key:`${S},${D}`}},_=[];if(c){let m=a?.[s];Array.isArray(m)&&m.length>0?_.push({name:`${c}/${s}`,models:m}):t.log.warn(`No ${c} fallback configured for ${s}; will try global ${s} fallback`)}if(Array.isArray(l?.[s])&&l[s].length>0&&_.push({name:`global/${s}`,models:l[s]}),_.length===0)return null;let y=_.reduce((m,v)=>m+v.models.length,0);t.log.warn(`Request failed for ${s}, trying ${y} fallback models across ${_.length} fallback stage(s)`);for(let m of _){t.log.info(`Trying ${m.name} fallback stage with ${m.models.length} models`);for(let v of m.models){let b=E(v);if(!b){t.log.warn(`Fallback model '${v}' is invalid, skipping`);continue}if(g.has(b.key))continue;g.add(b.key);let S=b.provider,D=b.model;try{if(!f.isAvailable(S,D)){t.log.warn(`Fallback model ${v} unavailable (fail pool), skipping`);continue}t.log.info(`Trying fallback model: ${v}`);let O={...t.body};O.model=D;let q={...t,provider:S,body:O},J=r.providerService.getProvider(S);if(!J){t.log.warn(`Fallback provider '${S}' not found, skipping`);continue}if(J.enabled===!1){t.log.warn(`Fallback provider '${S}' is disabled, skipping`);continue}let{requestBody:B,config:Y,bypass:te}=await up(O,J,n,t.headers,{req:q}),Z=await cp(B,Y,J,r,te,n,{req:q});try{J?.baseUrl&&Z?.headers&&Lo(S,J.baseUrl,Z.headers)}catch{}let ae=await lp(B,Z,J,n,te,{req:q});return t.log.info(`Fallback model ${v} succeeded`),f.recordSuccess(S,D),d&&p&&(jo().promote(d,p,s,S,D),t.log.info(`Promoted fallback model ${S},${D} for ${d},${p}:${s}`),f.forceOpen(d,p,o?.message),t.log.info(`Marked original model ${d},${p} as unavailable`)),t.provider=S,t.body=O,dp(ae,e,O,r)}catch(O){f.recordFailure(S,D,O.message),t.log.warn(`Fallback model ${b.key} failed: ${O.message}`),r.recordUsage?.({provider:S,model:D,originalModel:t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:O.message,sessionId:t.usageSessionId||t.id,stream:t.body.stream});continue}}}return t.log.error(`All fallback models failed for ${s}`),null}async function up(t,e,r,n,o){let s=JSON.parse(JSON.stringify(t)),a={},c=!1;if(c=RC(e,r,t),c&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],a.headers=n),!c&&typeof r.transformRequestOut=="function"){let l=await r.transformRequestOut(s);l.body?(s=l.body,a=l.config||{}):s=l}if(!c&&e.transformer?.use?.length)for(let l of e.transformer.use){if(!l||typeof l.transformRequestIn!="function")continue;let f=await l.transformRequestIn(s,e,o);f.body?(s=f.body,a={...a,...f.config}):s=f}if(!c&&e.transformer?.[t.model]?.use?.length)for(let l of e.transformer[t.model].use)!l||typeof l.transformRequestIn!="function"||(s=await l.transformRequestIn(s,e,o));return{requestBody:s,config:a,bypass:c}}function RC(t,e,r){return t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[r.model]?.use.length||t.transformer?.[r.model]?.use.length===1&&t.transformer?.[r.model]?.use[0].name===e.name)}async function cp(t,e,r,n,o,s,a){let c=e.url||new URL(r.baseUrl);if(!e.TIMEOUT){let d=n.configService.get("API_TIMEOUT_MS");d&&(e.TIMEOUT=typeof d=="string"?parseInt(d,10):d)}if(o&&typeof s.auth=="function"){let d=await s.auth(t,r);if(d.body){t=d.body;let p=e.headers||{};d.config?.headers&&(p={...p,...d.config.headers},delete p.host,delete d.config.headers),e={...e,...d.config,headers:p}}else t=d}let l={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};for(let d in l)(l[d]==="undefined"||["authorization","Authorization"].includes(d)&&l[d]?.includes("undefined"))&&delete l[d];di(n.configService)&&Yh(n.log,a.req.id,{url:String(c),headers:l,body:t});let f=await zh(c,t,{httpsProxy:n.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,n.log);if(!f.ok){let d=await f.text();n.log.error(`[provider_response_error] Error from provider(${r.name},${t.model}: ${f.status}): ${d}`);let p=rt(`Error from provider(${r.name},${t.model}: ${f.status}): ${d}`,f.status,"provider_response_error");throw p.rawBody=d,p}if(f.ok&&(f.headers.get("content-type")||"").includes("application/json")){let p=f.clone();try{let g=await p.text(),A=JSON.parse(g);if(A&&typeof A=="object"&&A.error&&(typeof A.error=="string"||typeof A.error=="object"&&Object.keys(A.error).length>0)){n.log.error(`[provider_response_error] Hidden error from provider(${r.name},${t.model}: ${f.status}): ${g}`);let _=rt(`Error from provider(${r.name},${t.model}: ${f.status}): ${g}`,400,"provider_response_error");throw _.rawBody=g,_}}catch{}}if(!t.stream&&di(n.configService)){let p=await f.clone().text();Qh(n.log,a.req.id,{status:f.status,headers:Object.fromEntries(f.headers.entries()),body:p})}return f}async function lp(t,e,r,n,o,s){let a=e;if(!o&&r.transformer?.use?.length)for(let c of Array.from(r.transformer.use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));if(!o&&r.transformer?.[t.model]?.use?.length)for(let c of Array.from(r.transformer[t.model].use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));return!o&&n.transformResponseIn&&(a=await n.transformResponseIn(a,s)),a}function dp(t,e,r,n){if(t.ok||e.code(t.status),r.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),n&&di(n.configService)){let[s,a]=t.body.tee(),c=Vh(n.configService);return Xh(s,n.log,e.request.id,c),e.send(a)}return e.send(t.body)}else return t.json()}var dc=async t=>{t.get("/",async()=>({message:"LLMs API",version:Zh})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:Xe().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:r}of e)r.endPoint&&t.post(r.endPoint,async(n,o)=>TC(n,o,t,r));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(r,n)=>{let{name:o,baseUrl:s,apiKey:a,models:c}=r.body;if(!o?.trim())throw rt("Provider name is required",400,"invalid_request");if(!s||!xC(s))throw rt("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw rt("API key is required",400,"invalid_request");if(!c||!Array.isArray(c)||c.length===0)throw rt("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw rt(`Provider with name '${r.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(r.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{let n=t.providerService.getProvider(r.params.id);if(!n)throw rt("Provider not found",404,"provider_not_found");return n}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(r,n)=>{let o=t.providerService.updateProvider(r.params.id,r.body);if(!o)throw rt("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{if(!t.providerService.deleteProvider(r.params.id))throw rt("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(r,n)=>{if(!t.providerService.toggleProvider(r.params.id,r.body.enabled))throw rt("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function xC(t){try{return new URL(t),!0}catch{return!1}}var pn=class{constructor(e,r,n){this.configService=e;this.transformerService=r;this.logger=n;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(r=>{try{if(!r.name||!r.api_base_url||!r.api_key)return;let n={};r.transformer&&Object.keys(r.transformer).forEach(o=>{o==="use"?Array.isArray(r.transformer.use)&&(n.use=r.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(r.transformer[o]?.use)&&(n[o]={use:r.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:r.name,baseUrl:r.api_base_url,apiKey:r.api_key,models:r.models||[],quotaToken:r.quota_token,transformer:r.transformer?n:void 0,enabled:r.enabled!==!1}),this.logger.info(`${r.name} provider registered`)}catch(n){this.logger.error(`${r.name} provider registered error: ${n}`)}})}registerProvider(e){let r={...e,enabled:e.enabled!==!1};return this.providers.set(r.name,r),e.models.forEach(n=>{let o=`${r.name},${n}`,s={provider:r.name,model:n,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(n)||this.modelRoutes.set(n,s)}),r}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,r){let n=this.providers.get(e);if(!n)return null;let o={...n,...r,updatedAt:new Date};return this.providers.set(e,o),r.models&&(n.models.forEach(s=>{let a=`${n.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),r.models.forEach(s=>{let a=`${n.name},${s}`,c={provider:n.name,model:s,fullModel:a};this.modelRoutes.set(a,c),this.modelRoutes.has(s)||this.modelRoutes.set(s,c)})),o}deleteProvider(e){let r=this.providers.get(e);return r?(r.models.forEach(n=>{let o=`${r.name},${n}`;this.modelRoutes.delete(o),this.modelRoutes.delete(n)}),this.providers.delete(e),!0):!1}toggleProvider(e,r){let n=this.providers.get(e);if(!n)return!1;n.enabled=r;let o=this.configService.get("providers");if(o&&Array.isArray(o)){let s=o.find(a=>a.name===e);s&&(s.enabled=r)}return!0}resolveModelRoute(e){let r=this.modelRoutes.get(e);if(!r)return null;let n=this.providers.get(r.provider);return n?{provider:n,originalModel:e,targetModel:r.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(r=>{r.enabled!==!1&&r.models.forEach(n=>{e.push(n),e.push(`${r.name},${n}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((r,n)=>{if(Array.isArray(n)){let[o,s={}]=n;r[o]=s}else r[n]={};return r},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(r=>{r.enabled!==!1&&r.models.forEach(n=>{e.push({id:n,object:"model",owned_by:r.name,provider:r.name}),e.push({id:`${r.name},${n}`,object:"model",owned_by:r.name,provider:r.name})})}),{object:"list",data:e}}};var Ve=[];for(let t=0;t<256;++t)Ve.push((t+256).toString(16).slice(1));function fp(t,e=0){return(Ve[t[e+0]]+Ve[t[e+1]]+Ve[t[e+2]]+Ve[t[e+3]]+"-"+Ve[t[e+4]]+Ve[t[e+5]]+"-"+Ve[t[e+6]]+Ve[t[e+7]]+"-"+Ve[t[e+8]]+Ve[t[e+9]]+"-"+Ve[t[e+10]]+Ve[t[e+11]]+Ve[t[e+12]]+Ve[t[e+13]]+Ve[t[e+14]]+Ve[t[e+15]]).toLowerCase()}var hp=require("crypto"),pi=new Uint8Array(256),hi=pi.length;function fc(){return hi>pi.length-16&&((0,hp.randomFillSync)(pi),hi=0),pi.slice(hi,hi+=16)}var pp=require("crypto"),hc={randomUUID:pp.randomUUID};function OC(t,e,r){if(hc.randomUUID&&!e&&!t)return hc.randomUUID();t=t||{};let n=t.random??t.rng?.()??fc();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[r+o]=n[o];return e}return fp(n)}var Xt=OC;var mp=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var gp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var mi=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,r){let n={};return this.useBearer?(n.authorization=`Bearer ${r.apiKey}`,n["x-api-key"]=void 0):(n["x-api-key"]=r.apiKey,n.authorization=void 0),{body:e,config:{headers:n}}}async transformRequestOut(e){let r=[];if(e.system){if(typeof e.system=="string")r.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));r.push({role:"system",content:s})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(s=>{if(s.role==="user"||s.role==="assistant"){if(typeof s.content=="string"){r.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let f={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};r.push(f)});let c=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);c.length&&r.push({role:"user",content:c.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?gp(l.source.data,l.source.media_type):l.source.url},media_type:l.source.media_type}:l)})}else if(s.role==="assistant"){let a={role:"assistant",content:""},c=s.content.filter(d=>d.type==="text"&&d.text);c.length&&(a.content=c.map(d=>d.text).join(`
75
- `));let l=s.content.filter(d=>d.type==="tool_use"&&d.id);l.length&&(a.tool_calls=l.map(d=>({id:d.id,type:"function",function:{name:d.name,arguments:JSON.stringify(d.input||{})}})));let f=s.content.find(d=>d.type==="thinking");f&&(a.thinking={content:f.thinking,signature:f.signature}),r.push(a)}return}}});let o={messages:r,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:mp(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformResponseIn(e,r){if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,r);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,r);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}convertAnthropicToolsToUnified(e){return e.map(r=>({type:"function",function:{name:r.name,description:r.description||"",parameters:r.input_schema}}))}async convertOpenAIStreamToAnthropic(e,r){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,c=null,l="unknown",f=!1,d=!1,p=!1,g=new Map,A=new Map,E=0,_=0,y=0,m=!1,v=!1,b=0,S=-1,D=()=>{let B=b;return b++,B},O=B=>{if(!m)try{o.enqueue(B);let Y=new TextDecoder().decode(B);this.logger.debug({reqId:r.req.id,data:Y,type:"send data"})}catch(Y){if(Y instanceof TypeError&&Y.message.includes("Controller is already closed"))m=!0;else throw this.logger.debug({reqId:r.req.id,error:Y instanceof Error?Y.message:String(Y),type:"send data error"}),Y}},q=()=>{if(!m)try{if(S>=0){let Y={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
74
+ `);a=d.pop()||"";for(let f of d)f.trim()&&(s<n.maxStreamChunks?Hh(e,r,s,f):s===n.maxStreamChunks&&e.info({debug_log:!0,reqId:r,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${n.maxStreamChunks}]`}),s++)}a.trim()&&(s<n.maxStreamChunks&&Hh(e,r,s,a.trim()),s++),Wh(e,r,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${r}:`,a),Wh(e,r,s)}finally{o.releaseLock()}})()}var Zh="2.1.8";Hn();var Er=require("fs"),lc=require("path"),op=require("@wengine-ai/claude-code-router-shared"),uc=(0,lc.join)(op.HOME_DIR,"runtime"),cc=(0,lc.join)(uc,"rate-limit.json"),Wn=new Map,tp=!1,CC=null,wC=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],EC=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],kC=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Lo(t,e,r){let n=c=>{if(r instanceof Headers)return r.get(c);let l=Object.keys(r).find(d=>d.toLowerCase()===c);return l?r[l]:null},o=ac(n,wC),s=ac(n,EC),a=ac(n,kC);(o||s||a)&&Wn.set(t,{provider:t,remaining:rp(o),limit:rp(s),reset:SC(a),capturedAt:Date.now()})}function sp(t){return Wn.get(t)}function ip(){return Array.from(Wn.values())}function ac(t,e){for(let r of e){let n=t(r);if(n)return n}return null}function rp(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function SC(t){if(!t)return null;let e=t.trim();if(!e)return null;let r=Number(e);if(Number.isFinite(r))return r>1e12?Math.floor(r/1e3):r>1e9?Math.floor(r):Math.floor(Date.now()/1e3+r);let n=Date.parse(e);if(Number.isFinite(n))return Math.floor(n/1e3);let o=AC(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function AC(t){let e=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/gi,r=0,n=!1;for(let o of t.matchAll(e)){n=!0;let s=Number(o[1]),a=o[2].toLowerCase();if(Number.isFinite(s))switch(a){case"ms":r+=s;break;case"s":r+=s*1e3;break;case"m":r+=s*60*1e3;break;case"h":r+=s*60*60*1e3;break;case"d":r+=s*24*60*60*1e3;break}}return n?r:null}function vC(){try{if(!(0,Er.existsSync)(cc))return;let t=JSON.parse((0,Er.readFileSync)(cc,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let r of t)if(r&&r.provider){if(r.capturedAt&&e-r.capturedAt>3600*1e3)continue;Wn.set(r.provider,r)}}catch{}}function np(){try{if(Wn.size===0)return;(0,Er.existsSync)(uc)||(0,Er.mkdirSync)(uc,{recursive:!0}),(0,Er.writeFileSync)(cc,JSON.stringify(Array.from(Wn.values()),null,2),"utf-8")}catch{}}function ap(){tp||(tp=!0,vC(),CC=setInterval(np,6e4),process.on("exit",np))}fi();async function TC(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s);if(!a)throw rt(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:c,config:l,bypass:d}=await up(o,a,n,t.headers,{req:t}),f=await cp(c,l,a,r,d,n,{req:t});try{a?.baseUrl&&f?.headers&&Lo(s,a.baseUrl,f.headers)}catch{}let p=await lp(c,f,a,n,d,{req:t}),g=dp(p,e,o,r);try{let k=o.model||t.originalModel;s&&k&&Xe().recordSuccess(s,k)}catch{}return g}catch(c){let l=await DC(t,e,r,n,c);if(l)return l;throw c}}async function DC(t,e,r,n,o){let s=t.scenarioType||"default",a=t.familyFallback,c=t.modelFamily,l=r.configService.get("fallback"),d=Xe(),f=t.provider||"",p=t.body.model||"",g=new Set;if(f&&p&&(d.recordFailure(f,p,o?.message),g.add(`${f},${p}`),r.recordUsage?.({provider:f,model:p,originalModel:t.originalModel||p,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0})),!r.configService.get("Router")?.enableFallback)return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let w=m=>{let[v,...b]=m.split(","),S=v?.trim(),D=b.join(",").trim();return!S||!D?null:{provider:S,model:D,key:`${S},${D}`}},y=[];if(c){let m=a?.[s];Array.isArray(m)&&m.length>0?y.push({name:`${c}/${s}`,models:m}):t.log.warn(`No ${c} fallback configured for ${s}; will try global ${s} fallback`)}if(Array.isArray(l?.[s])&&l[s].length>0&&y.push({name:`global/${s}`,models:l[s]}),y.length===0)return null;let _=y.reduce((m,v)=>m+v.models.length,0);t.log.warn(`Request failed for ${s}, trying ${_} fallback models across ${y.length} fallback stage(s)`);for(let m of y){t.log.info(`Trying ${m.name} fallback stage with ${m.models.length} models`);for(let v of m.models){let b=w(v);if(!b){t.log.warn(`Fallback model '${v}' is invalid, skipping`);continue}if(g.has(b.key))continue;g.add(b.key);let S=b.provider,D=b.model;try{if(!d.isAvailable(S,D)){t.log.warn(`Fallback model ${v} unavailable (fail pool), skipping`);continue}t.log.info(`Trying fallback model: ${v}`);let O={...t.body};O.model=D;let q={...t,provider:S,body:O},J=r.providerService.getProvider(S);if(!J){t.log.warn(`Fallback provider '${S}' not found, skipping`);continue}if(J.enabled===!1){t.log.warn(`Fallback provider '${S}' is disabled, skipping`);continue}let{requestBody:B,config:Y,bypass:te}=await up(O,J,n,t.headers,{req:q}),Z=await cp(B,Y,J,r,te,n,{req:q});try{J?.baseUrl&&Z?.headers&&Lo(S,J.baseUrl,Z.headers)}catch{}let ae=await lp(B,Z,J,n,te,{req:q});return t.log.info(`Fallback model ${v} succeeded`),d.recordSuccess(S,D),f&&p&&(Mo().promote(f,p,s,S,D),t.log.info(`Promoted fallback model ${S},${D} for ${f},${p}:${s}`),d.forceOpen(f,p,o?.message),t.log.info(`Marked original model ${f},${p} as unavailable`)),t.provider=S,t.body=O,dp(ae,e,O,r)}catch(O){d.recordFailure(S,D,O.message),t.log.warn(`Fallback model ${b.key} failed: ${O.message}`),r.recordUsage?.({provider:S,model:D,originalModel:t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:O.message,sessionId:t.usageSessionId||t.id,stream:t.body.stream});continue}}}return t.log.error(`All fallback models failed for ${s}`),null}async function up(t,e,r,n,o){let s=JSON.parse(JSON.stringify(t)),a={},c=!1;if(c=RC(e,r,t),c&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],a.headers=n),!c&&typeof r.transformRequestOut=="function"){let l=await r.transformRequestOut(s);l.body?(s=l.body,a=l.config||{}):s=l}if(!c&&e.transformer?.use?.length)for(let l of e.transformer.use){if(!l||typeof l.transformRequestIn!="function")continue;let d=await l.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}if(!c&&e.transformer?.[t.model]?.use?.length)for(let l of e.transformer[t.model].use)!l||typeof l.transformRequestIn!="function"||(s=await l.transformRequestIn(s,e,o));return{requestBody:s,config:a,bypass:c}}function RC(t,e,r){return t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[r.model]?.use.length||t.transformer?.[r.model]?.use.length===1&&t.transformer?.[r.model]?.use[0].name===e.name)}async function cp(t,e,r,n,o,s,a){let c=e.url||new URL(r.baseUrl);if(!e.TIMEOUT){let f=n.configService.get("API_TIMEOUT_MS");f&&(e.TIMEOUT=typeof f=="string"?parseInt(f,10):f)}if(o&&typeof s.auth=="function"){let f=await s.auth(t,r);if(f.body){t=f.body;let p=e.headers||{};f.config?.headers&&(p={...p,...f.config.headers},delete p.host,delete f.config.headers),e={...e,...f.config,headers:p}}else t=f}let l={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};for(let f in l)(l[f]==="undefined"||["authorization","Authorization"].includes(f)&&l[f]?.includes("undefined"))&&delete l[f];di(n.configService)&&Yh(n.log,a.req.id,{url:String(c),headers:l,body:t});let d=await zh(c,t,{httpsProxy:n.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,n.log);if(!d.ok){let f=await d.text();n.log.error(`[provider_response_error] Error from provider(${r.name},${t.model}: ${d.status}): ${f}`);let p=rt(`Error from provider(${r.name},${t.model}: ${d.status}): ${f}`,d.status,"provider_response_error");throw p.rawBody=f,p}if(d.ok&&(d.headers.get("content-type")||"").includes("application/json")){let p=d.clone();try{let g=await p.text(),k=JSON.parse(g);if(k&&typeof k=="object"&&k.error&&(typeof k.error=="string"||typeof k.error=="object"&&Object.keys(k.error).length>0)){n.log.error(`[provider_response_error] Hidden error from provider(${r.name},${t.model}: ${d.status}): ${g}`);let y=rt(`Error from provider(${r.name},${t.model}: ${d.status}): ${g}`,400,"provider_response_error");throw y.rawBody=g,y}}catch{}}if(!t.stream&&di(n.configService)){let p=await d.clone().text();Qh(n.log,a.req.id,{status:d.status,headers:Object.fromEntries(d.headers.entries()),body:p})}return d}async function lp(t,e,r,n,o,s){let a=e;if(!o&&r.transformer?.use?.length)for(let c of Array.from(r.transformer.use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));if(!o&&r.transformer?.[t.model]?.use?.length)for(let c of Array.from(r.transformer[t.model].use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));return!o&&n.transformResponseIn&&(a=await n.transformResponseIn(a,s)),a}function dp(t,e,r,n){if(t.ok||e.code(t.status),r.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),n&&di(n.configService)){let[s,a]=t.body.tee(),c=Vh(n.configService);return Xh(s,n.log,e.request.id,c),e.send(a)}return e.send(t.body)}else return t.json()}var dc=async t=>{t.get("/",async()=>({message:"LLMs API",version:Zh})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:Xe().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:r}of e)r.endPoint&&t.post(r.endPoint,async(n,o)=>TC(n,o,t,r));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(r,n)=>{let{name:o,baseUrl:s,apiKey:a,models:c}=r.body;if(!o?.trim())throw rt("Provider name is required",400,"invalid_request");if(!s||!xC(s))throw rt("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw rt("API key is required",400,"invalid_request");if(!c||!Array.isArray(c)||c.length===0)throw rt("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw rt(`Provider with name '${r.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(r.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{let n=t.providerService.getProvider(r.params.id);if(!n)throw rt("Provider not found",404,"provider_not_found");return n}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(r,n)=>{let o=t.providerService.updateProvider(r.params.id,r.body);if(!o)throw rt("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{if(!t.providerService.deleteProvider(r.params.id))throw rt("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(r,n)=>{if(!t.providerService.toggleProvider(r.params.id,r.body.enabled))throw rt("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function xC(t){try{return new URL(t),!0}catch{return!1}}var pn=class{constructor(e,r,n){this.configService=e;this.transformerService=r;this.logger=n;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(r=>{try{if(!r.name||!r.api_base_url||!r.api_key)return;let n={};r.transformer&&Object.keys(r.transformer).forEach(o=>{o==="use"?Array.isArray(r.transformer.use)&&(n.use=r.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(r.transformer[o]?.use)&&(n[o]={use:r.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:r.name,baseUrl:r.api_base_url,apiKey:r.api_key,models:r.models||[],quotaToken:r.quota_token,transformer:r.transformer?n:void 0,enabled:r.enabled!==!1,wakeupEnabled:r.wakeup_enabled===!0,wakeupTime:r.wakeup_time||"06:00",wakeupModel:r.wakeup_model||""}),this.logger.info(`${r.name} provider registered`)}catch(n){this.logger.error(`${r.name} provider registered error: ${n}`)}})}registerProvider(e){let r={...e,enabled:e.enabled!==!1,wakeupEnabled:e.wakeupEnabled===!0,wakeupTime:e.wakeupTime||"06:00",wakeupModel:e.wakeupModel||""};return this.providers.set(r.name,r),e.models.forEach(n=>{let o=`${r.name},${n}`,s={provider:r.name,model:n,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(n)||this.modelRoutes.set(n,s)}),r}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,r){let n=this.providers.get(e);if(!n)return null;let o={...n,...r,updatedAt:new Date};return this.providers.set(e,o),r.models&&(n.models.forEach(s=>{let a=`${n.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),r.models.forEach(s=>{let a=`${n.name},${s}`,c={provider:n.name,model:s,fullModel:a};this.modelRoutes.set(a,c),this.modelRoutes.has(s)||this.modelRoutes.set(s,c)})),o}deleteProvider(e){let r=this.providers.get(e);return r?(r.models.forEach(n=>{let o=`${r.name},${n}`;this.modelRoutes.delete(o),this.modelRoutes.delete(n)}),this.providers.delete(e),!0):!1}toggleProvider(e,r){let n=this.providers.get(e);if(!n)return!1;n.enabled=r;let o=this.configService.get("providers");if(o&&Array.isArray(o)){let s=o.find(a=>a.name===e);s&&(s.enabled=r)}return!0}resolveModelRoute(e){let r=this.modelRoutes.get(e);if(!r)return null;let n=this.providers.get(r.provider);return n?{provider:n,originalModel:e,targetModel:r.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(r=>{r.enabled!==!1&&r.models.forEach(n=>{e.push(n),e.push(`${r.name},${n}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((r,n)=>{if(Array.isArray(n)){let[o,s={}]=n;r[o]=s}else r[n]={};return r},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(r=>{r.enabled!==!1&&r.models.forEach(n=>{e.push({id:n,object:"model",owned_by:r.name,provider:r.name}),e.push({id:`${r.name},${n}`,object:"model",owned_by:r.name,provider:r.name})})}),{object:"list",data:e}}};var Ve=[];for(let t=0;t<256;++t)Ve.push((t+256).toString(16).slice(1));function fp(t,e=0){return(Ve[t[e+0]]+Ve[t[e+1]]+Ve[t[e+2]]+Ve[t[e+3]]+"-"+Ve[t[e+4]]+Ve[t[e+5]]+"-"+Ve[t[e+6]]+Ve[t[e+7]]+"-"+Ve[t[e+8]]+Ve[t[e+9]]+"-"+Ve[t[e+10]]+Ve[t[e+11]]+Ve[t[e+12]]+Ve[t[e+13]]+Ve[t[e+14]]+Ve[t[e+15]]).toLowerCase()}var hp=require("crypto"),pi=new Uint8Array(256),hi=pi.length;function fc(){return hi>pi.length-16&&((0,hp.randomFillSync)(pi),hi=0),pi.slice(hi,hi+=16)}var pp=require("crypto"),hc={randomUUID:pp.randomUUID};function OC(t,e,r){if(hc.randomUUID&&!e&&!t)return hc.randomUUID();t=t||{};let n=t.random??t.rng?.()??fc();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[r+o]=n[o];return e}return fp(n)}var Xt=OC;var mp=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var gp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var mi=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,r){let n={};return this.useBearer?(n.authorization=`Bearer ${r.apiKey}`,n["x-api-key"]=void 0):(n["x-api-key"]=r.apiKey,n.authorization=void 0),{body:e,config:{headers:n}}}async transformRequestOut(e){let r=[];if(e.system){if(typeof e.system=="string")r.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));r.push({role:"system",content:s})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(s=>{if(s.role==="user"||s.role==="assistant"){if(typeof s.content=="string"){r.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let d={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};r.push(d)});let c=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);c.length&&r.push({role:"user",content:c.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?gp(l.source.data,l.source.media_type):l.source.url},media_type:l.source.media_type}:l)})}else if(s.role==="assistant"){let a={role:"assistant",content:""},c=s.content.filter(f=>f.type==="text"&&f.text);c.length&&(a.content=c.map(f=>f.text).join(`
75
+ `));let l=s.content.filter(f=>f.type==="tool_use"&&f.id);l.length&&(a.tool_calls=l.map(f=>({id:f.id,type:"function",function:{name:f.name,arguments:JSON.stringify(f.input||{})}})));let d=s.content.find(f=>f.type==="thinking");d&&(a.thinking={content:d.thinking,signature:d.signature}),r.push(a)}return}}});let o={messages:r,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:mp(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformResponseIn(e,r){if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,r);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,r);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}convertAnthropicToolsToUnified(e){return e.map(r=>({type:"function",function:{name:r.name,description:r.description||"",parameters:r.input_schema}}))}async convertOpenAIStreamToAnthropic(e,r){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,c=null,l="unknown",d=!1,f=!1,p=!1,g=new Map,k=new Map,w=0,y=0,_=0,m=!1,v=!1,b=0,S=-1,D=()=>{let B=b;return b++,B},O=B=>{if(!m)try{o.enqueue(B);let Y=new TextDecoder().decode(B);this.logger.debug({reqId:r.req.id,data:Y,type:"send data"})}catch(Y){if(Y instanceof TypeError&&Y.message.includes("Controller is already closed"))m=!0;else throw this.logger.debug({reqId:r.req.id,error:Y instanceof Error?Y.message:String(Y),type:"send data error"}),Y}},q=()=>{if(!m)try{if(S>=0){let Y={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
76
76
  data: ${JSON.stringify(Y)}
77
77
 
78
78
  `)),S=-1}c?(O(s.encode(`event: message_delta
@@ -85,13 +85,13 @@ data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_
85
85
  data: ${JSON.stringify(B)}
86
86
 
87
87
  `)),o.close(),m=!0}catch(B){if(B instanceof TypeError&&B.message.includes("Controller is already closed"))m=!0;else throw B}},J=null;try{J=e.getReader();let B=new TextDecoder,Y="";for(;!m;){let{done:te,value:Z}=await J.read();if(te)break;Y+=B.decode(Z,{stream:!0});let ae=Y.split(`
88
- `);Y=ae.pop()||"";for(let de of ae){if(m||p)break;if(!de.startsWith("data:"))continue;let Ae=de.slice(5).trim();if(this.logger.debug({reqId:r.req.id,type:"recieved data",data:Ae}),Ae!=="[DONE]")try{let oe=JSON.parse(Ae);if(E++,this.logger.debug({reqId:r.req.id,response:oe,tppe:"Original Response"}),oe.error){r?.req&&(r.req.sseError=oe.error);let G={type:"error",message:{type:"api_error",message:JSON.stringify(oe.error)}};O(s.encode(`event: error
88
+ `);Y=ae.pop()||"";for(let de of ae){if(m||p)break;if(!de.startsWith("data:"))continue;let ke=de.slice(5).trim();if(this.logger.debug({reqId:r.req.id,type:"recieved data",data:ke}),ke!=="[DONE]")try{let oe=JSON.parse(ke);if(w++,this.logger.debug({reqId:r.req.id,response:oe,tppe:"Original Response"}),oe.error){r?.req&&(r.req.sseError=oe.error);let G={type:"error",message:{type:"api_error",message:JSON.stringify(oe.error)}};O(s.encode(`event: error
89
89
  data: ${JSON.stringify(G)}
90
90
 
91
- `));continue}if(l=oe.model||l,!f&&!m&&!p){f=!0;let G={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:l,stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}};O(s.encode(`event: message_start
91
+ `));continue}if(l=oe.model||l,!d&&!m&&!p){d=!0;let G={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:l,stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}};O(s.encode(`event: message_start
92
92
  data: ${JSON.stringify(G)}
93
93
 
94
- `))}let pe=oe.choices?.[0];if(oe.usage&&(c?c.usage={input_tokens:(oe.usage?.prompt_tokens||0)-(oe.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:oe.usage?.completion_tokens||0,cache_read_input_tokens:oe.usage?.prompt_tokens_details?.cached_tokens||0}:c={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:(oe.usage?.prompt_tokens||0)-(oe.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:oe.usage?.completion_tokens||0,cache_read_input_tokens:oe.usage?.prompt_tokens_details?.cached_tokens||0}}),!pe)continue;if(pe?.delta?.thinking&&!m&&!p&&!d){if(!v){let G=D(),K={type:"content_block_start",index:G,content_block:{type:"thinking",thinking:""}};O(s.encode(`event: content_block_start
94
+ `))}let pe=oe.choices?.[0];if(oe.usage&&(c?c.usage={input_tokens:(oe.usage?.prompt_tokens||0)-(oe.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:oe.usage?.completion_tokens||0,cache_read_input_tokens:oe.usage?.prompt_tokens_details?.cached_tokens||0}:c={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:(oe.usage?.prompt_tokens||0)-(oe.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:oe.usage?.completion_tokens||0,cache_read_input_tokens:oe.usage?.prompt_tokens_details?.cached_tokens||0}}),!pe)continue;if(pe?.delta?.thinking&&!m&&!p&&!f){if(!v){let G=D(),K={type:"content_block_start",index:G,content_block:{type:"thinking",thinking:""}};O(s.encode(`event: content_block_start
95
95
  data: ${JSON.stringify(K)}
96
96
 
97
97
  `)),S=G,v=!0}if(pe.delta.thinking.signature){let G={type:"content_block_delta",index:S,delta:{type:"signature_delta",signature:pe.delta.thinking.signature}};O(s.encode(`event: content_block_delta
@@ -103,254 +103,254 @@ data: ${JSON.stringify(K)}
103
103
  `)),S=-1}else if(pe.delta.thinking.content){let G={type:"content_block_delta",index:S,delta:{type:"thinking_delta",thinking:pe.delta.thinking.content||""}};O(s.encode(`event: content_block_delta
104
104
  data: ${JSON.stringify(G)}
105
105
 
106
- `))}}if(pe?.delta?.content&&!m&&!p){if(_++,S>=0&&!d){let K={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
106
+ `))}}if(pe?.delta?.content&&!m&&!p){if(y++,S>=0&&!f){let K={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
107
107
  data: ${JSON.stringify(K)}
108
108
 
109
- `)),S=-1}if(!d&&!p){d=!0;let G=D(),K={type:"content_block_start",index:G,content_block:{type:"text",text:""}};O(s.encode(`event: content_block_start
109
+ `)),S=-1}if(!f&&!p){f=!0;let G=D(),K={type:"content_block_start",index:G,content_block:{type:"text",text:""}};O(s.encode(`event: content_block_start
110
110
  data: ${JSON.stringify(K)}
111
111
 
112
112
  `)),S=G}if(!m&&!p){let G={type:"content_block_delta",index:S,delta:{type:"text_delta",text:pe.delta.content}};O(s.encode(`event: content_block_delta
113
113
  data: ${JSON.stringify(G)}
114
114
 
115
- `))}}if(pe?.delta?.annotations?.length&&!m&&!p){if(S>=0&&d){let G={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
115
+ `))}}if(pe?.delta?.annotations?.length&&!m&&!p){if(S>=0&&f){let G={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
116
116
  data: ${JSON.stringify(G)}
117
117
 
118
- `)),S=-1,d=!1}pe?.delta?.annotations.forEach(G=>{let K=D(),ue={type:"content_block_start",index:K,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Xt()}`,content:[{type:"web_search_result",title:G.url_citation.title,url:G.url_citation.url}]}};O(s.encode(`event: content_block_start
118
+ `)),S=-1,f=!1}pe?.delta?.annotations.forEach(G=>{let K=D(),ue={type:"content_block_start",index:K,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Xt()}`,content:[{type:"web_search_result",title:G.url_citation.title,url:G.url_citation.url}]}};O(s.encode(`event: content_block_start
119
119
  data: ${JSON.stringify(ue)}
120
120
 
121
121
  `));let qe={type:"content_block_stop",index:K};O(s.encode(`event: content_block_stop
122
122
  data: ${JSON.stringify(qe)}
123
123
 
124
- `)),S=-1})}if(pe?.delta?.tool_calls&&!m&&!p){y++;let G=new Set;for(let K of pe.delta.tool_calls){if(m)break;let ue=K.index??0;if(G.has(ue))continue;if(G.add(ue),!A.has(ue)){if(S>=0){let Re={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
124
+ `)),S=-1})}if(pe?.delta?.tool_calls&&!m&&!p){_++;let G=new Set;for(let K of pe.delta.tool_calls){if(m)break;let ue=K.index??0;if(G.has(ue))continue;if(G.add(ue),!k.has(ue)){if(S>=0){let Re={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
125
125
  data: ${JSON.stringify(Re)}
126
126
 
127
- `)),S=-1}let Te=D();A.set(ue,Te);let W=K.id||`call_${Date.now()}_${ue}`,le=K.function?.name||`tool_${ue}`,ye={type:"content_block_start",index:Te,content_block:{type:"tool_use",id:W,name:le,input:{}}};O(s.encode(`event: content_block_start
127
+ `)),S=-1}let Te=D();k.set(ue,Te);let W=K.id||`call_${Date.now()}_${ue}`,le=K.function?.name||`tool_${ue}`,ye={type:"content_block_start",index:Te,content_block:{type:"tool_use",id:W,name:le,input:{}}};O(s.encode(`event: content_block_start
128
128
  data: ${JSON.stringify(ye)}
129
129
 
130
- `)),S=Te;let Nt={id:W,name:le,arguments:"",contentBlockIndex:Te};g.set(ue,Nt)}else if(K.id&&K.function?.name){let Te=g.get(ue);Te.id.startsWith("call_")&&Te.name.startsWith("tool_")&&(Te.id=K.id,Te.name=K.function.name)}if(K.function?.arguments&&!m&&!p){let Te=A.get(ue);if(Te===void 0)continue;let W=g.get(ue);W&&(W.arguments+=K.function.arguments);try{let le={type:"content_block_delta",index:Te,delta:{type:"input_json_delta",partial_json:K.function.arguments}};O(s.encode(`event: content_block_delta
130
+ `)),S=Te;let Nt={id:W,name:le,arguments:"",contentBlockIndex:Te};g.set(ue,Nt)}else if(K.id&&K.function?.name){let Te=g.get(ue);Te.id.startsWith("call_")&&Te.name.startsWith("tool_")&&(Te.id=K.id,Te.name=K.function.name)}if(K.function?.arguments&&!m&&!p){let Te=k.get(ue);if(Te===void 0)continue;let W=g.get(ue);W&&(W.arguments+=K.function.arguments);try{let le={type:"content_block_delta",index:Te,delta:{type:"input_json_delta",partial_json:K.function.arguments}};O(s.encode(`event: content_block_delta
131
131
  data: ${JSON.stringify(le)}
132
132
 
133
133
  `))}catch{try{let le=K.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),ye={type:"content_block_delta",index:Te,delta:{type:"input_json_delta",partial_json:le}};O(s.encode(`event: content_block_delta
134
134
  data: ${JSON.stringify(ye)}
135
135
 
136
- `))}catch(le){console.error(le)}}}}}if(pe?.finish_reason&&!m&&!p){if(_===0&&y===0&&console.error("Warning: No content in the stream response!"),S>=0){let G={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
136
+ `))}catch(le){console.error(le)}}}}}if(pe?.finish_reason&&!m&&!p){if(y===0&&_===0&&console.error("Warning: No content in the stream response!"),S>=0){let G={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
137
137
  data: ${JSON.stringify(G)}
138
138
 
139
- `)),S=-1}m||(c={type:"message_delta",delta:{stop_reason:{stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[pe.finish_reason]||"end_turn",stop_sequence:null},usage:{input_tokens:(oe.usage?.prompt_tokens||0)-(oe.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:oe.usage?.completion_tokens||0,cache_read_input_tokens:oe.usage?.prompt_tokens_details?.cached_tokens||0}});break}}catch(oe){this.logger?.error(`parseError: ${oe.name} message: ${oe.message} stack: ${oe.stack} data: ${Ae}`)}}}q()}catch(B){if(!m)try{o.error(B)}catch(Y){console.error(Y)}}finally{if(J)try{J.releaseLock()}catch(B){console.error(B)}}},cancel:o=>{this.logger.debug({reqId:r.req.id},`cancle stream: ${o}`)}})}convertOpenAIResponseToAnthropic(e,r){this.logger.debug({reqId:r.req.id,response:e},"Original OpenAI response");try{let n=e.choices[0];if(!n)throw new Error("No choices found in OpenAI response");let o=[];if(n.message.annotations){let a=`srvtoolu_${Xt()}`;o.push({type:"server_tool_use",id:a,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:a,content:n.message.annotations.map(c=>({type:"web_search_result",url:c.url_citation.url,title:c.url_citation.title}))})}n.message.content&&o.push({type:"text",text:n.message.content}),n.message.tool_calls&&n.message.tool_calls.length>0&&n.message.tool_calls.forEach(a=>{let c={};try{let l=a.function.arguments||"{}";typeof l=="object"?c=l:typeof l=="string"&&(c=JSON.parse(l))}catch{c={text:a.function.arguments||""}}o.push({type:"tool_use",id:a.id,name:a.function.name,input:c})}),n.message?.thinking?.content&&o.push({type:"thinking",thinking:n.message.thinking.content,signature:n.message.thinking.signature});let s={id:e.id,type:"message",role:"assistant",model:e.model,content:o,stop_reason:n.finish_reason==="stop"?"end_turn":n.finish_reason==="length"?"max_tokens":n.finish_reason==="tool_calls"?"tool_use":n.finish_reason==="content_filter"?"stop_sequence":"end_turn",stop_sequence:null,usage:{input_tokens:(e.usage?.prompt_tokens||0)-(e.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:e.usage?.completion_tokens||0,cache_read_input_tokens:e.usage?.prompt_tokens_details?.cached_tokens||0}};return this.logger.debug({reqId:r.req.id,result:s},"Conversion complete, final Anthropic response"),s}catch{throw rt(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var Gn={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function FC(t,e){t.includes("null")&&(e.nullable=!0);let r=t.filter(n=>n!=="null");if(r.length===1){let n=r[0].toUpperCase();e.type=Object.values(Gn).includes(n)?n:Gn.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(Gn).includes(o)?o:Gn.TYPE_UNSPECIFIED})}}}function Uo(t){let e={},r=["items"],n=["anyOf"],o=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=t.anyOf;s!=null&&Array.isArray(s)&&s.length==2&&(s[0]&&s[0].type==="null"?(e.nullable=!0,t=s[1]):s[1]&&s[1].type==="null"&&(e.nullable=!0,t=s[0])),t.type&&Array.isArray(t.type)&&FC(t.type,e);for(let[a,c]of Object.entries(t))if(c!=null)if(a=="type"){if(c==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(c))continue;let l=c.toUpperCase();e.type=Object.values(Gn).includes(l)?l:Gn.TYPE_UNSPECIFIED}else if(r.includes(a))e[a]=Uo(c);else if(n.includes(a)){let l=[];for(let f of c){if(f.type=="null"){e.nullable=!0;continue}l.push(Uo(f))}e[a]=l}else if(o.includes(a)){let l={};for(let[f,d]of Object.entries(c))l[f]=Uo(d);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=c}return e}function PC(t){if(t.functionDeclarations)for(let e of t.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=Uo(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=Uo(e.response));return t}function gi(t){let e=[],r=t.tools?.filter(l=>l.function.name!=="web_search")?.map(l=>({name:l.function.name,description:l.function.description,parametersJsonSchema:l.function.parameters}));r?.length&&e.push(PC({functionDeclarations:r})),t.tools?.find(l=>l.function.name==="web_search")&&e.push({googleSearch:{}});let o=[],s=t.messages.filter(l=>l.role==="tool");t.messages.filter(l=>l.role!=="tool").forEach(l=>{let f;l.role==="assistant"?f="model":(["user","system"].includes(l.role),f="user");let d=[];if(typeof l.content=="string"){let p={text:l.content};l.thinking?.signature&&(p.thoughtSignature=l.thinking.signature),d.push(p)}else Array.isArray(l.content)?d.push(...l.content.map(p=>{if(p.type==="text")return{text:p.text||""};if(p.type==="image_url")return p.image_url.url.startsWith("http")?{file_data:{mime_type:p.media_type,file_uri:p.image_url.url}}:{inlineData:{mime_type:p.media_type,data:p.image_url.url?.split(",")?.pop()||p.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?d.push({text:l.content.text}):d.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&d.push(...l.tool_calls.map(p=>{let g={functionCall:{id:p.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:p.function.name,args:JSON.parse(p.function.arguments||"{}")}};return l.thinking?.signature&&(g.thoughtSignature=l.thinking.signature),g})),d.length===0&&d.push({text:""}),o.push({role:f,parts:d}),f==="model"&&l.tool_calls){let p=l.tool_calls.map(g=>{let A=s.find(E=>E.tool_call_id===g.id);return{functionResponse:{name:g?.function?.name,response:{result:A?.content}}}});o.push({role:"user",parts:p})}});let a={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(a.thinkingConfig={includeThoughts:!0},t.model.includes("gemini-3"))a.thinkingConfig.thinkingLevel=t.reasoning.effort;else{let l=t.model.includes("pro")?[128,32768]:[0,24576],f,d=t.reasoning.max_tokens;typeof d<"u"&&(d>=l[0]&&d<=l[1]?f=d:d<l[0]?f=l[0]:d>l[1]&&(f=l[1]),a.thinkingConfig.thinkingBudget=f)}let c={contents:o,tools:e.length?e:void 0,generationConfig:a};if(t.tool_choice){let l={functionCallingConfig:{}};t.tool_choice==="auto"?l.functionCallingConfig.mode="auto":t.tool_choice==="none"?l.functionCallingConfig.mode="none":t.tool_choice==="required"?l.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(l.functionCallingConfig.mode="any",l.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),c.toolConfig=l}return c}function yi(t){let e=t.contents,r=t.tools,n=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,c=t.tool_choice,l={messages:[],model:n,max_tokens:o,temperature:s,stream:a,tool_choice:c};return Array.isArray(e)&&e.forEach(f=>{typeof f=="string"?l.messages.push({role:"user",content:f}):typeof f.text=="string"?l.messages.push({role:"user",content:f.text||null}):f.role==="user"?l.messages.push({role:"user",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]}):f.role==="model"&&l.messages.push({role:"assistant",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]})}),Array.isArray(r)&&(l.tools=[],r.forEach(f=>{Array.isArray(f.functionDeclarations)&&f.functionDeclarations.forEach(d=>{l.tools.push({type:"function",function:{name:d.name,description:d.description,parameters:d.parameters}})})})),l}async function _i(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json();r?.debug({response:n},`${e} response:`);let o="",s="",a=n.candidates[0]?.content?.parts||[],c=[];for(let p of a)p.text&&p.thought===!0?o+=p.text:c.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature;let l=c?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})}}))||[],f=c?.filter(p=>p.text)?.map(p=>p.text)?.join(`
140
- `)||"",d={id:n.responseId,choices:[{finish_reason:n.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:f,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.modelVersion,object:"chat.completion",usage:{completion_tokens:n.usageMetadata?.candidatesTokenCount||0,prompt_tokens:n.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:n.usageMetadata?.cachedContentTokenCount||0},total_tokens:n.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:n.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(d),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n=new TextDecoder,o=new TextEncoder,s=!1,a=!1,c=!1,l="",f=0,d=-1,p=new ReadableStream({async start(g){let A=async(y,m)=>{if(y.startsWith("data: ")){let v=y.slice(6).trim();if(v){r?.debug({chunkStr:v},`${e} chunk:`);try{let b=JSON.parse(v);if(!b.candidates||!b.candidates[0]){r?.debug({chunkStr:v},"Invalid chunk structure");return}let S=b.candidates[0],D=S.content?.parts||[];D.filter(B=>B.text&&B.thought===!0).forEach(B=>{c||(c=!0);let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:B.text}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
139
+ `)),S=-1}m||(c={type:"message_delta",delta:{stop_reason:{stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[pe.finish_reason]||"end_turn",stop_sequence:null},usage:{input_tokens:(oe.usage?.prompt_tokens||0)-(oe.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:oe.usage?.completion_tokens||0,cache_read_input_tokens:oe.usage?.prompt_tokens_details?.cached_tokens||0}});break}}catch(oe){this.logger?.error(`parseError: ${oe.name} message: ${oe.message} stack: ${oe.stack} data: ${ke}`)}}}q()}catch(B){if(!m)try{o.error(B)}catch(Y){console.error(Y)}}finally{if(J)try{J.releaseLock()}catch(B){console.error(B)}}},cancel:o=>{this.logger.debug({reqId:r.req.id},`cancle stream: ${o}`)}})}convertOpenAIResponseToAnthropic(e,r){this.logger.debug({reqId:r.req.id,response:e},"Original OpenAI response");try{let n=e.choices[0];if(!n)throw new Error("No choices found in OpenAI response");let o=[];if(n.message.annotations){let a=`srvtoolu_${Xt()}`;o.push({type:"server_tool_use",id:a,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:a,content:n.message.annotations.map(c=>({type:"web_search_result",url:c.url_citation.url,title:c.url_citation.title}))})}n.message.content&&o.push({type:"text",text:n.message.content}),n.message.tool_calls&&n.message.tool_calls.length>0&&n.message.tool_calls.forEach(a=>{let c={};try{let l=a.function.arguments||"{}";typeof l=="object"?c=l:typeof l=="string"&&(c=JSON.parse(l))}catch{c={text:a.function.arguments||""}}o.push({type:"tool_use",id:a.id,name:a.function.name,input:c})}),n.message?.thinking?.content&&o.push({type:"thinking",thinking:n.message.thinking.content,signature:n.message.thinking.signature});let s={id:e.id,type:"message",role:"assistant",model:e.model,content:o,stop_reason:n.finish_reason==="stop"?"end_turn":n.finish_reason==="length"?"max_tokens":n.finish_reason==="tool_calls"?"tool_use":n.finish_reason==="content_filter"?"stop_sequence":"end_turn",stop_sequence:null,usage:{input_tokens:(e.usage?.prompt_tokens||0)-(e.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:e.usage?.completion_tokens||0,cache_read_input_tokens:e.usage?.prompt_tokens_details?.cached_tokens||0}};return this.logger.debug({reqId:r.req.id,result:s},"Conversion complete, final Anthropic response"),s}catch{throw rt(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var Gn={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function PC(t,e){t.includes("null")&&(e.nullable=!0);let r=t.filter(n=>n!=="null");if(r.length===1){let n=r[0].toUpperCase();e.type=Object.values(Gn).includes(n)?n:Gn.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(Gn).includes(o)?o:Gn.TYPE_UNSPECIFIED})}}}function Uo(t){let e={},r=["items"],n=["anyOf"],o=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=t.anyOf;s!=null&&Array.isArray(s)&&s.length==2&&(s[0]&&s[0].type==="null"?(e.nullable=!0,t=s[1]):s[1]&&s[1].type==="null"&&(e.nullable=!0,t=s[0])),t.type&&Array.isArray(t.type)&&PC(t.type,e);for(let[a,c]of Object.entries(t))if(c!=null)if(a=="type"){if(c==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(c))continue;let l=c.toUpperCase();e.type=Object.values(Gn).includes(l)?l:Gn.TYPE_UNSPECIFIED}else if(r.includes(a))e[a]=Uo(c);else if(n.includes(a)){let l=[];for(let d of c){if(d.type=="null"){e.nullable=!0;continue}l.push(Uo(d))}e[a]=l}else if(o.includes(a)){let l={};for(let[d,f]of Object.entries(c))l[d]=Uo(f);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=c}return e}function FC(t){if(t.functionDeclarations)for(let e of t.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=Uo(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=Uo(e.response));return t}function gi(t){let e=[],r=t.tools?.filter(l=>l.function.name!=="web_search")?.map(l=>({name:l.function.name,description:l.function.description,parametersJsonSchema:l.function.parameters}));r?.length&&e.push(FC({functionDeclarations:r})),t.tools?.find(l=>l.function.name==="web_search")&&e.push({googleSearch:{}});let o=[],s=t.messages.filter(l=>l.role==="tool");t.messages.filter(l=>l.role!=="tool").forEach(l=>{let d;l.role==="assistant"?d="model":(["user","system"].includes(l.role),d="user");let f=[];if(typeof l.content=="string"){let p={text:l.content};l.thinking?.signature&&(p.thoughtSignature=l.thinking.signature),f.push(p)}else Array.isArray(l.content)?f.push(...l.content.map(p=>{if(p.type==="text")return{text:p.text||""};if(p.type==="image_url")return p.image_url.url.startsWith("http")?{file_data:{mime_type:p.media_type,file_uri:p.image_url.url}}:{inlineData:{mime_type:p.media_type,data:p.image_url.url?.split(",")?.pop()||p.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?f.push({text:l.content.text}):f.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&f.push(...l.tool_calls.map(p=>{let g={functionCall:{id:p.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:p.function.name,args:JSON.parse(p.function.arguments||"{}")}};return l.thinking?.signature&&(g.thoughtSignature=l.thinking.signature),g})),f.length===0&&f.push({text:""}),o.push({role:d,parts:f}),d==="model"&&l.tool_calls){let p=l.tool_calls.map(g=>{let k=s.find(w=>w.tool_call_id===g.id);return{functionResponse:{name:g?.function?.name,response:{result:k?.content}}}});o.push({role:"user",parts:p})}});let a={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(a.thinkingConfig={includeThoughts:!0},t.model.includes("gemini-3"))a.thinkingConfig.thinkingLevel=t.reasoning.effort;else{let l=t.model.includes("pro")?[128,32768]:[0,24576],d,f=t.reasoning.max_tokens;typeof f<"u"&&(f>=l[0]&&f<=l[1]?d=f:f<l[0]?d=l[0]:f>l[1]&&(d=l[1]),a.thinkingConfig.thinkingBudget=d)}let c={contents:o,tools:e.length?e:void 0,generationConfig:a};if(t.tool_choice){let l={functionCallingConfig:{}};t.tool_choice==="auto"?l.functionCallingConfig.mode="auto":t.tool_choice==="none"?l.functionCallingConfig.mode="none":t.tool_choice==="required"?l.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(l.functionCallingConfig.mode="any",l.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),c.toolConfig=l}return c}function yi(t){let e=t.contents,r=t.tools,n=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,c=t.tool_choice,l={messages:[],model:n,max_tokens:o,temperature:s,stream:a,tool_choice:c};return Array.isArray(e)&&e.forEach(d=>{typeof d=="string"?l.messages.push({role:"user",content:d}):typeof d.text=="string"?l.messages.push({role:"user",content:d.text||null}):d.role==="user"?l.messages.push({role:"user",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]}):d.role==="model"&&l.messages.push({role:"assistant",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]})}),Array.isArray(r)&&(l.tools=[],r.forEach(d=>{Array.isArray(d.functionDeclarations)&&d.functionDeclarations.forEach(f=>{l.tools.push({type:"function",function:{name:f.name,description:f.description,parameters:f.parameters}})})})),l}async function _i(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json();r?.debug({response:n},`${e} response:`);let o="",s="",a=n.candidates[0]?.content?.parts||[],c=[];for(let p of a)p.text&&p.thought===!0?o+=p.text:c.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature;let l=c?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})}}))||[],d=c?.filter(p=>p.text)?.map(p=>p.text)?.join(`
140
+ `)||"",f={id:n.responseId,choices:[{finish_reason:n.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:d,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.modelVersion,object:"chat.completion",usage:{completion_tokens:n.usageMetadata?.candidatesTokenCount||0,prompt_tokens:n.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:n.usageMetadata?.cachedContentTokenCount||0},total_tokens:n.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:n.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(f),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n=new TextDecoder,o=new TextEncoder,s=!1,a=!1,c=!1,l="",d=0,f=-1,p=new ReadableStream({async start(g){let k=async(_,m)=>{if(_.startsWith("data: ")){let v=_.slice(6).trim();if(v){r?.debug({chunkStr:v},`${e} chunk:`);try{let b=JSON.parse(v);if(!b.candidates||!b.candidates[0]){r?.debug({chunkStr:v},"Invalid chunk structure");return}let S=b.candidates[0],D=S.content?.parts||[];D.filter(B=>B.text&&B.thought===!0).forEach(B=>{c||(c=!0);let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:B.text}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
141
141
 
142
- `))});let O=D.find(B=>B.thoughtSignature)?.thoughtSignature;if(O&&!s){if(!c){let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
142
+ `))});let O=D.find(B=>B.thoughtSignature)?.thoughtSignature;if(O&&!s){if(!c){let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
143
143
 
144
- `))}let B={choices:[{delta:{role:"assistant",content:null,thinking:{signature:O}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(m.enqueue(o.encode(`data: ${JSON.stringify(B)}
144
+ `))}let B={choices:[{delta:{role:"assistant",content:null,thinking:{signature:O}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(m.enqueue(o.encode(`data: ${JSON.stringify(B)}
145
145
 
146
- `)),s=!0,f++,l){let Y={choices:[{delta:{role:"assistant",content:l},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
146
+ `)),s=!0,d++,l){let Y={choices:[{delta:{role:"assistant",content:l},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
147
147
 
148
148
  `)),l="",a||(a=!0)}}let q=D.filter(B=>B.functionCall).map(B=>({id:B.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:B.functionCall?.name,arguments:JSON.stringify(B.functionCall?.args||{})}})),J=D.filter(B=>B.text&&B.thought!==!0).map(B=>B.text).join(`
149
- `);if(!J&&s&&!a){let B={choices:[{delta:{role:"assistant",content:"(no content)"},index:f,finish_reason:null,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(B)}
149
+ `);if(!J&&s&&!a){let B={choices:[{delta:{role:"assistant",content:"(no content)"},index:d,finish_reason:null,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(B)}
150
150
 
151
- `)),a||(a=!0)}if(c&&J&&!s)if(b.modelVersion.includes("3")){l+=J;return}else{let B={choices:[{delta:{role:"assistant",content:null,thinking:{signature:`ccr_${+new Date}`}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(B)}
151
+ `)),a||(a=!0)}if(c&&J&&!s)if(b.modelVersion.includes("3")){l+=J;return}else{let B={choices:[{delta:{role:"assistant",content:null,thinking:{signature:`ccr_${+new Date}`}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(B)}
152
152
 
153
- `)),s=!0}if(J){l||f++;let B={choices:[{delta:{role:"assistant",content:J},finish_reason:S.finishReason?.toLowerCase()||null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:b.usageMetadata?.candidatesTokenCount||0,prompt_tokens:b.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:b.usageMetadata?.cachedContentTokenCount||0},total_tokens:b.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:b.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(B.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((Y,te)=>{let Z=S?.groundingMetadata?.groundingSupports?.filter(ae=>ae.groundingChunkIndices?.includes(te));return{type:"url_citation",url_citation:{url:Y?.web?.uri||"",title:Y?.web?.title||"",content:Z?.[0]?.segment?.text||"",start_index:Z?.[0]?.segment?.startIndex||0,end_index:Z?.[0]?.segment?.endIndex||0}}})),m.enqueue(o.encode(`data: ${JSON.stringify(B)}
153
+ `)),s=!0}if(J){l||d++;let B={choices:[{delta:{role:"assistant",content:J},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:b.usageMetadata?.candidatesTokenCount||0,prompt_tokens:b.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:b.usageMetadata?.cachedContentTokenCount||0},total_tokens:b.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:b.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(B.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((Y,te)=>{let Z=S?.groundingMetadata?.groundingSupports?.filter(ae=>ae.groundingChunkIndices?.includes(te));return{type:"url_citation",url_citation:{url:Y?.web?.uri||"",title:Y?.web?.title||"",content:Z?.[0]?.segment?.text||"",start_index:Z?.[0]?.segment?.startIndex||0,end_index:Z?.[0]?.segment?.endIndex||0}}})),m.enqueue(o.encode(`data: ${JSON.stringify(B)}
154
154
 
155
- `)),!a&&J&&(a=!0)}q.length>0&&(q.forEach(B=>{f++,d++;let Y={choices:[{delta:{role:"assistant",tool_calls:[{...B,index:d}]},finish_reason:S.finishReason?.toLowerCase()||null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:b.usageMetadata?.candidatesTokenCount||0,prompt_tokens:b.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:b.usageMetadata?.cachedContentTokenCount||0},total_tokens:b.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:b.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(Y.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((te,Z)=>{let ae=S?.groundingMetadata?.groundingSupports?.filter(de=>de.groundingChunkIndices?.includes(Z));return{type:"url_citation",url_citation:{url:te?.web?.uri||"",title:te?.web?.title||"",content:ae?.[0]?.segment?.text||"",start_index:ae?.[0]?.segment?.startIndex||0,end_index:ae?.[0]?.segment?.endIndex||0}}})),m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
155
+ `)),!a&&J&&(a=!0)}q.length>0&&(q.forEach(B=>{d++,f++;let Y={choices:[{delta:{role:"assistant",tool_calls:[{...B,index:f}]},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:b.usageMetadata?.candidatesTokenCount||0,prompt_tokens:b.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:b.usageMetadata?.cachedContentTokenCount||0},total_tokens:b.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:b.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(Y.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((te,Z)=>{let ae=S?.groundingMetadata?.groundingSupports?.filter(de=>de.groundingChunkIndices?.includes(Z));return{type:"url_citation",url_citation:{url:te?.web?.uri||"",title:te?.web?.title||"",content:ae?.[0]?.segment?.text||"",start_index:ae?.[0]?.segment?.startIndex||0,end_index:ae?.[0]?.segment?.endIndex||0}}})),m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
156
156
 
157
- `))}),!a&&J&&(a=!0))}catch(b){r?.error(`Error parsing ${e} stream chunk`,v,b.message)}}}},E=t.body.getReader(),_="";try{for(;;){let{done:y,value:m}=await E.read();if(y){_&&await A(_,g);break}_+=n.decode(m,{stream:!0});let v=_.split(`
158
- `);_=v.pop()||"";for(let b of v)await A(b,g)}}catch(y){g.error(y)}finally{g.close()}}});return new Response(p,{status:t.status,statusText:t.statusText,headers:t.headers})}}var bi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,r){return{body:gi(e),config:{url:new URL(`./${e.model}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,r.baseUrl),headers:{"x-goog-api-key":r.apiKey,Authorization:void 0}}}}transformRequestOut=yi;async transformResponseOut(e){return _i(e,this.name,this.logger)}};async function rv(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Pe(Fd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
157
+ `))}),!a&&J&&(a=!0))}catch(b){r?.error(`Error parsing ${e} stream chunk`,v,b.message)}}}},w=t.body.getReader(),y="";try{for(;;){let{done:_,value:m}=await w.read();if(_){y&&await k(y,g);break}y+=n.decode(m,{stream:!0});let v=y.split(`
158
+ `);y=v.pop()||"";for(let b of v)await k(b,g)}}catch(_){g.error(_)}finally{g.close()}}});return new Response(p,{status:t.status,statusText:t.statusText,headers:t.headers})}}var bi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,r){return{body:gi(e),config:{url:new URL(`./${e.model}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,r.baseUrl),headers:{"x-goog-api-key":r.apiKey,Authorization:void 0}}}}transformRequestOut=yi;async transformResponseOut(e){return _i(e,this.name,this.logger)}};async function rv(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Oe(Pd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
159
159
  1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
160
160
  2. Run "gcloud auth application-default login"
161
- 3. Use Google Cloud environment with default service account`)}}var Na=class{name="vertex-gemini";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await rv();return{body:gi(e),config:{url:new URL(`./v1beta1/projects/${n}/locations/${o}/publishers/google/models/${e.model}:${e.stream?"streamGenerateContent":"generateContent"}`,r.baseUrl.endsWith("/")?r.baseUrl:r.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return yi(e)}async transformResponseOut(e){return _i(e,this.name)}};var ja=class{name="deepseek";async transformRequestIn(e){e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192);let r=e.model?.includes("reasoner")||e.model?.includes("v4")||e.model?.includes("pro")||e.model?.includes("think"),n=e.thinking||e.reasoning?.enabled||e.messages.some(o=>o.thinking?.content)||r;return e.messages.forEach(o=>{if(o.role==="assistant"){let s=o.thinking?.content,a=o.thinking?.signature,c="";if(typeof o.content=="string"){let f=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);f&&(c=f[1].trim(),o.content=o.content.replace(f[0],"").trim())}s&&typeof s=="string"&&s.trim()?(o.reasoning_content=s,a&&(o.reasoning_content_signature=a)):c&&(o.reasoning_content=c),n&&!o.reasoning_content&&(o.reasoning_content=" "),o.thinking&&delete o.thinking}}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let f=e.body.getReader(),d=(g,A,E)=>{let _=g.split(`
162
- `);for(let y of _)y.trim()&&A.enqueue(E.encode(y+`
163
- `))},p=(g,A)=>{let{controller:E,encoder:_}=A;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let y=JSON.parse(g.slice(6));if(y.choices?.[0]?.delta?.reasoning_content){A.appendReasoningContent(y.choices[0].delta.reasoning_content);let m={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(m)}
161
+ 3. Use Google Cloud environment with default service account`)}}var Na=class{name="vertex-gemini";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await rv();return{body:gi(e),config:{url:new URL(`./v1beta1/projects/${n}/locations/${o}/publishers/google/models/${e.model}:${e.stream?"streamGenerateContent":"generateContent"}`,r.baseUrl.endsWith("/")?r.baseUrl:r.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return yi(e)}async transformResponseOut(e){return _i(e,this.name)}};var Ma=class{name="deepseek";async transformRequestIn(e){e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192);let r=e.model?.includes("reasoner")||e.model?.includes("v4")||e.model?.includes("pro")||e.model?.includes("think"),n=e.thinking||e.reasoning?.enabled||e.messages.some(o=>o.thinking?.content)||r;return e.messages.forEach(o=>{if(o.role==="assistant"){let s=o.thinking?.content,a=o.thinking?.signature,c="";if(typeof o.content=="string"){let d=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);d&&(c=d[1].trim(),o.content=o.content.replace(d[0],"").trim())}s&&typeof s=="string"&&s.trim()?(o.reasoning_content=s,a&&(o.reasoning_content_signature=a)):c&&(o.reasoning_content=c),n&&!o.reasoning_content&&(o.reasoning_content=" "),o.thinking&&delete o.thinking}}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,k,w)=>{let y=g.split(`
162
+ `);for(let _ of y)_.trim()&&k.enqueue(w.encode(_+`
163
+ `))},p=(g,k)=>{let{controller:w,encoder:y}=k;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let _=JSON.parse(g.slice(6));if(_.choices?.[0]?.delta?.reasoning_content){k.appendReasoningContent(_.choices[0].delta.reasoning_content);let m={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,thinking:{content:_.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(m)}
164
164
 
165
- `;E.enqueue(_.encode(v));return}if(y.choices?.[0]?.delta?.content&&A.reasoningContent()&&!A.isReasoningComplete()){A.setReasoningComplete(!0);let m=Date.now().toString(),v=y.choices[0].delta.content,b={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,content:null,thinking:{content:A.reasoningContent(),signature:m}}}]};delete b.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(b)}
165
+ `;w.enqueue(y.encode(v));return}if(_.choices?.[0]?.delta?.content&&k.reasoningContent()&&!k.isReasoningComplete()){k.setReasoningComplete(!0);let m=Date.now().toString(),v=_.choices[0].delta.content,b={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,content:null,thinking:{content:k.reasoningContent(),signature:m}}}]};delete b.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(b)}
166
166
 
167
- `;E.enqueue(_.encode(S));let D={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,content:v}}]};delete D.choices[0].delta.reasoning_content;let O=`data: ${JSON.stringify(D)}
167
+ `;w.enqueue(y.encode(S));let D={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,content:v}}]};delete D.choices[0].delta.reasoning_content;let O=`data: ${JSON.stringify(D)}
168
168
 
169
- `;E.enqueue(_.encode(O));return}if(y.choices[0]?.delta?.reasoning_content&&delete y.choices[0].delta.reasoning_content,y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0){let m=`data: ${JSON.stringify(y)}
169
+ `;w.enqueue(y.encode(O));return}if(_.choices[0]?.delta?.reasoning_content&&delete _.choices[0].delta.reasoning_content,_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0){let m=`data: ${JSON.stringify(_)}
170
170
 
171
- `;E.enqueue(_.encode(m))}}catch{E.enqueue(_.encode(g+`
172
- `))}else E.enqueue(_.encode(g+`
173
- `))};try{for(;;){let{done:g,value:A}=await f.read();if(g){a.trim()&&d(a,l,n);break}let E=r.decode(A,{stream:!0});a+=E;let _=a.split(`
174
- `);a=_.pop()||"";for(let y of _)if(y.trim())try{p(y,{controller:l,encoder:n,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",y,m),l.enqueue(n.encode(y+`
175
- `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{f.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ma=class{name="tooluse";transformRequestIn(e){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice="required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
171
+ `;w.enqueue(y.encode(m))}}catch{w.enqueue(y.encode(g+`
172
+ `))}else w.enqueue(y.encode(g+`
173
+ `))};try{for(;;){let{done:g,value:k}=await d.read();if(g){a.trim()&&f(a,l,n);break}let w=r.decode(k,{stream:!0});a+=w;let y=a.split(`
174
+ `);a=y.pop()||"";for(let _ of y)if(_.trim())try{p(_,{controller:l,encoder:n,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",_,m),l.enqueue(n.encode(_+`
175
+ `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var ja=class{name="tooluse";transformRequestIn(e){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice="required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
176
176
  IMPORTANT: Before using this tool, ensure that none of the available tools are applicable to the current task. You must evaluate all available options \u2014 only if no suitable tool can help you complete the task should you use ExitTool to terminate tool mode.
177
177
  Examples:
178
178
  1. Task: "Use a tool to summarize this document" \u2014 Do not use ExitTool if a summarization tool is available.
179
- 2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message.tool_calls?.length&&r?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let n=r?.choices[0]?.message.tool_calls[0],o=JSON.parse(n.function.arguments||"{}");r.choices[0].message.content=o.response||"",delete r.choices[0].message.tool_calls}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=-1,s="",a="",c=new ReadableStream({async start(l){let f=e.body.getReader(),d=(g,A,E)=>{let _=g.split(`
180
- `);for(let y of _)y.trim()&&A.enqueue(E.encode(y+`
181
- `))},p=(g,A)=>{let{controller:E,encoder:_,exitToolIndex:y,setExitToolIndex:m,appendExitToolResponse:v}=A;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let b=JSON.parse(g.slice(6));if(b.choices[0]?.delta?.tool_calls?.length){let S=b.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){m(S.index);return}else if(y()>-1&&S.index===y()&&S.function.arguments){v(S.function.arguments);try{let D=JSON.parse(A.exitToolResponse());b.choices=[{delta:{role:"assistant",content:D.response||""}}];let O=`data: ${JSON.stringify(b)}
179
+ 2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message.tool_calls?.length&&r?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let n=r?.choices[0]?.message.tool_calls[0],o=JSON.parse(n.function.arguments||"{}");r.choices[0].message.content=o.response||"",delete r.choices[0].message.tool_calls}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=-1,s="",a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,k,w)=>{let y=g.split(`
180
+ `);for(let _ of y)_.trim()&&k.enqueue(w.encode(_+`
181
+ `))},p=(g,k)=>{let{controller:w,encoder:y,exitToolIndex:_,setExitToolIndex:m,appendExitToolResponse:v}=k;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let b=JSON.parse(g.slice(6));if(b.choices[0]?.delta?.tool_calls?.length){let S=b.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){m(S.index);return}else if(_()>-1&&S.index===_()&&S.function.arguments){v(S.function.arguments);try{let D=JSON.parse(k.exitToolResponse());b.choices=[{delta:{role:"assistant",content:D.response||""}}];let O=`data: ${JSON.stringify(b)}
182
182
 
183
- `;E.enqueue(_.encode(O))}catch{}return}}if(b.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0){let S=`data: ${JSON.stringify(b)}
183
+ `;w.enqueue(y.encode(O))}catch{}return}}if(b.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0){let S=`data: ${JSON.stringify(b)}
184
184
 
185
- `;E.enqueue(_.encode(S))}}catch{E.enqueue(_.encode(g+`
186
- `))}else E.enqueue(_.encode(g+`
187
- `))};try{for(;;){let{done:g,value:A}=await f.read();if(g){a.trim()&&d(a,l,n);break}let E=r.decode(A,{stream:!0});a+=E;let _=a.split(`
188
- `);a=_.pop()||"";for(let y of _)if(y.trim())try{p(y,{controller:l,encoder:n,exitToolIndex:()=>o,setExitToolIndex:m=>o=m,exitToolResponse:()=>s,appendExitToolResponse:m=>s+=m})}catch(m){console.error("Error processing line:",y,m),l.enqueue(n.encode(y+`
189
- `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{f.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var La=class{constructor(e){this.options=e}static TransformerName="openrouter";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",f=new ReadableStream({async start(d){let p=e.body.getReader(),g=(E,_,y)=>{let m=E.split(`
190
- `);for(let v of m)v.trim()&&_.enqueue(y.encode(v+`
191
- `))},A=(E,_)=>{let{controller:y,encoder:m}=_;if(E.startsWith("data: ")&&E.trim()!=="data: [DONE]"){let v=E.slice(6);try{let b=JSON.parse(v);if(b.usage&&(this.logger?.debug({usage:b.usage,hasToolCall:c},"usage"),b.choices[0].finish_reason=c?"tool_calls":"stop"),b.choices?.[0]?.finish_reason==="error"){y.enqueue(m.encode(`data: ${JSON.stringify({error:b.choices?.[0].error})}
185
+ `;w.enqueue(y.encode(S))}}catch{w.enqueue(y.encode(g+`
186
+ `))}else w.enqueue(y.encode(g+`
187
+ `))};try{for(;;){let{done:g,value:k}=await d.read();if(g){a.trim()&&f(a,l,n);break}let w=r.decode(k,{stream:!0});a+=w;let y=a.split(`
188
+ `);a=y.pop()||"";for(let _ of y)if(_.trim())try{p(_,{controller:l,encoder:n,exitToolIndex:()=>o,setExitToolIndex:m=>o=m,exitToolResponse:()=>s,appendExitToolResponse:m=>s+=m})}catch(m){console.error("Error processing line:",_,m),l.enqueue(n.encode(_+`
189
+ `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var La=class{constructor(e){this.options=e}static TransformerName="openrouter";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),g=(w,y,_)=>{let m=w.split(`
190
+ `);for(let v of m)v.trim()&&y.enqueue(_.encode(v+`
191
+ `))},k=(w,y)=>{let{controller:_,encoder:m}=y;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let v=w.slice(6);try{let b=JSON.parse(v);if(b.usage&&(this.logger?.debug({usage:b.usage,hasToolCall:c},"usage"),b.choices[0].finish_reason=c?"tool_calls":"stop"),b.choices?.[0]?.finish_reason==="error"){_.enqueue(m.encode(`data: ${JSON.stringify({error:b.choices?.[0].error})}
192
192
 
193
- `));return}b.choices?.[0]?.delta?.content&&!_.hasTextContent()&&_.setHasTextContent(!0);let S=b.choices?.[0]?.delta?.reasoning||b.choices?.[0]?.delta?.reasoning_content;if(S){_.appendReasoningContent(S);let B={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,thinking:{content:S}}}]};B.choices?.[0]?.delta&&(delete B.choices[0].delta.reasoning,delete B.choices[0].delta.reasoning_content);let Y=`data: ${JSON.stringify(B)}
193
+ `));return}b.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0);let S=b.choices?.[0]?.delta?.reasoning||b.choices?.[0]?.delta?.reasoning_content;if(S){y.appendReasoningContent(S);let B={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,thinking:{content:S}}}]};B.choices?.[0]?.delta&&(delete B.choices[0].delta.reasoning,delete B.choices[0].delta.reasoning_content);let Y=`data: ${JSON.stringify(B)}
194
194
 
195
- `;y.enqueue(m.encode(Y));return}if(b.choices?.[0]?.delta?.content&&_.reasoningContent()&&!_.isReasoningComplete()){_.setReasoningComplete(!0);let B=Date.now().toString(),Y=b.choices[0].delta.content,te={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:null,thinking:{content:_.reasoningContent(),signature:B}}}]};te.choices?.[0]?.delta&&delete te.choices[0].delta.reasoning;let Z=`data: ${JSON.stringify(te)}
195
+ `;_.enqueue(m.encode(Y));return}if(b.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let B=Date.now().toString(),Y=b.choices[0].delta.content,te={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:B}}}]};te.choices?.[0]?.delta&&delete te.choices[0].delta.reasoning;let Z=`data: ${JSON.stringify(te)}
196
196
 
197
- `;y.enqueue(m.encode(Z));let ae={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:Y}}]};ae.choices?.[0]?.delta&&(delete ae.choices[0].delta.reasoning,delete ae.choices[0].delta.reasoning_content);let de=`data: ${JSON.stringify(ae)}
197
+ `;_.enqueue(m.encode(Z));let ae={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:Y}}]};ae.choices?.[0]?.delta&&(delete ae.choices[0].delta.reasoning,delete ae.choices[0].delta.reasoning_content);let de=`data: ${JSON.stringify(ae)}
198
198
 
199
- `;y.enqueue(m.encode(de));return}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.reasoning_content&&delete b.choices[0].delta.reasoning_content,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(B=>{B.id=`call_${Xt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0);let D=b.choices?.[0]?.delta,O=D&&Object.keys(D).length>0,q=b.choices?.[0]?.finish_reason,J=b.usage;if(O||q||J){let B=`data: ${JSON.stringify(b)}
199
+ `;_.enqueue(m.encode(de));return}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.reasoning_content&&delete b.choices[0].delta.reasoning_content,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(B=>{B.id=`call_${Xt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0);let D=b.choices?.[0]?.delta,O=D&&Object.keys(D).length>0,q=b.choices?.[0]?.finish_reason,J=b.usage;if(O||q||J){let B=`data: ${JSON.stringify(b)}
200
200
 
201
- `;y.enqueue(m.encode(B))}}catch{y.enqueue(m.encode(E+`
202
- `))}}else y.enqueue(m.encode(E+`
203
- `))};try{for(;;){let{done:E,value:_}=await p.read();if(E){l.trim()&&g(l,d,n);break}if(!_||_.length===0)continue;let y;try{y=r.decode(_,{stream:!0})}catch(v){console.warn("Failed to decode chunk",v);continue}if(y.length===0)continue;if(l+=y,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
204
- `);l=v.pop()||"";for(let b of v)if(b.trim())try{A(b,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",b,S),d.enqueue(n.encode(b+`
201
+ `;_.enqueue(m.encode(B))}}catch{_.enqueue(m.encode(w+`
202
+ `))}}else _.enqueue(m.encode(w+`
203
+ `))};try{for(;;){let{done:w,value:y}=await p.read();if(w){l.trim()&&g(l,f,n);break}if(!y||y.length===0)continue;let _;try{_=r.decode(y,{stream:!0})}catch(v){console.warn("Failed to decode chunk",v);continue}if(_.length===0)continue;if(l+=_,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
204
+ `);l=v.pop()||"";for(let b of v)if(b.trim())try{k(b,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",b,S),f.enqueue(n.encode(b+`
205
205
  `))}continue}let m=l.split(`
206
- `);l=m.pop()||"";for(let v of m)if(v.trim())try{A(v,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),d.enqueue(n.encode(v+`
207
- `))}}}catch(E){console.error("Stream error:",E),d.error(E)}finally{try{p.releaseLock()}catch(E){console.error("Error releasing reader lock:",E)}d.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ua=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var $a=class{name="groq";async transformRequestIn(e){return e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(r=>{delete r.function.parameters.$schema}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c="",l=new ReadableStream({async start(f){let d=e.body.getReader(),p=(A,E,_)=>{let y=A.split(`
208
- `);for(let m of y)m.trim()&&E.enqueue(_.encode(m+`
209
- `))},g=(A,E)=>{let{controller:_,encoder:y}=E;if(A.startsWith("data: ")&&A.trim()!=="data: [DONE]"){let m=A.slice(6);try{let v=JSON.parse(m);if(v.error)throw new Error(JSON.stringify(v));v.choices?.[0]?.delta?.content&&!E.hasTextContent()&&E.setHasTextContent(!0),v.choices?.[0]?.delta?.tool_calls?.length&&v.choices?.[0]?.delta?.tool_calls.forEach(S=>{S.id=`call_${Xt()}`}),v.choices?.[0]?.delta?.tool_calls?.length&&E.hasTextContent()&&(typeof v.choices[0].index=="number"?v.choices[0].index+=1:v.choices[0].index=1);let b=`data: ${JSON.stringify(v)}
210
-
211
- `;_.enqueue(y.encode(b))}catch{_.enqueue(y.encode(A+`
212
- `))}}else _.enqueue(y.encode(A+`
213
- `))};try{for(;;){let{done:A,value:E}=await d.read();if(A){c.trim()&&p(c,f,n);break}if(!E||E.length===0)continue;let _;try{_=r.decode(E,{stream:!0})}catch(m){console.warn("Failed to decode chunk",m);continue}if(_.length===0)continue;if(c+=_,c.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let m=c.split(`
214
- `);c=m.pop()||"";for(let v of m)if(v.trim())try{g(v,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),f.enqueue(n.encode(v+`
215
- `))}continue}let y=c.split(`
216
- `);c=y.pop()||"";for(let m of y)if(m.trim())try{g(m,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:v=>o=v,reasoningContent:()=>s,appendReasoningContent:v=>s+=v,isReasoningComplete:()=>a,setReasoningComplete:v=>a=v})}catch(v){console.error("Error processing line:",m,v),f.enqueue(n.encode(m+`
217
- `))}}}catch(A){console.error("Stream error:",A),f.error(A)}finally{try{d.releaseLock()}catch(A){console.error("Error releasing reader lock:",A)}f.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var qa=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),e}};var R0=Pe(tc());var Rr=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function E0(t){return/^[0-9A-Fa-f]$/.test(t)}function Zr(t){return t>="0"&&t<="9"}function A0(t){return t>=" "}function ys(t){return`,:[]/{}()
218
- +`.includes(t)}function Pd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Id(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Bd=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Nd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function jd(t){return`,[]/{}
219
- +`.includes(t)}function Md(t){return _s(t)||nv.test(t)}var nv=/^[[{\w-]$/;function S0(t){return t===`
220
- `||t==="\r"||t===" "||t==="\b"||t==="\f"}function Xr(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function k0(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function v0(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function _s(t){return Ld(t)||za(t)}function Ld(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Ud(t){return t==='"'}function za(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function $d(t){return t==="'"}function Co(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=t.lastIndexOf(e);return n!==-1?t.substring(0,n)+(r?"":t.substring(n+1)):t}function It(t,e){let r=t.length;if(!Xr(t,r-1))return t+e;for(;Xr(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function T0(t,e,r){return t.substring(0,e)+t.substring(e+r)}function D0(t){return/[,\n][ \t\r]*$/.test(t)}var ov={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},sv={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
221
- `,r:"\r",t:" "};function qd(t){let e=0,r="";f(["```","[```","{```"]),s()||de(),f(["```","```]","```}"]);let o=p(",");for(o&&a(),Md(t[e])&&D0(r)?(o||(r=It(r,",")),m()):o&&(r=Co(r,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return r;ae();function s(){a();let G=_()||y()||v()||S()||D()||q(!1)||J();return a(),G}function a(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,K=e,ue=c(G);do ue=l(),ue&&(ue=c(G));while(ue);return e>K}function c(G){let K=G?Xr:k0,ue="";for(;;)if(K(t,e))ue+=t[e],e++;else if(v0(t,e))ue+=" ",e++;else break;return ue.length>0?(r+=ue,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!iv(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
222
- `;)e++;return!0}return!1}function f(G){if(d(G)){if(Pd(t[e]))for(;e<t.length&&Id(t[e]);)e++;return a(),!0}return!1}function d(G){c(!0);for(let K of G){let ue=e+K.length;if(t.slice(e,ue)===K)return e=ue,!0}return!1}function p(G){return t[e]===G?(r+=t[e],e++,!0):!1}function g(G){return t[e]===G?(e++,!0):!1}function A(){return g("\\")}function E(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),g(","),!0):!1}function _(){if(t[e]==="{"){r+="{",e++,a(),g(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="}";){let K;if(G?(K=!0,G=!1):(K=p(","),K||(r=It(r,",")),a()),E(),!(v()||q(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=Co(r,","):Ae();break}a();let qe=p(":"),Te=e>=t.length;qe||(Md(t[e])||Te?r=It(r,":"):oe()),s()||(qe||Te?r+="null":oe())}return t[e]==="}"?(r+="}",e++):r=It(r,"}"),!0}return!1}function y(){if(t[e]==="["){r+="[",e++,a(),g(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="]";)if(G?G=!1:p(",")||(r=It(r,",")),E(),!s()){r=Co(r,",");break}return t[e]==="]"?(r+="]",e++):r=It(r,"]"),!0}return!1}function m(){let G=!0,K=!0;for(;K;)G?G=!1:p(",")||(r=It(r,",")),K=s();K||(r=Co(r,",")),r=`[
206
+ `);l=m.pop()||"";for(let v of m)if(v.trim())try{k(v,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),f.enqueue(n.encode(v+`
207
+ `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ua=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var $a=class{name="groq";async transformRequestIn(e){return e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(r=>{delete r.function.parameters.$schema}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c="",l=new ReadableStream({async start(d){let f=e.body.getReader(),p=(k,w,y)=>{let _=k.split(`
208
+ `);for(let m of _)m.trim()&&w.enqueue(y.encode(m+`
209
+ `))},g=(k,w)=>{let{controller:y,encoder:_}=w;if(k.startsWith("data: ")&&k.trim()!=="data: [DONE]"){let m=k.slice(6);try{let v=JSON.parse(m);if(v.error)throw new Error(JSON.stringify(v));v.choices?.[0]?.delta?.content&&!w.hasTextContent()&&w.setHasTextContent(!0),v.choices?.[0]?.delta?.tool_calls?.length&&v.choices?.[0]?.delta?.tool_calls.forEach(S=>{S.id=`call_${Xt()}`}),v.choices?.[0]?.delta?.tool_calls?.length&&w.hasTextContent()&&(typeof v.choices[0].index=="number"?v.choices[0].index+=1:v.choices[0].index=1);let b=`data: ${JSON.stringify(v)}
210
+
211
+ `;y.enqueue(_.encode(b))}catch{y.enqueue(_.encode(k+`
212
+ `))}}else y.enqueue(_.encode(k+`
213
+ `))};try{for(;;){let{done:k,value:w}=await f.read();if(k){c.trim()&&p(c,d,n);break}if(!w||w.length===0)continue;let y;try{y=r.decode(w,{stream:!0})}catch(m){console.warn("Failed to decode chunk",m);continue}if(y.length===0)continue;if(c+=y,c.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let m=c.split(`
214
+ `);c=m.pop()||"";for(let v of m)if(v.trim())try{g(v,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),d.enqueue(n.encode(v+`
215
+ `))}continue}let _=c.split(`
216
+ `);c=_.pop()||"";for(let m of _)if(m.trim())try{g(m,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:v=>o=v,reasoningContent:()=>s,appendReasoningContent:v=>s+=v,isReasoningComplete:()=>a,setReasoningComplete:v=>a=v})}catch(v){console.error("Error processing line:",m,v),d.enqueue(n.encode(m+`
217
+ `))}}}catch(k){console.error("Stream error:",k),d.error(k)}finally{try{f.releaseLock()}catch(k){console.error("Error releasing reader lock:",k)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var qa=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),e}};var R0=Oe(tc());var Rr=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function E0(t){return/^[0-9A-Fa-f]$/.test(t)}function Zr(t){return t>="0"&&t<="9"}function k0(t){return t>=" "}function ys(t){return`,:[]/{}()
218
+ +`.includes(t)}function Fd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Id(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Bd=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Nd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Md(t){return`,[]/{}
219
+ +`.includes(t)}function jd(t){return _s(t)||nv.test(t)}var nv=/^[[{\w-]$/;function S0(t){return t===`
220
+ `||t==="\r"||t===" "||t==="\b"||t==="\f"}function Xr(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function A0(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function v0(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function _s(t){return Ld(t)||za(t)}function Ld(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Ud(t){return t==='"'}function za(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function $d(t){return t==="'"}function Co(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=t.lastIndexOf(e);return n!==-1?t.substring(0,n)+(r?"":t.substring(n+1)):t}function It(t,e){let r=t.length;if(!Xr(t,r-1))return t+e;for(;Xr(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function T0(t,e,r){return t.substring(0,e)+t.substring(e+r)}function D0(t){return/[,\n][ \t\r]*$/.test(t)}var ov={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},sv={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
221
+ `,r:"\r",t:" "};function qd(t){let e=0,r="";d(["```","[```","{```"]),s()||de(),d(["```","```]","```}"]);let o=p(",");for(o&&a(),jd(t[e])&&D0(r)?(o||(r=It(r,",")),m()):o&&(r=Co(r,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return r;ae();function s(){a();let G=y()||_()||v()||S()||D()||q(!1)||J();return a(),G}function a(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,K=e,ue=c(G);do ue=l(),ue&&(ue=c(G));while(ue);return e>K}function c(G){let K=G?Xr:A0,ue="";for(;;)if(K(t,e))ue+=t[e],e++;else if(v0(t,e))ue+=" ",e++;else break;return ue.length>0?(r+=ue,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!iv(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
222
+ `;)e++;return!0}return!1}function d(G){if(f(G)){if(Fd(t[e]))for(;e<t.length&&Id(t[e]);)e++;return a(),!0}return!1}function f(G){c(!0);for(let K of G){let ue=e+K.length;if(t.slice(e,ue)===K)return e=ue,!0}return!1}function p(G){return t[e]===G?(r+=t[e],e++,!0):!1}function g(G){return t[e]===G?(e++,!0):!1}function k(){return g("\\")}function w(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),g(","),!0):!1}function y(){if(t[e]==="{"){r+="{",e++,a(),g(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="}";){let K;if(G?(K=!0,G=!1):(K=p(","),K||(r=It(r,",")),a()),w(),!(v()||q(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=Co(r,","):ke();break}a();let qe=p(":"),Te=e>=t.length;qe||(jd(t[e])||Te?r=It(r,":"):oe()),s()||(qe||Te?r+="null":oe())}return t[e]==="}"?(r+="}",e++):r=It(r,"}"),!0}return!1}function _(){if(t[e]==="["){r+="[",e++,a(),g(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="]";)if(G?G=!1:p(",")||(r=It(r,",")),w(),!s()){r=Co(r,",");break}return t[e]==="]"?(r+="]",e++):r=It(r,"]"),!0}return!1}function m(){let G=!0,K=!0;for(;K;)G?G=!1:p(",")||(r=It(r,",")),K=s();K||(r=Co(r,",")),r=`[
223
223
  ${r}
224
- ]`}function v(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ue=t[e]==="\\";if(ue&&(e++,ue=!0),_s(t[e])){let qe=Ud(t[e])?Ud:$d(t[e])?$d:za(t[e])?za:Ld,Te=e,W=r.length,le='"';for(e++;;){if(e>=t.length){let ye=B(e-1);return!G&&ys(t.charAt(ye))?(e=Te,r=r.substring(0,W),v(!0)):(le=It(le,'"'),r+=le,!0)}if(e===K)return le=It(le,'"'),r+=le,!0;if(qe(t[e])){let ye=e,Nt=le.length;if(le+='"',e++,r+=le,a(!1),G||e>=t.length||ys(t[e])||_s(t[e])||Zr(t[e]))return b(),!0;let Re=B(ye-1),Me=t.charAt(Re);if(Me===",")return e=Te,r=r.substring(0,W),v(!1,Re);if(ys(Me))return e=Te,r=r.substring(0,W),v(!0);r=r.substring(0,W),e=ye+1,le=`${le.substring(0,Nt)}\\${le.substring(Nt)}`}else if(G&&jd(t[e])){if(t[e-1]===":"&&Bd.test(t.substring(Te+1,e+2)))for(;e<t.length&&Nd.test(t[e]);)le+=t[e],e++;return le=It(le,'"'),r+=le,b(),!0}else if(t[e]==="\\"){let ye=t.charAt(e+1);if(sv[ye]!==void 0)le+=t.slice(e,e+2),e+=2;else if(ye==="u"){let Re=2;for(;Re<6&&E0(t[e+Re]);)Re++;Re===6?(le+=t.slice(e,e+6),e+=6):e+Re>=t.length?e=t.length:pe()}else le+=ye,e+=2}else{let ye=t.charAt(e);ye==='"'&&t[e-1]!=="\\"?(le+=`\\${ye}`,e++):S0(ye)?(le+=ov[ye],e++):(A0(ye)||Z(ye),le+=ye,e++)}ue&&A()}}return!1}function b(){let G=!1;for(a();t[e]==="+";){G=!0,e++,a(),r=Co(r,'"',!0);let K=r.length;v()?r=T0(r,K,1):r=It(r,'"')}return G}function S(){let G=e;if(t[e]==="-"){if(e++,Y())return te(G),!0;if(!Zr(t[e]))return e=G,!1}for(;Zr(t[e]);)e++;if(t[e]==="."){if(e++,Y())return te(G),!0;if(!Zr(t[e]))return e=G,!1;for(;Zr(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Y())return te(G),!0;if(!Zr(t[e]))return e=G,!1;for(;Zr(t[e]);)e++}if(!Y())return e=G,!1;if(e>G){let K=t.slice(G,e),ue=/^0\d/.test(K);return r+=ue?`"${K}"`:K,!0}return!1}function D(){return O("true","true")||O("false","false")||O("null","null")||O("True","true")||O("False","false")||O("None","null")}function O(G,K){return t.slice(e,e+G.length)===G?(r+=K,e+=G.length,!0):!1}function q(G){let K=e;if(Pd(t[e])){for(;e<t.length&&Id(t[e]);)e++;let ue=e;for(;Xr(t,ue);)ue++;if(t[ue]==="(")return e=ue+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!jd(t[e])&&!_s(t[e])&&(!G||t[e]!==":");)e++;if(t[e-1]===":"&&Bd.test(t.substring(K,e+2)))for(;e<t.length&&Nd.test(t[e]);)e++;if(e>K){for(;Xr(t,e-1)&&e>0;)e--;let ue=t.slice(K,e);return r+=ue==="undefined"?"null":JSON.stringify(ue),t[e]==='"'&&e++,!0}}function J(){if(t[e]==="/"){let G=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(G,e)}"`,!0}}function B(G){let K=G;for(;K>0&&Xr(t,K);)K--;return K}function Y(){return e>=t.length||ys(t[e])||Xr(t,e)}function te(G){r+=`${t.slice(G,e)}0`}function Z(G){throw new Rr(`Invalid character ${JSON.stringify(G)}`,e)}function ae(){throw new Rr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function de(){throw new Rr("Unexpected end of json string",t.length)}function Ae(){throw new Rr("Object key expected",e)}function oe(){throw new Rr("Colon expected",e)}function pe(){let G=t.slice(e,e+6);throw new Rr(`Invalid unicode character "${G}"`,e)}}function iv(t,e){return t[e]==="*"&&t[e+1]==="/"}function zd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u6807\u51C6JSON\u89E3\u6790\u6210\u529F / Tool arguments standard JSON parsing successful"),t}catch(r){try{let n=R0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=qd(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${r.message}. JSON5 parsing failed: ${n.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var Ha=class{name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message?.tool_calls?.length)for(let n of r.choices[0].message.tool_calls)n.function?.arguments&&(n.function.arguments=zd(n.function.arguments,this.logger));return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o={},s=!1,a="",c=!1,l=!1,f="",d=new ReadableStream({async start(p){let g=e.body.getReader(),A=(y,m,v)=>{let b=y.split(`
224
+ ]`}function v(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ue=t[e]==="\\";if(ue&&(e++,ue=!0),_s(t[e])){let qe=Ud(t[e])?Ud:$d(t[e])?$d:za(t[e])?za:Ld,Te=e,W=r.length,le='"';for(e++;;){if(e>=t.length){let ye=B(e-1);return!G&&ys(t.charAt(ye))?(e=Te,r=r.substring(0,W),v(!0)):(le=It(le,'"'),r+=le,!0)}if(e===K)return le=It(le,'"'),r+=le,!0;if(qe(t[e])){let ye=e,Nt=le.length;if(le+='"',e++,r+=le,a(!1),G||e>=t.length||ys(t[e])||_s(t[e])||Zr(t[e]))return b(),!0;let Re=B(ye-1),je=t.charAt(Re);if(je===",")return e=Te,r=r.substring(0,W),v(!1,Re);if(ys(je))return e=Te,r=r.substring(0,W),v(!0);r=r.substring(0,W),e=ye+1,le=`${le.substring(0,Nt)}\\${le.substring(Nt)}`}else if(G&&Md(t[e])){if(t[e-1]===":"&&Bd.test(t.substring(Te+1,e+2)))for(;e<t.length&&Nd.test(t[e]);)le+=t[e],e++;return le=It(le,'"'),r+=le,b(),!0}else if(t[e]==="\\"){let ye=t.charAt(e+1);if(sv[ye]!==void 0)le+=t.slice(e,e+2),e+=2;else if(ye==="u"){let Re=2;for(;Re<6&&E0(t[e+Re]);)Re++;Re===6?(le+=t.slice(e,e+6),e+=6):e+Re>=t.length?e=t.length:pe()}else le+=ye,e+=2}else{let ye=t.charAt(e);ye==='"'&&t[e-1]!=="\\"?(le+=`\\${ye}`,e++):S0(ye)?(le+=ov[ye],e++):(k0(ye)||Z(ye),le+=ye,e++)}ue&&k()}}return!1}function b(){let G=!1;for(a();t[e]==="+";){G=!0,e++,a(),r=Co(r,'"',!0);let K=r.length;v()?r=T0(r,K,1):r=It(r,'"')}return G}function S(){let G=e;if(t[e]==="-"){if(e++,Y())return te(G),!0;if(!Zr(t[e]))return e=G,!1}for(;Zr(t[e]);)e++;if(t[e]==="."){if(e++,Y())return te(G),!0;if(!Zr(t[e]))return e=G,!1;for(;Zr(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Y())return te(G),!0;if(!Zr(t[e]))return e=G,!1;for(;Zr(t[e]);)e++}if(!Y())return e=G,!1;if(e>G){let K=t.slice(G,e),ue=/^0\d/.test(K);return r+=ue?`"${K}"`:K,!0}return!1}function D(){return O("true","true")||O("false","false")||O("null","null")||O("True","true")||O("False","false")||O("None","null")}function O(G,K){return t.slice(e,e+G.length)===G?(r+=K,e+=G.length,!0):!1}function q(G){let K=e;if(Fd(t[e])){for(;e<t.length&&Id(t[e]);)e++;let ue=e;for(;Xr(t,ue);)ue++;if(t[ue]==="(")return e=ue+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Md(t[e])&&!_s(t[e])&&(!G||t[e]!==":");)e++;if(t[e-1]===":"&&Bd.test(t.substring(K,e+2)))for(;e<t.length&&Nd.test(t[e]);)e++;if(e>K){for(;Xr(t,e-1)&&e>0;)e--;let ue=t.slice(K,e);return r+=ue==="undefined"?"null":JSON.stringify(ue),t[e]==='"'&&e++,!0}}function J(){if(t[e]==="/"){let G=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(G,e)}"`,!0}}function B(G){let K=G;for(;K>0&&Xr(t,K);)K--;return K}function Y(){return e>=t.length||ys(t[e])||Xr(t,e)}function te(G){r+=`${t.slice(G,e)}0`}function Z(G){throw new Rr(`Invalid character ${JSON.stringify(G)}`,e)}function ae(){throw new Rr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function de(){throw new Rr("Unexpected end of json string",t.length)}function ke(){throw new Rr("Object key expected",e)}function oe(){throw new Rr("Colon expected",e)}function pe(){let G=t.slice(e,e+6);throw new Rr(`Invalid unicode character "${G}"`,e)}}function iv(t,e){return t[e]==="*"&&t[e+1]==="/"}function zd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u6807\u51C6JSON\u89E3\u6790\u6210\u529F / Tool arguments standard JSON parsing successful"),t}catch(r){try{let n=R0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=qd(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${r.message}. JSON5 parsing failed: ${n.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var Ha=class{name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message?.tool_calls?.length)for(let n of r.choices[0].message.tool_calls)n.function?.arguments&&(n.function.arguments=zd(n.function.arguments,this.logger));return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o={},s=!1,a="",c=!1,l=!1,d="",f=new ReadableStream({async start(p){let g=e.body.getReader(),k=(_,m,v)=>{let b=_.split(`
225
225
  `);for(let S of b)S.trim()&&m.enqueue(v.encode(S+`
226
- `))},E=(y,m,v)=>{let b="";try{b=zd(o.arguments||"",this.logger)}catch(q){console.error(`${q.message} ${q.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),b=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:b},id:o.id,index:o.index,type:"function"}]},D={...y,choices:[{...y.choices[0],delta:S}]};D.choices[0].delta.content!==void 0&&delete D.choices[0].delta.content;let O=`data: ${JSON.stringify(D)}
226
+ `))},w=(_,m,v)=>{let b="";try{b=zd(o.arguments||"",this.logger)}catch(q){console.error(`${q.message} ${q.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),b=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:b},id:o.id,index:o.index,type:"function"}]},D={..._,choices:[{..._.choices[0],delta:S}]};D.choices[0].delta.content!==void 0&&delete D.choices[0].delta.content;let O=`data: ${JSON.stringify(D)}
227
227
 
228
- `;m.enqueue(v.encode(O))},_=(y,m)=>{let{controller:v,encoder:b}=m;if(y.startsWith("data: ")&&y.trim()!=="data: [DONE]"){let S=y.slice(6);try{let D=JSON.parse(S);if(D.choices?.[0]?.delta?.tool_calls?.length){let q=D.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:q.index,name:q.function?.name||"",id:q.id||"",arguments:q.function?.arguments||""},q.function?.arguments&&(q.function.arguments="");let J=`data: ${JSON.stringify(D)}
228
+ `;m.enqueue(v.encode(O))},y=(_,m)=>{let{controller:v,encoder:b}=m;if(_.startsWith("data: ")&&_.trim()!=="data: [DONE]"){let S=_.slice(6);try{let D=JSON.parse(S);if(D.choices?.[0]?.delta?.tool_calls?.length){let q=D.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:q.index,name:q.function?.name||"",id:q.id||"",arguments:q.function?.arguments||""},q.function?.arguments&&(q.function.arguments="");let J=`data: ${JSON.stringify(D)}
229
229
 
230
- `;v.enqueue(b.encode(J));return}else if(o.index===q.index){q.function?.arguments&&(o.arguments+=q.function.arguments);return}else{E(D,v,b),o={index:q.index,name:q.function?.name||"",id:q.id||"",arguments:q.function?.arguments||""};return}}if(D.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){E(D,v,b),o={};return}D.choices?.[0]?.delta?.tool_calls?.length&&m.hasTextContent()&&(typeof D.choices[0].index=="number"?D.choices[0].index+=1:D.choices[0].index=1);let O=`data: ${JSON.stringify(D)}
230
+ `;v.enqueue(b.encode(J));return}else if(o.index===q.index){q.function?.arguments&&(o.arguments+=q.function.arguments);return}else{w(D,v,b),o={index:q.index,name:q.function?.name||"",id:q.id||"",arguments:q.function?.arguments||""};return}}if(D.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){w(D,v,b),o={};return}D.choices?.[0]?.delta?.tool_calls?.length&&m.hasTextContent()&&(typeof D.choices[0].index=="number"?D.choices[0].index+=1:D.choices[0].index=1);let O=`data: ${JSON.stringify(D)}
231
231
 
232
- `;v.enqueue(b.encode(O))}catch{v.enqueue(b.encode(y+`
233
- `))}}else v.enqueue(b.encode(y+`
234
- `))};try{for(;;){let{done:y,value:m}=await g.read();if(y){f.trim()&&A(f,p,n);break}if(!m||m.length===0)continue;let v;try{v=r.decode(m,{stream:!0})}catch(S){console.warn("Failed to decode chunk",S);continue}if(v.length===0)continue;if(f+=v,f.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let S=f.split(`
235
- `);f=S.pop()||"";for(let D of S)if(D.trim())try{_(D,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:O=>s=O,reasoningContent:()=>a,appendReasoningContent:O=>a+=O,isReasoningComplete:()=>c,setReasoningComplete:O=>c=O})}catch(O){console.error("Error processing line:",D,O),p.enqueue(n.encode(D+`
236
- `))}continue}let b=f.split(`
237
- `);f=b.pop()||"";for(let S of b)if(S.trim())try{_(S,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:D=>s=D,reasoningContent:()=>a,appendReasoningContent:D=>a+=D,isReasoningComplete:()=>c,setReasoningComplete:D=>c=D})}catch(D){console.error("Error processing line:",S,D),p.enqueue(n.encode(S+`
238
- `))}}}catch(y){console.error("Stream error:",y),p.error(y)}finally{try{g.releaseLock()}catch(y){console.error("Error releasing reader lock:",y)}p.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Wa=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e){return this.enable?(e.reasoning&&(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e){if(!this.enable)return e;if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return r.choices[0]?.message.reasoning_content&&(r.thinking={content:r.choices[0]?.message.reasoning_content}),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let f=e.body.getReader(),d=(g,A,E)=>{let _=g.split(`
239
- `);for(let y of _)y.trim()&&A.enqueue(E.encode(y+`
240
- `))},p=(g,A)=>{let{controller:E,encoder:_}=A;if(this.logger?.debug({line:g},"Processing reason line"),g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let y=JSON.parse(g.slice(6));if(console.log(JSON.stringify(y)),y.choices?.[0]?.delta?.reasoning_content){A.appendReasoningContent(y.choices[0].delta.reasoning_content);let m={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(m)}
232
+ `;v.enqueue(b.encode(O))}catch{v.enqueue(b.encode(_+`
233
+ `))}}else v.enqueue(b.encode(_+`
234
+ `))};try{for(;;){let{done:_,value:m}=await g.read();if(_){d.trim()&&k(d,p,n);break}if(!m||m.length===0)continue;let v;try{v=r.decode(m,{stream:!0})}catch(S){console.warn("Failed to decode chunk",S);continue}if(v.length===0)continue;if(d+=v,d.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let S=d.split(`
235
+ `);d=S.pop()||"";for(let D of S)if(D.trim())try{y(D,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:O=>s=O,reasoningContent:()=>a,appendReasoningContent:O=>a+=O,isReasoningComplete:()=>c,setReasoningComplete:O=>c=O})}catch(O){console.error("Error processing line:",D,O),p.enqueue(n.encode(D+`
236
+ `))}continue}let b=d.split(`
237
+ `);d=b.pop()||"";for(let S of b)if(S.trim())try{y(S,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:D=>s=D,reasoningContent:()=>a,appendReasoningContent:D=>a+=D,isReasoningComplete:()=>c,setReasoningComplete:D=>c=D})}catch(D){console.error("Error processing line:",S,D),p.enqueue(n.encode(S+`
238
+ `))}}}catch(_){console.error("Stream error:",_),p.error(_)}finally{try{g.releaseLock()}catch(_){console.error("Error releasing reader lock:",_)}p.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Wa=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e){return this.enable?(e.reasoning&&(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e){if(!this.enable)return e;if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return r.choices[0]?.message.reasoning_content&&(r.thinking={content:r.choices[0]?.message.reasoning_content}),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,k,w)=>{let y=g.split(`
239
+ `);for(let _ of y)_.trim()&&k.enqueue(w.encode(_+`
240
+ `))},p=(g,k)=>{let{controller:w,encoder:y}=k;if(this.logger?.debug({line:g},"Processing reason line"),g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let _=JSON.parse(g.slice(6));if(console.log(JSON.stringify(_)),_.choices?.[0]?.delta?.reasoning_content){k.appendReasoningContent(_.choices[0].delta.reasoning_content);let m={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,thinking:{content:_.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(m)}
241
241
 
242
- `;E.enqueue(_.encode(v));return}if((y.choices?.[0]?.delta?.content||y.choices?.[0]?.delta?.tool_calls)&&A.reasoningContent()&&!A.isReasoningComplete()){A.setReasoningComplete(!0);let m=Date.now().toString(),v={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,content:null,thinking:{content:A.reasoningContent(),signature:m}}}]};delete v.choices[0].delta.reasoning_content;let b=`data: ${JSON.stringify(v)}
242
+ `;w.enqueue(y.encode(v));return}if((_.choices?.[0]?.delta?.content||_.choices?.[0]?.delta?.tool_calls)&&k.reasoningContent()&&!k.isReasoningComplete()){k.setReasoningComplete(!0);let m=Date.now().toString(),v={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,content:null,thinking:{content:k.reasoningContent(),signature:m}}}]};delete v.choices[0].delta.reasoning_content;let b=`data: ${JSON.stringify(v)}
243
243
 
244
- `;E.enqueue(_.encode(b))}if(y.choices?.[0]?.delta?.reasoning_content&&delete y.choices[0].delta.reasoning_content,y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0){A.isReasoningComplete()&&y.choices[0].index++;let m=`data: ${JSON.stringify(y)}
244
+ `;w.enqueue(y.encode(b))}if(_.choices?.[0]?.delta?.reasoning_content&&delete _.choices[0].delta.reasoning_content,_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0){k.isReasoningComplete()&&_.choices[0].index++;let m=`data: ${JSON.stringify(_)}
245
245
 
246
- `;E.enqueue(_.encode(m))}}catch{E.enqueue(_.encode(g+`
247
- `))}else E.enqueue(_.encode(g+`
248
- `))};try{for(;;){let{done:g,value:A}=await f.read();if(g){a.trim()&&d(a,l,n);break}let E=r.decode(A,{stream:!0});a+=E;let _=a.split(`
249
- `);a=_.pop()||"";for(let y of _)if(y.trim())try{p(y,{controller:l,encoder:n,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",y,m),l.enqueue(n.encode(y+`
250
- `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{f.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ga=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var Ja=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function x0(t){let e=[];for(let n=0;n<t.messages.length;n++){let o=t.messages[n],s=n===t.messages.length-1,a=o.role==="assistant",c=[];typeof o.content=="string"?c.push({type:"text",text:o.content}):Array.isArray(o.content)&&o.content.forEach(l=>{l.type==="text"?c.push({type:"text",text:l.text||""}):l.type==="image_url"&&c.push({type:"image",source:{type:"base64",media_type:l.media_type||"image/jpeg",data:l.image_url.url}})}),!(!s&&c.length===0&&!o.tool_calls&&!o.content)&&(s&&a&&c.length===0&&o.tool_calls&&c.push({type:"text",text:""}),e.push({role:o.role==="assistant"?"assistant":"user",content:c}))}let r={anthropic_version:"vertex-2023-10-16",messages:e,max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(r.tools=t.tools.map(n=>({name:n.function.name,description:n.function.description,input_schema:n.function.parameters}))),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?r.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(r.tool_choice={type:"tool",name:t.tool_choice})),r}function O0(t){let e=t,n={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(n.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?n.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(n.tool_choice=e.tool_choice.name)),n}async function F0(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json(),o;n.tool_use&&n.tool_use.length>0&&(o=n.tool_use.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input)}})));let s={id:n.id,choices:[{finish_reason:n.stop_reason||null,index:0,message:{content:n.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.model,object:"chat.completion",usage:{completion_tokens:n.usage.output_tokens,prompt_tokens:n.usage.input_tokens,total_tokens:n.usage.input_tokens+n.usage.output_tokens}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n=new TextDecoder,o=new TextEncoder,s=(c,l)=>{if(c.startsWith("data: ")){let f=c.slice(6).trim();if(f){r?.debug({chunkStr:f},`${e} chunk:`);try{let d=JSON.parse(f);if(d.type==="content_block_delta"&&d.delta?.type==="text_delta"){let p={choices:[{delta:{role:"assistant",content:d.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
246
+ `;w.enqueue(y.encode(m))}}catch{w.enqueue(y.encode(g+`
247
+ `))}else w.enqueue(y.encode(g+`
248
+ `))};try{for(;;){let{done:g,value:k}=await d.read();if(g){a.trim()&&f(a,l,n);break}let w=r.decode(k,{stream:!0});a+=w;let y=a.split(`
249
+ `);a=y.pop()||"";for(let _ of y)if(_.trim())try{p(_,{controller:l,encoder:n,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",_,m),l.enqueue(n.encode(_+`
250
+ `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ga=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var Ja=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function x0(t){let e=[];for(let n=0;n<t.messages.length;n++){let o=t.messages[n],s=n===t.messages.length-1,a=o.role==="assistant",c=[];typeof o.content=="string"?c.push({type:"text",text:o.content}):Array.isArray(o.content)&&o.content.forEach(l=>{l.type==="text"?c.push({type:"text",text:l.text||""}):l.type==="image_url"&&c.push({type:"image",source:{type:"base64",media_type:l.media_type||"image/jpeg",data:l.image_url.url}})}),!(!s&&c.length===0&&!o.tool_calls&&!o.content)&&(s&&a&&c.length===0&&o.tool_calls&&c.push({type:"text",text:""}),e.push({role:o.role==="assistant"?"assistant":"user",content:c}))}let r={anthropic_version:"vertex-2023-10-16",messages:e,max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(r.tools=t.tools.map(n=>({name:n.function.name,description:n.function.description,input_schema:n.function.parameters}))),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?r.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(r.tool_choice={type:"tool",name:t.tool_choice})),r}function O0(t){let e=t,n={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(n.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?n.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(n.tool_choice=e.tool_choice.name)),n}async function P0(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json(),o;n.tool_use&&n.tool_use.length>0&&(o=n.tool_use.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input)}})));let s={id:n.id,choices:[{finish_reason:n.stop_reason||null,index:0,message:{content:n.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.model,object:"chat.completion",usage:{completion_tokens:n.usage.output_tokens,prompt_tokens:n.usage.input_tokens,total_tokens:n.usage.input_tokens+n.usage.output_tokens}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n=new TextDecoder,o=new TextEncoder,s=(c,l)=>{if(c.startsWith("data: ")){let d=c.slice(6).trim();if(d){r?.debug({chunkStr:d},`${e} chunk:`);try{let f=JSON.parse(d);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let p={choices:[{delta:{role:"assistant",content:f.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
251
251
 
252
- `))}else if(d.type==="content_block_delta"&&d.delta?.type==="input_json_delta"){let p={choices:[{delta:{tool_calls:[{index:d.index||0,function:{arguments:d.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
252
+ `))}else if(f.type==="content_block_delta"&&f.delta?.type==="input_json_delta"){let p={choices:[{delta:{tool_calls:[{index:f.index||0,function:{arguments:f.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
253
253
 
254
- `))}else if(d.type==="content_block_start"&&d.content_block?.type==="tool_use"){let p={choices:[{delta:{tool_calls:[{index:d.index||0,id:d.content_block.id,type:"function",function:{name:d.content_block.name,arguments:""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
254
+ `))}else if(f.type==="content_block_start"&&f.content_block?.type==="tool_use"){let p={choices:[{delta:{tool_calls:[{index:f.index||0,id:f.content_block.id,type:"function",function:{name:f.content_block.name,arguments:""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
255
255
 
256
- `))}else if(d.type==="message_delta"){let p={choices:[{delta:{},finish_reason:d.delta?.stop_reason==="tool_use"?"tool_calls":d.delta?.stop_reason==="max_tokens"?"length":d.delta?.stop_reason==="stop_sequence"?"content_filter":"stop",index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
256
+ `))}else if(f.type==="message_delta"){let p={choices:[{delta:{},finish_reason:f.delta?.stop_reason==="tool_use"?"tool_calls":f.delta?.stop_reason==="max_tokens"?"length":f.delta?.stop_reason==="stop_sequence"?"content_filter":"stop",index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
257
257
 
258
- `))}else if(d.type==="message_stop")l.enqueue(o.encode(`data: [DONE]
258
+ `))}else if(f.type==="message_stop")l.enqueue(o.encode(`data: [DONE]
259
259
 
260
- `));else{let p={choices:[{delta:{role:"assistant",content:d.content?.[0]?.text||""},finish_reason:d.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
260
+ `));else{let p={choices:[{delta:{role:"assistant",content:f.content?.[0]?.text||""},finish_reason:f.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
261
261
 
262
- `))}}catch(d){r?.error(`Error parsing ${e} stream chunk`,f,d.message)}}}},a=new ReadableStream({async start(c){let l=t.body.getReader(),f="";try{for(;;){let{done:d,value:p}=await l.read();if(d){f&&s(f,c);break}f+=n.decode(p,{stream:!0});let g=f.split(`
263
- `);f=g.pop()||"";for(let A of g)s(A,c)}}catch(d){c.error(d)}finally{c.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function av(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Pe(Fd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
262
+ `))}}catch(f){r?.error(`Error parsing ${e} stream chunk`,d,f.message)}}}},a=new ReadableStream({async start(c){let l=t.body.getReader(),d="";try{for(;;){let{done:f,value:p}=await l.read();if(f){d&&s(d,c);break}d+=n.decode(p,{stream:!0});let g=d.split(`
263
+ `);d=g.pop()||"";for(let k of g)s(k,c)}}catch(f){c.error(f)}finally{c.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function av(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Oe(Pd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
264
264
  1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
265
265
  2. Run "gcloud auth application-default login"
266
- 3. Use Google Cloud environment with default service account`)}}var Va=class{name="vertex-claude";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await av();return{body:x0(e),config:{url:new URL(`/v1/projects/${n}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return O0(e)}async transformResponseOut(e){return F0(e,this.name,this.logger)}};var Ka=class{name="cerebras";async transformRequestIn(e,r){let n=JSON.parse(JSON.stringify(e));return n.reasoning?delete n.reasoning:n.disable_reasoning=!1,{body:n,config:{headers:{Authorization:`Bearer ${r.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var Ya=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Qa=class{name="OpenAI";endPoint="/v1/chat/completions"};var Xa=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let r={...e},n=Object.entries(this.options);for(let[o,s]of n)if(o in r)if(typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null)r[o]=this.deepMergeObjects(r[o],s);else continue;else r[o]=this.cloneValue(s);return r}async transformResponseOut(e){return e}deepMergeObjects(e,r){let n={...e};for(let[o,s]of Object.entries(r))o in n&&typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null?n[o]=this.deepMergeObjects(n[o],s):n[o]=this.cloneValue(s);return n}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>this.cloneValue(n));let r={};for(let[n,o]of Object.entries(e))r[n]=this.cloneValue(o);return r}};var Za=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",f=new ReadableStream({async start(d){let p=e.body.getReader(),g=(E,_,y)=>{let m=E.split(`
267
- `);for(let v of m)v.trim()&&_.enqueue(y.encode(v+`
268
- `))},A=(E,_)=>{let{controller:y,encoder:m}=_;if(E.startsWith("data: ")&&E.trim()!=="data: [DONE]"){let v=E.slice(6);try{let b=JSON.parse(v);if(b.usage&&(this.logger?.debug({usage:b.usage,hasToolCall:c},"usage"),b.choices[0].finish_reason=c?"tool_calls":"stop"),b.choices?.[0]?.finish_reason==="error"&&y.enqueue(m.encode(`data: ${JSON.stringify({error:b.choices?.[0].error})}
266
+ 3. Use Google Cloud environment with default service account`)}}var Va=class{name="vertex-claude";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await av();return{body:x0(e),config:{url:new URL(`/v1/projects/${n}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return O0(e)}async transformResponseOut(e){return P0(e,this.name,this.logger)}};var Ka=class{name="cerebras";async transformRequestIn(e,r){let n=JSON.parse(JSON.stringify(e));return n.reasoning?delete n.reasoning:n.disable_reasoning=!1,{body:n,config:{headers:{Authorization:`Bearer ${r.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var Ya=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Qa=class{name="OpenAI";endPoint="/v1/chat/completions"};var Xa=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let r={...e},n=Object.entries(this.options);for(let[o,s]of n)if(o in r)if(typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null)r[o]=this.deepMergeObjects(r[o],s);else continue;else r[o]=this.cloneValue(s);return r}async transformResponseOut(e){return e}deepMergeObjects(e,r){let n={...e};for(let[o,s]of Object.entries(r))o in n&&typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null?n[o]=this.deepMergeObjects(n[o],s):n[o]=this.cloneValue(s);return n}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>this.cloneValue(n));let r={};for(let[n,o]of Object.entries(e))r[n]=this.cloneValue(o);return r}};var Za=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),g=(w,y,_)=>{let m=w.split(`
267
+ `);for(let v of m)v.trim()&&y.enqueue(_.encode(v+`
268
+ `))},k=(w,y)=>{let{controller:_,encoder:m}=y;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let v=w.slice(6);try{let b=JSON.parse(v);if(b.usage&&(this.logger?.debug({usage:b.usage,hasToolCall:c},"usage"),b.choices[0].finish_reason=c?"tool_calls":"stop"),b.choices?.[0]?.finish_reason==="error"&&_.enqueue(m.encode(`data: ${JSON.stringify({error:b.choices?.[0].error})}
269
269
 
270
- `)),b.choices?.[0]?.delta?.content&&!_.hasTextContent()&&_.setHasTextContent(!0),b.choices?.[0]?.delta?.reasoning){_.appendReasoningContent(b.choices[0].delta.reasoning);let D={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,thinking:{content:b.choices[0].delta.reasoning}}}]};D.choices?.[0]?.delta&&delete D.choices[0].delta.reasoning;let O=`data: ${JSON.stringify(D)}
270
+ `)),b.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0),b.choices?.[0]?.delta?.reasoning){y.appendReasoningContent(b.choices[0].delta.reasoning);let D={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,thinking:{content:b.choices[0].delta.reasoning}}}]};D.choices?.[0]?.delta&&delete D.choices[0].delta.reasoning;let O=`data: ${JSON.stringify(D)}
271
271
 
272
- `;y.enqueue(m.encode(O));return}if(b.choices?.[0]?.delta?.content&&_.reasoningContent()&&!_.isReasoningComplete()){_.setReasoningComplete(!0);let D=Date.now().toString(),O={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:null,thinking:{content:_.reasoningContent(),signature:D}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let q=`data: ${JSON.stringify(O)}
272
+ `;_.enqueue(m.encode(O));return}if(b.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let D=Date.now().toString(),O={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:D}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let q=`data: ${JSON.stringify(O)}
273
273
 
274
- `;y.enqueue(m.encode(q))}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(D=>{D.id=`call_${Xt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0),b.choices?.[0]?.delta?.tool_calls?.length&&_.hasTextContent()&&(typeof b.choices[0].index=="number"?b.choices[0].index+=1:b.choices[0].index=1);let S=`data: ${JSON.stringify(b)}
274
+ `;_.enqueue(m.encode(q))}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(D=>{D.id=`call_${Xt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0),b.choices?.[0]?.delta?.tool_calls?.length&&y.hasTextContent()&&(typeof b.choices[0].index=="number"?b.choices[0].index+=1:b.choices[0].index=1);let S=`data: ${JSON.stringify(b)}
275
275
 
276
- `;y.enqueue(m.encode(S))}catch{y.enqueue(m.encode(E+`
277
- `))}}else y.enqueue(m.encode(E+`
278
- `))};try{for(;;){let{done:E,value:_}=await p.read();if(E){l.trim()&&g(l,d,n);break}if(!_||_.length===0)continue;let y;try{y=r.decode(_,{stream:!0})}catch(v){console.warn("Failed to decode chunk",v);continue}if(y.length===0)continue;if(l+=y,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
279
- `);l=v.pop()||"";for(let b of v)if(b.trim())try{A(b,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",b,S),d.enqueue(n.encode(b+`
276
+ `;_.enqueue(m.encode(S))}catch{_.enqueue(m.encode(w+`
277
+ `))}}else _.enqueue(m.encode(w+`
278
+ `))};try{for(;;){let{done:w,value:y}=await p.read();if(w){l.trim()&&g(l,f,n);break}if(!y||y.length===0)continue;let _;try{_=r.decode(y,{stream:!0})}catch(v){console.warn("Failed to decode chunk",v);continue}if(_.length===0)continue;if(l+=_,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
279
+ `);l=v.pop()||"";for(let b of v)if(b.trim())try{k(b,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",b,S),f.enqueue(n.encode(b+`
280
280
  `))}continue}let m=l.split(`
281
- `);l=m.pop()||"";for(let v of m)if(v.trim())try{A(v,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),d.enqueue(n.encode(v+`
282
- `))}}}catch(E){console.error("Stream error:",E),d.error(E)}finally{try{p.releaseLock()}catch(E){console.error("Error releasing reader lock:",E)}d.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var eu=class{name="openai-responses";endPoint="/v1/responses";async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:"detailed"});let r=[],n=e.messages.filter(o=>o.role==="system");if(n.length>0){let o=n[0];Array.isArray(o.content)?o.content.forEach(s=>{let a="";typeof s=="string"?a=s:s&&typeof s=="object"&&"text"in s&&(a=s.text),r.push({role:"system",content:a})}):e.instructions=o.content}if(e.messages.forEach(o=>{if(o.role!=="system"){if(Array.isArray(o.content)){let s=o.content.map(a=>this.normalizeRequestContent(a,o.role)).filter(a=>a!==null);s.length>0?o.content=s:delete o.content}if(o.role==="tool"){let s={...o};s.type="function_call_output",s.call_id=o.tool_call_id,s.output=o.content,delete s.cache_control,delete s.role,delete s.tool_call_id,delete s.content,r.push(s);return}if(o.role==="assistant"&&Array.isArray(o.tool_calls)){o.tool_calls.forEach(s=>{r.push({type:"function_call",arguments:s.function.arguments,name:s.function.name,call_id:s.id})});return}r.push(o)}}),e.input=r,delete e.messages,Array.isArray(e.tools)){let o=e.tools.find(s=>s.function.name==="web_search");e.tools=e.tools.filter(s=>s.function.name!=="web_search").map(s=>(s.function.name==="WebSearch"&&delete s.function.parameters.properties.allowed_domains,s.function.name==="Edit"?{type:s.type,name:s.function.name,description:s.function.description,parameters:{...s.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:s.type,name:s.function.name,description:s.function.description,parameters:s.function.parameters})),o&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(r.includes("application/json")){let n=await e.json();if(n.object==="response"&&n.output){let o=this.convertResponseToChat(n);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(r.includes("text/event-stream")){if(!e.body)return e;let n=new TextDecoder,o=new TextEncoder,s="",a=!1,c=this,l=new ReadableStream({async start(f){let d=e.body.getReader(),p=-1,g="",A=E=>(E!==g&&(p++,g=E),p);try{for(;;){let{done:E,value:_}=await d.read();if(E){a||f.enqueue(o.encode(`data: [DONE]
281
+ `);l=m.pop()||"";for(let v of m)if(v.trim())try{k(v,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),f.enqueue(n.encode(v+`
282
+ `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var eu=class{name="openai-responses";endPoint="/v1/responses";async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:"detailed"});let r=[],n=e.messages.filter(o=>o.role==="system");if(n.length>0){let o=n[0];Array.isArray(o.content)?o.content.forEach(s=>{let a="";typeof s=="string"?a=s:s&&typeof s=="object"&&"text"in s&&(a=s.text),r.push({role:"system",content:a})}):e.instructions=o.content}if(e.messages.forEach(o=>{if(o.role!=="system"){if(Array.isArray(o.content)){let s=o.content.map(a=>this.normalizeRequestContent(a,o.role)).filter(a=>a!==null);s.length>0?o.content=s:delete o.content}if(o.role==="tool"){let s={...o};s.type="function_call_output",s.call_id=o.tool_call_id,s.output=o.content,delete s.cache_control,delete s.role,delete s.tool_call_id,delete s.content,r.push(s);return}if(o.role==="assistant"&&Array.isArray(o.tool_calls)){o.tool_calls.forEach(s=>{r.push({type:"function_call",arguments:s.function.arguments,name:s.function.name,call_id:s.id})});return}r.push(o)}}),e.input=r,delete e.messages,Array.isArray(e.tools)){let o=e.tools.find(s=>s.function.name==="web_search");e.tools=e.tools.filter(s=>s.function.name!=="web_search").map(s=>(s.function.name==="WebSearch"&&delete s.function.parameters.properties.allowed_domains,s.function.name==="Edit"?{type:s.type,name:s.function.name,description:s.function.description,parameters:{...s.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:s.type,name:s.function.name,description:s.function.description,parameters:s.function.parameters})),o&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(r.includes("application/json")){let n=await e.json();if(n.object==="response"&&n.output){let o=this.convertResponseToChat(n);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(r.includes("text/event-stream")){if(!e.body)return e;let n=new TextDecoder,o=new TextEncoder,s="",a=!1,c=this,l=new ReadableStream({async start(d){let f=e.body.getReader(),p=-1,g="",k=w=>(w!==g&&(p++,g=w),p);try{for(;;){let{done:w,value:y}=await f.read();if(w){a||d.enqueue(o.encode(`data: [DONE]
283
283
 
284
- `));break}let y=n.decode(_,{stream:!0});s+=y;let m=s.split(/\r?\n/);s=m.pop()||"";for(let v of m)if(v.trim())try{if(v.startsWith("event: "))continue;if(v.startsWith("data: ")){let b=v.slice(5).trim();if(b==="[DONE]"){a=!0,f.enqueue(o.encode(`data: [DONE]
284
+ `));break}let _=n.decode(y,{stream:!0});s+=_;let m=s.split(/\r?\n/);s=m.pop()||"";for(let v of m)if(v.trim())try{if(v.startsWith("event: "))continue;if(v.startsWith("data: ")){let b=v.slice(5).trim();if(b==="[DONE]"){a=!0,d.enqueue(o.encode(`data: [DONE]
285
285
 
286
- `));continue}try{let S=JSON.parse(b);if(S.type==="response.output_text.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:A(S.type),delta:{content:S.delta||""},finish_reason:null}]};f.enqueue(o.encode(`data: ${JSON.stringify(D)}
286
+ `));continue}try{let S=JSON.parse(b);if(S.type==="response.output_text.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:k(S.type),delta:{content:S.delta||""},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
287
287
 
288
- `))}else if(S.type==="response.output_item.added"&&S.item?.type==="function_call"){let D={id:S.item.call_id||S.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:A(S.type),delta:{role:"assistant",tool_calls:[{index:0,id:S.item.call_id||S.item.id,function:{name:S.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};f.enqueue(o.encode(`data: ${JSON.stringify(D)}
288
+ `))}else if(S.type==="response.output_item.added"&&S.item?.type==="function_call"){let D={id:S.item.call_id||S.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:k(S.type),delta:{role:"assistant",tool_calls:[{index:0,id:S.item.call_id||S.item.id,function:{name:S.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
289
289
 
290
- `))}else if(S.type==="response.output_item.added"&&S.item?.type==="message"){let D=[];(S.item.content||[]).forEach(q=>{q.type==="output_text"&&D.push({type:"text",text:q.text||""})});let O={role:"assistant"};if(D.length===1&&D[0].type==="text"?O.content=D[0].text:D.length>0&&(O.content=D),O.content){let q={id:S.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:A(S.type),delta:O,finish_reason:null}]};f.enqueue(o.encode(`data: ${JSON.stringify(q)}
290
+ `))}else if(S.type==="response.output_item.added"&&S.item?.type==="message"){let D=[];(S.item.content||[]).forEach(q=>{q.type==="output_text"&&D.push({type:"text",text:q.text||""})});let O={role:"assistant"};if(D.length===1&&D[0].type==="text"?O.content=D[0].text:D.length>0&&(O.content=D),O.content){let q={id:S.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:k(S.type),delta:O,finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(q)}
291
291
 
292
- `))}}else if(S.type==="response.output_text.annotation.added"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex",choices:[{index:A(S.type),delta:{annotations:[{type:"url_citation",url_citation:{url:S.annotation?.url||"",title:S.annotation?.title||"",content:"",start_index:S.annotation?.start_index||0,end_index:S.annotation?.end_index||0}}]},finish_reason:null}]};f.enqueue(o.encode(`data: ${JSON.stringify(D)}
292
+ `))}}else if(S.type==="response.output_text.annotation.added"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex",choices:[{index:k(S.type),delta:{annotations:[{type:"url_citation",url_citation:{url:S.annotation?.url||"",title:S.annotation?.title||"",content:"",start_index:S.annotation?.start_index||0,end_index:S.annotation?.end_index||0}}]},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
293
293
 
294
- `))}else if(S.type==="response.function_call_arguments.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:A(S.type),delta:{tool_calls:[{index:0,function:{arguments:S.delta||""}}]},finish_reason:null}]};f.enqueue(o.encode(`data: ${JSON.stringify(D)}
294
+ `))}else if(S.type==="response.function_call_arguments.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:k(S.type),delta:{tool_calls:[{index:0,function:{arguments:S.delta||""}}]},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
295
295
 
296
- `))}else if(S.type==="response.completed"){let D=S.response?.output?.some(q=>q.type==="function_call")?"tool_calls":"stop",O={id:S.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:D}]};f.enqueue(o.encode(`data: ${JSON.stringify(O)}
296
+ `))}else if(S.type==="response.completed"){let D=S.response?.output?.some(q=>q.type==="function_call")?"tool_calls":"stop",O={id:S.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:D}]};d.enqueue(o.encode(`data: ${JSON.stringify(O)}
297
297
 
298
- `)),a=!0}else if(S.type==="response.reasoning_summary_text.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:A(S.type),delta:{thinking:{content:S.delta||""}},finish_reason:null}]};f.enqueue(o.encode(`data: ${JSON.stringify(D)}
298
+ `)),a=!0}else if(S.type==="response.reasoning_summary_text.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:k(S.type),delta:{thinking:{content:S.delta||""}},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
299
299
 
300
- `))}else if(S.type==="response.reasoning_summary_part.done"&&S.part){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:p,delta:{thinking:{signature:S.item_id}},finish_reason:null}]};f.enqueue(o.encode(`data: ${JSON.stringify(D)}
300
+ `))}else if(S.type==="response.reasoning_summary_part.done"&&S.part){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:p,delta:{thinking:{signature:S.item_id}},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
301
301
 
302
- `))}}catch{f.enqueue(o.encode(v+`
303
- `))}}else f.enqueue(o.encode(v+`
304
- `))}catch(b){console.error("Error processing line:",v,b),f.enqueue(o.encode(v+`
305
- `))}}s.trim()&&f.enqueue(o.encode(s+`
306
- `)),a||f.enqueue(o.encode(`data: [DONE]
302
+ `))}}catch{d.enqueue(o.encode(v+`
303
+ `))}}else d.enqueue(o.encode(v+`
304
+ `))}catch(b){console.error("Error processing line:",v,b),d.enqueue(o.encode(v+`
305
+ `))}}s.trim()&&d.enqueue(o.encode(s+`
306
+ `)),a||d.enqueue(o.encode(`data: [DONE]
307
307
 
308
- `))}catch(E){console.error("Stream error:",E),f.error(E)}finally{try{d.releaseLock()}catch(E){console.error("Error releasing reader lock:",E)}f.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}return e}normalizeRequestContent(e,r){let n={...e};if(delete n.cache_control,e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){console.log(e);let o={type:r==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}convertResponseToChat(e){let r=e.output?.find(f=>f.type==="message"),n=e.output?.find(f=>f.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(f=>({type:"url_citation",url_citation:{url:f.url||"",title:f.title||"",content:"",start_index:f.start_index||0,end_index:f.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,c=null;if(r&&r.reasoning&&(c={content:r.reasoning}),r&&r.content){let f=[],d=[];if(r.content.forEach(p=>{if(p.type==="output_text")f.push(p.text||"");else if(p.type==="output_image"){let g=this.buildImageContent({url:p.image_url,mime_type:p.mime_type});g&&d.push(g)}else if(p.type==="output_image_base64"){let g=this.buildImageContent({b64_json:p.image_base64,mime_type:p.mime_type});g&&d.push(g)}}),d.length>0){let p=[];f.length>0&&p.push({type:"text",text:f.join("")}),p.push(...d),s=p}else s=f.join("")}return n&&(a=[{id:n.call_id||n.id,function:{name:n.name,arguments:n.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:c,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};var Hd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
308
+ `))}catch(w){console.error("Stream error:",w),d.error(w)}finally{try{f.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}return e}normalizeRequestContent(e,r){let n={...e};if(delete n.cache_control,e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){console.log(e);let o={type:r==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}convertResponseToChat(e){let r=e.output?.find(d=>d.type==="message"),n=e.output?.find(d=>d.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(d=>({type:"url_citation",url_citation:{url:d.url||"",title:d.title||"",content:"",start_index:d.start_index||0,end_index:d.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,c=null;if(r&&r.reasoning&&(c={content:r.reasoning}),r&&r.content){let d=[],f=[];if(r.content.forEach(p=>{if(p.type==="output_text")d.push(p.text||"");else if(p.type==="output_image"){let g=this.buildImageContent({url:p.image_url,mime_type:p.mime_type});g&&f.push(g)}else if(p.type==="output_image_base64"){let g=this.buildImageContent({b64_json:p.image_base64,mime_type:p.mime_type});g&&f.push(g)}}),f.length>0){let p=[];d.length>0&&p.push({type:"text",text:d.join("")}),p.push(...f),s=p}else s=d.join("")}return n&&(a=[{id:n.call_id||n.id,function:{name:n.name,arguments:n.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:c,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};var Hd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
309
309
 
310
310
  Output format:
311
311
  <reasoning_content>
312
312
  Your detailed thinking process goes here
313
313
  </reasoning_content>
314
314
  Your final answer must follow after the closing tag above.`,uv=10,tu=class{name="forcereasoning";async transformRequestIn(e){let r=0;e.messages.filter(o=>o.role==="assistant").reverse().forEach(o=>{o.thinking&&(o.thinking.content&&(!o.content||r<uv)&&(r++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
315
- ${o.content}`),delete o.thinking)});let n=e.messages[e.messages.length-1];return n.role==="user"&&(Array.isArray(n.content)?n.content.push({type:"text",text:Hd}):n.content=[{type:"text",text:Hd},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Hd}]}),e}async transformResponseOut(e){let r="<reasoning_content>",n="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,a=new TextEncoder,c=new ReadableStream({async start(l){let f=e.body.getReader(),d="",p="SEARCHING",g="",A="",E=(_,y)=>{if(typeof y!="string"){_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0&&!_.choices[0].delta.content&&(_.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(_)}
315
+ ${o.content}`),delete o.thinking)});let n=e.messages[e.messages.length-1];return n.role==="user"&&(Array.isArray(n.content)?n.content.push({type:"text",text:Hd}):n.content=[{type:"text",text:Hd},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Hd}]}),e}async transformResponseOut(e){let r="<reasoning_content>",n="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,a=new TextEncoder,c=new ReadableStream({async start(l){let d=e.body.getReader(),f="",p="SEARCHING",g="",k="",w=(y,_)=>{if(typeof _!="string"){y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0&&!y.choices[0].delta.content&&(y.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(y)}
316
316
 
317
- `)));return}let m=g+y;for(g="";m.length>0;)if(p==="SEARCHING"){let v=m.indexOf(r);if(v!==-1)m=m.substring(v+r.length),p="REASONING";else{for(let b=r.length-1;b>0;b--)if(m.endsWith(r.substring(0,b))){g=m.substring(m.length-b);break}m=""}}else if(p==="REASONING"){let v=m.indexOf(n);if(v!==-1){let b=m.substring(0,v);if(b.length>0){let O={..._.choices[0].delta,thinking:{content:b}};delete O.content;let q={..._,choices:[{..._.choices[0],delta:O,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(q)}
317
+ `)));return}let m=g+_;for(g="";m.length>0;)if(p==="SEARCHING"){let v=m.indexOf(r);if(v!==-1)m=m.substring(v+r.length),p="REASONING";else{for(let b=r.length-1;b>0;b--)if(m.endsWith(r.substring(0,b))){g=m.substring(m.length-b);break}m=""}}else if(p==="REASONING"){let v=m.indexOf(n);if(v!==-1){let b=m.substring(0,v);if(b.length>0){let O={...y.choices[0].delta,thinking:{content:b}};delete O.content;let q={...y,choices:[{...y.choices[0],delta:O,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(q)}
318
318
 
319
- `))}let S={..._.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete S.content;let D={..._,choices:[{..._.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
319
+ `))}let S={...y.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete S.content;let D={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
320
320
 
321
- `)),o++,m=m.substring(v+n.length),p="FINAL"}else{let b=m;for(let S=n.length-1;S>0;S--)if(m.endsWith(n.substring(0,S))){g=m.substring(m.length-S),b=m.substring(0,m.length-S);break}if(b.length>0){let S={..._.choices[0].delta,thinking:{content:b}};delete S.content;let D={..._,choices:[{..._.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
321
+ `)),o++,m=m.substring(v+n.length),p="FINAL"}else{let b=m;for(let S=n.length-1;S>0;S--)if(m.endsWith(n.substring(0,S))){g=m.substring(m.length-S),b=m.substring(0,m.length-S);break}if(b.length>0){let S={...y.choices[0].delta,thinking:{content:b}};delete S.content;let D={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
322
322
 
323
- `))}m=""}}else if(p==="FINAL"){if(m.length>0)if(/^\s*$/.test(m))A+=m;else{let b=A+m,S={..._.choices[0].delta,content:b};S.thinking&&delete S.thinking;let D={..._,choices:[{..._.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
323
+ `))}m=""}}else if(p==="FINAL"){if(m.length>0)if(/^\s*$/.test(m))k+=m;else{let b=k+m,S={...y.choices[0].delta,content:b};S.thinking&&delete S.thinking;let D={...y,choices:[{...y.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
324
324
 
325
- `)),A=""}o++,m=""}};try{for(;;){let{done:_,value:y}=await f.read();if(_)break;let m=s.decode(y,{stream:!0});d+=m;let v=d.split(`
326
- `);d=v.pop()||"";for(let b of v)if(b.trim()){if(b.trim()==="data: [DONE]"){l.enqueue(a.encode(b+`
325
+ `)),k=""}o++,m=""}};try{for(;;){let{done:y,value:_}=await d.read();if(y)break;let m=s.decode(_,{stream:!0});f+=m;let v=f.split(`
326
+ `);f=v.pop()||"";for(let b of v)if(b.trim()){if(b.trim()==="data: [DONE]"){l.enqueue(a.encode(b+`
327
327
 
328
- `));break}if(b.startsWith("data:"))try{let S=JSON.parse(b.slice(5));E(S,S.choices?.[0]?.delta?.content)}catch{l.enqueue(a.encode(b+`
328
+ `));break}if(b.startsWith("data:"))try{let S=JSON.parse(b.slice(5));w(S,S.choices?.[0]?.delta?.content)}catch{l.enqueue(a.encode(b+`
329
329
  `))}else l.enqueue(a.encode(b+`
330
- `))}}}catch(_){console.error("Stream error:",_),l.error(_)}finally{try{f.releaseLock()}catch(_){console.error("Error releasing reader lock:",_)}if(p==="REASONING"){let y={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(y)}
330
+ `))}}}catch(y){console.error("Stream error:",y),l.error(y)}finally{try{d.releaseLock()}catch(y){console.error("Error releasing reader lock:",y)}if(p==="REASONING"){let _={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(_)}
331
331
 
332
- `))}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var ru=class{name="kimi";async transformRequestIn(e){return(e.thinking||e.reasoning?.enabled||e.messages.some(n=>n.thinking?.content))&&e.messages.forEach(n=>{if(n.role==="assistant"){let o=n.thinking?.content,s=n.thinking?.signature;o&&typeof o=="string"&&o.trim()&&(n.reasoning_content=o,s&&(n.reasoning_content_signature=s)),n.tool_calls&&n.tool_calls.length>0&&(n.reasoning_content||(n.reasoning_content="")),n.thinking&&delete n.thinking}}),e}async transformResponseOut(e){let r=e.headers.get("Content-Type");if(r?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,o=new TextEncoder,s="",a="",c=new ReadableStream({async start(l){let f=e.body.getReader();try{for(;;){let{done:d,value:p}=await f.read();if(d){a.trim()&&l.enqueue(o.encode(a+`
333
- `));break}let g=n.decode(p,{stream:!0});a+=g;let A=a.split(`
334
- `);a=A.pop()||"";for(let E of A)if(E.trim())if(E.startsWith("data: ")&&E.trim()!=="data: [DONE]")try{let _=JSON.parse(E.slice(6));if(_.choices?.[0]?.delta?.reasoning_content){s+=_.choices[0].delta.reasoning_content;let y={..._,choices:[{..._.choices[0],delta:{thinking:{content:_.choices[0].delta.reasoning_content}}}]};delete y.choices[0].delta.reasoning_content,l.enqueue(o.encode(`data: ${JSON.stringify(y)}
332
+ `))}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var ru=class{name="kimi";async transformRequestIn(e){return(e.thinking||e.reasoning?.enabled||e.messages.some(n=>n.thinking?.content))&&e.messages.forEach(n=>{if(n.role==="assistant"){let o=n.thinking?.content,s=n.thinking?.signature;o&&typeof o=="string"&&o.trim()&&(n.reasoning_content=o,s&&(n.reasoning_content_signature=s)),n.tool_calls&&n.tool_calls.length>0&&(n.reasoning_content||(n.reasoning_content="")),n.thinking&&delete n.thinking}}),e}async transformResponseOut(e){let r=e.headers.get("Content-Type");if(r?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,o=new TextEncoder,s="",a="",c=new ReadableStream({async start(l){let d=e.body.getReader();try{for(;;){let{done:f,value:p}=await d.read();if(f){a.trim()&&l.enqueue(o.encode(a+`
333
+ `));break}let g=n.decode(p,{stream:!0});a+=g;let k=a.split(`
334
+ `);a=k.pop()||"";for(let w of k)if(w.trim())if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]")try{let y=JSON.parse(w.slice(6));if(y.choices?.[0]?.delta?.reasoning_content){s+=y.choices[0].delta.reasoning_content;let _={...y,choices:[{...y.choices[0],delta:{thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete _.choices[0].delta.reasoning_content,l.enqueue(o.encode(`data: ${JSON.stringify(_)}
335
335
 
336
- `));continue}if(_.choices?.[0]?.delta?.content&&s&&!_.choices[0]?.delta?.reasoning_content){let y=Date.now().toString(),m={..._,choices:[{..._.choices[0],delta:{content:null,thinking:{content:s,signature:y}}}]};l.enqueue(o.encode(`data: ${JSON.stringify(m)}
336
+ `));continue}if(y.choices?.[0]?.delta?.content&&s&&!y.choices[0]?.delta?.reasoning_content){let _=Date.now().toString(),m={...y,choices:[{...y.choices[0],delta:{content:null,thinking:{content:s,signature:_}}}]};l.enqueue(o.encode(`data: ${JSON.stringify(m)}
337
337
 
338
- `)),s=""}_.choices?.[0]?.delta?.reasoning_content&&delete _.choices[0].delta.reasoning_content,_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0&&l.enqueue(o.encode(`data: ${JSON.stringify(_)}
338
+ `)),s=""}y.choices?.[0]?.delta?.reasoning_content&&delete y.choices[0].delta.reasoning_content,y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0&&l.enqueue(o.encode(`data: ${JSON.stringify(y)}
339
339
 
340
- `))}catch{l.enqueue(o.encode(E+`
341
- `))}else l.enqueue(o.encode(E+`
342
- `))}}catch(d){l.error(d)}finally{try{f.releaseLock()}catch{}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":r||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}if(r?.includes("application/json")){let n=await e.json();return n.choices?.[0]?.message?.reasoning_content&&(n.choices[0].message.thinking={content:n.choices[0].message.reasoning_content},delete n.choices[0].message.reasoning_content),new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var P0={AnthropicTransformer:mi,GeminiTransformer:bi,VertexGeminiTransformer:Na,VertexClaudeTransformer:Va,DeepseekTransformer:ja,TooluseTransformer:Ma,OpenrouterTransformer:La,OpenAITransformer:Qa,MaxTokenTransformer:Ua,GroqTransformer:$a,CleancacheTransformer:qa,EnhanceToolTransformer:Ha,ReasoningTransformer:Wa,SamplingTransformer:Ga,MaxCompletionTokens:Ja,CerebrasTransformer:Ka,StreamOptionsTransformer:Ya,CustomParamsTransformer:Xa,VercelTransformer:Za,OpenAIResponsesTransformer:eu,ForceReasoningTransformer:tu,KimiTransformer:ru};var vn=class{constructor(e,r){this.configService=e;this.logger=r}transformers=new Map;registerTransformer(e,r){this.transformers.set(e,r),this.logger.info(`register transformer: ${e}${r.endPoint?` (endpoint: ${r.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[];return this.transformers.forEach((r,n)=>{typeof r=="object"&&r.endPoint&&e.push({name:n,transformer:r})}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((r,n)=>{typeof r=="object"&&!r.endPoint&&e.push({name:n,transformer:r})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let r=require(require.resolve(e.path));if(r){let n=new r(e.options);if(n&&typeof n=="object"&&(n.logger=this.logger),!n.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(n.name,n),!0}}return!1}catch(r){return this.logger.error(`load transformer (${e.path})
340
+ `))}catch{l.enqueue(o.encode(w+`
341
+ `))}else l.enqueue(o.encode(w+`
342
+ `))}}catch(f){l.error(f)}finally{try{d.releaseLock()}catch{}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":r||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}if(r?.includes("application/json")){let n=await e.json();return n.choices?.[0]?.message?.reasoning_content&&(n.choices[0].message.thinking={content:n.choices[0].message.reasoning_content},delete n.choices[0].message.reasoning_content),new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var F0={AnthropicTransformer:mi,GeminiTransformer:bi,VertexGeminiTransformer:Na,VertexClaudeTransformer:Va,DeepseekTransformer:Ma,TooluseTransformer:ja,OpenrouterTransformer:La,OpenAITransformer:Qa,MaxTokenTransformer:Ua,GroqTransformer:$a,CleancacheTransformer:qa,EnhanceToolTransformer:Ha,ReasoningTransformer:Wa,SamplingTransformer:Ga,MaxCompletionTokens:Ja,CerebrasTransformer:Ka,StreamOptionsTransformer:Ya,CustomParamsTransformer:Xa,VercelTransformer:Za,OpenAIResponsesTransformer:eu,ForceReasoningTransformer:tu,KimiTransformer:ru};var vn=class{constructor(e,r){this.configService=e;this.logger=r}transformers=new Map;registerTransformer(e,r){this.transformers.set(e,r),this.logger.info(`register transformer: ${e}${r.endPoint?` (endpoint: ${r.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[];return this.transformers.forEach((r,n)=>{typeof r=="object"&&r.endPoint&&e.push({name:n,transformer:r})}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((r,n)=>{typeof r=="object"&&!r.endPoint&&e.push({name:n,transformer:r})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let r=require(require.resolve(e.path));if(r){let n=new r(e.options);if(n&&typeof n=="object"&&(n.logger=this.logger),!n.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(n.name,n),!0}}return!1}catch(r){return this.logger.error(`load transformer (${e.path})
343
343
  error: ${r.message}
344
344
  stack: ${r.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
345
- Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(P0).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let r=new e;r&&typeof r=="object"&&(r.logger=this.logger),this.registerTransformer(r.name,r)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let r of e)await this.registerTransformerFromConfig(r)}};var I0=require("tiktoken"),bs=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=(0,I0.get_encoding)(e)}catch{throw new Error(`Failed to initialize tiktoken encoding: ${e}`)}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){let r=this.encoding;if(!r)throw new Error("Encoding not initialized");let n=0,{messages:o,system:s,tools:a}=e;return Array.isArray(o)&&o.forEach(c=>{typeof c.content=="string"?n+=r.encode(c.content).length:Array.isArray(c.content)&&c.content.forEach(l=>{if(l.type==="text")n+=r.encode(l.text).length;else if(l.type==="tool_use")n+=r.encode(JSON.stringify(l.input)).length;else if(l.type==="tool_result"){let f=typeof l.content=="string"?l.content:JSON.stringify(l.content);n+=r.encode(f).length}})}),typeof s=="string"?n+=r.encode(s).length:Array.isArray(s)&&s.forEach(c=>{c.type==="text"&&(typeof c.text=="string"?n+=r.encode(c.text).length:Array.isArray(c.text)&&c.text.forEach(l=>{n+=r.encode(l||"").length}))}),a&&a.forEach(c=>{c.description&&(n+=r.encode(c.name+c.description).length),c.input_schema&&(n+=r.encode(JSON.stringify(c.input_schema)).length)}),n}isInitialized(){return this.encoding!==void 0}encodeText(e){let r=this.encoding;if(!r)throw new Error("Encoding not initialized");return Array.from(r.encode(e))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};var As=require("path"),Y0=require("os"),wo=require("fs"),Ss=require("fs");var cv=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let r of t){let n=e;for(let o=0;o<r.length;++o){let s=r[o];n=n[s]??=Object.create(null)}n.end=r}return e}split(t){let e=[],r=t.length,n=0,o=0;for(;o<r;){let s=this.trie,a=null,c=o;for(;c<r&&(s=s[t[c]]);)s.end&&(a=s.end),++c;a?(o>n&&e.push(t.slice(n,o)),e.push(a),o+=a.length,n=o):++o}return n<r&&e.push(t.slice(n)),e}},lv=cv,dv=class{constructor(t){this.content=t.content,this.id=t.id,this.single_word=t.single_word??!1,this.lstrip=t.lstrip??!1,this.rstrip=t.rstrip??!1,this.special=t.special??!1,this.normalized=t.normalized??null}},fv=dv,$0=(()=>{let t=[...Array.from({length:94},(o,s)=>s+33),...Array.from({length:12},(o,s)=>s+161),...Array.from({length:82},(o,s)=>s+174)],e=t.slice(),r=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+r),r+=1);let n=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,n[s]]))})(),hv=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),pv=hv($0),B0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",mv=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],[` ?[^(\\s|[${B0}])]+`,` ?[^\\s${B0}]+`]]),Cs="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",dF=new RegExp(`^[${Cs}]+$`,"gu"),Gd=t=>t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),nu=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of mv)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=gv(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},gv=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),yv=(t,e,r)=>{let n=[],o=0;for(;o<t.length;){if(n.push(t[o]),(e.get(t[o])??r)!==r){++o;continue}for(;++o<t.length&&(e.get(t[o])??r)===r;)e.get(n.at(-1))!==r&&(n[n.length-1]+=t[o])}return n},_v=t=>t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=63744&&t<=64255||t>=194560&&t<=195103,bv=t=>Number.isInteger(t)||typeof t=="bigint",Cv=t=>{let e=0;for(let r of t)++e;return e},wv=t=>q0(t.toLowerCase()),Bt=(...t)=>Array.prototype.concat.apply([],t),Jd=t=>new Map(Object.entries(t)),Ev=(t,e)=>{let r=[],n=0;for(let o of t.matchAll(e)){let s=o[0];n<o.index&&r.push(t.slice(n,o.index)),s.length>0&&r.push(s),n=o.index+s.length}return n<t.length&&r.push(t.slice(n)),r},q0=t=>t.replace(new RegExp("\\p{M}","gu"),""),N0=(t,e,r=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let n of r)if(!(n in t))return`${e} must contain a "${n}" property`;return null},Av=t=>t.match(/\S+/g)||[],Sv=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},ws=Sv,kv=class extends ws{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},xr=kv,vv=class extends xr{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);_v(o)?(e.push(" "),e.push(n),e.push(" ")):e.push(n)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
346
- `:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let r of t){let n=r.charCodeAt(0);n===0||n===65533||this.is_control(r)||(/^\s$/.test(r)?e.push(" "):e.push(r))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},Tv=vv,Dv=class extends xr{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},Rv=Dv,xv=class extends xr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>z0(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},Ov=xv,Fv=class extends xr{normalize(t){let e=nu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},Pv=Fv,Iv=class extends xr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},ou=Iv,Bv=class extends ou{constructor(){super(...arguments),this.form="NFC"}},Nv=Bv,jv=class extends ou{constructor(){super(...arguments),this.form="NFD"}},Mv=jv,Lv=class extends ou{constructor(){super(...arguments),this.form="NFKC"}},Uv=Lv,$v=class extends ou{constructor(){super(...arguments),this.form="NFKD"}},qv=$v,zv=class extends xr{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},Hv=zv,Wv=class extends xr{normalize(t){return q0(t)}},Gv=Wv,Jv=class extends xr{normalize(t){return t.toLowerCase()}},Vv=Jv,Kv=class extends xr{normalize(t){return t=this.config.prepend+t,t}},Yv=Kv;function Qv(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new Tv(t);case"Precompiled":return new Rv(t);case"Sequence":return new Ov(t);case"Replace":return new Pv(t);case"NFC":return new Nv(t);case"NFD":return new Mv(t);case"NFKC":return new Uv(t);case"NFKD":return new qv(t);case"Strip":return new Hv(t);case"StripAccents":return new Gv(t);case"Lowercase":return new Vv(t);case"Prepend":return new Yv(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var z0=Qv,Xv=class extends ws{pre_tokenize(t,e){return(Array.isArray(t)?t.map(r=>this.pre_tokenize_text(r,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},lr=Xv,Zv=class extends lr{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=$0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(r=>Array.from(this.text_encoder.encode(r),n=>this.byte_encoder[n]).join(""))}},eT=Zv,tT=class extends lr{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},rT=tT,nT=class extends lr{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:r=void 0}=e??{},n=t.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},oT=nT,sT=class extends lr{constructor(t){super(),this.config=t,this.pattern=nu(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):Ev(t,this.pattern)}},iT=sT,aT=class extends lr{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Cs}]+|[${Cs}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},uT=aT,cT=class extends lr{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},lT=cT,dT=class extends lr{constructor(){super(),this.pattern=new RegExp(`[^\\s${Cs}]+|[${Cs}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},fT=dT,hT=class extends lr{constructor(t){super(),this.config=t,this.pattern=nu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},pT=hT,mT=class extends lr{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>H0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},gT=mT,yT=class extends lr{pre_tokenize_text(t){return Av(t)}},_T=yT;function bT(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new fT;case"Sequence":return new gT(t);case"Whitespace":return new rT;case"WhitespaceSplit":return new _T;case"Metaspace":return new oT(t);case"ByteLevel":return new eT(t);case"Split":return new iT(t);case"Punctuation":return new uT(t);case"Digits":return new lT(t);case"Replace":return new pT(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var H0=bT,CT=class extends ws{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=yv(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},su=CT,wT=class extends su{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Jd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,r]of this.tokens_to_ids)this.vocab[r]=e}encode(t){let e=[];for(let r of t){let n=[...r];if(n.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<n.length;){let c=n.length,l=null;for(;s<c;){let f=n.slice(s,c).join("");if(s>0&&(f=this.config.continuing_subword_prefix+f),this.tokens_to_ids.has(f)){l=f;break}--c}if(l===null){o=!0;break}a.push(l),s=c}o?e.push(this.unk_token):e.push(...a)}return e}},j0=wT,M0=class W0{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new W0(!1,new Map)}},ET=class{constructor(){this.root=M0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let r of t){let n=e.children.get(r);n===void 0&&(n=M0.default(),e.children.set(r,n)),e=n}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let r="";for(let n of t){if(r+=n,e=e.children.get(n),e===void 0)return;e.is_leaf&&(yield r)}}},AT=ET,Wd=class G0{constructor(e,r,n,o,s){this.token_id=e,this.node_id=r,this.pos=n,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new G0(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},ST=class{constructor(t,e,r){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new Wd(this.bos_token_id??0,0,0,0,0),o=new Wd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(n)}insert(t,e,r,n){let o=this.nodes.length,s=new Wd(n,o,t,e,r);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,c=null;for(let l of this.end_nodes[e]){let f=l.backtrace_score+s.score;(c===null||f>a)&&(c=l.clone(),a=f)}if(c!==null)s.prev=c,s.backtrace_score=a;else return[]}++e}let r=[],n=this.begin_nodes[t][0].prev;if(n===null)return[];let o=n.clone();for(;o.prev!==null;)r.push(o.clone()),o=o.clone().prev.clone();return r.reverse(),r}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},kT=ST;function vT(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],r=0;for(let n=1;n<t.length;++n)t[n]<e&&(e=t[n],r=n);return[e,r]}var TT=class extends su{constructor(t,e){super(t);let r=t.vocab.length;this.vocab=new Array(r),this.scores=new Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=t.vocab[n];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,o)=>[n,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=vT(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new AT,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,r=1,n=0;for(;n<e.length;){let o=!1,s=[],a=e.slice(n).join(""),c=this.trie.common_prefix_search(a);for(let l of c){s.push(l);let f=this.tokens_to_ids.get(l),d=this.scores[f],p=Cv(l);t.insert(n,p,d,f),!o&&p===r&&(o=!0)}o||t.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(t){let e=new kT(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let r of t){let n=this.tokenize(r);e.push(...n)}return e}},L0=TT,DT=class{constructor(t=(r,n)=>r>n,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let r=this._smallest();this._comparator(e,this._heap[r])&&(this._heap[r]=e,this._sift_up_from(r))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let r=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},RT=DT,xT=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},OT=xT,FT=class extends su{constructor(t){super(t),this.tokens_to_ids=Jd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new OT(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let r=Array.from(t);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let o=new RT((c,l)=>c.score<l.score),s={token:r[0],bias:0,prev:null,next:null},a=s;for(let c=1;c<r.length;++c){let l={bias:c/r.length,token:r[c],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let c=o.pop();if(c.deleted||!c.next||c.next.deleted)continue;if(c.deleted=!0,c.next.deleted=!0,c.prev){let f={...c.prev};c.prev.deleted=!0,c.prev=f,f.prev?f.prev.next=f:s=f}let l={token:c.token+c.next.token,bias:c.bias,prev:c.prev,next:c.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let c=s;c!==null;c=c.next)n.push(c.token)}else n=r;if(this.continuing_subword_suffix)for(let o=0;o<n.length-1;++o)n[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,n),n}add_node(t,e){let r=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));r!==void 0&&(e.score=r+e.bias,t.push(e))}encode(t){let e=[];for(let r of t){if(this.ignore_merges&&this.tokens_to_ids.has(r)){e.push(r);continue}let n=this.bpe(r);for(let o of n)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},U0=FT,PT=class extends su{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=Jd(e.target_lang?r[e.target_lang]:r),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,o]of this.tokens_to_ids)this.vocab[o]=n}encode(t){return t}},IT=PT;function BT(t,e){switch(t.type){case"WordPiece":return new j0(t);case"Unigram":return new L0(t,e.eos_token);case"BPE":return new U0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new L0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new U0(t):new j0(t):new IT(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var NT=BT,jT=class extends ws{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Es=jT,MT=class extends Es{post_process(t,e=null,r=!0){let n=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of n)"SpecialToken"in a?r&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=Bt(o,t),s=Bt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Bt(o,e),s=Bt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},LT=MT,UT=class extends Es{post_process(t,e=null){return{tokens:e?Bt(t,e):t}}},$T=UT,qT=class extends Es{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Bt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=[],s=r?[this.sep[0]]:[];t=Bt(t,o,e,s),n=Bt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},zT=qT,HT=class extends Es{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Bt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=r?[this.sep[0]]:[],s=r?[this.sep[0]]:[];t=Bt(t,o,e,s),n=Bt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},WT=HT,GT=class extends Es{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>J0(e))}post_process(t,e=null,r=!0){let n={tokens:t};for(let o of this.processors)n=o.post_process(n.tokens,e,r);return n}},JT=GT;function VT(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new LT(t);case"ByteLevel":return new $T(t);case"BertProcessing":return new zT(t);case"RobertaProcessing":return new WT(t);case"Sequence":return new JT(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var J0=VT,KT=class extends ws{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},dr=KT,YT=class extends dr{constructor(t){super(t),this.byte_decoder=pv,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),r=new Uint8Array([...e].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(t){let e=[],r=[];for(let n of t)this.added_tokens.find(o=>o.content===n)!==void 0?(r.length>0&&(e.push(this.convert_tokens_to_string(r)),r=[]),e.push(n)):r.push(n);return r.length>0&&e.push(this.convert_tokens_to_string(r)),e}},QT=YT,XT=class extends dr{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,r)=>{if(r!==0){let n=this.config.prefix;n&&e.startsWith(n)?e=e.replace(n,""):e=" "+e}return this.cleanup&&(e=Gd(e)),e})}},ZT=XT,eD=class extends dr{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r].replaceAll(this.replacement," ");r==0&&n.startsWith(" ")&&(n=n.substring(1)),e.push(n)}return e}},tD=eD,rD=class extends dr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},nD=rD,oD=class extends dr{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let n=1;n<t.length;++n)t[n]!==e.at(-1)&&e.push(t[n]);let r=e.filter(n=>n!==this.pad_token).join("");return this.cleanup&&(r=Gd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},sD=oD,iD=class extends dr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>V0(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},aD=iD,uD=class extends dr{decode_chain(t){let e=nu(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},cD=uD,lD=class extends dr{decode_chain(t){return[t.join("")]}},dD=lD,fD=class extends dr{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let r=0;for(let o=0;o<this.start&&e[o]===this.content;++o)r=o+1;let n=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){n=s;continue}else break}return e.slice(r,n)})}},hD=fD,pD=class extends dr{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],r=[];for(let n of t){let o=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let s=parseInt(n.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)r.push(o);else{if(r.length>0){let s=this.text_decoder.decode(Uint8Array.from(r));e.push(s),r=[]}e.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));e.push(n),r=[]}return e}},mD=pD;function gD(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new QT(t);case"WordPiece":return new ZT(t);case"Metaspace":return new tD(t);case"BPEDecoder":return new nD(t);case"CTC":return new sD(t);case"Sequence":return new aD(t);case"Replace":return new cD(t);case"Fuse":return new dD(t);case"Strip":return new hD(t);case"ByteFallback":return new mD(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var V0=gD,yD=class{constructor(t,e){let r=N0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=N0(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=z0(this.tokenizer.normalizer),this.pre_tokenizer=H0(this.tokenizer.pre_tokenizer),this.model=NT(this.tokenizer.model,this.config),this.post_processor=J0(this.tokenizer.post_processor),this.decoder=V0(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new fv(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new lv(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}),a=this.model.convert_tokens_to_ids(o),c={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return n&&s&&(c.token_type_ids=s),c}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!bv(t[0]))throw Error("token_ids must be a non-empty array of integers.");let r=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(r=r.filter(o=>!this.special_tokens.includes(o)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(n=n.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=Gd(n)),n}tokenize(t,{text_pair:e=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((r,n)=>{let o=this.added_tokens_map.get(r);o&&(o.lstrip&&n>0&&(e[n-1]=e[n-1].trimEnd()),o.rstrip&&n<e.length-1&&(e[n+1]=e[n+1].trimStart()))}),e.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=wv(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(r,{section_index:n}):[r];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:r=!0}){let n=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(n,o,r):{tokens:Bt(n??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},K0=yD;var iu=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,r,n={}){this.modelId=e,this.logger=r,this.options=n,this.cacheDir=n.cacheDir||(0,As.join)((0,Y0.homedir)(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=(0,As.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,As.join)(e,"tokenizer.json"),tokenizerConfig:(0,As.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,wo.existsSync)(e)||(0,wo.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,wo.existsSync)(e.tokenizerJson)||!(0,wo.existsSync)(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Ss.promises.readFile(e.tokenizerJson,"utf-8"),Ss.promises.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(r),tokenizerConfig:JSON.parse(n)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),r={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let n=new AbortController,o=setTimeout(()=>n.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(r.json,{signal:n.signal}),fetch(r.config,{signal:n.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[c,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Ss.promises.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),Ss.promises.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:c,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let r=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new K0(r.tokenizerJson,r.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let r=this.extractTextFromRequest(e);return this.tokenizer.encode(r).ids.length}catch(r){throw this.logger?.error(`Error counting tokens: ${r.message}`),r}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let r=[],{messages:n,system:o,tools:s}=e;if(Array.isArray(n)){for(let a of n)if(typeof a.content=="string")r.push(a.content);else if(Array.isArray(a.content))for(let c of a.content)c.type==="text"&&c.text?r.push(c.text):c.type==="tool_use"&&c.input?r.push(JSON.stringify(c.input)):c.type==="tool_result"&&r.push(typeof c.content=="string"?c.content:JSON.stringify(c.content))}if(typeof o=="string")r.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")r.push(a.text);else if(Array.isArray(a.text))for(let c of a.text)c&&r.push(c)}}if(s)for(let a of s)a.name&&r.push(a.name),a.description&&r.push(a.description),a.input_schema&&r.push(JSON.stringify(a.input_schema));return r.join(" ")}};var au=class{type="api";name;config;logger;options;constructor(e,r,n={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=r,this.options=n;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let r=this.formatRequestBody(e),n={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:n,body:JSON.stringify(r),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let c=await a.json();return this.extractTokenCount(c)}catch(r){throw r.name==="AbortError"?new Error("API tokenizer request timed out"):r}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(r=>({role:r.role,content:this.extractTextFromMessage(r)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(r=>r.type==="text"&&r.text?r.text:r.type==="tool_use"&&r.input?JSON.stringify(r.input):r.type==="tool_result"?typeof r.content=="string"?r.content:JSON.stringify(r.content):"").join(" "):""}extractConcatenatedText(e){let r=[];return e.messages&&e.messages.forEach(n=>{r.push(this.extractTextFromMessage(n))}),typeof e.system=="string"?r.push(e.system):Array.isArray(e.system)&&e.system.forEach(n=>{n.type==="text"&&(typeof n.text=="string"?r.push(n.text):Array.isArray(n.text)&&n.text.forEach(o=>{o&&r.push(o)}))}),e.tools&&e.tools.forEach(n=>{n.name&&r.push(n.name),n.description&&r.push(n.description),n.input_schema&&r.push(JSON.stringify(n.input_schema))}),r.join(" ")}extractTokenCount(e){try{let r=this.config.responseField,n=r.split("."),o=e;for(let s of n){if(o==null)throw new Error(`Field path '${r}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${r}', got ${typeof o}`);return o}catch(r){throw this.logger?.error(`Failed to extract token count from API response: ${r.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${r.message}`)}}};var Tn=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,r,n={}){this.configService=e,this.logger=r,this.options={timeout:n.timeout??3e4,...n}}async initialize(){try{this.fallbackTokenizer=new bs("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let r=this.getCacheKey(e);if(this.tokenizers.has(r))return this.tokenizers.get(r);let n;try{switch(e.type){case"tiktoken":n=new bs(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new iu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new au(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await n.initialize(),this.tokenizers.set(r,n),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${r})`),n}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,r){let n=r?await this.getTokenizer(r):this.fallbackTokenizer;return{tokenCount:await n.countTokens(e),tokenizerUsed:n.name,cached:!1}}getTokenizerConfigForModel(e,r){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[r]?o.tokenizer.models[r]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(r){this.logger?.error(`Error disposing tokenizer: ${r}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};var o_=require("tiktoken");var Vd=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let r=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,r),r}put(e,r){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let n=this.cache.keys().next().value;n!==void 0&&this.cache.delete(n)}this.cache.set(e,r)}values(){return Array.from(this.cache.values())}},uu=new Vd(100);var du=require("fs/promises"),pu=require("fs/promises"),fu=require("path"),Ao=require("@wengine-ai/claude-code-router-shared");Hn();var Or=require("fs"),Qd=require("path"),Z0=require("@wengine-ai/claude-code-router-shared"),Kd=(0,Qd.join)(Z0.HOME_DIR,"runtime"),Yd=(0,Qd.join)(Kd,"quota-store.json"),Eo=new Map,Q0=!1,_D=null;function cu(t,e){t&&Eo.set(t,{...e,provider:t,capturedAt:Date.now()})}function lu(t){let e=Eo.get(t);return e?{...e}:void 0}function e_(){return Array.from(Eo.values()).map(t=>({...t}))}function bD(){try{if(!(0,Or.existsSync)(Yd))return;let t=JSON.parse((0,Or.readFileSync)(Yd,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let r of t)if(r&&r.provider){if(r.capturedAt&&e-r.capturedAt>1440*60*1e3)continue;Eo.set(r.provider,r)}}catch{}}function X0(){try{if(Eo.size===0)return;(0,Or.existsSync)(Kd)||(0,Or.mkdirSync)(Kd,{recursive:!0}),(0,Or.writeFileSync)(Yd,JSON.stringify(Array.from(Eo.values()),null,2),"utf-8")}catch{}}function t_(){Q0||(Q0=!0,bD(),_D=setInterval(X0,6e4),process.on("exit",X0))}fi();var Fr=(0,o_.get_encoding)("cl100k_base"),Zd=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Fr.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Fr.encode(s.text).length:s.type==="tool_use"?n+=Fr.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Fr.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Fr.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Fr.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Fr.encode(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Fr.encode(o.name+o.description).length),o.input_schema&&(n+=Fr.encode(JSON.stringify(o.input_schema)).length)}),n},s_=async(t,e)=>{if(t.sessionId){let r=await ef(t.sessionId);if(r){let n=(0,fu.join)(Ao.HOME_DIR,r,"config.json"),o=(0,fu.join)(Ao.HOME_DIR,r,`${t.sessionId}.json`);try{let s=JSON.parse(await(0,du.readFile)(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await(0,du.readFile)(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}};function hu(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function i_(t){let e=hu(t),r=e.includes("[1m]")||e.endsWith("[1m"),n=e.replace(/\[1m\]|\[1m$/g,""),o=n.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:r};let s=n.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||n.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:r}:{family:null,extended:r}}function CD(t,e){if(!e||!t)return null;let r=hu(t);if(e[t])return e[t];if(e[r])return e[r];let{family:n}=i_(t);if(n&&e[n])return e[n];for(let[o,s]of Object.entries(e)){let a=hu(o);if(a&&r.includes(a))return s}return null}function a_(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function r_(t){if(!t?.includes(","))return null;let[e,...r]=t.split(","),n=e.trim(),o=r.join(",").trim();return!n||!o?null:{providerName:n,routeModel:o}}function st(t,e,r,n){let o=r_(t);if(!o)return t;let{providerName:s,routeModel:a}=o,c=e.find(d=>d.name.toLowerCase()===s.toLowerCase());if(c&&c.enabled===!1)return null;if(n&&!r){let d=jo(),p=d.getPromotion(s,a,n,e);if(p){let g=r_(p);if(g){let A=e.find(_=>_.name.toLowerCase()===g.providerName.toLowerCase()),E=A?.models?.find(_=>String(_).toLowerCase()===g.routeModel.toLowerCase());if(A&&E)return`${A.name},${E}`}d.clear(s,a,n)}}if(!r&&!Xe().isAvailable(s,a))return null;let l=lu(s);if(l){let d=l.limitDaily!==void 0&&l.usedDailyBalance!==void 0&&l.usedDailyBalance>=l.limitDaily,p=l.totalBalance!==void 0&&l.usedBalance!==void 0&&l.usedBalance>=l.totalBalance;if(d||p)return null}let f=c?.models?.find(d=>String(d).toLowerCase()===a.toLowerCase());return c&&f?`${c.name},${f}`:t}function Yt(t,e,r,n,o){let s=Xe(),a=[r?.[t],n?.[t]];for(let c of a)if(!(!Array.isArray(c)||c.length===0))for(let l of c){let f=st(l,e);if(f)return f}return null}function wD(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(r=>r.type==="image"||r.type==="image_url"||Array.isArray(r?.content)&&r.content.some(n=>n.type==="image"||n.type==="image_url")))}function ED(t){let e=hu(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(n=>n.test(e))}function AD(t,e,r,n,o,s,a){let c=r.longContextThreshold||6e4,l=Math.max(e,a_(o)),f=t.modelFamily;if((s||l>2e5)&&r.extendedContext){let A=st(r.extendedContext,n,!1,"extendedContext");if(A)return t.log.info(`Family: using extended context model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:A,scenarioType:"extendedContext",isFallback:!1};let E=Yt("extendedContext",n,r.fallback,a,f);if(E)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:E,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(l>c&&(r.longContext||r.fallback?.longContext?.length||a?.longContext?.length)){let A=r.longContext?st(r.longContext,n,!1,"longContext"):null;if(A)return t.log.info(`Family: using long context model, tokens: ${l}, estimated: ${e}`),{model:A,scenarioType:"longContext",isFallback:!1};let E=Yt("longContext",n,r.fallback,a,f);if(E)return t.log.info(`Family: using long context fallback model, tokens: ${l}, estimated: ${e}`),{model:E,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&r.webSearch){let A=st(r.webSearch,n,!1,"webSearch");if(A)return{model:A,scenarioType:"webSearch",isFallback:!1};let E=Yt("webSearch",n,r.fallback,a,f);if(E)return t.log.info("Family: using webSearch fallback model"),{model:E,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking&&r.think){let A=st(r.think,n,!1,"think");if(A)return{model:A,scenarioType:"think",isFallback:!1};let E=Yt("think",n,r.fallback,a,f);if(E)return t.log.info("Family: using think fallback model"),{model:E,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(r.default){let A=st(r.default,n,!1,"default");if(A)return{model:A,scenarioType:"default",isFallback:!1};let E=Yt("default",n,r.fallback,a,f);if(E)return t.log.info("Family: using default fallback model"),{model:E,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var SD=async(t,e,r,n)=>{let o=await s_(t,r),s=r.get("providers")||[],a=o||r.get("Router"),c=r.get("fallback");if(t.body.model.includes(",")){let m=st(t.body.model,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let v=Yt("default",s,void 0,c);if(v)return t.log.info(`Using fallback for explicit model: ${v}`),{model:v,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:l,extended:f}=i_(t.body.model),d=a?.families?.[l||""];if(d&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${l}${f?" (1M)":""}`),t.modelFamily=l,t.familyFallback=d.fallback;let m=AD(t,e,d,s,n,f,c);if(m)return{model:m.model,scenarioType:m.scenarioType}}let p=CD(t.body.model,a?.models);if(p){let m=st(p,s,!1,"modelMapping");if(m)return t.log.info(`Using mapped model for ${t.body.model}: ${p}`),{model:m,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${p} unavailable (fail pool), skipping`)}let g=Math.max(e,a_(n)),A=a?.extendedContextThreshold||2e5;if(g>A&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${g}, estimated: ${e}, threshold: ${A}`);let m=st(a.extendedContext,s,!1,"extendedContext");if(m)return{model:m,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let v=Yt("extendedContext",s,void 0,c);if(v)return{model:v,scenarioType:"extendedContext"}}let E=a?.longContextThreshold||6e4;if(g>E&&a?.longContext){t.log.info(`Using long context model due to token count: ${g}, estimated: ${e}, threshold: ${E}`);let m=st(a.longContext,s,!1,"longContext");if(m)return{model:m,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let v=Yt("longContext",s,void 0,c);if(v)return{model:v,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let m=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(m)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${m[1]}</CCR-SUBAGENT-MODEL>`,""),{model:m[1],scenarioType:"default"}}let y=r.get("Router");if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&y?.background){t.log.info(`Using background model for ${t.body.model}`);let m=st(y.background,s,!1,"background");if(m)return{model:m,scenarioType:"background"};t.log.warn(`Background model ${y.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(m=>m.type?.startsWith("web_search"))&&a?.webSearch){let m=st(a.webSearch,s,!1,"webSearch");if(m)return{model:m,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let v=Yt("webSearch",s,void 0,c);if(v)return{model:v,scenarioType:"webSearch"}}if(t.body.thinking&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let m=st(a.think,s,!1,"think");if(m)return{model:m,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let v=Yt("think",s,void 0,c);if(v)return{model:v,scenarioType:"think"}}if(a?.default){let m=st(a.default,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let v=Yt("default",s,void 0,c);if(v)return{model:v,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},mu=async(t,e,r)=>{let{configService:n,event:o}=r;if(t.originalModel=t.body.model,t.body.metadata?.user_id){let A=t.body.metadata.user_id.split("_session_");A.length>1&&(t.sessionId=A[1])}let a=await s_(t,n)||n.get("Router"),c=n.get("providers")||[],l=uu.get(t.sessionId),{messages:f,system:d=[],tools:p}=t.body,g=n.get("REWRITE_SYSTEM_PROMPT");if(g&&d.length>1&&d[1]?.text?.includes("<env>")){let A=await(0,du.readFile)(g,"utf-8");d[1].text=`${A}<env>${d[1].text.split("<env>").pop()}`}try{let[A,E]=t.body.model.split(","),_=r.tokenizerService?.getTokenizerConfigForModel(A,E),y;r.tokenizerService?y=(await r.tokenizerService.countTokens({messages:f,system:d,tools:p},_)).tokenCount:y=Zd(f,d,p),t.tokenCount=y;let m,v=n.get("CUSTOM_ROUTER_PATH");if(v)try{m=await require(v)(t,n.getAll(),{event:o})}catch(b){t.log.error(`failed to load custom router: ${b.message}`)}if(m)t.scenarioType="default";else{let b=await SD(t,y,n,l);m=b.model,t.scenarioType=b.scenarioType}if(a?.image&&m!==a.image&&wD(t)&&!ED(m)){let b=st(a.image,c,!1,"image");b?(t.log.info(`Using image model fallback for ${m}`),m=b,t.scenarioType="image"):t.log.warn(`Image model ${a.image} unavailable (fail pool), keeping ${m}`)}t.body.model=m}catch(A){t.log.error(`Error in router middleware: ${A.message}`),t.body.model=a?.default,t.scenarioType="default"}},Pr=new Map,n_=1e3;function Xd(){if(Pr.size<=n_)return;let t=[...Pr.keys()].slice(0,Pr.size-n_);for(let e of t)Pr.delete(e)}var ef=async t=>{if(Pr.has(t)){let e=Pr.get(t);return!e||e===""?null:e}try{let e=await(0,pu.opendir)(Ao.CLAUDE_PROJECTS_DIR),r=[];for await(let s of e)s.isDirectory()&&r.push(s.name);let n=r.map(async s=>{let a=(0,fu.join)(Ao.CLAUDE_PROJECTS_DIR,s,`${t}.jsonl`);try{return(await(0,pu.stat)(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(n);for(let s of o)if(s)return Pr.set(t,s),Xd(),s;return Pr.set(t,""),Xd(),null}catch(e){return console.error("Error searching for project by session:",e),Pr.set(t,""),Xd(),null}};Hn();var Ir=class{async fetchJson(e,r,n,o){if(!r.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${r.apiKey}`},signal:AbortSignal.timeout(n)};if(o)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(o).toString())}catch{}try{let a=await fetch(e,s);return a.ok?await a.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},tf=class extends Ir{async queryQuota(e,r,n){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,r,n),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>we(l?.total_balance)!==void 0);if(!a)return null;let c=we(a.total_balance);return c===void 0?null:{totalBalance:c,currency:typeof a.currency=="string"?a.currency:void 0}}},rf=class extends Ir{async queryQuota(e,r,n){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,r,n))?.data;if(!s||typeof s!="object")return null;let a={},c=we(s.limit),l=we(s.limit_remaining),f=we(s.usage),d=we(s.usage_daily);return c!==void 0&&(a.totalBalance=c),l!==void 0&&(a.remainingBalance=l),f!==void 0&&(a.usedBalance=f),d!==void 0&&(a.usedDailyBalance=d),this.hasQuotaData(a)?a:null}},nf=class extends Ir{async queryQuota(e,r,n){let o=FD(e.baseUrl),a=(await this.fetchJson(o,e,r,n))?.data;if(!a||typeof a!="object")return null;let c={},l=we(a.totalBalance),f=we(a.balance);return l!==void 0&&(c.totalBalance=l),f!==void 0&&(c.remainingBalance=f),l!==void 0&&f!==void 0&&(c.usedBalance=Math.max(0,l-f)),this.hasQuotaData(c)?c:null}},of=class extends Ir{async queryQuota(e,r,n){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let c=await a.json(),l=Array.isArray(c?.data?.limits)?c.data.limits:[],f=null,d=null,p=null;for(let A of l)A.type==="TOKENS_LIMIT"?A.unit===3?f=A:A.unit===6?d=A:f||(f=A):A.type==="TIME_LIMIT"&&(p=A);let g={};if(f){let A=we(f.currentValue),E=we(f.usage),_=we(f.remaining),y=we(f.percentage);A!==void 0?g.usedDailyBalance=A:y!==void 0&&(g.usedDailyBalance=y,g.limitDaily=100),E!==void 0?g.limitDaily=E:A!==void 0&&_!==void 0&&(g.limitDaily=A+_),f.nextResetTime&&(g.resetTime=new Date(f.nextResetTime).toISOString())}if(d){let A=we(d.currentValue),E=we(d.usage),_=we(d.remaining),y=we(d.percentage);A!==void 0?g.usedBalance=A:y!==void 0&&(g.usedBalance=y,g.totalBalance=100),E!==void 0?g.totalBalance=E:A!==void 0&&_!==void 0&&(g.totalBalance=A+_),d.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(d.nextResetTime).toISOString())}if(p){if(g.usedDailyBalance===void 0){let A=we(p.currentValue);A!==void 0&&(g.usedDailyBalance=A)}if(g.limitDaily===void 0){let A=we(p.usage),E=we(p.currentValue),_=we(p.remaining);A!==void 0?g.limitDaily=A:E!==void 0&&_!==void 0&&(g.limitDaily=E+_)}p.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(g)?g:null}catch{return null}}},sf=class extends Ir{async queryQuota(e,r,n){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(n).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let c=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!c.ok)return null;let f=(await c.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(f)||f.length===0)return null;let d=f[0]?.codingPlanQuotaInfo;if(!d)return null;let p={},g=we(d.per5HourUsedQuota),A=we(d.per5HourTotalQuota);g!==void 0&&(p.usedDailyBalance=g),A!==void 0&&(p.limitDaily=A);let E=we(d.perWeekUsedQuota),_=we(d.perWeekTotalQuota);return E!==void 0&&(p.usedBalance=E),_!==void 0&&(p.totalBalance=_),this.hasQuotaData(p)?p:null}catch{return null}}},af=class extends Ir{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let c=await a.json(),l={},f=Array.isArray(c?.limits)?c.limits:[];if(f.length>0&&f[0]?.detail){let p=f[0].detail,g=we(p.limit),A=we(p.remaining),E=p.resetTime;g!==void 0&&A!==void 0&&(l.usedDailyBalance=Math.max(0,g-A),l.limitDaily=g),E&&(l.resetTime=new Date(E).toISOString())}let d=c?.usage;if(d){let p=we(d.limit),g=we(d.remaining),A=we(d.used),E=d.resetTime;p!==void 0&&(l.totalBalance=p,A!==void 0?l.usedBalance=A:g!==void 0&&(l.usedBalance=Math.max(0,p-g),l.remainingBalance=g)),E&&(l.resetTime7d=new Date(E).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},uf=class extends Ir{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=cf(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com",c={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:l}=await import("undici");c.dispatcher=new l(new URL(n).toString())}catch{}try{let l=await fetch(`https://${a}/v1/api/openplatform/coding_plan/remains`,c);if(!l.ok)return null;let f=await l.json();if(f?.base_resp){let b=f.base_resp.status_code;if(b!==void 0&&b!==0)return null}let d=Array.isArray(f?.model_remains)?f.model_remains:[];if(d.length===0)return null;let p=d[0],g={},A=we(p.current_interval_total_count),E=we(p.current_interval_usage_count),_=we(p.end_time);A!==void 0&&E!==void 0&&(g.usedDailyBalance=Math.max(0,A-E),g.limitDaily=A),_&&(g.resetTime=new Date(_).toISOString());let y=we(p.current_weekly_total_count),m=we(p.current_weekly_usage_count),v=we(p.weekly_end_time);return y!==void 0&&m!==void 0&&(g.usedBalance=Math.max(0,y-m),g.remainingBalance=m,g.totalBalance=y),v&&!g.resetTime&&(g.resetTime=new Date(v).toISOString()),this.hasQuotaData(g)?g:null}catch{return null}}},kD=new tf,vD=new rf,TD=new nf,DD=new of,RD=new sf,xD=new af,OD=new uf;function gu(t){let e=cf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?xD:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?OD:e==="deepseek.com"||e.endsWith(".deepseek.com")?kD:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?vD:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?TD:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?DD:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?RD:null:null}function FD(t){let e=cf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function cf(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function we(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let r=Number(e);return Number.isFinite(r)?r:void 0}var PD={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function ID(t){try{let e=new URL(t),r=e.pathname;return r.endsWith("/v1/messages")?r=r.slice(0,-12):r.endsWith("/messages")?r=r.slice(0,-9):r.endsWith("/v1/chat/completions")?r=r.slice(0,-20):r.endsWith("/chat/completions")&&(r=r.slice(0,-17)),r.endsWith("/v1")||(r=r.endsWith("/")?`${r}v1`:`${r}/v1`),e.pathname=`${r}/models`,e.toString()}catch{return null}}function BD(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function lf(t,e,r){let n=ID(t.baseUrl);if(!n)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(r)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(r).toString())}catch{}let s=await fetch(n,o);if(s.headers&&Lo(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}var ks=class{config;quotaProbeTimer;healthProbeTimer;getProviders;getHttpsProxy;logger;running=!1;constructor(e,r,n,o){this.config={...PD,...r},this.getProviders=e,this.getHttpsProxy=n,this.logger=o}start(){!this.config.enabled||this.running||(this.running=!0,setTimeout(()=>{this.running&&(this.runQuotaProbe(),this.runHealthProbe())},this.config.initialDelayMs),this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&a.enabled!==!1&&!this.config.excludeProviders.includes(a.name)),r=this.getHttpsProxy?.(),n=Xe();if(e.length===0)return;let o=[];for(let a of e){let c=gu(a.baseUrl),l=Array.isArray(a.models)?a.models:[];c&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:c.queryQuota(a,this.config.probeTimeoutMs,r).then(f=>{if(f){cu(a.name,f),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let d=f.limitDaily!==void 0&&f.usedDailyBalance!==void 0&&f.usedDailyBalance>=f.limitDaily,p=f.totalBalance!==void 0&&f.usedBalance!==void 0&&f.usedBalance>=f.totalBalance;if(d||p){let g=d?`Quota exhausted: 5h limit reached (${f.usedDailyBalance}/${f.limitDaily})`:`Quota exhausted: 7d balance depleted (${f.usedBalance}/${f.totalBalance})`;for(let A of l)n.forceOpen(a.name,A,g);this.logger?.warn?.(`${g} for ${a.name}, marked as unhealthy`)}else for(let g of l){let A=n.getState(a.name,g);A&&A.status==="open"&&A.lastError?.includes("Quota exhausted")&&(n.recover(a.name,g),this.logger?.info?.(`Quota recovered for ${a.name} (${g}), marked as healthy`))}}})}),BD(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:lf(a,this.config.probeTimeoutMs,r).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let c=s[a];if(c.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${c.reason}`)}}}async runHealthProbe(){let e=Xe(),r=this.getProviders().filter(s=>s?.name&&s.enabled!==!1&&!this.config.excludeProviders.includes(s.name)),n=this.getHttpsProxy?.();if(r.length===0)return;this.logger?.debug?.(`Running health probe for ${r.length} providers`);let o=await Promise.allSettled(r.map(s=>lf(s,this.config.probeTimeoutMs,n)));for(let s=0;s<r.length;s++){let a=r[s],c=o[s],l=Array.isArray(a.models)?a.models:[];if(c.status==="fulfilled"){let f=c.value;if(f.success){let d=0;for(let p of l){let g=e.getState(a.name,p);if(g&&g.status==="open"&&g.lastError?.includes("Quota exhausted")){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}e.recordSuccess(a.name,p),d++}d>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let d of l)e.recordFailure(a.name,d,f.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${f.error}`)}}else{for(let f of l)e.recordFailure(a.name,f,c.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${c.reason}`)}}}async probeProviderManually(e){let n=this.getProviders().find(c=>c.name===e);if(!n)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;if(n.enabled===!1)return this.logger?.warn?.(`Provider ${e} is disabled, skipping manual probe`),!1;let o=this.getHttpsProxy?.(),s=await lf(n,this.config.probeTimeoutMs,o),a=Array.isArray(n.models)?n.models:[];if(s.success)for(let c of a)Xe().recordSuccess(n.name,c);else for(let c of a)Xe().recordFailure(n.name,c,s.error);return s.success}},en=null;function df(t,e,r,n){return en||(en=new ks(t,e,r,n)),en}function yu(t,e,r,n){let o=df(t,e,r,n);return o.start(),o}function _u(){en&&en.stop()}function u_(){en&&(en.stop(),en=null)}var ff=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,r={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:r.enabled!==!1,options:r})}async enablePlugin(e,r){let n=this.plugins.get(e),o=this.pluginInstances.get(e);if(!n||!o)throw new Error(`Plugin ${e} not found`);n.enabled&&await r.register(o.register,n.options)}async enablePlugins(e){for(let[r,n]of this.plugins)if(n.enabled)try{await this.enablePlugin(r,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${r}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,r){let n=this.plugins.get(e);n&&(n.enabled=r)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},hf=new ff;var __=Pe(h_(),1);var Dn=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
345
+ Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(F0).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let r=new e;r&&typeof r=="object"&&(r.logger=this.logger),this.registerTransformer(r.name,r)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let r of e)await this.registerTransformerFromConfig(r)}};var I0=require("tiktoken"),bs=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=(0,I0.get_encoding)(e)}catch{throw new Error(`Failed to initialize tiktoken encoding: ${e}`)}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){let r=this.encoding;if(!r)throw new Error("Encoding not initialized");let n=0,{messages:o,system:s,tools:a}=e;return Array.isArray(o)&&o.forEach(c=>{typeof c.content=="string"?n+=r.encode(c.content).length:Array.isArray(c.content)&&c.content.forEach(l=>{if(l.type==="text")n+=r.encode(l.text).length;else if(l.type==="tool_use")n+=r.encode(JSON.stringify(l.input)).length;else if(l.type==="tool_result"){let d=typeof l.content=="string"?l.content:JSON.stringify(l.content);n+=r.encode(d).length}})}),typeof s=="string"?n+=r.encode(s).length:Array.isArray(s)&&s.forEach(c=>{c.type==="text"&&(typeof c.text=="string"?n+=r.encode(c.text).length:Array.isArray(c.text)&&c.text.forEach(l=>{n+=r.encode(l||"").length}))}),a&&a.forEach(c=>{c.description&&(n+=r.encode(c.name+c.description).length),c.input_schema&&(n+=r.encode(JSON.stringify(c.input_schema)).length)}),n}isInitialized(){return this.encoding!==void 0}encodeText(e){let r=this.encoding;if(!r)throw new Error("Encoding not initialized");return Array.from(r.encode(e))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};var ks=require("path"),Y0=require("os"),wo=require("fs"),Ss=require("fs");var cv=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let r of t){let n=e;for(let o=0;o<r.length;++o){let s=r[o];n=n[s]??=Object.create(null)}n.end=r}return e}split(t){let e=[],r=t.length,n=0,o=0;for(;o<r;){let s=this.trie,a=null,c=o;for(;c<r&&(s=s[t[c]]);)s.end&&(a=s.end),++c;a?(o>n&&e.push(t.slice(n,o)),e.push(a),o+=a.length,n=o):++o}return n<r&&e.push(t.slice(n)),e}},lv=cv,dv=class{constructor(t){this.content=t.content,this.id=t.id,this.single_word=t.single_word??!1,this.lstrip=t.lstrip??!1,this.rstrip=t.rstrip??!1,this.special=t.special??!1,this.normalized=t.normalized??null}},fv=dv,$0=(()=>{let t=[...Array.from({length:94},(o,s)=>s+33),...Array.from({length:12},(o,s)=>s+161),...Array.from({length:82},(o,s)=>s+174)],e=t.slice(),r=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+r),r+=1);let n=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,n[s]]))})(),hv=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),pv=hv($0),B0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",mv=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],[` ?[^(\\s|[${B0}])]+`,` ?[^\\s${B0}]+`]]),Cs="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",fP=new RegExp(`^[${Cs}]+$`,"gu"),Gd=t=>t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),nu=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of mv)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=gv(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},gv=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),yv=(t,e,r)=>{let n=[],o=0;for(;o<t.length;){if(n.push(t[o]),(e.get(t[o])??r)!==r){++o;continue}for(;++o<t.length&&(e.get(t[o])??r)===r;)e.get(n.at(-1))!==r&&(n[n.length-1]+=t[o])}return n},_v=t=>t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=63744&&t<=64255||t>=194560&&t<=195103,bv=t=>Number.isInteger(t)||typeof t=="bigint",Cv=t=>{let e=0;for(let r of t)++e;return e},wv=t=>q0(t.toLowerCase()),Bt=(...t)=>Array.prototype.concat.apply([],t),Jd=t=>new Map(Object.entries(t)),Ev=(t,e)=>{let r=[],n=0;for(let o of t.matchAll(e)){let s=o[0];n<o.index&&r.push(t.slice(n,o.index)),s.length>0&&r.push(s),n=o.index+s.length}return n<t.length&&r.push(t.slice(n)),r},q0=t=>t.replace(new RegExp("\\p{M}","gu"),""),N0=(t,e,r=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let n of r)if(!(n in t))return`${e} must contain a "${n}" property`;return null},kv=t=>t.match(/\S+/g)||[],Sv=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},ws=Sv,Av=class extends ws{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},xr=Av,vv=class extends xr{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);_v(o)?(e.push(" "),e.push(n),e.push(" ")):e.push(n)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
346
+ `:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let r of t){let n=r.charCodeAt(0);n===0||n===65533||this.is_control(r)||(/^\s$/.test(r)?e.push(" "):e.push(r))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},Tv=vv,Dv=class extends xr{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},Rv=Dv,xv=class extends xr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>z0(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},Ov=xv,Pv=class extends xr{normalize(t){let e=nu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},Fv=Pv,Iv=class extends xr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},ou=Iv,Bv=class extends ou{constructor(){super(...arguments),this.form="NFC"}},Nv=Bv,Mv=class extends ou{constructor(){super(...arguments),this.form="NFD"}},jv=Mv,Lv=class extends ou{constructor(){super(...arguments),this.form="NFKC"}},Uv=Lv,$v=class extends ou{constructor(){super(...arguments),this.form="NFKD"}},qv=$v,zv=class extends xr{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},Hv=zv,Wv=class extends xr{normalize(t){return q0(t)}},Gv=Wv,Jv=class extends xr{normalize(t){return t.toLowerCase()}},Vv=Jv,Kv=class extends xr{normalize(t){return t=this.config.prepend+t,t}},Yv=Kv;function Qv(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new Tv(t);case"Precompiled":return new Rv(t);case"Sequence":return new Ov(t);case"Replace":return new Fv(t);case"NFC":return new Nv(t);case"NFD":return new jv(t);case"NFKC":return new Uv(t);case"NFKD":return new qv(t);case"Strip":return new Hv(t);case"StripAccents":return new Gv(t);case"Lowercase":return new Vv(t);case"Prepend":return new Yv(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var z0=Qv,Xv=class extends ws{pre_tokenize(t,e){return(Array.isArray(t)?t.map(r=>this.pre_tokenize_text(r,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},lr=Xv,Zv=class extends lr{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=$0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(r=>Array.from(this.text_encoder.encode(r),n=>this.byte_encoder[n]).join(""))}},eT=Zv,tT=class extends lr{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},rT=tT,nT=class extends lr{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:r=void 0}=e??{},n=t.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},oT=nT,sT=class extends lr{constructor(t){super(),this.config=t,this.pattern=nu(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):Ev(t,this.pattern)}},iT=sT,aT=class extends lr{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Cs}]+|[${Cs}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},uT=aT,cT=class extends lr{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},lT=cT,dT=class extends lr{constructor(){super(),this.pattern=new RegExp(`[^\\s${Cs}]+|[${Cs}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},fT=dT,hT=class extends lr{constructor(t){super(),this.config=t,this.pattern=nu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},pT=hT,mT=class extends lr{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>H0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},gT=mT,yT=class extends lr{pre_tokenize_text(t){return kv(t)}},_T=yT;function bT(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new fT;case"Sequence":return new gT(t);case"Whitespace":return new rT;case"WhitespaceSplit":return new _T;case"Metaspace":return new oT(t);case"ByteLevel":return new eT(t);case"Split":return new iT(t);case"Punctuation":return new uT(t);case"Digits":return new lT(t);case"Replace":return new pT(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var H0=bT,CT=class extends ws{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=yv(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},su=CT,wT=class extends su{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Jd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,r]of this.tokens_to_ids)this.vocab[r]=e}encode(t){let e=[];for(let r of t){let n=[...r];if(n.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<n.length;){let c=n.length,l=null;for(;s<c;){let d=n.slice(s,c).join("");if(s>0&&(d=this.config.continuing_subword_prefix+d),this.tokens_to_ids.has(d)){l=d;break}--c}if(l===null){o=!0;break}a.push(l),s=c}o?e.push(this.unk_token):e.push(...a)}return e}},M0=wT,j0=class W0{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new W0(!1,new Map)}},ET=class{constructor(){this.root=j0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let r of t){let n=e.children.get(r);n===void 0&&(n=j0.default(),e.children.set(r,n)),e=n}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let r="";for(let n of t){if(r+=n,e=e.children.get(n),e===void 0)return;e.is_leaf&&(yield r)}}},kT=ET,Wd=class G0{constructor(e,r,n,o,s){this.token_id=e,this.node_id=r,this.pos=n,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new G0(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},ST=class{constructor(t,e,r){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new Wd(this.bos_token_id??0,0,0,0,0),o=new Wd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(n)}insert(t,e,r,n){let o=this.nodes.length,s=new Wd(n,o,t,e,r);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,c=null;for(let l of this.end_nodes[e]){let d=l.backtrace_score+s.score;(c===null||d>a)&&(c=l.clone(),a=d)}if(c!==null)s.prev=c,s.backtrace_score=a;else return[]}++e}let r=[],n=this.begin_nodes[t][0].prev;if(n===null)return[];let o=n.clone();for(;o.prev!==null;)r.push(o.clone()),o=o.clone().prev.clone();return r.reverse(),r}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},AT=ST;function vT(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],r=0;for(let n=1;n<t.length;++n)t[n]<e&&(e=t[n],r=n);return[e,r]}var TT=class extends su{constructor(t,e){super(t);let r=t.vocab.length;this.vocab=new Array(r),this.scores=new Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=t.vocab[n];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,o)=>[n,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=vT(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new kT,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,r=1,n=0;for(;n<e.length;){let o=!1,s=[],a=e.slice(n).join(""),c=this.trie.common_prefix_search(a);for(let l of c){s.push(l);let d=this.tokens_to_ids.get(l),f=this.scores[d],p=Cv(l);t.insert(n,p,f,d),!o&&p===r&&(o=!0)}o||t.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(t){let e=new AT(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let r of t){let n=this.tokenize(r);e.push(...n)}return e}},L0=TT,DT=class{constructor(t=(r,n)=>r>n,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let r=this._smallest();this._comparator(e,this._heap[r])&&(this._heap[r]=e,this._sift_up_from(r))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let r=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},RT=DT,xT=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},OT=xT,PT=class extends su{constructor(t){super(t),this.tokens_to_ids=Jd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new OT(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let r=Array.from(t);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let o=new RT((c,l)=>c.score<l.score),s={token:r[0],bias:0,prev:null,next:null},a=s;for(let c=1;c<r.length;++c){let l={bias:c/r.length,token:r[c],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let c=o.pop();if(c.deleted||!c.next||c.next.deleted)continue;if(c.deleted=!0,c.next.deleted=!0,c.prev){let d={...c.prev};c.prev.deleted=!0,c.prev=d,d.prev?d.prev.next=d:s=d}let l={token:c.token+c.next.token,bias:c.bias,prev:c.prev,next:c.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let c=s;c!==null;c=c.next)n.push(c.token)}else n=r;if(this.continuing_subword_suffix)for(let o=0;o<n.length-1;++o)n[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,n),n}add_node(t,e){let r=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));r!==void 0&&(e.score=r+e.bias,t.push(e))}encode(t){let e=[];for(let r of t){if(this.ignore_merges&&this.tokens_to_ids.has(r)){e.push(r);continue}let n=this.bpe(r);for(let o of n)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},U0=PT,FT=class extends su{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=Jd(e.target_lang?r[e.target_lang]:r),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,o]of this.tokens_to_ids)this.vocab[o]=n}encode(t){return t}},IT=FT;function BT(t,e){switch(t.type){case"WordPiece":return new M0(t);case"Unigram":return new L0(t,e.eos_token);case"BPE":return new U0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new L0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new U0(t):new M0(t):new IT(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var NT=BT,MT=class extends ws{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Es=MT,jT=class extends Es{post_process(t,e=null,r=!0){let n=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of n)"SpecialToken"in a?r&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=Bt(o,t),s=Bt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Bt(o,e),s=Bt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},LT=jT,UT=class extends Es{post_process(t,e=null){return{tokens:e?Bt(t,e):t}}},$T=UT,qT=class extends Es{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Bt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=[],s=r?[this.sep[0]]:[];t=Bt(t,o,e,s),n=Bt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},zT=qT,HT=class extends Es{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Bt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=r?[this.sep[0]]:[],s=r?[this.sep[0]]:[];t=Bt(t,o,e,s),n=Bt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},WT=HT,GT=class extends Es{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>J0(e))}post_process(t,e=null,r=!0){let n={tokens:t};for(let o of this.processors)n=o.post_process(n.tokens,e,r);return n}},JT=GT;function VT(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new LT(t);case"ByteLevel":return new $T(t);case"BertProcessing":return new zT(t);case"RobertaProcessing":return new WT(t);case"Sequence":return new JT(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var J0=VT,KT=class extends ws{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},dr=KT,YT=class extends dr{constructor(t){super(t),this.byte_decoder=pv,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),r=new Uint8Array([...e].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(t){let e=[],r=[];for(let n of t)this.added_tokens.find(o=>o.content===n)!==void 0?(r.length>0&&(e.push(this.convert_tokens_to_string(r)),r=[]),e.push(n)):r.push(n);return r.length>0&&e.push(this.convert_tokens_to_string(r)),e}},QT=YT,XT=class extends dr{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,r)=>{if(r!==0){let n=this.config.prefix;n&&e.startsWith(n)?e=e.replace(n,""):e=" "+e}return this.cleanup&&(e=Gd(e)),e})}},ZT=XT,eD=class extends dr{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r].replaceAll(this.replacement," ");r==0&&n.startsWith(" ")&&(n=n.substring(1)),e.push(n)}return e}},tD=eD,rD=class extends dr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},nD=rD,oD=class extends dr{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let n=1;n<t.length;++n)t[n]!==e.at(-1)&&e.push(t[n]);let r=e.filter(n=>n!==this.pad_token).join("");return this.cleanup&&(r=Gd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},sD=oD,iD=class extends dr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>V0(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},aD=iD,uD=class extends dr{decode_chain(t){let e=nu(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},cD=uD,lD=class extends dr{decode_chain(t){return[t.join("")]}},dD=lD,fD=class extends dr{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let r=0;for(let o=0;o<this.start&&e[o]===this.content;++o)r=o+1;let n=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){n=s;continue}else break}return e.slice(r,n)})}},hD=fD,pD=class extends dr{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],r=[];for(let n of t){let o=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let s=parseInt(n.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)r.push(o);else{if(r.length>0){let s=this.text_decoder.decode(Uint8Array.from(r));e.push(s),r=[]}e.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));e.push(n),r=[]}return e}},mD=pD;function gD(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new QT(t);case"WordPiece":return new ZT(t);case"Metaspace":return new tD(t);case"BPEDecoder":return new nD(t);case"CTC":return new sD(t);case"Sequence":return new aD(t);case"Replace":return new cD(t);case"Fuse":return new dD(t);case"Strip":return new hD(t);case"ByteFallback":return new mD(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var V0=gD,yD=class{constructor(t,e){let r=N0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=N0(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=z0(this.tokenizer.normalizer),this.pre_tokenizer=H0(this.tokenizer.pre_tokenizer),this.model=NT(this.tokenizer.model,this.config),this.post_processor=J0(this.tokenizer.post_processor),this.decoder=V0(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new fv(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new lv(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}),a=this.model.convert_tokens_to_ids(o),c={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return n&&s&&(c.token_type_ids=s),c}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!bv(t[0]))throw Error("token_ids must be a non-empty array of integers.");let r=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(r=r.filter(o=>!this.special_tokens.includes(o)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(n=n.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=Gd(n)),n}tokenize(t,{text_pair:e=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((r,n)=>{let o=this.added_tokens_map.get(r);o&&(o.lstrip&&n>0&&(e[n-1]=e[n-1].trimEnd()),o.rstrip&&n<e.length-1&&(e[n+1]=e[n+1].trimStart()))}),e.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=wv(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(r,{section_index:n}):[r];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:r=!0}){let n=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(n,o,r):{tokens:Bt(n??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},K0=yD;var iu=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,r,n={}){this.modelId=e,this.logger=r,this.options=n,this.cacheDir=n.cacheDir||(0,ks.join)((0,Y0.homedir)(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=(0,ks.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,ks.join)(e,"tokenizer.json"),tokenizerConfig:(0,ks.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,wo.existsSync)(e)||(0,wo.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,wo.existsSync)(e.tokenizerJson)||!(0,wo.existsSync)(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Ss.promises.readFile(e.tokenizerJson,"utf-8"),Ss.promises.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(r),tokenizerConfig:JSON.parse(n)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),r={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let n=new AbortController,o=setTimeout(()=>n.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(r.json,{signal:n.signal}),fetch(r.config,{signal:n.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[c,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Ss.promises.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),Ss.promises.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:c,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let r=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new K0(r.tokenizerJson,r.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let r=this.extractTextFromRequest(e);return this.tokenizer.encode(r).ids.length}catch(r){throw this.logger?.error(`Error counting tokens: ${r.message}`),r}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let r=[],{messages:n,system:o,tools:s}=e;if(Array.isArray(n)){for(let a of n)if(typeof a.content=="string")r.push(a.content);else if(Array.isArray(a.content))for(let c of a.content)c.type==="text"&&c.text?r.push(c.text):c.type==="tool_use"&&c.input?r.push(JSON.stringify(c.input)):c.type==="tool_result"&&r.push(typeof c.content=="string"?c.content:JSON.stringify(c.content))}if(typeof o=="string")r.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")r.push(a.text);else if(Array.isArray(a.text))for(let c of a.text)c&&r.push(c)}}if(s)for(let a of s)a.name&&r.push(a.name),a.description&&r.push(a.description),a.input_schema&&r.push(JSON.stringify(a.input_schema));return r.join(" ")}};var au=class{type="api";name;config;logger;options;constructor(e,r,n={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=r,this.options=n;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let r=this.formatRequestBody(e),n={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:n,body:JSON.stringify(r),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let c=await a.json();return this.extractTokenCount(c)}catch(r){throw r.name==="AbortError"?new Error("API tokenizer request timed out"):r}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(r=>({role:r.role,content:this.extractTextFromMessage(r)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(r=>r.type==="text"&&r.text?r.text:r.type==="tool_use"&&r.input?JSON.stringify(r.input):r.type==="tool_result"?typeof r.content=="string"?r.content:JSON.stringify(r.content):"").join(" "):""}extractConcatenatedText(e){let r=[];return e.messages&&e.messages.forEach(n=>{r.push(this.extractTextFromMessage(n))}),typeof e.system=="string"?r.push(e.system):Array.isArray(e.system)&&e.system.forEach(n=>{n.type==="text"&&(typeof n.text=="string"?r.push(n.text):Array.isArray(n.text)&&n.text.forEach(o=>{o&&r.push(o)}))}),e.tools&&e.tools.forEach(n=>{n.name&&r.push(n.name),n.description&&r.push(n.description),n.input_schema&&r.push(JSON.stringify(n.input_schema))}),r.join(" ")}extractTokenCount(e){try{let r=this.config.responseField,n=r.split("."),o=e;for(let s of n){if(o==null)throw new Error(`Field path '${r}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${r}', got ${typeof o}`);return o}catch(r){throw this.logger?.error(`Failed to extract token count from API response: ${r.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${r.message}`)}}};var Tn=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,r,n={}){this.configService=e,this.logger=r,this.options={timeout:n.timeout??3e4,...n}}async initialize(){try{this.fallbackTokenizer=new bs("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let r=this.getCacheKey(e);if(this.tokenizers.has(r))return this.tokenizers.get(r);let n;try{switch(e.type){case"tiktoken":n=new bs(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new iu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new au(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await n.initialize(),this.tokenizers.set(r,n),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${r})`),n}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,r){let n=r?await this.getTokenizer(r):this.fallbackTokenizer;return{tokenCount:await n.countTokens(e),tokenizerUsed:n.name,cached:!1}}getTokenizerConfigForModel(e,r){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[r]?o.tokenizer.models[r]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(r){this.logger?.error(`Error disposing tokenizer: ${r}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};var o_=require("tiktoken");var Vd=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let r=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,r),r}put(e,r){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let n=this.cache.keys().next().value;n!==void 0&&this.cache.delete(n)}this.cache.set(e,r)}values(){return Array.from(this.cache.values())}},uu=new Vd(100);var du=require("fs/promises"),pu=require("fs/promises"),fu=require("path"),ko=require("@wengine-ai/claude-code-router-shared");Hn();var Or=require("fs"),Qd=require("path"),Z0=require("@wengine-ai/claude-code-router-shared"),Kd=(0,Qd.join)(Z0.HOME_DIR,"runtime"),Yd=(0,Qd.join)(Kd,"quota-store.json"),Eo=new Map,Q0=!1,_D=null;function cu(t,e){t&&Eo.set(t,{...e,provider:t,capturedAt:Date.now()})}function lu(t){let e=Eo.get(t);return e?{...e}:void 0}function e_(){return Array.from(Eo.values()).map(t=>({...t}))}function bD(){try{if(!(0,Or.existsSync)(Yd))return;let t=JSON.parse((0,Or.readFileSync)(Yd,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let r of t)if(r&&r.provider){if(r.capturedAt&&e-r.capturedAt>1440*60*1e3)continue;Eo.set(r.provider,r)}}catch{}}function X0(){try{if(Eo.size===0)return;(0,Or.existsSync)(Kd)||(0,Or.mkdirSync)(Kd,{recursive:!0}),(0,Or.writeFileSync)(Yd,JSON.stringify(Array.from(Eo.values()),null,2),"utf-8")}catch{}}function t_(){Q0||(Q0=!0,bD(),_D=setInterval(X0,6e4),process.on("exit",X0))}fi();var Pr=(0,o_.get_encoding)("cl100k_base"),Zd=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Pr.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Pr.encode(s.text).length:s.type==="tool_use"?n+=Pr.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Pr.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Pr.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Pr.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Pr.encode(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Pr.encode(o.name+o.description).length),o.input_schema&&(n+=Pr.encode(JSON.stringify(o.input_schema)).length)}),n},s_=async(t,e)=>{if(t.sessionId){let r=await ef(t.sessionId);if(r){let n=(0,fu.join)(ko.HOME_DIR,r,"config.json"),o=(0,fu.join)(ko.HOME_DIR,r,`${t.sessionId}.json`);try{let s=JSON.parse(await(0,du.readFile)(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await(0,du.readFile)(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}};function hu(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function i_(t){let e=hu(t),r=e.includes("[1m]")||e.endsWith("[1m"),n=e.replace(/\[1m\]|\[1m$/g,""),o=n.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:r};let s=n.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||n.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:r}:{family:null,extended:r}}function CD(t,e){if(!e||!t)return null;let r=hu(t);if(e[t])return e[t];if(e[r])return e[r];let{family:n}=i_(t);if(n&&e[n])return e[n];for(let[o,s]of Object.entries(e)){let a=hu(o);if(a&&r.includes(a))return s}return null}function a_(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function r_(t){if(!t?.includes(","))return null;let[e,...r]=t.split(","),n=e.trim(),o=r.join(",").trim();return!n||!o?null:{providerName:n,routeModel:o}}function st(t,e,r,n){let o=r_(t);if(!o)return t;let{providerName:s,routeModel:a}=o,c=e.find(f=>f.name.toLowerCase()===s.toLowerCase());if(c&&c.enabled===!1)return null;if(n&&!r){let f=Mo(),p=f.getPromotion(s,a,n,e);if(p){let g=r_(p);if(g){let k=e.find(y=>y.name.toLowerCase()===g.providerName.toLowerCase()),w=k?.models?.find(y=>String(y).toLowerCase()===g.routeModel.toLowerCase());if(k&&w)return`${k.name},${w}`}f.clear(s,a,n)}}if(!r&&!Xe().isAvailable(s,a))return null;let l=lu(s);if(l){let f=l.limitDaily!==void 0&&l.usedDailyBalance!==void 0&&l.usedDailyBalance>=l.limitDaily,p=l.totalBalance!==void 0&&l.usedBalance!==void 0&&l.usedBalance>=l.totalBalance;if(f||p)return null}let d=c?.models?.find(f=>String(f).toLowerCase()===a.toLowerCase());return c&&d?`${c.name},${d}`:t}function Yt(t,e,r,n,o){let s=Xe(),a=[r?.[t],n?.[t]];for(let c of a)if(!(!Array.isArray(c)||c.length===0))for(let l of c){let d=st(l,e);if(d)return d}return null}function wD(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(r=>r.type==="image"||r.type==="image_url"||Array.isArray(r?.content)&&r.content.some(n=>n.type==="image"||n.type==="image_url")))}function ED(t){let e=hu(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(n=>n.test(e))}function kD(t,e,r,n,o,s,a){let c=r.longContextThreshold||6e4,l=Math.max(e,a_(o)),d=t.modelFamily;if((s||l>2e5)&&r.extendedContext){let k=st(r.extendedContext,n,!1,"extendedContext");if(k)return t.log.info(`Family: using extended context model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:k,scenarioType:"extendedContext",isFallback:!1};let w=Yt("extendedContext",n,r.fallback,a,d);if(w)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:w,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(l>c&&(r.longContext||r.fallback?.longContext?.length||a?.longContext?.length)){let k=r.longContext?st(r.longContext,n,!1,"longContext"):null;if(k)return t.log.info(`Family: using long context model, tokens: ${l}, estimated: ${e}`),{model:k,scenarioType:"longContext",isFallback:!1};let w=Yt("longContext",n,r.fallback,a,d);if(w)return t.log.info(`Family: using long context fallback model, tokens: ${l}, estimated: ${e}`),{model:w,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(k=>k.type?.startsWith("web_search"))&&r.webSearch){let k=st(r.webSearch,n,!1,"webSearch");if(k)return{model:k,scenarioType:"webSearch",isFallback:!1};let w=Yt("webSearch",n,r.fallback,a,d);if(w)return t.log.info("Family: using webSearch fallback model"),{model:w,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking&&r.think){let k=st(r.think,n,!1,"think");if(k)return{model:k,scenarioType:"think",isFallback:!1};let w=Yt("think",n,r.fallback,a,d);if(w)return t.log.info("Family: using think fallback model"),{model:w,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(r.default){let k=st(r.default,n,!1,"default");if(k)return{model:k,scenarioType:"default",isFallback:!1};let w=Yt("default",n,r.fallback,a,d);if(w)return t.log.info("Family: using default fallback model"),{model:w,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var SD=async(t,e,r,n)=>{let o=await s_(t,r),s=r.get("providers")||[],a=o||r.get("Router"),c=r.get("fallback");if(t.body.model.includes(",")){let m=st(t.body.model,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let v=Yt("default",s,void 0,c);if(v)return t.log.info(`Using fallback for explicit model: ${v}`),{model:v,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:l,extended:d}=i_(t.body.model),f=a?.families?.[l||""];if(f&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${l}${d?" (1M)":""}`),t.modelFamily=l,t.familyFallback=f.fallback;let m=kD(t,e,f,s,n,d,c);if(m)return{model:m.model,scenarioType:m.scenarioType}}let p=CD(t.body.model,a?.models);if(p){let m=st(p,s,!1,"modelMapping");if(m)return t.log.info(`Using mapped model for ${t.body.model}: ${p}`),{model:m,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${p} unavailable (fail pool), skipping`)}let g=Math.max(e,a_(n)),k=a?.extendedContextThreshold||2e5;if(g>k&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${g}, estimated: ${e}, threshold: ${k}`);let m=st(a.extendedContext,s,!1,"extendedContext");if(m)return{model:m,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let v=Yt("extendedContext",s,void 0,c);if(v)return{model:v,scenarioType:"extendedContext"}}let w=a?.longContextThreshold||6e4;if(g>w&&a?.longContext){t.log.info(`Using long context model due to token count: ${g}, estimated: ${e}, threshold: ${w}`);let m=st(a.longContext,s,!1,"longContext");if(m)return{model:m,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let v=Yt("longContext",s,void 0,c);if(v)return{model:v,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let m=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(m)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${m[1]}</CCR-SUBAGENT-MODEL>`,""),{model:m[1],scenarioType:"default"}}let _=r.get("Router");if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&_?.background){t.log.info(`Using background model for ${t.body.model}`);let m=st(_.background,s,!1,"background");if(m)return{model:m,scenarioType:"background"};t.log.warn(`Background model ${_.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(m=>m.type?.startsWith("web_search"))&&a?.webSearch){let m=st(a.webSearch,s,!1,"webSearch");if(m)return{model:m,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let v=Yt("webSearch",s,void 0,c);if(v)return{model:v,scenarioType:"webSearch"}}if(t.body.thinking&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let m=st(a.think,s,!1,"think");if(m)return{model:m,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let v=Yt("think",s,void 0,c);if(v)return{model:v,scenarioType:"think"}}if(a?.default){let m=st(a.default,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let v=Yt("default",s,void 0,c);if(v)return{model:v,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},mu=async(t,e,r)=>{let{configService:n,event:o}=r;if(t.originalModel=t.body.model,t.body.metadata?.user_id){let k=t.body.metadata.user_id.split("_session_");k.length>1&&(t.sessionId=k[1])}let a=await s_(t,n)||n.get("Router"),c=n.get("providers")||[],l=uu.get(t.sessionId),{messages:d,system:f=[],tools:p}=t.body,g=n.get("REWRITE_SYSTEM_PROMPT");if(g&&f.length>1&&f[1]?.text?.includes("<env>")){let k=await(0,du.readFile)(g,"utf-8");f[1].text=`${k}<env>${f[1].text.split("<env>").pop()}`}try{let[k,w]=t.body.model.split(","),y=r.tokenizerService?.getTokenizerConfigForModel(k,w),_;r.tokenizerService?_=(await r.tokenizerService.countTokens({messages:d,system:f,tools:p},y)).tokenCount:_=Zd(d,f,p),t.tokenCount=_;let m,v=n.get("CUSTOM_ROUTER_PATH");if(v)try{m=await require(v)(t,n.getAll(),{event:o})}catch(b){t.log.error(`failed to load custom router: ${b.message}`)}if(m)t.scenarioType="default";else{let b=await SD(t,_,n,l);m=b.model,t.scenarioType=b.scenarioType}if(a?.image&&m!==a.image&&wD(t)&&!ED(m)){let b=st(a.image,c,!1,"image");b?(t.log.info(`Using image model fallback for ${m}`),m=b,t.scenarioType="image"):t.log.warn(`Image model ${a.image} unavailable (fail pool), keeping ${m}`)}t.body.model=m}catch(k){t.log.error(`Error in router middleware: ${k.message}`),t.body.model=a?.default,t.scenarioType="default"}},Fr=new Map,n_=1e3;function Xd(){if(Fr.size<=n_)return;let t=[...Fr.keys()].slice(0,Fr.size-n_);for(let e of t)Fr.delete(e)}var ef=async t=>{if(Fr.has(t)){let e=Fr.get(t);return!e||e===""?null:e}try{let e=await(0,pu.opendir)(ko.CLAUDE_PROJECTS_DIR),r=[];for await(let s of e)s.isDirectory()&&r.push(s.name);let n=r.map(async s=>{let a=(0,fu.join)(ko.CLAUDE_PROJECTS_DIR,s,`${t}.jsonl`);try{return(await(0,pu.stat)(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(n);for(let s of o)if(s)return Fr.set(t,s),Xd(),s;return Fr.set(t,""),Xd(),null}catch(e){return console.error("Error searching for project by session:",e),Fr.set(t,""),Xd(),null}};Hn();var Ir=class{async fetchJson(e,r,n,o){if(!r.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${r.apiKey}`},signal:AbortSignal.timeout(n)};if(o)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(o).toString())}catch{}try{let a=await fetch(e,s);return a.ok?await a.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},tf=class extends Ir{async queryQuota(e,r,n){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,r,n),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>we(l?.total_balance)!==void 0);if(!a)return null;let c=we(a.total_balance);return c===void 0?null:{totalBalance:c,currency:typeof a.currency=="string"?a.currency:void 0}}},rf=class extends Ir{async queryQuota(e,r,n){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,r,n))?.data;if(!s||typeof s!="object")return null;let a={},c=we(s.limit),l=we(s.limit_remaining),d=we(s.usage),f=we(s.usage_daily);return c!==void 0&&(a.totalBalance=c),l!==void 0&&(a.remainingBalance=l),d!==void 0&&(a.usedBalance=d),f!==void 0&&(a.usedDailyBalance=f),this.hasQuotaData(a)?a:null}},nf=class extends Ir{async queryQuota(e,r,n){let o=PD(e.baseUrl),a=(await this.fetchJson(o,e,r,n))?.data;if(!a||typeof a!="object")return null;let c={},l=we(a.totalBalance),d=we(a.balance);return l!==void 0&&(c.totalBalance=l),d!==void 0&&(c.remainingBalance=d),l!==void 0&&d!==void 0&&(c.usedBalance=Math.max(0,l-d)),this.hasQuotaData(c)?c:null}},of=class extends Ir{async queryQuota(e,r,n){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let c=await a.json(),l=Array.isArray(c?.data?.limits)?c.data.limits:[],d=null,f=null,p=null;for(let k of l)k.type==="TOKENS_LIMIT"?k.unit===3?d=k:k.unit===6?f=k:d||(d=k):k.type==="TIME_LIMIT"&&(p=k);let g={};if(d){let k=we(d.currentValue),w=we(d.usage),y=we(d.remaining),_=we(d.percentage);k!==void 0?g.usedDailyBalance=k:_!==void 0&&(g.usedDailyBalance=_,g.limitDaily=100),w!==void 0?g.limitDaily=w:k!==void 0&&y!==void 0&&(g.limitDaily=k+y),d.nextResetTime&&(g.resetTime=new Date(d.nextResetTime).toISOString())}if(f){let k=we(f.currentValue),w=we(f.usage),y=we(f.remaining),_=we(f.percentage);k!==void 0?g.usedBalance=k:_!==void 0&&(g.usedBalance=_,g.totalBalance=100),w!==void 0?g.totalBalance=w:k!==void 0&&y!==void 0&&(g.totalBalance=k+y),f.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(f.nextResetTime).toISOString())}if(p){if(g.usedDailyBalance===void 0){let k=we(p.currentValue);k!==void 0&&(g.usedDailyBalance=k)}if(g.limitDaily===void 0){let k=we(p.usage),w=we(p.currentValue),y=we(p.remaining);k!==void 0?g.limitDaily=k:w!==void 0&&y!==void 0&&(g.limitDaily=w+y)}p.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(g)?g:null}catch{return null}}},sf=class extends Ir{async queryQuota(e,r,n){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(n).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let c=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!c.ok)return null;let d=(await c.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(d)||d.length===0)return null;let f=d[0]?.codingPlanQuotaInfo;if(!f)return null;let p={},g=we(f.per5HourUsedQuota),k=we(f.per5HourTotalQuota);g!==void 0&&(p.usedDailyBalance=g),k!==void 0&&(p.limitDaily=k);let w=we(f.perWeekUsedQuota),y=we(f.perWeekTotalQuota);return w!==void 0&&(p.usedBalance=w),y!==void 0&&(p.totalBalance=y),this.hasQuotaData(p)?p:null}catch{return null}}},af=class extends Ir{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let c=await a.json(),l={},d=Array.isArray(c?.limits)?c.limits:[];if(d.length>0&&d[0]?.detail){let p=d[0].detail,g=we(p.limit),k=we(p.remaining),w=p.resetTime;g!==void 0&&k!==void 0&&(l.usedDailyBalance=Math.max(0,g-k),l.limitDaily=g),w&&(l.resetTime=new Date(w).toISOString())}let f=c?.usage;if(f){let p=we(f.limit),g=we(f.remaining),k=we(f.used),w=f.resetTime;p!==void 0&&(l.totalBalance=p,k!==void 0?l.usedBalance=k:g!==void 0&&(l.usedBalance=Math.max(0,p-g),l.remainingBalance=g)),w&&(l.resetTime7d=new Date(w).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},uf=class extends Ir{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=cf(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com",c={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:l}=await import("undici");c.dispatcher=new l(new URL(n).toString())}catch{}try{let l=await fetch(`https://${a}/v1/api/openplatform/coding_plan/remains`,c);if(!l.ok)return null;let d=await l.json();if(d?.base_resp){let b=d.base_resp.status_code;if(b!==void 0&&b!==0)return null}let f=Array.isArray(d?.model_remains)?d.model_remains:[];if(f.length===0)return null;let p=f[0],g={},k=we(p.current_interval_total_count),w=we(p.current_interval_usage_count),y=we(p.end_time);k!==void 0&&w!==void 0&&(g.usedDailyBalance=Math.max(0,k-w),g.limitDaily=k),y&&(g.resetTime=new Date(y).toISOString());let _=we(p.current_weekly_total_count),m=we(p.current_weekly_usage_count),v=we(p.weekly_end_time);return _!==void 0&&m!==void 0&&(g.usedBalance=Math.max(0,_-m),g.remainingBalance=m,g.totalBalance=_),v&&!g.resetTime&&(g.resetTime=new Date(v).toISOString()),this.hasQuotaData(g)?g:null}catch{return null}}},AD=new tf,vD=new rf,TD=new nf,DD=new of,RD=new sf,xD=new af,OD=new uf;function gu(t){let e=cf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?xD:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?OD:e==="deepseek.com"||e.endsWith(".deepseek.com")?AD:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?vD:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?TD:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?DD:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?RD:null:null}function PD(t){let e=cf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function cf(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function we(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let r=Number(e);return Number.isFinite(r)?r:void 0}var FD={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function ID(t){try{let e=new URL(t),r=e.pathname;return r.endsWith("/v1/messages")?r=r.slice(0,-12):r.endsWith("/messages")?r=r.slice(0,-9):r.endsWith("/v1/chat/completions")?r=r.slice(0,-20):r.endsWith("/chat/completions")&&(r=r.slice(0,-17)),r.endsWith("/v1")||(r=r.endsWith("/")?`${r}v1`:`${r}/v1`),e.pathname=`${r}/models`,e.toString()}catch{return null}}function BD(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function lf(t,e,r){let n=ID(t.baseUrl);if(!n)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(r)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(r).toString())}catch{}let s=await fetch(n,o);if(s.headers&&Lo(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}async function ND(t,e,r,n){let o=t.wakeupModel||(Array.isArray(t.models)?t.models[0]:void 0);if(!o)return{success:!1,error:"No models configured for provider"};let s=t.baseUrl.includes("anthropic")||o.includes("claude"),a=s?t.baseUrl.includes("/messages")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/v1/messages`:t.baseUrl.includes("/chat/completions")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/chat/completions`;try{let c={"Content-Type":"application/json"};s?(c["x-api-key"]=t.apiKey,c["anthropic-version"]="2023-06-01"):c.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:c,body:JSON.stringify({model:o,messages:[{role:"user",content:"ping"}],max_tokens:1}),signal:AbortSignal.timeout(e)};if(r)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(r).toString())}catch{}n?.info(`Sending scheduled wake-up call to provider ${t.name} using model ${o}...`);let d=await fetch(a,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(c){return{success:!1,error:c?.message||c?.toString()||"Unknown wake-up error"}}}var As=class{config;quotaProbeTimer;healthProbeTimer;wakeupTimer;lastWakeupDate=new Map;getProviders;getHttpsProxy;logger;getConfig;running=!1;constructor(e,r,n,o,s){this.config={...FD,...r},this.getProviders=e,this.getHttpsProxy=n,this.logger=o,this.getConfig=s}start(){!this.config.enabled||this.running||(this.running=!0,setTimeout(()=>{this.running&&(this.runQuotaProbe(),this.runHealthProbe(),this.runScheduledWakeup())},this.config.initialDelayMs),this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.wakeupTimer=setInterval(()=>this.runScheduledWakeup(),60*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.wakeupTimer&&(clearInterval(this.wakeupTimer),this.wakeupTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&a.enabled!==!1&&!this.config.excludeProviders.includes(a.name)),r=this.getHttpsProxy?.(),n=Xe();if(e.length===0)return;let o=[];for(let a of e){let c=gu(a.baseUrl),l=Array.isArray(a.models)?a.models:[];c&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:c.queryQuota(a,this.config.probeTimeoutMs,r).then(d=>{if(d){cu(a.name,d),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let f=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,p=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(f||p){let g=f?`Quota exhausted: 5h limit reached (${d.usedDailyBalance}/${d.limitDaily})`:`Quota exhausted: 7d balance depleted (${d.usedBalance}/${d.totalBalance})`;for(let k of l)n.forceOpen(a.name,k,g);this.logger?.warn?.(`${g} for ${a.name}, marked as unhealthy`)}else for(let g of l){let k=n.getState(a.name,g);k&&k.status==="open"&&k.lastError?.includes("Quota exhausted")&&(n.recover(a.name,g),this.logger?.info?.(`Quota recovered for ${a.name} (${g}), marked as healthy`))}}})}),BD(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:lf(a,this.config.probeTimeoutMs,r).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let c=s[a];if(c.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${c.reason}`)}}}async runHealthProbe(){let e=Xe(),r=this.getProviders().filter(s=>s?.name&&s.enabled!==!1&&!this.config.excludeProviders.includes(s.name)),n=this.getHttpsProxy?.();if(r.length===0)return;this.logger?.debug?.(`Running health probe for ${r.length} providers`);let o=await Promise.allSettled(r.map(s=>lf(s,this.config.probeTimeoutMs,n)));for(let s=0;s<r.length;s++){let a=r[s],c=o[s],l=Array.isArray(a.models)?a.models:[];if(c.status==="fulfilled"){let d=c.value;if(d.success){let f=0;for(let p of l){let g=e.getState(a.name,p);if(g&&g.status==="open"&&g.lastError?.includes("Quota exhausted")){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}e.recordSuccess(a.name,p),f++}f>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let f of l)e.recordFailure(a.name,f,d.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${d.error}`)}}else{for(let d of l)e.recordFailure(a.name,d,c.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${c.reason}`)}}}async runScheduledWakeup(){if(!(this.getConfig?this.getConfig("WAKEUP_ENABLED")===!0:!1))return;let r=this.getProviders().filter(d=>d?.name&&d.enabled!==!1&&d.wakeupEnabled===!0);if(r.length===0)return;let n=new Date,o=n.getHours(),s=n.getMinutes(),a=n.toISOString().split("T")[0],c=this.getHttpsProxy?.(),l=this.getConfig&&this.getConfig("WAKEUP_TIME")||"06:00";for(let d of r){let f=d.wakeupTime||l,[p,g]=f.split(":"),k=parseInt(p,10),w=parseInt(g,10);isNaN(k)||isNaN(w)||o===k&&s===w&&this.lastWakeupDate.get(d.name)!==a&&(this.lastWakeupDate.set(d.name,a),this.logger?.info?.(`Scheduled wake-up triggered for provider ${d.name} at ${f}`),ND(d,3e4,c,this.logger).then(y=>{y.success?this.logger?.info?.(`Successfully woke up provider ${d.name}`):this.logger?.error?.(`Failed to wake up provider ${d.name}: ${y.error}`)}).catch(y=>{this.logger?.error?.(`Error in wake-up task for ${d.name}: ${y}`)}))}}async probeProviderManually(e){let n=this.getProviders().find(c=>c.name===e);if(!n)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;if(n.enabled===!1)return this.logger?.warn?.(`Provider ${e} is disabled, skipping manual probe`),!1;let o=this.getHttpsProxy?.(),s=await lf(n,this.config.probeTimeoutMs,o),a=Array.isArray(n.models)?n.models:[];if(s.success)for(let c of a)Xe().recordSuccess(n.name,c);else for(let c of a)Xe().recordFailure(n.name,c,s.error);return s.success}},en=null;function df(t,e,r,n,o){return en||(en=new As(t,e,r,n,o)),en}function yu(t,e,r,n,o){let s=df(t,e,r,n,o);return s.start(),s}function _u(){en&&en.stop()}function u_(){en&&(en.stop(),en=null)}var ff=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,r={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:r.enabled!==!1,options:r})}async enablePlugin(e,r){let n=this.plugins.get(e),o=this.pluginInstances.get(e);if(!n||!o)throw new Error(`Plugin ${e} not found`);n.enabled&&await r.register(o.register,n.options)}async enablePlugins(e){for(let[r,n]of this.plugins)if(n.enabled)try{await this.enablePlugin(r,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${r}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,r){let n=this.plugins.get(e);n&&(n.enabled=r)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},hf=new ff;var __=Oe(h_(),1);var Dn=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
347
347
  `);this.buffer=n.pop()||"";for(let o of n){let s=this.processLine(o);s&&r.enqueue(s)}},flush:e=>{if(this.buffer.trim()){let r=[];this.processLine(this.buffer.trim(),r),r.forEach(n=>e.enqueue(n))}Object.keys(this.currentEvent).length>0&&e.enqueue(this.currentEvent)}})}processLine(e,r){if(!e.trim()){if(Object.keys(this.currentEvent).length>0){let n={...this.currentEvent};return this.currentEvent={},r?(r.push(n),null):n}return null}if(e.startsWith("event:"))this.currentEvent.event=e.slice(6).trim();else if(e.startsWith("data:")){let n=e.slice(5).trim();if(n==="[DONE]")this.currentEvent.data={type:"done"};else try{this.currentEvent.data=JSON.parse(n)}catch{this.currentEvent.data={raw:n,error:"JSON parse failed"}}}else e.startsWith("id:")?this.currentEvent.id=e.slice(3).trim():e.startsWith("retry:")&&(this.currentEvent.retry=parseInt(e.slice(6).trim()));return null}};var vs=class extends TransformStream{constructor(){super({transform:(e,r)=>{let n="";e.event&&(n+=`event: ${e.event}
348
348
  `),e.id&&(n+=`id: ${e.id}
349
349
  `),e.retry&&(n+=`retry: ${e.retry}
350
350
  `),e.data&&(e.data.type==="done"?n+=`data: [DONE]
351
351
  `:n+=`data: ${JSON.stringify(e.data)}
352
352
  `),n+=`
353
- `,r.enqueue(n)}})}};var gf=(t,e)=>{let r=t.getReader();return new ReadableStream({async start(n){try{for(;;){let{done:o,value:s}=await r.read();if(o){n.close();break}let a=await e(s,n);a!==void 0&&n.enqueue(a)}}catch(o){n.error(o)}finally{r.releaseLock()}}})};yf();_f();Cf();m_();var xs=new Map,Ef=new Map,$D=1,Af={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,__.default)(async(t,e)=>{let r={reporter:["console","temp-file"],...e},n=Array.isArray(r.reporter)?r.reporter:[r.reporter];if(r.outputHandlers&&r.outputHandlers.length>0)ko.registerHandlers(r.outputHandlers);else{let s=[];for(let a of n)a==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):a==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):a==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&ko.registerHandlers(s)}r.outputOptions&&ko.setDefaultOptions(r.outputOptions);let o=async s=>{let a=t.tokenizerService;if(!a)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let c=s.provider,l=s.model,f=`${c}:${l}`;if(Ef.has(f))return Ef.get(f);let d=a.getTokenizerConfigForModel(c,l);if(!d)return t.log?.debug(`No tokenizer config for ${c}:${l}, using fallback`),null;try{let p=await a.getTokenizer(d);return Ef.set(f,p),t.log?.info(`Created tokenizer for ${c}:${l} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${c}:${l}: ${p.message}`),null}};t.addHook("onRequest",async s=>{new URL(`http://127.0.0.1${s.url}`).pathname.endsWith("/v1/messages")&&(s.requestStartTime=performance.now())}),t.addHook("onSend",async(s,a,c)=>{let l=s.requestStartTime;if(!l)return;let f=s.id||Date.now().toString(),d;try{let _=s.body?.metadata?.user_id;if(_&&typeof _=="string")try{let y=JSON.parse(_);y.session_id&&(d=y.session_id)}catch{let y=_.match(/_session_([a-f0-9-]+)/i);d=y?y[1]:void 0}}catch{}if(!d)return;let p=await o(s);if(c instanceof ReadableStream){xs.set(f,{requestId:f,sessionId:d,startTime:l,lastTokenTime:l,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[_,y]=c.tee();return(async()=>{let v=null,b=async S=>{let D=xs.get(f);if(!D)return;let O=performance.now();if(S){let q=D.firstTokenTime?D.firstTokenTime-D.startTime:0,J=D.lastTokenTime-D.startTime;D.tokensPerSecond=g_(D.tokenCount,J,q)}else{let q=O-1e3;D.tokenTimestamps=D.tokenTimestamps.filter(J=>J>q),D.tokensPerSecond=D.tokenTimestamps.length}await y_(D,n,r.outputOptions,S).catch(q=>{t.log?.warn(`Failed to output streaming stats: ${q.message}`)})};try{let D=y.pipeThrough(new TextDecoderStream).pipeThrough(new Dn).getReader();for(v=setInterval(async()=>{xs.get(f)&&await b(!1)},1e3);;){let{done:O,value:q}=await D.read();if(O)break;let J=q,B=xs.get(f);if(!B)continue;let Y=performance.now();if(!B.firstTokenTime&&(J.event==="content_block_start"||J.event==="content_block_delta"||J.event==="text_block"||J.event==="content_block")&&(B.firstTokenTime=Y,B.timeToFirstToken=Math.round(Y-B.startTime)),J.event==="content_block_delta"&&J.data?.delta){let te=J.data.delta.type,Z="";if(te==="text_delta"?Z=J.data.delta.text||"":te==="input_json_delta"?Z=J.data.delta.partial_json||"":te==="thinking_delta"&&(Z=J.data.delta.thinking||""),Z){let ae=p&&p.encodeText?p.encodeText(Z).length:Os(Z);B.tokenCount+=ae,B.lastTokenTime=Y;for(let de=0;de<ae;de++)B.tokenTimestamps.push(Y)}}J.event==="message_stop"&&(v&&(clearInterval(v),v=null),await b(!0),xs.delete(f))}}catch(S){v&&clearInterval(v),S.name!=="AbortError"&&S.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${S.message}`)}})().catch(v=>{console.log(v),t.log?.warn(`Background stats processing failed: ${v.message}`)}),_}let g=performance.now(),A=0,E=!1;if(c&&typeof c=="string")try{let _=JSON.parse(c);if(typeof _.usage?.output_tokens=="number")A=_.usage.output_tokens,E=!0;else{let y=_.content??_.message?.content;if(y!==void 0)if(E=!0,p)Array.isArray(y)?A=y.reduce((m,v)=>{if(v.type==="text"){let b=v.text||"";return m+(p.encodeText?p.encodeText(b).length:Os(b))}return m},0):typeof y=="string"&&(A=p.encodeText?p.encodeText(y).length:Os(y));else{let m=Array.isArray(y)?y.map(v=>v.text).join(""):typeof y=="string"?y:"";A=Os(m)}}}catch{}if(E){let _=Math.round(g-l),y=g-l,m={requestId:f,sessionId:d,startTime:l,lastTokenTime:g,tokenCount:A,tokensPerSecond:g_(A,y),timeToFirstToken:_,stream:!1,tokenTimestamps:[]};await y_(m,n,r.outputOptions,!0)}return c})})};function g_(t,e,r=0){if(t<=0)return 0;let n=Math.max((e-r)/1e3,$D);return Math.round(t/n)}function Os(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function y_(t,e,r,n=!1){let o=n?"[Token Speed Final]":"[Token Speed]",s={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},a={prefix:o,metadata:{sessionId:t.sessionId},...r};for(let c of e)try{await ko.outputToType(c,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${c}:`,l)}}Hn();function qD(t={}){let e=(0,b_.default)({bodyLimit:52428800,...t});return e.setErrorHandler($h),e.register(C_.default),e}var Sf=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:r,...n}=e;this.app=qD({...n,logger:n.logger??!0}),this.configService=new fn(e),this.transformerService=new vn(this.configService,this.app.log),this.tokenizerService=new Tn(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new pn(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,r){await this.app.register(e,r)}addHook(e,r){this.app.addHook(e,r)}async registerNamespace(e,r){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async c=>{c.decorate("configService",this.configService),c.decorate("transformerService",this.transformerService),c.decorate("providerService",this.providerService),c.decorate("tokenizerService",this.tokenizerService),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await mu(l,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await dc(c)});return}if(!r)throw new Error("options is required");let n=new fn({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new vn(n,this.app.log);await o.initialize();let s=new pn(n,o,this.app.log),a=new Tn(n,this.app.log);await a.initialize(),await this.app.register(async c=>{c.decorate("configService",n),c.decorate("transformerService",o),c.decorate("providerService",s),c.decorate("tokenizerService",a),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await mu(l,f,{configService:n,tokenizerService:a})}),await dc(c)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(n,o,s)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body){let c=n.body;n.log.info({data:c,type:"request body"}),c.stream||(c.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(n,o)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body)try{let a=n.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let[c,...l]=a.model.split(",");a.model=l.join(","),n.provider=c,n.model=l;return}catch(a){return n.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);try{let n={enabled:this.configService.get("ACTIVE_PROBE_ENABLED")??!0,quotaProbeIntervalMinutes:this.configService.get("QUOTA_PROBE_INTERVAL_MINUTES")??10,probeTimeoutMs:this.configService.get("PROBE_TIMEOUT_MS")??15e3,initialDelayMs:this.configService.get("PROBE_INITIAL_DELAY_MS")??5e3,excludeProviders:this.configService.get("EXCLUDE_PROBE_PROVIDERS")??[]};this.activeProbeService=yu(()=>this.providerService.getProviders(),n,()=>this.configService.getHttpsProxy(),this.app.log)}catch(n){this.app.log.warn?.(`Failed to start active probe service: ${n.message}`)}let r=async n=>{this.app.log.info(`Received ${n}, shutting down gracefully...`);try{_u()}catch{}await this.app.close(),process.exit(0)};process.on("SIGINT",()=>r("SIGINT")),process.on("SIGTERM",()=>r("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},zD=Sf;0&&(module.exports={ActiveProbeService,ConfigService,ProviderHealthStore,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,getActiveProbeService,getAllQuotaResults,getAllRateLimitInfo,getHealthStore,getQuotaAdapter,getQuotaResult,getRateLimitInfo,getRuntimeDebugLog,initQuotaStorePersistence,initRateLimitPersistence,pluginManager,resetActiveProbeService,rewriteStream,router,searchProjectBySession,sessionUsageCache,setRuntimeDebugLog,startActiveProbe,stopActiveProbe,storeQuotaResult,tokenSpeedPlugin});
353
+ `,r.enqueue(n)}})}};var gf=(t,e)=>{let r=t.getReader();return new ReadableStream({async start(n){try{for(;;){let{done:o,value:s}=await r.read();if(o){n.close();break}let a=await e(s,n);a!==void 0&&n.enqueue(a)}}catch(o){n.error(o)}finally{r.releaseLock()}}})};yf();_f();Cf();m_();var xs=new Map,Ef=new Map,qD=1,kf={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,__.default)(async(t,e)=>{let r={reporter:["console","temp-file"],...e},n=Array.isArray(r.reporter)?r.reporter:[r.reporter];if(r.outputHandlers&&r.outputHandlers.length>0)Ao.registerHandlers(r.outputHandlers);else{let s=[];for(let a of n)a==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):a==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):a==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&Ao.registerHandlers(s)}r.outputOptions&&Ao.setDefaultOptions(r.outputOptions);let o=async s=>{let a=t.tokenizerService;if(!a)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let c=s.provider,l=s.model,d=`${c}:${l}`;if(Ef.has(d))return Ef.get(d);let f=a.getTokenizerConfigForModel(c,l);if(!f)return t.log?.debug(`No tokenizer config for ${c}:${l}, using fallback`),null;try{let p=await a.getTokenizer(f);return Ef.set(d,p),t.log?.info(`Created tokenizer for ${c}:${l} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${c}:${l}: ${p.message}`),null}};t.addHook("onRequest",async s=>{new URL(`http://127.0.0.1${s.url}`).pathname.endsWith("/v1/messages")&&(s.requestStartTime=performance.now())}),t.addHook("onSend",async(s,a,c)=>{let l=s.requestStartTime;if(!l)return;let d=s.id||Date.now().toString(),f;try{let y=s.body?.metadata?.user_id;if(y&&typeof y=="string")try{let _=JSON.parse(y);_.session_id&&(f=_.session_id)}catch{let _=y.match(/_session_([a-f0-9-]+)/i);f=_?_[1]:void 0}}catch{}if(!f)return;let p=await o(s);if(c instanceof ReadableStream){xs.set(d,{requestId:d,sessionId:f,startTime:l,lastTokenTime:l,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[y,_]=c.tee();return(async()=>{let v=null,b=async S=>{let D=xs.get(d);if(!D)return;let O=performance.now();if(S){let q=D.firstTokenTime?D.firstTokenTime-D.startTime:0,J=D.lastTokenTime-D.startTime;D.tokensPerSecond=g_(D.tokenCount,J,q)}else{let q=O-1e3;D.tokenTimestamps=D.tokenTimestamps.filter(J=>J>q),D.tokensPerSecond=D.tokenTimestamps.length}await y_(D,n,r.outputOptions,S).catch(q=>{t.log?.warn(`Failed to output streaming stats: ${q.message}`)})};try{let D=_.pipeThrough(new TextDecoderStream).pipeThrough(new Dn).getReader();for(v=setInterval(async()=>{xs.get(d)&&await b(!1)},1e3);;){let{done:O,value:q}=await D.read();if(O)break;let J=q,B=xs.get(d);if(!B)continue;let Y=performance.now();if(!B.firstTokenTime&&(J.event==="content_block_start"||J.event==="content_block_delta"||J.event==="text_block"||J.event==="content_block")&&(B.firstTokenTime=Y,B.timeToFirstToken=Math.round(Y-B.startTime)),J.event==="content_block_delta"&&J.data?.delta){let te=J.data.delta.type,Z="";if(te==="text_delta"?Z=J.data.delta.text||"":te==="input_json_delta"?Z=J.data.delta.partial_json||"":te==="thinking_delta"&&(Z=J.data.delta.thinking||""),Z){let ae=p&&p.encodeText?p.encodeText(Z).length:Os(Z);B.tokenCount+=ae,B.lastTokenTime=Y;for(let de=0;de<ae;de++)B.tokenTimestamps.push(Y)}}J.event==="message_stop"&&(v&&(clearInterval(v),v=null),await b(!0),xs.delete(d))}}catch(S){v&&clearInterval(v),S.name!=="AbortError"&&S.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${S.message}`)}})().catch(v=>{console.log(v),t.log?.warn(`Background stats processing failed: ${v.message}`)}),y}let g=performance.now(),k=0,w=!1;if(c&&typeof c=="string")try{let y=JSON.parse(c);if(typeof y.usage?.output_tokens=="number")k=y.usage.output_tokens,w=!0;else{let _=y.content??y.message?.content;if(_!==void 0)if(w=!0,p)Array.isArray(_)?k=_.reduce((m,v)=>{if(v.type==="text"){let b=v.text||"";return m+(p.encodeText?p.encodeText(b).length:Os(b))}return m},0):typeof _=="string"&&(k=p.encodeText?p.encodeText(_).length:Os(_));else{let m=Array.isArray(_)?_.map(v=>v.text).join(""):typeof _=="string"?_:"";k=Os(m)}}}catch{}if(w){let y=Math.round(g-l),_=g-l,m={requestId:d,sessionId:f,startTime:l,lastTokenTime:g,tokenCount:k,tokensPerSecond:g_(k,_),timeToFirstToken:y,stream:!1,tokenTimestamps:[]};await y_(m,n,r.outputOptions,!0)}return c})})};function g_(t,e,r=0){if(t<=0)return 0;let n=Math.max((e-r)/1e3,qD);return Math.round(t/n)}function Os(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function y_(t,e,r,n=!1){let o=n?"[Token Speed Final]":"[Token Speed]",s={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},a={prefix:o,metadata:{sessionId:t.sessionId},...r};for(let c of e)try{await Ao.outputToType(c,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${c}:`,l)}}Hn();function zD(t={}){let e=(0,b_.default)({bodyLimit:52428800,...t});return e.setErrorHandler($h),e.register(C_.default),e}var Sf=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:r,...n}=e;this.app=zD({...n,logger:n.logger??!0}),this.configService=new fn(e),this.transformerService=new vn(this.configService,this.app.log),this.tokenizerService=new Tn(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new pn(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,r){await this.app.register(e,r)}addHook(e,r){this.app.addHook(e,r)}async registerNamespace(e,r){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async c=>{c.decorate("configService",this.configService),c.decorate("transformerService",this.transformerService),c.decorate("providerService",this.providerService),c.decorate("tokenizerService",this.tokenizerService),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await mu(l,d,{configService:this.configService,tokenizerService:this.tokenizerService})}),await dc(c)});return}if(!r)throw new Error("options is required");let n=new fn({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new vn(n,this.app.log);await o.initialize();let s=new pn(n,o,this.app.log),a=new Tn(n,this.app.log);await a.initialize(),await this.app.register(async c=>{c.decorate("configService",n),c.decorate("transformerService",o),c.decorate("providerService",s),c.decorate("tokenizerService",a),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await mu(l,d,{configService:n,tokenizerService:a})}),await dc(c)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(n,o,s)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body){let c=n.body;n.log.info({data:c,type:"request body"}),c.stream||(c.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(n,o)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body)try{let a=n.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let[c,...l]=a.model.split(",");a.model=l.join(","),n.provider=c,n.model=l;return}catch(a){return n.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);try{let n={enabled:this.configService.get("ACTIVE_PROBE_ENABLED")??!0,quotaProbeIntervalMinutes:this.configService.get("QUOTA_PROBE_INTERVAL_MINUTES")??10,probeTimeoutMs:this.configService.get("PROBE_TIMEOUT_MS")??15e3,initialDelayMs:this.configService.get("PROBE_INITIAL_DELAY_MS")??5e3,excludeProviders:this.configService.get("EXCLUDE_PROBE_PROVIDERS")??[]};this.activeProbeService=yu(()=>this.providerService.getProviders(),n,()=>this.configService.getHttpsProxy(),this.app.log,o=>this.configService.get(o))}catch(n){this.app.log.warn?.(`Failed to start active probe service: ${n.message}`)}let r=async n=>{this.app.log.info(`Received ${n}, shutting down gracefully...`);try{_u()}catch{}await this.app.close(),process.exit(0)};process.on("SIGINT",()=>r("SIGINT")),process.on("SIGTERM",()=>r("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},HD=Sf;0&&(module.exports={ActiveProbeService,ConfigService,ProviderHealthStore,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,getActiveProbeService,getAllQuotaResults,getAllRateLimitInfo,getHealthStore,getQuotaAdapter,getQuotaResult,getRateLimitInfo,getRuntimeDebugLog,initQuotaStorePersistence,initRateLimitPersistence,pluginManager,resetActiveProbeService,rewriteStream,router,searchProjectBySession,sessionUsageCache,setRuntimeDebugLog,startActiveProbe,stopActiveProbe,storeQuotaResult,tokenSpeedPlugin});
354
354
  /*! Bundled license information:
355
355
 
356
356
  web-streams-polyfill/dist/ponyfill.es2018.js: