@fz-firefly/web 0.0.0-stage → 0.2.1

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.
@@ -0,0 +1,5 @@
1
+ var Firefly=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){"@babel/helpers - typeof";return t=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},t(e)}function n(e,n){if(t(e)!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||`default`);if(t(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function r(e){var r=n(e,`string`);return t(r)==`symbol`?r:r+``}function i(e,t,n){return(t=r(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var a=class{constructor(e){this.max=e,i(this,`items`,[]),i(this,`dropped`,0)}add(e){if(this.items.push(e),this.items.length>this.max){let e=this.items.length-this.max;this.items.splice(0,e),this.dropped+=e}}snapshot(){return[...this.items]}stats(){return{size:this.items.length,max:this.max,dropped:this.dropped}}};function o(){let e=typeof globalThis>`u`?void 0:globalThis.crypto;return typeof(e==null?void 0:e.randomUUID)==`function`?e.randomUUID():`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?s(Object(n),!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var l=class{constructor(){i(this,`id`,o()),i(this,`path`,void 0),i(this,`startedAt`,Date.now()),i(this,`seq`,0),i(this,`meta`,{})}start(e,t={}){return this.id=o(),this.path=e,this.startedAt=Date.now(),this.seq=0,this.meta=c({},t),this.info()}nextSeq(){return this.seq+=1,this.seq}get elapsedMs(){return Math.max(0,Date.now()-this.startedAt)}info(){return{id:this.id,path:this.path,startedAt:this.startedAt,seq:this.seq,meta:c({},this.meta)}}context(){return c(c(c({},this.meta),{},{session_id:this.id},this.path?{path:this.path}:{}),{},{started_at:new Date(this.startedAt).toISOString()})}};function u(e,t){if(e.length<=t)return{value:e,truncated:!1};if(t<=15)return{value:e.slice(0,t),truncated:!0};let n=Math.min(256,Math.floor(t/4)),r=Math.max(0,t-n-15);return{value:`${e.slice(0,r)}
2
+ …[truncated]…
3
+ ${e.slice(-n)}`,truncated:!0}}var d=class{constructor(e,t=1024){this.max=e,this.maxBodyChars=t,i(this,`items`,[]),i(this,`total`,0),i(this,`failed`,0)}add(e){this.total+=1,e.ok||(this.failed+=1),this.items.push(this.compact(e)),this.items.length>this.max&&this.items.splice(0,this.items.length-this.max)}clear(){this.items=[],this.total=0,this.failed=0}snapshot(){return{items:[...this.items],total:this.total,failed:this.failed}}compact(e){let t=f(e.request_body,this.maxBodyChars),n=f(e.response_body,this.maxBodyChars);return c(c(c({},e),e.request_body===void 0?{}:{request_body:t.value,request_body_truncated:e.request_body_truncated||t.truncated}),e.response_body===void 0?{}:{response_body:n.value,response_body_truncated:e.response_body_truncated||n.truncated})}};function f(e,t){if(e===void 0)return{value:e,truncated:!1};if(typeof e==`string`)return u(e,t);try{let n=JSON.stringify(e);return!n||n.length<=t?{value:e,truncated:!1}:{value:u(n,t).value,truncated:!0}}catch(e){return{value:`[Unserializable]`,truncated:!0}}}let p=16384,m=2048,h=1e4;function g(e,t){return e.length<=t?e:e.slice(0,t)}function _(e,t){return e===void 0?void 0:g(e,t)}function v(e){return c(c({},e),{},{filename:g(e.filename,m),abs_path:_(e.abs_path,m),function:_(e.function,512)})}function y(e){return e.length<=100?e.map(v):[...e.slice(0,50),...e.slice(-50)].map(v)}function b(e){return c(c({},e),{},{type:g(e.type,32),category:_(e.category,64),session_id:_(e.session_id,64),message:_(e.message,512)})}function x(e){return Number.isFinite(e)?Math.min(Math.max(1,Math.floor(e)),h):1}function S(e){let t=c(c({},e),{},{occurrences:x(e.occurrences),release:_(e.release,128),dist:_(e.dist,128),breadcrumbs:e.breadcrumbs.slice(-50).map(b),url:_(e.url,m),route:_(e.route,512),user:e.user?{id:_(e.user.id,256),anonymous_id:_(e.user.anonymous_id,256)}:void 0});if(t.type===`error`){let e=t.exception,n=e.stacktrace?{frames:y(e.stacktrace.frames)}:void 0;return c(c({},t),{},{message:_(t.message,p),exception:c(c({},e),{},{type:g(e.type,256),value:_(e.value,p)},n?{stacktrace:n}:{})})}return t.type===`message`?t.message.trim()===``?null:c(c({},t),{},{message:g(t.message,p)}):t.type===`track`?t.event_name.trim()===``?null:c(c({},t),{},{event_name:g(t.event_name,128)}):t}let C=5e3,w=3e5;function T(e){var t,n,r,i,a,o,s,l;if(!e.dsn)throw Error(`Firefly: dsn 不能为空,请在后台项目设置中获取`);if(!e.endpoint)throw Error(`Firefly: endpoint 不能为空,请填写服务端地址`);if(!e.environment)throw Error(`Firefly: environment 不能为空,请传入构建环境`);return c(c({},e),{},{flushIntervalMs:(t=e.flushIntervalMs)==null?5e3:t,maxQueueSize:(n=e.maxQueueSize)==null?100:n,maxBreadcrumbs:Number.isFinite(e.maxBreadcrumbs)?Math.min(Math.max(0,Math.floor(e.maxBreadcrumbs)),50):50,maxRequestLog:(r=e.maxRequestLog)==null?30:r,slowRequestThresholdMs:(i=e.slowRequestThresholdMs)==null?1e3:i,maxHttpResponseChars:(a=e.maxHttpResponseChars)==null?4096:a,maxRetries:(o=e.maxRetries)==null?5:o,retryBaseDelayMs:(s=e.retryBaseDelayMs)==null?C:s,retryMaxDelayMs:(l=e.retryMaxDelayMs)==null?w:l})}let E=`firefly:queue`;function D(e){let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r<128)t+=1;else if(r<2048)t+=2;else if(r>=55296&&r<=56319){let r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=4,n+=1):t+=3}else t+=3}return t}var ee=class{constructor(e){var t,n,r,a,o;this.deps=e,i(this,`items`,[]),i(this,`retryAttempt`,0),i(this,`nextRetryAt`,0),i(this,`flushPromise`,null),i(this,`maxRetries`,void 0),i(this,`retryBaseDelayMs`,void 0),i(this,`retryMaxDelayMs`,void 0),i(this,`now`,void 0),i(this,`random`,void 0),this.maxRetries=(t=e.maxRetries)==null?5:t,this.retryBaseDelayMs=(n=e.retryBaseDelayMs)==null?C:n,this.retryMaxDelayMs=(r=e.retryMaxDelayMs)==null?w:r,this.now=(a=e.now)==null?Date.now:a,this.random=(o=e.random)==null?Math.random:o,this.restore()}get size(){return this.items.length}enqueue(e){this.deps.maxQueueSize>0&&this.items.length>=this.deps.maxQueueSize&&this.items.shift(),this.items.push(e),this.persist()}flush(e={}){if(this.flushPromise)return this.flushPromise.then(()=>this.flush(e),()=>this.flush(e));let t=this.flushInternal(e).then(()=>{this.flushPromise=null},e=>{throw this.flushPromise=null,e});return this.flushPromise=t,t}async flushInternal(e){let t=this.now();if(t<this.nextRetryAt)return;let n=50;for(;this.items.length>0;){let a;try{a=this.buildBatch(n)}catch(e){let t=this.items[0];if(!t)return;this.removeItems([t]),this.reportError(e);continue}if(a)try{let t=!1;if(e.beacon&&this.deps.transport.sendBeacon)try{t=this.deps.transport.sendBeacon(a.body,this.deps.dsn)}catch(e){t=!1}if(!t){let t=e.keepalive===!0&&D(a.body)<=61440;await this.deps.transport.send(a.body,this.deps.dsn,t?{keepalive:!0}:void 0)}this.retryAttempt=0,this.nextRetryAt=0,this.removeItems(a.items)}catch(e){var r,i;let o=e;if(o.statusCode===413){if(a.items.length>1){n=Math.max(1,Math.floor(a.items.length/2));continue}this.reportError(e),this.removeItems(a.items),this.retryAttempt=0,this.nextRetryAt=0;continue}if(this.reportError(e),!((r=o.retryable)==null||r)){this.removeItems(a.items),(o.statusCode===401||o.statusCode===403)&&(this.items=[],this.persist()),this.retryAttempt=0,this.nextRetryAt=0;return}if(this.retryAttempt+=1,this.retryAttempt>this.maxRetries){this.removeItems(a.items),this.retryAttempt=0,this.nextRetryAt=0;return}let s=(i=o.retryAfterMs)==null?this.retryBaseDelayMs*2**(this.retryAttempt-1):i,c=Math.min(s,this.retryMaxDelayMs);this.nextRetryAt=t+c+c*.2*this.random();return}else{let e=this.items[0];if(!e)return;this.removeItems([e]),this.reportError(/* @__PURE__ */ Error(`Firefly: 单条事件超过信封上限,已丢弃`))}}}buildBatch(e){let t=Math.min(e,50,this.items.length);if(t<=0)return null;let n=1,r=t,i=null;for(;n<=r;){let e=Math.floor((n+r)/2),t=this.items.slice(0,e),a=this.deps.buildEnvelope(t);D(a)<=262144?(i={items:t,body:a},n=e+1):r=e-1}return i}removeItems(e){if(e.length===0)return;let t=new Set(e);this.items=this.items.filter(e=>!t.has(e)),this.persist()}reportError(e){try{var t,n;(t=(n=this.deps).onError)==null||t.call(n,e)}catch(e){}}persist(){try{this.items.length===0?this.deps.storage.remove(E):this.deps.storage.set(E,JSON.stringify(this.items))}catch(e){}}restore(){try{let e=this.deps.storage.get(E);if(!e)return;let t=JSON.parse(e);if(!Array.isArray(t))return;let n=this.deps.maxQueueSize>0?this.deps.maxQueueSize:t.length;this.items=t.slice(-n)}catch(e){}}},O=class{constructor(){i(this,`user`,null),i(this,`tags`,{}),i(this,`contexts`,{})}setUser(e){this.user=e}setTag(e,t){this.tags[e]=t}setContext(e,t){this.contexts[e]=t}mergeContext(e,t){var n;this.contexts[e]=c(c({},(n=this.contexts[e])==null?{}:n),t)}},te=class{constructor(e=5e3,t=Date.now){this.windowMs=e,this.clock=t,i(this,`entries`,/* @__PURE__ */ new Map)}register(e,t){let n=this.clock(),r=this.entries.get(t);return r&&n-r.at<this.windowMs?{added:!1,existing:r.item}:(this.entries.set(t,{item:e,at:n}),this.prune(n),{added:!0})}prune(e){if(!(this.entries.size<500))for(let[t,n]of this.entries)e-n.at>=this.windowMs&&this.entries.delete(t)}};let k=`firefly_anonymous_id`;function ne(e){try{let t=e.get(k);if(t)return t}catch(e){}let t=`anon_${o()}`;try{e.set(k,t)}catch(e){}return t}function re(e,t){let n={};for(let[t,r]of Object.entries(e))r&&typeof r==`object`&&!Array.isArray(r)&&(n[t]=r);for(let[e,i]of Object.entries(t)){var r;n[e]=c(c({},(r=n[e])==null?{}:r),i)}return n}function A(e,t){return e.length<=t?e:`${e.slice(0,t)}…`}function j(e,t){let n=new O,r=new a(e.maxBreadcrumbs),i=new l,s=new d(e.maxRequestLog,Math.min(e.maxHttpResponseChars,1024)),u=new te,f=ne(t.storage),p=new ee({storage:t.storage,transport:t.transport,dsn:e.dsn,maxQueueSize:e.maxQueueSize,maxRetries:e.maxRetries,retryBaseDelayMs:e.retryBaseDelayMs,retryMaxDelayMs:e.retryMaxDelayMs,onError:e.onError,buildEnvelope:e=>JSON.stringify({sdk:{name:`@fz-firefly/core`,version:`0.2.0`},sent_at:(/* @__PURE__ */ new Date()).toISOString(),items:e})}),m=null;if(e.flushIntervalMs>0){var g;m=setInterval(()=>{p.flush()},e.flushIntervalMs),(g=m.unref)==null||g.call(m)}function _(e){var t,r;let i=(t=e==null?n.user:e)==null?{}:t;return c(c({},i),{},{anonymous_id:(r=i.anonymous_id)==null?f:r})}function v(e){try{let t=i.info();r.add(c(c(c(c({},e),e.session_id?{}:{session_id:t.id}),e.seq===void 0?{seq:i.nextSeq()}:{}),e.t_rel_ms===void 0?{t_rel_ms:i.elapsedMs}:{}))}catch(e){}}function y(e){if(e.type===`error`)try{let t=e.exception,n=t.value?A(t.value,200):``;v({type:`exception`,level:e.level,timestamp:Date.now(),message:n?`${t.type}: ${n}`:t.type,data:c({type:t.type},n?{value:n}:{})})}catch(e){}}function b(e,t={}){let r=i.start(e,t);return s.clear(),n.setContext(`page`,i.context()),r}function x(e){try{var t;s.add(c(c({},e),{},{session_id:(t=e.session_id)==null?i.info().id:t}))}catch(e){}}function C(e=!1,i={}){let a=re(t.context.collect(),n.contexts),o=r.stats();if(a.breadcrumb_stats={size:o.size,max:o.max,dropped:o.dropped},e){let e=s.snapshot();e.total>0&&(a.requests={items:e.items,total:e.total,failed:e.failed})}for(let[e,t]of Object.entries(i)){var l;a[e]=c(c({},(l=a[e])==null?{}:l),t)}return a}function w(i=!1){var a,s,l,u,d,p,m;return{event_id:o(),occurrences:1,timestamp:(/* @__PURE__ */ new Date()).toISOString(),platform:t.context.platform,environment:e.environment,release:e.release,dist:e.dist,breadcrumbs:r.snapshot(),contexts:C(i),tags:c({},n.tags),user:c(c({},(a=n.user)==null?{}:a),{},{anonymous_id:(s=(l=n.user)==null?void 0:l.anonymous_id)==null?f:s}),url:(u=(d=t.context).pageUrl)==null?void 0:u.call(d),route:(p=(m=t.context).pageRoute)==null?void 0:p.call(m)}}function T(e){if(e instanceof Error)return{type:e.name||`Error`,value:e.message,stacktrace:E(e.stack)};if(typeof e==`string`)return{type:`Error`,value:e};try{return{type:`Error`,value:JSON.stringify(e)}}catch(t){return{type:`Error`,value:String(e)}}}function E(e){if(!e)return;let t=[];for(let n of e.split(/\r?\n/)){let e=n.match(/^\s*at\s+(?:(.*?)\s+\()?(.*?):(\d+)(?::(\d+))?\)?\s*$/);if(e){let[,n,r,i,a]=e;t.push(D(n,r,i,a));continue}let r=n.match(/^(.*?)@(.*?):(\d+)(?::(\d+))?$/);if(r){let[,e,n,i,a]=r;t.push(D(e,n,i,a))}}return t.length>0?{frames:t}:void 0}function D(e,t,n,r){let i=t||`<unknown>`;return c(c({filename:i,function:e&&e.trim()||void 0,lineno:Number(n)},r?{colno:Number(r)}:{}),{},{in_app:!i.includes(`node_modules`)})}function k(e){var t,n,r,i,a;if(e.type!==`error`)return`${e.type}:${e.event_id}`;let o=((t=(n=e.exception.stacktrace)==null?void 0:n.frames)==null?[]:t).find(e=>e.in_app);return`${e.exception.type}|${(r=e.exception.value)==null?``:r}|${(i=o==null?void 0:o.function)==null?``:i}@${(a=o==null?void 0:o.filename)==null?``:a}`}function j(t){let n=S(t);if(!n)return null;let r=e.beforeSend?e.beforeSend(n):n;return r?S(r):null}function M(e){let t=j(e);return t&&p.enqueue(t),t}return{captureException(e,t={}){try{var r,i,a;let o=j(c(c({},w(!0)),{},{type:`error`,category:`code`,level:(r=t.level)==null?`error`:r,message:e instanceof Error?e.message:String(e),exception:T(e),contexts:C(!0,(i=t.contexts)==null?{}:i),tags:c(c({},n.tags),(a=t.tags)==null?{}:a),user:_(t.user)}));if(!o)return``;let s=u.register(o,k(o));return!s.added&&s.existing?(s.existing.occurrences=Math.min(s.existing.occurrences+1,h),s.existing.event_id):(p.enqueue(o),y(o),o.event_id)}catch(e){return``}},captureMessage(e,t=`info`,r={}){try{var i,a,o,s,l;let u=M(c(c({},w(!0)),{},{type:`message`,category:`interface`,level:(i=r.level)==null?t:i,source:(a=r.source)==null?`message`:a,message:e,contexts:C(!0,(o=r.contexts)==null?{}:o),tags:c(c({},n.tags),(s=r.tags)==null?{}:s),user:_(r.user)}));return(l=u==null?void 0:u.event_id)==null?``:l}catch(e){return``}},track(e,t={}){try{M(c(c({},w(!1)),{},{type:`track`,event_name:e,properties:t}))}catch(e){}},startPageSession:b,recordRequest:x,addBreadcrumb(e){v(e)},setUser(e){n.setUser(e)},setTag(e,t){n.setTag(e,t)},setContext(e,t){n.setContext(e,t)},async flush(e){try{await p.flush(e)}catch(e){}},close(){m&&(clearInterval(m),m=null)}}}var M=class extends Error{constructor(e,t={}){var n;super(e),i(this,`statusCode`,void 0),i(this,`retryable`,void 0),i(this,`retryAfterMs`,void 0),i(this,`cause`,void 0),this.name=`FireflyTransportError`,this.statusCode=t.statusCode,this.retryable=(n=t.retryable)==null?ie(t.statusCode):n,this.retryAfterMs=t.retryAfterMs,this.cause=t.cause}};function ie(e){return e===void 0||e===0||e===408||e===425||e===429||e>=500}function ae(e){if(!e)return;let t=Number(e);if(Number.isFinite(t))return Math.max(0,t*1e3);let n=Date.parse(e);if(Number.isFinite(n))return Math.max(0,n-Date.now())}let N=1024;function P(e){if(e===void 0)return{value:e,truncated:!1};if(typeof e==`string`)return u(e,N);try{let t=JSON.stringify(e);return!t||t.length<=N?{value:e,truncated:!1}:{value:u(t,N).value,truncated:!0}}catch(e){return{value:`[Unserializable]`,truncated:!0}}}function F(e,t){var n,r;let i=(n=t.ok)==null?t.statusCode>=200&&t.statusCode<400:n,a=t.statusCode>0?String(t.statusCode):`NETWORK`,o=P(t.requestBody),s=P(t.responseBody),l=t.requestBodyTruncated||o.truncated,u=t.responseBodyTruncated||s.truncated,d=c(c(c(c(c(c(c(c({method:t.method,url:t.url,status_code:t.statusCode,duration_ms:t.durationMs,ok:i,phase:`end`},t.requestId?{request_id:t.requestId}:{}),t.responseSize===void 0?{}:{response_size:t.responseSize}),t.requestBody===void 0?{}:{request_body:o.value}),l?{request_body_truncated:!0}:{}),t.responseBody===void 0?{}:{response_body:s.value}),u?{response_body_truncated:!0}:{}),t.responseHeaders?{response_headers:t.responseHeaders}:{}),t.error?{error:t.error}:{});try{var f;(f=e.recordRequest)==null||f.call(e,c(c(c(c(c(c(c(c({method:t.method,url:t.url,status_code:t.statusCode,duration_ms:t.durationMs,ok:i,category:t.category},t.startedAt===void 0?{}:{started_at:new Date(t.startedAt).toISOString()}),t.requestId?{request_id:t.requestId}:{}),t.responseSize===void 0?{}:{response_size:t.responseSize}),t.requestBody===void 0?{}:{request_body:o.value}),l?{request_body_truncated:!0}:{}),t.responseBody===void 0?{}:{response_body:s.value}),u?{response_body_truncated:!0}:{}),t.error?{error:t.error}:{}))}catch(e){}let p=t.durationMs>=((r=t.slowThresholdMs)==null?1e3:r);if(!i||p)try{e.addBreadcrumb({type:`http`,category:t.category,level:i?`warning`:`error`,timestamp:Date.now(),message:`${t.method} ${t.url} -> ${a}${i?` (${t.durationMs}ms)`:``}`,data:d})}catch(e){}if(!i)try{e.captureMessage(`HTTP ${a} ${t.method} ${t.url}`,`error`,{source:`http`,tags:{source:`http`,http_method:t.method,http_status:t.statusCode},contexts:{http:d}})}catch(e){}}function oe(e,t){F(e,c(c({},t),{},{ok:!1}))}let se=[`password`,`passwd`,`pwd`,`token`,`accesstoken`,`refreshtoken`,`idtoken`,`authtoken`,`jwt`,`authorization`,`cookie`,`setcookie`,`secret`,`clientsecret`,`apikey`,`session`,`sessionid`,`csrf`,`creditcard`,`cardnumber`,`cvv`,`idcard`,`phone`,`mobile`,`email`];function I(e){return e.toLowerCase().replace(/[_\-\s]/g,``)}function ce(e,t){return t.has(I(e))}function L(e,t,n){if(n>6)return`[MAX_DEPTH]`;if(Array.isArray(e))return e.map(e=>L(e,t,n+1));if(!e||typeof e!=`object`||Object.prototype.toString.call(e)!==`[object Object]`)return e;let r={};for(let[i,a]of Object.entries(e))r[i]=ce(i,t)?`[REDACTED]`:L(a,t,n+1);return r}function le(e){let t=e.toLowerCase();return t.includes(`application/json`)||t.includes(`+json`)}function ue(e){try{return JSON.parse(e)}catch(e){return}}function R(e){try{return decodeURIComponent(e.replace(/\+/g,` `))}catch(t){return e}}function de(e){let t={};for(let n of e.split(`&`)){if(!n)continue;let e=n.indexOf(`=`),r=e===-1?n:n.slice(0,e),i=e===-1?``:n.slice(e+1);t[R(r)]=R(i)}return t}function fe(e,t){if(e!=null){if(typeof e==`string`){let n=e.trim();return n?le(t)||/^[[{]/.test(n)?ue(n):t.toLowerCase().includes(`application/x-www-form-urlencoded`)?de(e):void 0:void 0}if(typeof URLSearchParams<`u`&&e instanceof URLSearchParams){let t={};return e.forEach((e,n)=>{t[n]=e}),t}if(typeof FormData<`u`&&e instanceof FormData){let t={};return e.forEach((e,n)=>{t[n]=typeof e==`string`?e:{file:e.name,size:e.size,type:e.type}}),t}if(typeof Blob<`u`&&e instanceof Blob)return{type:e.type,size:e.size};if(typeof ArrayBuffer<`u`&&e instanceof ArrayBuffer)return{type:`ArrayBuffer`,byteLength:e.byteLength};if(typeof ArrayBuffer<`u`&&ArrayBuffer.isView(e))return{type:e.constructor.name,byteLength:e.byteLength};if(!(typeof ReadableStream<`u`&&e instanceof ReadableStream)&&typeof e==`object`)return e}}function z(e,t,n={}){var r;let i=fe(e,t==null?``:t);if(i===void 0)return;let a=L(i,new Set([...se,...(r=n.redactKeys)==null?[]:r].map(I)),0),o;try{o=JSON.stringify(a)}catch(e){return}if(!o)return;let s=n.maxChars&&n.maxChars>0?n.maxChars:4096;return o.length<=s?{value:a,truncated:!1}:{value:o.slice(0,s),truncated:!0}}function B(e){let t=e.toLowerCase();return t===``||t.startsWith(`text/`)||t.includes(`json`)||t.includes(`xml`)||t.includes(`javascript`)||t.includes(`x-www-form-urlencoded`)}function V(e,t,n={}){let r=z(e,t,n);if(r)return r;if(typeof e!=`string`||!B(t==null?``:t))return;let i=e.trim();if(!i)return;let a=n.maxChars&&n.maxChars>0?n.maxChars:4096;return i.length<=a?{value:i,truncated:!1}:{value:i.slice(0,a),truncated:!0}}function H(e){try{return new URL(e,`http://localhost`).pathname.includes(`/api/ingest/`)}catch(t){return e.includes(`/api/ingest/`)}}function U(e){if(typeof e==`string`)return e.length<=120?e:`${e.slice(0,120)}…`;if(e instanceof Error)return`${e.name}: ${e.message}`.slice(0,120);if(e===null)return`null`;if(e===void 0)return`undefined`;if(typeof e==`function`)return`[Function ${e.name||`anonymous`}]`;if(typeof e==`bigint`||typeof e==`symbol`)return String(e);if(typeof e==`object`)try{let t=JSON.stringify(e);return t?t.length<=120?t:`${t.slice(0,120)}…`:String(e)}catch(t){return Object.prototype.toString.call(e)}return String(e).slice(0,120)}function pe(e){let t=e.slice(0,5).map(U).filter(e=>e.length>0).join(` `);return t.length<=300?t:`${t.slice(0,300)}…`}function me(e,t={}){if(t.captureConsole===!1||typeof console>`u`)return()=>{};let n=console.error,r=console.warn,i=t=>{let i=t===`error`?n:r;return function(...n){try{let r=pe(n);e.addBreadcrumb({type:`console`,category:t,level:t===`error`?`error`:`warning`,timestamp:Date.now(),message:r?`console.${t}: ${r}`:`console.${t}`,data:{logger:t,args:n.slice(0,5).map(U)}})}catch(e){}i.apply(this,n)}},a=i(`error`),o=i(`warn`);try{console.error=a,console.warn=o}catch(e){return()=>{}}return()=>{console.error===a&&(console.error=n),console.warn===o&&(console.warn=r)}}function W(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)}function he(e){var t;let n=(t=e.getAttribute(`data-testid`))==null?e.getAttribute(`data-test`):t;if(n)return`[data-testid="${n.replace(/"/g,`\\"`)}"]`;if(e.id)return`#${W(e.id)}`;let r=e.tagName.toLowerCase(),i=Array.from(e.classList).slice(0,2);return i.length===0?r:`${r}.${i.map(W).join(`.`)}`}function ge(e){var t,n,r,i;let a=((t=(n=(r=(i=e.getAttribute(`aria-label`))==null?e.getAttribute(`title`):i)==null?e.getAttribute(`placeholder`):r)==null?e.textContent:n)==null?``:t).replace(/\s+/g,` `).trim();if(a)return a.length>60?`${a.slice(0,60)}…`:a}function _e(e){let t={selector:he(e),tag:e.tagName.toLowerCase()},n=ge(e);n&&(t.text=n),e.id&&(t.id=e.id),e.classList.length>0&&(t.classes=Array.from(e.classList).slice(0,4));for(let[n,r]of[[`role`,`role`],[`aria_label`,`aria-label`],[`name`,`name`],[`type`,`type`]]){let i=e.getAttribute(r);i&&(t[n]=i)}if(e.tagName===`A`){let n=e.getAttribute(`href`);n&&(t.href=n)}return t}function ve(e){if(typeof document>`u`)return()=>{};let t=t=>{let n=t.target;if(n instanceof Element&&n!==document.documentElement&&n!==document.body)try{var r;let t=_e((r=n.closest(`button, a, [role="button"], input, select, textarea, label, [data-testid], [data-test]`))==null?n:r);e.addBreadcrumb({type:`ui`,category:`click`,level:`info`,timestamp:Date.now(),message:t.text?`点击「${t.text}」`:`点击 ${t.selector}`,data:t})}catch(e){}};return document.addEventListener(`click`,t,!0),()=>document.removeEventListener(`click`,t,!0)}function ye(e){if(typeof window>`u`)return()=>{};let t=t=>{try{var n,r;let i=t.target;if(!i||typeof i.tagName!=`string`)return;let a=(n=(r=i.src)==null?i.href:r)==null?``:n;if(!a)return;e.captureMessage(`资源加载失败: ${a}`,`warning`,{source:`resource`,tags:{resource:i.tagName.toLowerCase()}})}catch(e){}};return window.addEventListener(`error`,t,!0),()=>{window.removeEventListener(`error`,t,!0)}}function be(e,t={}){if(t.captureLifecycle===!1||typeof window>`u`||typeof document>`u`)return()=>{};let n=(t,n,r)=>{try{e.addBreadcrumb({type:`lifecycle`,category:t,level:`info`,timestamp:Date.now(),message:n,data:r})}catch(e){}},r=()=>{var e;n(`visibility`,`页面${document.visibilityState===`hidden`?`隐藏`:`可见`}`,{state:document.visibilityState,url:(e=window.location)==null?void 0:e.href})},i=()=>{var e;n(`network`,`网络恢复`,{online:!0,url:(e=window.location)==null?void 0:e.href})},a=()=>{var e;n(`network`,`网络断开`,{online:!1,url:(e=window.location)==null?void 0:e.href})};return document.addEventListener(`visibilitychange`,r),window.addEventListener(`online`,i),window.addEventListener(`offline`,a),()=>{document.removeEventListener(`visibilitychange`,r),window.removeEventListener(`online`,i),window.removeEventListener(`offline`,a)}}function xe(e){let t=t=>{try{let n=t.target;if(n&&typeof n.tagName==`string`)return;t.error?e.captureException(t.error):t.message&&e.captureException(Error(t.message))}catch(e){}},n=t=>{try{let n=t.reason;e.captureException(n==null?/* @__PURE__ */ Error(`Unhandled promise rejection`):n)}catch(e){}};return window.addEventListener(`error`,t),window.addEventListener(`unhandledrejection`,n),()=>{window.removeEventListener(`error`,t),window.removeEventListener(`unhandledrejection`,n)}}function G(e){"@babel/helpers - typeof";return G=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},G(e)}function Se(e,t){if(G(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(G(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ce(e){var t=Se(e,`string`);return G(t)==`symbol`?t:t+``}function we(e,t,n){return(t=Ce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function q(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?K(Object(n),!0).forEach(function(t){we(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}let J=[`content-type`,`content-length`,`x-request-id`,`x-trace-id`,`traceparent`,`x-b3-traceid`];function Te(e,t){if(!e)return``;if(typeof Headers<`u`&&e instanceof Headers){var n;return(n=e.get(t))==null?``:n}if(Array.isArray(e)){var r;let n=e.find(([e])=>e.toLowerCase()===t);return(r=n==null?void 0:n[1])==null?``:r}for(let[n,r]of Object.entries(e))if(n.toLowerCase()===t)return String(r);return``}function Ee(e){if(!e)return;let t={};for(let n of J){let r=e.get(n);r&&(t[n]=r)}return Object.keys(t).length>0?t:void 0}function De(e){if(e)for(let t of[`x-request-id`,`x-trace-id`,`traceparent`,`x-b3-traceid`]){let n=e.get(t);if(n)return n}}function Oe(e){let t=e==null?void 0:e.get(`content-length`);if(!t)return;let n=Number(t);return Number.isFinite(n)&&n>=0?n:void 0}function Y(e){if(e){if(typeof e.value==`string`)return e.value.length;try{return JSON.stringify(e.value).length}catch(e){return}}}function ke(e){return typeof e==`object`&&!!e&&e.name===`AbortError`}function Ae(e,t,n,r){if((t==null?void 0:t.body)!==void 0&&t.body!==null){let e=t.body;return async()=>z(e,n,r)}if(typeof Request<`u`&&e instanceof Request&&e.body)try{let t=e.clone();return async()=>{try{return z(await t.text(),n||`application/json`,r)}catch(e){return}}}catch(e){}return async()=>void 0}let X=524288;function je(e){let t=e.toLowerCase();return t===``||t.startsWith(`text/`)||t.includes(`json`)||t.includes(`xml`)||t.includes(`javascript`)||t.includes(`x-www-form-urlencoded`)}function Z(e){let t=e.toLowerCase();return t.includes(`application/json`)||t.includes(`+json`)}function Me(e,t){let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Ne(e){if(typeof TextDecoder<`u`)return new TextDecoder().decode(e);let t=``;for(let n=0;n<e.length;n+=1)t+=String.fromCharCode(e[n]);return t}function Q(e,t){if(e.length<=t)return{text:e,truncated:!1};let n=Math.min(1024,Math.max(0,Math.floor(t/4))),r=Math.max(0,t-n-15);return{text:`${e.slice(0,r)}
4
+ …[truncated]…
5
+ ${e.slice(-n)}`,truncated:!0}}async function Pe(e,t,n){if(!je(t)||!e.body)return;let r=e.body.getReader(),i=[],a=0,o=!1;try{for(;a<X;){let{done:e,value:t}=await r.read();if(e)break;if(!t||t.length===0)continue;let n=X-a;if(t.length>n){i.push(t.slice(0,n)),a+=n,o=!0;break}i.push(t),a+=t.length}}catch(e){return}finally{try{await r.cancel()}catch(e){}}let s=Ne(Me(i,a)),c=n.maxChars&&n.maxChars>0?n.maxChars:4096;if(s.length<=c)return V(s,t,q(q({},n),{},{maxChars:c}));if(o&&Z(t))return;if(Z(t)){let e=z(s,t,q(q({},n),{},{maxChars:s.length+1}));if(e)try{let t=JSON.stringify(e.value);if(t)return{value:Q(t,c).text,truncated:!0}}catch(e){}}let l=Q(s,c),u=V(l.text,t,q(q({},n),{},{maxChars:c}));if(u)return{value:u.value,truncated:u.truncated||l.truncated||o}}function Fe(e,t){var n;if(t.captureHttp===!1)return()=>{};let r=t.captureHttpBody!==!1,i=t.captureHttpResponseBody!==!1,a={redactKeys:t.redactKeys,maxChars:t.maxHttpBodyChars},o={redactKeys:t.redactKeys,maxChars:t.maxHttpResponseChars},s=(n=t.slowRequestThresholdMs)==null?1e3:n,c=[];return Ie(e,r,i,a,o,s,c),Le(e,r,i,a,o,s,c),()=>{for(let e of c)e()}}function Ie(e,t,n,r,i,a,o){if(typeof window>`u`||typeof window.fetch!=`function`)return;let s=window.fetch,c=async function(o,c){var l;let u=typeof Request<`u`&&o instanceof Request?o:void 0,d,f;try{var p,m,h;d=((p=(m=c==null?void 0:c.method)==null?u==null?void 0:u.method:m)==null?`GET`:p).toUpperCase(),f=(h=u==null?void 0:u.url)==null?String(o):h}catch(e){return s.call(this,o,c)}if(H(f))return s.call(this,o,c);let g=async()=>void 0;try{let e=Te(c==null?void 0:c.headers,`content-type`)||(u==null?void 0:u.headers.get(`content-type`))||``;g=t?Ae(o,c,e,r):async()=>void 0}catch(e){}let _=Date.now(),v;try{v=await s.call(this,o,c)}catch(t){throw ke(t)||(async()=>{try{let n=await g();oe(e,{method:d,url:f,statusCode:0,durationMs:Date.now()-_,category:`fetch`,startedAt:_,requestBody:n==null?void 0:n.value,requestBodyTruncated:n==null?void 0:n.truncated,error:t instanceof Error?t.message:String(t)})}catch(e){}})(),t}let y=Date.now()-_,b=v.status>=200&&v.status<400,x=y>=a,S=(l=v.headers.get(`content-type`))==null?``:l,C=Ee(v.headers),w=De(v.headers),T=Oe(v.headers),E=(t,n)=>{try{F(e,{method:d,url:f,statusCode:v.status,durationMs:y,category:`fetch`,ok:b,startedAt:_,requestBody:t==null?void 0:t.value,requestBodyTruncated:t==null?void 0:t.truncated,responseBody:n==null?void 0:n.value,responseBodyTruncated:n==null?void 0:n.truncated,responseHeaders:C,requestId:w,responseSize:T==null?Y(n):T,slowThresholdMs:a})}catch(e){}};if(b&&!x||!t&&!n)return E(),v;let D;if(n)try{D=v.clone()}catch(e){}return(async()=>{let e;if(t)try{e=await g()}catch(e){}try{let t=D?await Pe(D,S,i):void 0;E(e,t)}catch(t){E(e,void 0)}})(),v};try{window.fetch=c,o.push(()=>{window.fetch===c&&(window.fetch=s)})}catch(e){}}function Le(e,t,n,r,i,a,o){if(typeof window>`u`||typeof window.XMLHttpRequest!=`function`)return;let s=window.XMLHttpRequest,c=/* @__PURE__ */ new WeakMap,l=s.prototype.open,u=s.prototype.send,d=s.prototype.setRequestHeader,f=s.prototype.abort,p=function(e,t,n,r,i){return H(String(t))?(c.delete(this),l.call(this,e,t,n==null||n,r,i)):(c.set(this,{method:String(e).toUpperCase(),url:String(t),contentType:``,body:void 0,startedAt:0,aborted:!1}),l.call(this,e,t,n==null||n,r,i))},m=function(o){let s=c.get(this);s&&(s.body=o,s.startedAt=Date.now(),this.addEventListener(`loadend`,function(){let o=c.get(this);if(o&&!o.aborted)try{var s,l,u,d,f;let c=this.status,p=c>=200&&c<400,m=Date.now()-o.startedAt,h=m>=a,g=Re(this),_=(s=(l=(u=g==null?void 0:g[`x-request-id`])==null?g==null?void 0:g[`x-trace-id`]:u)==null?g==null?void 0:g.traceparent:l)==null?g==null?void 0:g[`x-b3-traceid`]:s,v=(d=g==null?void 0:g[`content-type`])==null?``:d,y=(!p||h)&&t?z(o.body,o.contentType,r):void 0,b=(!p||h)&&n?ze(this,v,i):void 0;F(e,q({method:o.method,url:o.url,statusCode:c,durationMs:m,category:`xhr`,ok:p,startedAt:o.startedAt,requestBody:y==null?void 0:y.value,requestBodyTruncated:y==null?void 0:y.truncated,responseBody:b==null?void 0:b.value,responseBodyTruncated:b==null?void 0:b.truncated,responseHeaders:g,requestId:_,responseSize:(f=Be(g==null?void 0:g[`content-length`]))==null?Y(b):f,slowThresholdMs:a},c===0?{error:`network error or timeout`}:{}))}catch(e){}},{once:!0})),u.call(this,o)},h=function(e,t){let n=c.get(this);return n&&e.toLowerCase()===`content-type`&&(n.contentType=t),d.call(this,e,t)},g=function(){let e=c.get(this);return e&&(e.aborted=!0),f.call(this)};try{s.prototype.open=p,s.prototype.send=m,s.prototype.setRequestHeader=h,s.prototype.abort=g,o.push(()=>{s.prototype.open===p&&(s.prototype.open=l),s.prototype.send===m&&(s.prototype.send=u),s.prototype.setRequestHeader===h&&(s.prototype.setRequestHeader=d),s.prototype.abort===g&&(s.prototype.abort=f)})}catch(e){}}function Re(e){try{var t;let n=(t=e.getAllResponseHeaders)==null?void 0:t.call(e);if(!n)return;let r={};for(let e of n.trim().split(/[\r\n]+/)){let t=e.indexOf(`:`);if(t<=0)continue;let n=e.slice(0,t).trim().toLowerCase(),i=e.slice(t+1).trim();J.includes(n)&&i&&(r[n]=i)}return Object.keys(r).length>0?r:void 0}catch(e){return}}function ze(e,t,n){try{let r=e.responseType;if(r&&r!==`text`&&r!==`json`)return;let i=r===`json`?e.response:e.responseText;if(typeof i==`string`){let e=n.maxChars&&n.maxChars>0?n.maxChars:4096,r=Q(i,e),a=V(r.text,t,q(q({},n),{},{maxChars:e}));return a?{value:a.value,truncated:a.truncated||r.truncated}:void 0}return V(i,t,n)}catch(e){return}}function Be(e){if(!e)return;let t=Number(e);return Number.isFinite(t)&&t>=0?t:void 0}function Ve(){return{platform:`web`,pageUrl:()=>{var e;return typeof window>`u`||(e=window.location)==null?void 0:e.href},pageRoute:()=>{var e;return typeof window>`u`||(e=window.location)==null?void 0:e.pathname},collect(){var e,t,n,r;let i=window.navigator,a=i.userAgent,o=He(a),s=i.connection;return{browser:{name:o,version:Ue(a,o),language:i.language,user_agent:a,viewport:{width:window.innerWidth,height:window.innerHeight}},os:{name:We(a),version:Ge(a)},device:{model:Ke(a)},network:{effective_type:(e=s==null?void 0:s.effectiveType)==null?`unknown`:e,online:i.onLine!==!1},screen:{width:(t=window.screen)==null?void 0:t.width,height:(n=window.screen)==null?void 0:n.height,pixel_ratio:(r=window.devicePixelRatio)==null?1:r},runtime:{name:`web`,sdk:`@fz-firefly/web`},locale:{language:i.language,timezone:typeof Intl<`u`?Intl.DateTimeFormat().resolvedOptions().timeZone:void 0}}}}}function He(e){return/MicroMessenger/i.test(e)?`WeChat`:/Edg\//.test(e)?`Edge`:/Chrome\//.test(e)?`Chrome`:/Firefox\//.test(e)?`Firefox`:/Safari\//.test(e)?`Safari`:`Unknown`}function Ue(e,t){var n;let r={WeChat:/MicroMessenger\/([\d.]+)/i,Edge:/Edg\/([\d.]+)/i,Chrome:/Chrome\/([\d.]+)/i,Firefox:/Firefox\/([\d.]+)/i,Safari:/Version\/([\d.]+).*Safari/i}[t];return r==null||(n=r.exec(e))==null?void 0:n[1]}function We(e){return/Android/i.test(e)?`Android`:/iPhone|iPad|iPod/i.test(e)?`iOS`:/Windows/i.test(e)?`Windows`:/Mac OS X/i.test(e)?`macOS`:/Linux/i.test(e)?`Linux`:`Unknown`}function Ge(e){let t=[[/Android\s([\d.]+)/i,e=>{var t;return(t=e[1])==null?``:t}],[/(?:iPhone|iPad|iPod).*?OS\s([\d_]+)/i,e=>{var t;return((t=e[1])==null?``:t).replace(/_/g,`.`)}],[/Windows NT\s([\d.]+)/i,e=>{var t;return(t=e[1])==null?``:t}],[/Mac OS X\s([\d_]+)/i,e=>{var t;return((t=e[1])==null?``:t).replace(/_/g,`.`)}]];for(let[n,r]of t){let t=n.exec(e);if(t){let e=r(t);if(e)return e}}}function Ke(e){return/iPhone/i.test(e)?`iPhone`:/iPad/i.test(e)?`iPad`:/Android/i.test(e)?`Android`:`Desktop`}function $(){let e=/* @__PURE__ */ new Map,t=qe();return{get(n){var r;if(t)try{return window.localStorage.getItem(n)}catch(e){t=!1}return(r=e.get(n))==null?null:r},set(n,r){if(e.set(n,r),t)try{window.localStorage.setItem(n,r)}catch(e){t=!1}},remove(n){if(e.delete(n),t)try{window.localStorage.removeItem(n)}catch(e){t=!1}}}}function qe(){try{let e=`__firefly_probe__`;return window.localStorage.setItem(e,`1`),window.localStorage.removeItem(e),!0}catch(e){return!1}}function Je(e){let t=`${e.replace(/\/+$/,``)}/api/ingest/v1/envelope`;return{async send(e,n,r){let i=`${t}?key=${encodeURIComponent(n)}`;try{if(typeof fetch==`function`){let t={method:`POST`,headers:{"Content-Type":`text/plain;charset=UTF-8`},body:e,credentials:`omit`};r!=null&&r.keepalive&&(t.keepalive=!0);let n=await fetch(i,t);if(!n.ok)throw new M(`Firefly: 上报失败,HTTP ${n.status}`,{statusCode:n.status,retryAfterMs:ae(n.headers.get(`retry-after`))});return}await Ye(i,e)}catch(e){throw e instanceof M?e:new M(`Firefly: 上报网络错误`,{cause:e})}},sendBeacon(e,n){if(typeof navigator>`u`||typeof navigator.sendBeacon!=`function`)return!1;try{return navigator.sendBeacon(`${t}?key=${encodeURIComponent(n)}`,e)}catch(e){return!1}}}}function Ye(e,t){return new Promise((n,r)=>{try{let i=new XMLHttpRequest;i.open(`POST`,e,!0),i.setRequestHeader(`Content-Type`,`text/plain;charset=UTF-8`),i.onload=()=>{i.status>=200&&i.status<300?n():r(new M(`Firefly: 上报失败,HTTP ${i.status}`,{statusCode:i.status}))},i.onerror=()=>r(new M(`Firefly: 上报网络错误`)),i.send(t)}catch(e){r(new M(`Firefly: 上报网络错误`,{cause:e}))}})}function Xe(e){var t,n,r,i,a;let o=window;if(o.__firefly__)return o.__firefly__;let s=T(e),c=j(s,{storage:$(),transport:Je(s.endpoint),context:Ve()}),l=((t=window.location)==null?void 0:t.pathname)||`/`,u=Ze((n=(r=window.location)==null?void 0:r.search)==null?``:n);c.startPageSession(l,q({navigation_type:`initial`,url:(i=window.location)==null?void 0:i.href},u?{query:u}:{})),c.addBreadcrumb({type:`navigation`,category:`page`,level:`info`,timestamp:Date.now(),message:`进入 ${l}`,data:{path:l,url:(a=window.location)==null?void 0:a.href,navigation_type:`initial`}});let d=[xe(c),...e.captureResourceErrors===!1?[]:[ye(c)],...e.captureClicks===!1?[]:[ve(c)],me(c,e),be(c,e),Fe(c,e),Qe(c)],f={client:c,dispose(){for(let e of d)e();c.close(),o.__firefly__===f&&delete o.__firefly__}};return o.__firefly__=f,f}function Ze(e){let t=new URLSearchParams(e),n=[...new Set(t.keys())];if(n.length===0)return;let r={};for(let e of n){let n=t.getAll(e);n.length!==0&&(r[e]=n.length===1?n[0]:n)}return Object.keys(r).length>0?r:void 0}function Qe(e){let t=()=>{e.flush({beacon:!0,keepalive:!0})};return window.addEventListener(`pagehide`,t),()=>{window.removeEventListener(`pagehide`,t)}}return e.initFirefly=Xe,e})({});