vendor: 4,572 bytes, lines 1-10
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ProblemSection-BQxjHdRA.js","assets/route-jklf8fO-.js","assets/BenefitsSection-DOLSQVWx.js","assets/wallet-BBTu6wlI.js","assets/AudienceSection-T4cZeLaB.js","assets/file-text-rq8RCD_C.js","assets/FeatureSection-CqU3N3fv.js","assets/ProcessSection-DZgcvOfu.js","assets/lightbulb-D01JOFON.js","assets/PersonalSupport-DSLxRo1A.js"])))=>i.map(i=>d[i]); 2var ES=Object.defineProperty;var mv=t=>{throw TypeError(t)};var SS=(t,e,n)=>e in t?ES(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var st=(t,e,n)=>SS(t,typeof e!="symbol"?e+"":e,n),fh=(t,e,n)=>e.has(t)||mv("Cannot "+n);var ee=(t,e,n)=>(fh(t,e,"read from private field"),n?n.call(t):e.get(t)),qe=(t,e,n)=>e.has(t)?mv("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Te=(t,e,n,i)=>(fh(t,e,"write to private field"),i?i.call(t,n):e.set(t,n),n),Qe=(t,e,n)=>(fh(t,e,"access private method"),n);var xu=(t,e,n,i)=>({set _(s){Te(t,e,s,n)},get _(){return ee(t,e,i)}});function _S(t,e){for(var n=0;n<e.length;n++){const i=e[n];if(typeof i!="string"&&!Array.isArray(i)){for(const s in i)if(s!=="default"&&!(s in t)){const o=Object.getOwnPropertyDescriptor(i,s);o&&Object.defineProperty(t,s,o.get?o:{enumerable:!0,get:()=>i[s]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const u of o.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function i(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();var Au=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function uc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mh={exports:{}},Do={},gh={exports:{}},Xe={};/** 3 * @license React 4 * react.production.min.js 5 * 6 * Copyright (c) Facebook, Inc. and its affiliates. 7 * 8 * This source code is licensed under the MIT license found in the 9 * LICENSE file in the root directory of this source tree. 10 */var gv;function TS(){if(gv)return Xe;gv=1;var t=Symbol.for("react.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),u=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),h=Symbol.iterator;function m(N){return N===null||typeof N!="object"?null:(N=h&&N[h]||N["@@iterator"],typeof N=="function"?N:null)}var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,w={};function k(N,B,K){this.props=N,this.context=B,this.refs=w,this.updater=K||f}k.prototype.isReactComponent={},k.prototype.setState=function(N,B){if(typeof N!="object"&&typeof N!="function"&&N!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,N,B,"setState")},k.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function y(){}y.prototype=k.prototype;function A(N,B,K){this.props=N,this.context=B,this.refs=w,this.updater=K||f}var S=A.prototype=new y;S.constructor=A,E(S,k.prototype),S.isPureReactComponent=!0;var x=Array.isArray,T=Object.prototype.hasOwnProperty,R={current:null},z={key:!0,ref:!0,__self:!0,__source:!0};function D(N,B,K){var Q,J={},U=null,$=null;if(B!=null)for(Q in B.ref!==void 0&&($=B.ref),B.key!==void 0&&(U=""+B.key),B)T.call(B,Q)&&!z.hasOwnProperty(Q)&&(J[Q]=B[Q]);var se=arguments.length-2;if(se===1)J.children=K;else if(1<se){for(var ie=Array(se),fe=0;fe<se;fe++)ie[fe]=arguments[fe+2];J.children=ie}if(N&&N.defaultProps)for(Q in se=N.defaultProps,se)J[Q]===void 0&&(J[Q]=se[Q]);return{$$typeof:t,type:N,key:U,ref:$,props:J,_owner:R.current}}function F(N,B){return{$$typeof:t,type:N.type,key:B,ref:N.ref,props:N.props,_owner:N._owner}}
vendor: 11,544 bytes, lines 10-34
10function P(N){return typeof N=="object"&&N!==null&&N.$$typeof===t}function C(N){var B={"=":"=0",":":"=2"};return"$"+N.replace(/[=:]/g,function(K){return B[K]})}var j=/\/+/g;function L(N,B){return typeof N=="object"&&N!==null&&N.key!=null?C(""+N.key):B.toString(36)}function W(N,B,K,Q,J){var U=typeof N;(U==="undefined"||U==="boolean")&&(N=null);var $=!1;if(N===null)$=!0;else switch(U){case"string":case"number":$=!0;break;case"object":switch(N.$$typeof){case t:case e:$=!0}}if($)return $=N,J=J($),N=Q===""?"."+L($,0):Q,x(J)?(K="",N!=null&&(K=N.replace(j,"$&/")+"/"),W(J,B,K,"",function(fe){return fe})):J!=null&&(P(J)&&(J=F(J,K+(!J.key||$&&$.key===J.key?"":(""+J.key).replace(j,"$&/")+"/")+N)),B.push(J)),1;if($=0,Q=Q===""?".":Q+":",x(N))for(var se=0;se<N.length;se++){U=N[se];var ie=Q+L(U,se);$+=W(U,B,K,ie,J)}else if(ie=m(N),typeof ie=="function")for(N=ie.call(N),se=0;!(U=N.next()).done;)U=U.value,ie=Q+L(U,se++),$+=W(U,B,K,ie,J);else if(U==="object")throw B=String(N),Error("Objects are not valid as a React child (found: "+(B==="[object Object]"?"object with keys {"+Object.keys(N).join(", ")+"}":B)+"). If you meant to render a collection of children, use an array instead.");return $}function G(N,B,K){if(N==null)return N;var Q=[],J=0;return W(N,Q,"","",function(U){return B.call(K,U,J++)}),Q}function Z(N){if(N._status===-1){var B=N._result;B=B(),B.then(function(K){(N._status===0||N._status===-1)&&(N._status=1,N._result=K)},function(K){(N._status===0||N._status===-1)&&(N._status=2,N._result=K)}),N._status===-1&&(N._status=0,N._result=B)}if(N._status===1)return N._result.default;throw N._result}var te={current:null},oe={transition:null},X={ReactCurrentDispatcher:te,ReactCurrentBatchConfig:oe,ReactCurrentOwner:R};function q(){throw Error("act(...) is not supported in production builds of React.")}return Xe.Children={map:G,forEach:function(N,B,K){G(N,function(){B.apply(this,arguments)},K)},count:function(N){var B=0;return G(N,function(){B++}),B},toArray:function(N){return G(N,function(B){return B})||[]},only:function(N){if(!P(N))throw Error("React.Children.only expected to receive a single React element child.");return N}},Xe.Component=k,Xe.Fragment=n,Xe.Profiler=s,Xe.PureComponent=A,Xe.StrictMode=i,Xe.Suspense=p,Xe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=X,Xe.act=q,Xe.cloneElement=function(N,B,K){if(N==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+N+".");var Q=E({},N.props),J=N.key,U=N.ref,$=N._owner;if(B!=null){if(B.ref!==void 0&&(U=B.ref,$=R.current),B.key!==void 0&&(J=""+B.key),N.type&&N.type.defaultProps)var se=N.type.defaultProps;for(ie in B)T.call(B,ie)&&!z.hasOwnProperty(ie)&&(Q[ie]=B[ie]===void 0&&se!==void 0?se[ie]:B[ie])}var ie=arguments.length-2;if(ie===1)Q.children=K;else if(1<ie){se=Array(ie);for(var fe=0;fe<ie;fe++)se[fe]=arguments[fe+2];Q.children=se}return{$$typeof:t,type:N.type,key:J,ref:U,props:Q,_owner:$}},Xe.createContext=function(N){return N={$$typeof:u,_currentValue:N,_currentValue2:N,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},N.Provider={$$typeof:o,_context:N},N.Consumer=N},Xe.createElement=D,Xe.createFactory=function(N){var B=D.bind(null,N);return B.type=N,B},Xe.createRef=function(){return{current:null}},Xe.forwardRef=function(N){return{$$typeof:c,render:N}},Xe.isValidElement=P,Xe.lazy=function(N){return{$$typeof:b,_payload:{_status:-1,_result:N},_init:Z}},Xe.memo=function(N,B){return{$$typeof:v,type:N,compare:B===void 0?null:B}},Xe.startTransition=function(N){var B=oe.transition;oe.transition={};try{N()}finally{oe.transition=B}},Xe.unstable_act=q,Xe.useCallback=function(N,B){return te.current.useCallback(N,B)},Xe.useContext=function(N){return te.current.useContext(N)},Xe.useDebugValue=function(){},Xe.useDeferredValue=function(N){return te.current.useDeferredValue(N)},Xe.useEffect=function(N,B){return te.current.useEffect(N,B)},Xe.useId=function(){return te.current.useId()},Xe.useImperativeHandle=function(N,B,K){return te.current.useImperativeHandle(N,B,K)},Xe.useInsertionEffect=function(N,B){return te.current.useInsertionEffect(N,B)},Xe.useLayoutEffect=function(N,B){return te.current.useLayoutEffect(N,B)},Xe.useMemo=function(N,B){return te.current.useMemo(N,B)},Xe.useReducer=function(N,B,K){return te.current.useReducer(N,B,K)},Xe.useRef=function(N){return te.current.useRef(N)},Xe.useState=function(N){return te.current.useState(N)},Xe.useSyncExternalStore=function(N,B,K){return te.current.useSyncExternalStore(N,B,K)},Xe.useTransition=function(){return te.current.useTransition()},Xe.version="18.3.1",Xe}var pv;function cc(){return pv||(pv=1,gh.exports=TS()),gh.exports}/** 11 * @license React 12 * react-jsx-runtime.production.min.js 13 * 14 * Copyright (c) Facebook, Inc. and its affiliates. 15 * 16 * This source code is licensed under the MIT license found in the 17 * LICENSE file in the root directory of this source tree. 18 */var bv;function OS(){if(bv)return Do;bv=1;var t=cc(),e=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function u(c,p,v){var b,h={},m=null,f=null;v!==void 0&&(m=""+v),p.key!==void 0&&(m=""+p.key),p.ref!==void 0&&(f=p.ref);for(b in p)i.call(p,b)&&!o.hasOwnProperty(b)&&(h[b]=p[b]);if(c&&c.defaultProps)for(b in p=c.defaultProps,p)h[b]===void 0&&(h[b]=p[b]);return{$$typeof:e,type:c,key:m,ref:f,props:h,_owner:s.current}}return Do.Fragment=n,Do.jsx=u,Do.jsxs=u,Do}var vv;function NS(){return vv||(vv=1,mh.exports=OS()),mh.exports}var d=NS(),I=cc();const _t=uc(I),dc=_S({__proto__:null,default:_t},[I]);var Eu={},ph={exports:{}},_n={},bh={exports:{}},vh={};/** 19 * @license React 20 * scheduler.production.min.js 21 * 22 * Copyright (c) Facebook, Inc. and its affiliates. 23 * 24 * This source code is licensed under the MIT license found in the 25 * LICENSE file in the root directory of this source tree. 26 */var yv;function CS(){return yv||(yv=1,(function(t){function e(oe,X){var q=oe.length;oe.push(X);e:for(;0<q;){var N=q-1>>>1,B=oe[N];if(0<s(B,X))oe[N]=X,oe[q]=B,q=N;else break e}}function n(oe){return oe.length===0?null:oe[0]}function i(oe){if(oe.length===0)return null;var X=oe[0],q=oe.pop();if(q!==X){oe[0]=q;e:for(var N=0,B=oe.length,K=B>>>1;N<K;){var Q=2*(N+1)-1,J=oe[Q],U=Q+1,$=oe[U];if(0>s(J,q))U<B&&0>s($,J)?(oe[N]=$,oe[U]=q,N=U):(oe[N]=J,oe[Q]=q,N=Q);else if(U<B&&0>s($,q))oe[N]=$,oe[U]=q,N=U;else break e}}return X}function s(oe,X){var q=oe.sortIndex-X.sortIndex;return q!==0?q:oe.id-X.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;t.unstable_now=function(){return o.now()}}else{var u=Date,c=u.now();t.unstable_now=function(){return u.now()-c}}var p=[],v=[],b=1,h=null,m=3,f=!1,E=!1,w=!1,k=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(oe){for(var X=n(v);X!==null;){if(X.callback===null)i(v);else if(X.startTime<=oe)i(v),X.sortIndex=X.expirationTime,e(p,X);else break;X=n(v)}}function x(oe){if(w=!1,S(oe),!E)if(n(p)!==null)E=!0,Z(T);else{var X=n(v);X!==null&&te(x,X.startTime-oe)}}function T(oe,X){E=!1,w&&(w=!1,y(D),D=-1),f=!0;var q=m;try{for(S(X),h=n(p);h!==null&&(!(h.expirationTime>X)||oe&&!C());){var N=h.callback;if(typeof N=="function"){h.callback=null,m=h.priorityLevel;var B=N(h.expirationTime<=X);X=t.unstable_now(),typeof B=="function"?h.callback=B:h===n(p)&&i(p),S(X)}else i(p);h=n(p)}if(h!==null)var K=!0;else{var Q=n(v);Q!==null&&te(x,Q.startTime-X),K=!1}return K}finally{h=null,m=q,f=!1}}var R=!1,z=null,D=-1,F=5,P=-1;function C(){return!(t.unstable_now()-P<F)}function j(){if(z!==null){var oe=t.unstable_now();P=oe;var X=!0;try{X=z(!0,oe)}finally{X?L():(R=!1,z=null)}}else R=!1}var L;if(typeof A=="function")L=function(){A(j)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,G=W.port2;W.port1.onmessage=j,L=function(){G.postMessage(null)}}else L=function(){k(j,0)};function Z(oe){z=oe,R||(R=!0,L())}function te(oe,X){D=k(function(){oe(t.unstable_now())},X)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(oe){oe.callback=null},t.unstable_continueExecution=function(){E||f||(E=!0,Z(T))},t.unstable_forceFrameRate=function(oe){0>oe||125<oe?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<oe?Math.floor(1e3/oe):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return n(p)},t.unstable_next=function(oe){switch(m){case 1:case 2:case 3:var X=3;break;default:X=m}var q=m;m=X;try{return oe()}finally{m=q}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(oe,X){switch(oe){case 1:case 2:case 3:case 4:case 5:break;default:oe=3}var q=m;m=oe;try{return X()}finally{m=q}},t.unstable_scheduleCallback=function(oe,X,q){var N=t.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?N+q:N):q=N,oe){case 1:var B=-1;break;case 2:B=250;break;case 5:B=1073741823;break;case 4:B=1e4;break;default:B=5e3}return B=q+B,oe={id:b++,callback:X,priorityLevel:oe,startTime:q,expirationTime:B,sortIndex:-1},q>N?(oe.sortIndex=q,e(v,oe),n(p)===null&&oe===n(v)&&(w?(y(D),D=-1):w=!0,te(x,q-N))):(oe.sortIndex=B,e(p,oe),E||f||(E=!0,Z(T))),oe},t.unstable_shouldYield=C,t.unstable_wrapCallback=function(oe){var X=m;return function(){var q=m;m=X;try{return oe.apply(this,arguments)}finally{m=q}}}})(vh)),vh}var wv;function DS(){return wv||(wv=1,bh.exports=CS()),bh.exports}/** 27 * @license React 28 * react-dom.production.min.js 29 * 30 * Copyright (c) Facebook, Inc. and its affiliates. 31 * 32 * This source code is licensed under the MIT license found in the 33 * LICENSE file in the root directory of this source tree. 34 */var kv;function zS(){if(kv)return _n;kv=1;var t=cc(),e=DS();function n(r){for(var a="https://reactjs.org/docs/error-decoder.html?invariant="+r,l=1;l<arguments.length;l++)a+="&args[]="+encodeURIComponent(arguments[l]);return"Minified React error #"+r+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function o(r,a){u(r,a),u(r+"Capture",a)}function u(r,a){for(s[r]=a,r=0;r<a.length;r++)i.add(a[r])}var c=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,v=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,b={},h={};function m(r){return p.call(h,r)?!0:p.call(b,r)?!1:v.test(r)?h[r]=!0:(b[r]=!0,!1)}function f(r,a,l,g){if(l!==null&&l.type===0)return!1;switch(typeof a){case"function":case"symbol":return!0;case"boolean":return g?!1:l!==null?!l.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function E(r,a,l,g){if(a===null||typeof a>"u"||f(r,a,l,g))return!0;
vendor: 23,311 bytes, lines 34-38
34if(g)return!1;if(l!==null)switch(l.type){case 3:return!a;case 4:return a===!1;case 5:return isNaN(a);case 6:return isNaN(a)||1>a}return!1}function w(r,a,l,g,_,O,M){this.acceptsBooleans=a===2||a===3||a===4,this.attributeName=g,this.attributeNamespace=_,this.mustUseProperty=l,this.propertyName=r,this.type=a,this.sanitizeURL=O,this.removeEmptyString=M}var k={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){k[r]=new w(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var a=r[0];k[a]=new w(a,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){k[r]=new w(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){k[r]=new w(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){k[r]=new w(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){k[r]=new w(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){k[r]=new w(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){k[r]=new w(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){k[r]=new w(r,5,!1,r.toLowerCase(),null,!1,!1)});var y=/[\-:]([a-z])/g;function A(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var a=r.replace(y,A);k[a]=new w(a,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var a=r.replace(y,A);k[a]=new w(a,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var a=r.replace(y,A);k[a]=new w(a,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){k[r]=new w(r,1,!1,r.toLowerCase(),null,!1,!1)}),k.xlinkHref=new w("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){k[r]=new w(r,1,!1,r.toLowerCase(),null,!0,!0)});function S(r,a,l,g){var _=k.hasOwnProperty(a)?k[a]:null;(_!==null?_.type!==0:g||!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(E(a,l,_,g)&&(l=null),g||_===null?m(a)&&(l===null?r.removeAttribute(a):r.setAttribute(a,""+l)):_.mustUseProperty?r[_.propertyName]=l===null?_.type===3?!1:"":l:(a=_.attributeName,g=_.attributeNamespace,l===null?r.removeAttribute(a):(_=_.type,l=_===3||_===4&&l===!0?"":""+l,g?r.setAttributeNS(g,a,l):r.setAttribute(a,l))))}var x=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,T=Symbol.for("react.element"),R=Symbol.for("react.portal"),z=Symbol.for("react.fragment"),D=Symbol.for("react.strict_mode"),F=Symbol.for("react.profiler"),P=Symbol.for("react.provider"),C=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),G=Symbol.for("react.memo"),Z=Symbol.for("react.lazy"),te=Symbol.for("react.offscreen"),oe=Symbol.iterator;function X(r){return r===null||typeof r!="object"?null:(r=oe&&r[oe]||r["@@iterator"],typeof r=="function"?r:null)}var q=Object.assign,N;function B(r){if(N===void 0)try{throw Error()}catch(l){var a=l.stack.trim().match(/\n( *(at )?)/);N=a&&a[1]||""}return` 35`+N+r}var K=!1;function Q(r,a){if(!r||K)return"";K=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(a)if(a=function(){throw Error()},Object.defineProperty(a.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(a,[])}catch(ce){var g=ce}Reflect.construct(r,[],a)}else{try{a.call()}catch(ce){g=ce}r.call(a.prototype)}else{try{throw Error()}catch(ce){g=ce}r()}}catch(ce){if(ce&&g&&typeof ce.stack=="string"){for(var _=ce.stack.split(` 36`),O=g.stack.split(` 37`),M=_.length-1,H=O.length-1;1<=M&&0<=H&&_[M]!==O[H];)H--;for(;1<=M&&0<=H;M--,H--)if(_[M]!==O[H]){if(M!==1||H!==1)do if(M--,H--,0>H||_[M]!==O[H]){var Y=` 38`+_[M].replace(" at new "," at ");return r.displayName&&Y.includes("<anonymous>")&&(Y=Y.replace("<anonymous>",r.displayName)),Y}while(1<=M&&0<=H);break}}}finally{K=!1,Error.prepareStackTrace=l}return(r=r?r.displayName||r.name:"")?B(r):""}function J(r){switch(r.tag){case 5:return B(r.type);case 16:return B("Lazy");case 13:return B("Suspense");case 19:return B("SuspenseList");case 0:case 2:case 15:return r=Q(r.type,!1),r;case 11:return r=Q(r.type.render,!1),r;case 1:return r=Q(r.type,!0),r;default:return""}}function U(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case z:return"Fragment";case R:return"Portal";case F:return"Profiler";case D:return"StrictMode";case L:return"Suspense";case W:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case C:return(r.displayName||"Context")+".Consumer";case P:return(r._context.displayName||"Context")+".Provider";case j:var a=r.render;return r=r.displayName,r||(r=a.displayName||a.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case G:return a=r.displayName||null,a!==null?a:U(r.type)||"Memo";case Z:a=r._payload,r=r._init;try{return U(r(a))}catch{}}return null}function $(r){var a=r.type;switch(r.tag){case 24:return"Cache";case 9:return(a.displayName||"Context")+".Consumer";case 10:return(a._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=a.render,r=r.displayName||r.name||"",a.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return a;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(a);case 8:return a===D?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a}return null}function se(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function ie(r){var a=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function fe(r){var a=ie(r)?"checked":"value",l=Object.getOwnPropertyDescriptor(r.constructor.prototype,a),g=""+r[a];if(!r.hasOwnProperty(a)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var _=l.get,O=l.set;return Object.defineProperty(r,a,{configurable:!0,get:function(){return _.call(this)},set:function(M){g=""+M,O.call(this,M)}}),Object.defineProperty(r,a,{enumerable:l.enumerable}),{getValue:function(){return g},setValue:function(M){g=""+M},stopTracking:function(){r._valueTracker=null,delete r[a]}}}}function pe(r){r._valueTracker||(r._valueTracker=fe(r))}function Oe(r){if(!r)return!1;var a=r._valueTracker;if(!a)return!0;var l=a.getValue(),g="";return r&&(g=ie(r)?r.checked?"true":"false":r.value),r=g,r!==l?(a.setValue(r),!0):!1}function Ee(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function Fe(r,a){var l=a.checked;return q({},a,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:l??r._wrapperState.initialChecked})}function Ce(r,a){var l=a.defaultValue==null?"":a.defaultValue,g=a.checked!=null?a.checked:a.defaultChecked;l=se(a.value!=null?a.value:l),r._wrapperState={initialChecked:g,initialValue:l,controlled:a.type==="checkbox"||a.type==="radio"?a.checked!=null:a.value!=null}}function De(r,a){a=a.checked,a!=null&&S(r,"checked",a,!1)}function He(r,a){De(r,a);var l=se(a.value),g=a.type;if(l!=null)g==="number"?(l===0&&r.value===""||r.value!=l)&&(r.value=""+l):r.value!==""+l&&(r.value=""+l);else if(g==="submit"||g==="reset"){r.removeAttribute("value");return}a.hasOwnProperty("value")?he(r,a.type,l):a.hasOwnProperty("defaultValue")&&he(r,a.type,se(a.defaultValue)),a.checked==null&&a.defaultChecked!=null&&(r.defaultChecked=!!a.defaultChecked)}function de(r,a,l){if(a.hasOwnProperty("value")||a.hasOwnProperty("defaultValue")){var g=a.type;if(!(g!=="submit"&&g!=="reset"||a.value!==void 0&&a.value!==null))return;a=""+r._wrapperState.initialValue,l||a===r.value||(r.value=a),r.defaultValue=a}l=r.name,l!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,l!==""&&(r.name=l)}function he(r,a,l){(a!=="number"||Ee(r.ownerDocument)!==r)&&(l==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+l&&(r.defaultValue=""+l))}var we=Array.isArray;function Ae(r,a,l,g){if(r=r.options,a){a={};for(var _=0;_<l.length;_++)a["$"+l[_]]=!0;for(l=0;l<r.length;l++)_=a.hasOwnProperty("$"+r[l].value),r[l].selected!==_&&(r[l].selected=_),_&&g&&(r[l].defaultSelected=!0)}else{for(l=""+se(l),a=null,_=0;_<r.length;_++){if(r[_].value===l){r[_].selected=!0,g&&(r[_].defaultSelected=!0);return}a!==null||r[_].disabled||(a=r[_])}a!==null&&(a.selected=!0)}}function me(r,a){if(a.dangerouslySetInnerHTML!=null)throw Error(n(91));return q({},a,{value:void 0,defaultValue:void 0,children:""+r._wrapperState.initialValue})}function Ue(r,a){var l=a.value;if(l==null){if(l=a.children,a=a.defaultValue,l!=null){if(a!=null)throw Error(n(92));if(we(l)){if(1<l.length)throw Error(n(93));l=l[0]}a=l}a==null&&(a=""),l=a}r._wrapperState={initialValue:se(l)}}function Ke(r,a){var l=se(a.value),g=se(a.defaultValue);l!=null&&(l=""+l,l!==r.value&&(r.value=l),a.defaultValue==null&&r.defaultValue!==l&&(r.defaultValue=l)),g!=null&&(r.defaultValue=""+g)}function We(r){var a=r.textContent;a===r._wrapperState.initialValue&&a!==""&&a!==null&&(r.value=a)}function zt(r){switch(r){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Kt(r,a){return r==null||r==="http://www.w3.org/1999/xhtml"?zt(a):r==="http://www.w3.org/2000/svg"&&a==="foreignObject"?"http://www.w3.org/1999/xhtml":r}var it,Jr=(function(r){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(a,l,g,_){MSApp.execUnsafeLocalFunction(function(){return r(a,l,g,_)})}:r})(function(r,a){if(r.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in r)r.innerHTML=a;else{for(it=it||document.createElement("div"),it.innerHTML="<svg>"+a.valueOf().toString()+"</svg>",a=it.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;a.firstChild;)r.appendChild(a.firstChild)}});function nt(r,a){if(a){var l=r.firstChild;if(l&&l===r.lastChild&&l.nodeType===3){l.nodeValue=a;return}}r.textContent=a}var Rt={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ra=["Webkit","ms","Moz","O"];Object.keys(Rt).forEach(function(r){Ra.forEach(function(a){a=a+r.charAt(0).toUpperCase()+r.substring(1),Rt[a]=Rt[r]})});function qs(r,a,l){return a==null||typeof a=="boolean"||a===""?"":l||typeof a!="number"||a===0||Rt.hasOwnProperty(r)&&Rt[r]?(""+a).trim():a+"px"}function Us(r,a){r=r.style;for(var l in a)if(a.hasOwnProperty(l)){var g=l.indexOf("--")===0,_=qs(l,a[l],g);l==="float"&&(l="cssFloat"),g?r.setProperty(l,_):r[l]=_}}var gl=q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ki(r,a){if(a){if(gl[r]&&(a.children!=null||a.dangerouslySetInnerHTML!=null))throw Error(n(137,r));if(a.dangerouslySetInnerHTML!=null){if(a.children!=null)throw Error(n(60));if(typeof a.dangerouslySetInnerHTML!="object"||!("__html"in a.dangerouslySetInnerHTML))throw Error(n(61))}if(a.style!=null&&typeof a.style!="object")throw Error(n(62))}}function Gi(r,a){if(r.indexOf("-")===-1)return typeof a.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var dr=null;function vn(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var Vi=null,Nr=null,Cr=null;function Pa(r){if(r=po(r)){if(typeof Vi!="function")throw Error(n(280));var a=r.stateNode;a&&(a=Ml(a),Vi(r.stateNode,r.type,a))}}function Ws(r){Nr?Cr?Cr.push(r):Cr=[r]:Nr=r}function Hi(){if(Nr){var r=Nr,a=Cr;if(Cr=Nr=null,Pa(r),a)for(r=0;r<a.length;r++)Pa(a[r])}}function $i(r,a){return r(a)}function zn(){}var hr=!1;function ja(r,a,l){if(hr)return r(a,l);hr=!0;try{return $i(r,a,l)}finally{hr=!1,(Nr!==null||Cr!==null)&&(zn(),Hi())}}function Dr(r,a){var l=r.stateNode;if(l===null)return null;var g=Ml(l);if(g===null)return null;l=g[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(g=!g.disabled)||(r=r.type,g=!(r==="button"||r==="input"||r==="select"||r==="textarea")),r=!g;break e;default:r=!1}if(r)return null;if(l&&typeof l!="function")throw Error(n(231,a,typeof l));return l}var Ks=!1;if(c)try{var Qr={};Object.defineProperty(Qr,"passive",{get:function(){Ks=!0}}),window.addEventListener("test",Qr,Qr),window.removeEventListener("test",Qr,Qr)}catch{Ks=!1}function Gs(r,a,l,g,_,O,M,H,Y){var ce=Array.prototype.slice.call(arguments,3);try{a.apply(l,ce)}catch(be){this.onError(be)}}var Yr=!1,Zr=null,Ia=!1,zr=null,Rc={onError:function(r){Yr=!0,Zr=r}};function Pc(r,a,l,g,_,O,M,H,Y){Yr=!1,Zr=null,Gs.apply(Rc,arguments)}function pt(r,a,l,g,_,O,M,H,Y){if(Pc.apply(this,arguments),Yr){if(Yr){var ce=Zr;Yr=!1,Zr=null}else throw Error(n(198));Ia||(Ia=!0,zr=ce)}}function yn(r){var a=r,l=r;if(r.alternate)for(;a.return;)a=a.return;else{r=a;do a=r,(a.flags&4098)!==0&&(l=a.return),r=a.return;while(r)}return a.tag===3?l:null}function pl(r){if(r.tag===13){var a=r.memoizedState;if(a===null&&(r=r.alternate,r!==null&&(a=r.memoizedState)),a!==null)return a.dehydrated}return null}function Vs(r){if(yn(r)!==r)throw Error(n(188))}function Hs(r){var a=r.alternate;if(!a){if(a=yn(r),a===null)throw Error(n(188));return a!==r?null:r}for(var l=r,g=a;;){var _=l.return;if(_===null)break;var O=_.alternate;if(O===null){if(g=_.return,g!==null){l=g;continue}break}if(_.child===O.child){for(O=_.child;O;){if(O===l)return Vs(_),r;if(O===g)return Vs(_),a;O=O.sibling}throw Error(n(188))}if(l.return!==g.return)l=_,g=O;else{for(var M=!1,H=_.child;H;){if(H===l){M=!0,l=_,g=O;break}if(H===g){M=!0,g=_,l=O;break}H=H.sibling}if(!M){for(H=O.child;H;){if(H===l){M=!0,l=O,g=_;break}if(H===g){M=!0,g=O,l=_;break}H=H.sibling}if(!M)throw Error(n(189))}}if(l.alternate!==g)throw Error(n(190))}if(l.tag!==3)throw Error(n(188));return l.stateNode.current===l?r:a}function $s(r){return r=Hs(r),r!==null?Xs(r):null}function Xs(r){if(r.tag===5||r.tag===6)return r;for(r=r.child;r!==null;){var a=Xs(r);if(a!==null)return a;r=r.sibling}return null}var bl=e.unstable_scheduleCallback,vl=e.unstable_cancelCallback,jc=e.unstable_shouldYield,Ic=e.unstable_requestPaint,ut=e.unstable_now,yl=e.unstable_getCurrentPriorityLevel,Hn=e.unstable_ImmediatePriority,wl=e.unstable_UserBlockingPriority,Ma=e.unstable_NormalPriority,kl=e.unstable_LowPriority,Js=e.unstable_IdlePriority,Rr=null,wn=null;function La(r){if(wn&&typeof wn.onCommitFiberRoot=="function")try{wn.onCommitFiberRoot(Rr,r,void 0,(r.current.flags&128)===128)}catch{}}var Mt=Math.clz32?Math.clz32:Mc,Xi=Math.log,$n=Math.LN2;function Mc(r){return r>>>=0,r===0?32:31-(Xi(r)/$n|0)|0}var Ba=64,Ji=4194304;function ei(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function Fa(r,a){var l=r.pendingLanes;if(l===0)return 0;var g=0,_=r.suspendedLanes,O=r.pingedLanes,M=l&268435455;if(M!==0){var H=M&~_;H!==0?g=ei(H):(O&=M,O!==0&&(g=ei(O)))}else M=l&~_,M!==0?g=ei(M):O!==0&&(g=ei(O));if(g===0)return 0;if(a!==0&&a!==g&&(a&_)===0&&(_=g&-g,O=a&-a,_>=O||_===16&&(O&4194240)!==0))return a;if((g&4)!==0&&(g|=l&16),a=r.entangledLanes,a!==0)for(r=r.entanglements,a&=g;0<a;)l=31-Mt(a),_=1<<l,g|=r[l],a&=~_;return g}function xl(r,a){switch(r){case 1:case 2:case 4:return a+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Lc(r,a){for(var l=r.suspendedLanes,g=r.pingedLanes,_=r.expirationTimes,O=r.pendingLanes;0<O;){var M=31-Mt(O),H=1<<M,Y=_[M];Y===-1?((H&l)===0||(H&g)!==0)&&(_[M]=xl(H,a)):Y<=a&&(r.expiredLanes|=H),O&=~H}}function Qs(r){return r=r.pendingLanes&-1073741825,r!==0?r:r&1073741824?1073741824:0}function Ys(){var r=Ba;return Ba<<=1,(Ba&4194240)===0&&(Ba=64),r}function ti(r){for(var a=[],l=0;31>l;l++)a.push(r);return a}function Pr(r,a,l){r.pendingLanes|=a,a!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,a=31-Mt(a),r[a]=l}function xe(r,a){var l=r.pendingLanes&~a;r.pendingLanes=a,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=a,r.mutableReadLanes&=a,r.entangledLanes&=a,a=r.entanglements;var g=r.eventTimes;for(r=r.expirationTimes;0<l;){var _=31-Mt(l),O=1<<_;a[_]=0,g[_]=-1,r[_]=-1,l&=~O}}function V(r,a){var l=r.entangledLanes|=a;for(r=r.entanglements;l;){var g=31-Mt(l),_=1<<g;_&a|r[g]&a&&(r[g]|=a),l&=~_}}var ae=0;function ke(r){return r&=-r,1<r?4<r?(r&268435455)!==0?16:536870912:4:1}var Pe,Ve,Je,Et,yt,Zt=!1,en=[],Mn=null,bt=null,ni=null,Zs=new Map,eo=new Map,ri=[],VA="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Qg(r,a){switch(r){case"focusin":case"focusout":Mn=null;break;case"dragenter":case"dragleave":bt=null;break;case"mouseover":case"mouseout":ni=null;break;case"pointerover":case"pointerout":Zs.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":eo.delete(a.pointerId)}}function to(r,a,l,g,_,O){return r===null||r.nativeEvent!==O?(r={blockedOn:a,domEventName:l,eventSystemFlags:g,nativeEvent:O,targetContainers:[_]},a!==null&&(a=po(a),a!==null&&Ve(a)),r):(r.eventSystemFlags|=g,a=r.targetContainers,_!==null&&a.indexOf(_)===-1&&a.push(_),r)}function HA(r,a,l,g,_){switch(a){case"focusin":return Mn=to(Mn,r,a,l,g,_),!0;case"dragenter":return bt=to(bt,r,a,l,g,_),!0;case"mouseover":return ni=to(ni,r,a,l,g,_),!0;case"pointerover":var O=_.pointerId;return Zs.set(O,to(Zs.get(O)||null,r,a,l,g,_)),!0;case"gotpointercapture":return O=_.pointerId,eo.set(O,to(eo.get(O)||null,r,a,l,g,_)),!0}return!1}function Yg(r){var a=Qi(r.target);if(a!==null){var l=yn(a);if(l!==null){if(a=l.tag,a===13){if(a=pl(l),a!==null){r.blockedOn=a,yt(r.priority,function(){Je(l)});return}}else if(a===3&&l.stateNode.current.memoizedState.isDehydrated){r.blockedOn=l.tag===3?l.stateNode.containerInfo:null;return}}}r.blockedOn=null}function Al(r){if(r.blockedOn!==null)return!1;for(var a=r.targetContainers;0<a.length;){var l=Fc(r.domEventName,r.eventSystemFlags,a[0],r.nativeEvent);if(l===null){l=r.nativeEvent;var g=new l.constructor(l.type,l);dr=g,l.target.dispatchEvent(g),dr=null}else return a=po(l),a!==null&&Ve(a),r.blockedOn=l,!1;a.shift()}return!0}function Zg(r,a,l){Al(r)&&l.delete(a)}function $A(){Zt=!1,Mn!==null&&Al(Mn)&&(Mn=null),bt!==null&&Al(bt)&&(bt=null),ni!==null&&Al(ni)&&(ni=null),Zs.forEach(Zg),eo.forEach(Zg)}function no(r,a){r.blockedOn===a&&(r.blockedOn=null,Zt||(Zt=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,$A)))}function ro(r){function a(_){return no(_,r)}if(0<en.length){no(en[0],r);for(var l=1;l<en.length;l++){var g=en[l];g.blockedOn===r&&(g.blockedOn=null)}}for(Mn!==null&&no(Mn,r),bt!==null&&no(bt,r),ni!==null&&no(ni,r),Zs.forEach(a),eo.forEach(a),l=0;l<ri.length;l++)g=ri[l],g.blockedOn===r&&(g.blockedOn=null);for(;0<ri.length&&(l=ri[0],l.blockedOn===null);)Yg(l),l.blockedOn===null&&ri.shift()}var qa=x.ReactCurrentBatchConfig,El=!0;function XA(r,a,l,g){var _=ae,O=qa.transition;qa.transition=null;try{ae=1,Bc(r,a,l,g)}finally{ae=_,qa.transition=O}}function JA(r,a,l,g){var _=ae,O=qa.transition;qa.transition=null;try{ae=4,Bc(r,a,l,g)}finally{ae=_,qa.transition=O}}function Bc(r,a,l,g){if(El){var _=Fc(r,a,l,g);if(_===null)rd(r,a,g,Sl,l),Qg(r,g);else if(HA(_,r,a,l,g))g.stopPropagation();else if(Qg(r,g),a&4&&-1<VA.indexOf(r)){for(;_!==null;){var O=po(_);if(O!==null&&Pe(O),O=Fc(r,a,l,g),O===null&&rd(r,a,g,Sl,l),O===_)break;_=O}_!==null&&g.stopPropagation()}else rd(r,a,g,null,l)}}var Sl=null;function Fc(r,a,l,g){if(Sl=null,r=vn(g),r=Qi(r),r!==null)if(a=yn(r),a===null)r=null;else if(l=a.tag,l===13){if(r=pl(a),r!==null)return r;r=null}else if(l===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;r=null}else a!==r&&(r=null);return Sl=r,null}
vendor: 1,543 bytes, line 38
38function ep(r){switch(r){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(yl()){case Hn:return 1;case wl:return 4;case Ma:case kl:return 16;case Js:return 536870912;default:return 16}default:return 16}}var ii=null,qc=null,_l=null;function tp(){if(_l)return _l;var r,a=qc,l=a.length,g,_="value"in ii?ii.value:ii.textContent,O=_.length;for(r=0;r<l&&a[r]===_[r];r++);var M=l-r;for(g=1;g<=M&&a[l-g]===_[O-g];g++);return _l=_.slice(r,1<g?1-g:void 0)}function Tl(r){var a=r.keyCode;
vendor: 28,550 bytes, lines 38-39
38return"charCode"in r?(r=r.charCode,r===0&&a===13&&(r=13)):r=a,r===10&&(r=13),32<=r||r===13?r:0}function Ol(){return!0}function np(){return!1}function Rn(r){function a(l,g,_,O,M){this._reactName=l,this._targetInst=_,this.type=g,this.nativeEvent=O,this.target=M,this.currentTarget=null;for(var H in r)r.hasOwnProperty(H)&&(l=r[H],this[H]=l?l(O):O[H]);return this.isDefaultPrevented=(O.defaultPrevented!=null?O.defaultPrevented:O.returnValue===!1)?Ol:np,this.isPropagationStopped=np,this}return q(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var l=this.nativeEvent;l&&(l.preventDefault?l.preventDefault():typeof l.returnValue!="unknown"&&(l.returnValue=!1),this.isDefaultPrevented=Ol)},stopPropagation:function(){var l=this.nativeEvent;l&&(l.stopPropagation?l.stopPropagation():typeof l.cancelBubble!="unknown"&&(l.cancelBubble=!0),this.isPropagationStopped=Ol)},persist:function(){},isPersistent:Ol}),a}var Ua={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(r){return r.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Uc=Rn(Ua),io=q({},Ua,{view:0,detail:0}),QA=Rn(io),Wc,Kc,ao,Nl=q({},io,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Vc,button:0,buttons:0,relatedTarget:function(r){return r.relatedTarget===void 0?r.fromElement===r.srcElement?r.toElement:r.fromElement:r.relatedTarget},movementX:function(r){return"movementX"in r?r.movementX:(r!==ao&&(ao&&r.type==="mousemove"?(Wc=r.screenX-ao.screenX,Kc=r.screenY-ao.screenY):Kc=Wc=0,ao=r),Wc)},movementY:function(r){return"movementY"in r?r.movementY:Kc}}),rp=Rn(Nl),YA=q({},Nl,{dataTransfer:0}),ZA=Rn(YA),eE=q({},io,{relatedTarget:0}),Gc=Rn(eE),tE=q({},Ua,{animationName:0,elapsedTime:0,pseudoElement:0}),nE=Rn(tE),rE=q({},Ua,{clipboardData:function(r){return"clipboardData"in r?r.clipboardData:window.clipboardData}}),iE=Rn(rE),aE=q({},Ua,{data:0}),ip=Rn(aE),sE={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},oE={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lE={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function uE(r){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(r):(r=lE[r])?!!a[r]:!1}function Vc(){return uE}var cE=q({},io,{key:function(r){if(r.key){var a=sE[r.key]||r.key;if(a!=="Unidentified")return a}return r.type==="keypress"?(r=Tl(r),r===13?"Enter":String.fromCharCode(r)):r.type==="keydown"||r.type==="keyup"?oE[r.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Vc,charCode:function(r){return r.type==="keypress"?Tl(r):0},keyCode:function(r){return r.type==="keydown"||r.type==="keyup"?r.keyCode:0},which:function(r){return r.type==="keypress"?Tl(r):r.type==="keydown"||r.type==="keyup"?r.keyCode:0}}),dE=Rn(cE),hE=q({},Nl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),ap=Rn(hE),fE=q({},io,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Vc}),mE=Rn(fE),gE=q({},Ua,{propertyName:0,elapsedTime:0,pseudoElement:0}),pE=Rn(gE),bE=q({},Nl,{deltaX:function(r){return"deltaX"in r?r.deltaX:"wheelDeltaX"in r?-r.wheelDeltaX:0},deltaY:function(r){return"deltaY"in r?r.deltaY:"wheelDeltaY"in r?-r.wheelDeltaY:"wheelDelta"in r?-r.wheelDelta:0},deltaZ:0,deltaMode:0}),vE=Rn(bE),yE=[9,13,27,32],Hc=c&&"CompositionEvent"in window,so=null;c&&"documentMode"in document&&(so=document.documentMode);var wE=c&&"TextEvent"in window&&!so,sp=c&&(!Hc||so&&8<so&&11>=so),op=" ",lp=!1;function up(r,a){switch(r){case"keyup":return yE.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function cp(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Wa=!1;function kE(r,a){switch(r){case"compositionend":return cp(a);case"keypress":return a.which!==32?null:(lp=!0,op);case"textInput":return r=a.data,r===op&&lp?null:r;default:return null}}function xE(r,a){if(Wa)return r==="compositionend"||!Hc&&up(r,a)?(r=tp(),_l=qc=ii=null,Wa=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return sp&&a.locale!=="ko"?null:a.data;default:return null}}var AE={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function dp(r){var a=r&&r.nodeName&&r.nodeName.toLowerCase();return a==="input"?!!AE[r.type]:a==="textarea"}function hp(r,a,l,g){Ws(g),a=Pl(a,"onChange"),0<a.length&&(l=new Uc("onChange","change",null,l,g),r.push({event:l,listeners:a}))}var oo=null,lo=null;function EE(r){Cp(r,0)}function Cl(r){var a=$a(r);if(Oe(a))return r}function SE(r,a){if(r==="change")return a}var fp=!1;if(c){var $c;if(c){var Xc="oninput"in document;if(!Xc){var mp=document.createElement("div");mp.setAttribute("oninput","return;"),Xc=typeof mp.oninput=="function"}$c=Xc}else $c=!1;fp=$c&&(!document.documentMode||9<document.documentMode)}function gp(){oo&&(oo.detachEvent("onpropertychange",pp),lo=oo=null)}function pp(r){if(r.propertyName==="value"&&Cl(lo)){var a=[];hp(a,lo,r,vn(r)),ja(EE,a)}}function _E(r,a,l){r==="focusin"?(gp(),oo=a,lo=l,oo.attachEvent("onpropertychange",pp)):r==="focusout"&&gp()}function TE(r){if(r==="selectionchange"||r==="keyup"||r==="keydown")return Cl(lo)}function OE(r,a){if(r==="click")return Cl(a)}function NE(r,a){if(r==="input"||r==="change")return Cl(a)}function CE(r,a){return r===a&&(r!==0||1/r===1/a)||r!==r&&a!==a}var Xn=typeof Object.is=="function"?Object.is:CE;function uo(r,a){if(Xn(r,a))return!0;if(typeof r!="object"||r===null||typeof a!="object"||a===null)return!1;var l=Object.keys(r),g=Object.keys(a);if(l.length!==g.length)return!1;for(g=0;g<l.length;g++){var _=l[g];if(!p.call(a,_)||!Xn(r[_],a[_]))return!1}return!0}function bp(r){for(;r&&r.firstChild;)r=r.firstChild;return r}function vp(r,a){var l=bp(r);r=0;for(var g;l;){if(l.nodeType===3){if(g=r+l.textContent.length,r<=a&&g>=a)return{node:l,offset:a-r};r=g}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=bp(l)}}function yp(r,a){return r&&a?r===a?!0:r&&r.nodeType===3?!1:a&&a.nodeType===3?yp(r,a.parentNode):"contains"in r?r.contains(a):r.compareDocumentPosition?!!(r.compareDocumentPosition(a)&16):!1:!1}function wp(){for(var r=window,a=Ee();a instanceof r.HTMLIFrameElement;){try{var l=typeof a.contentWindow.location.href=="string"}catch{l=!1}if(l)r=a.contentWindow;else break;a=Ee(r.document)}return a}function Jc(r){var a=r&&r.nodeName&&r.nodeName.toLowerCase();return a&&(a==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||a==="textarea"||r.contentEditable==="true")}function DE(r){var a=wp(),l=r.focusedElem,g=r.selectionRange;if(a!==l&&l&&l.ownerDocument&&yp(l.ownerDocument.documentElement,l)){if(g!==null&&Jc(l)){if(a=g.start,r=g.end,r===void 0&&(r=a),"selectionStart"in l)l.selectionStart=a,l.selectionEnd=Math.min(r,l.value.length);else if(r=(a=l.ownerDocument||document)&&a.defaultView||window,r.getSelection){r=r.getSelection();var _=l.textContent.length,O=Math.min(g.start,_);g=g.end===void 0?O:Math.min(g.end,_),!r.extend&&O>g&&(_=g,g=O,O=_),_=vp(l,O);var M=vp(l,g);_&&M&&(r.rangeCount!==1||r.anchorNode!==_.node||r.anchorOffset!==_.offset||r.focusNode!==M.node||r.focusOffset!==M.offset)&&(a=a.createRange(),a.setStart(_.node,_.offset),r.removeAllRanges(),O>g?(r.addRange(a),r.extend(M.node,M.offset)):(a.setEnd(M.node,M.offset),r.addRange(a)))}}for(a=[],r=l;r=r.parentNode;)r.nodeType===1&&a.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<a.length;l++)r=a[l],r.element.scrollLeft=r.left,r.element.scrollTop=r.top}}var zE=c&&"documentMode"in document&&11>=document.documentMode,Ka=null,Qc=null,co=null,Yc=!1;function kp(r,a,l){var g=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Yc||Ka==null||Ka!==Ee(g)||(g=Ka,"selectionStart"in g&&Jc(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),co&&uo(co,g)||(co=g,g=Pl(Qc,"onSelect"),0<g.length&&(a=new Uc("onSelect","select",null,a,l),r.push({event:a,listeners:g}),a.target=Ka)))}function Dl(r,a){var l={};return l[r.toLowerCase()]=a.toLowerCase(),l["Webkit"+r]="webkit"+a,l["Moz"+r]="moz"+a,l}var Ga={animationend:Dl("Animation","AnimationEnd"),animationiteration:Dl("Animation","AnimationIteration"),animationstart:Dl("Animation","AnimationStart"),transitionend:Dl("Transition","TransitionEnd")},Zc={},xp={};c&&(xp=document.createElement("div").style,"AnimationEvent"in window||(delete Ga.animationend.animation,delete Ga.animationiteration.animation,delete Ga.animationstart.animation),"TransitionEvent"in window||delete Ga.transitionend.transition);function zl(r){if(Zc[r])return Zc[r];if(!Ga[r])return r;var a=Ga[r],l;for(l in a)if(a.hasOwnProperty(l)&&l in xp)return Zc[r]=a[l];return r}var Ap=zl("animationend"),Ep=zl("animationiteration"),Sp=zl("animationstart"),_p=zl("transitionend"),Tp=new Map,Op="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function ai(r,a){Tp.set(r,a),o(a,[r])}for(var ed=0;ed<Op.length;ed++){var td=Op[ed],RE=td.toLowerCase(),PE=td[0].toUpperCase()+td.slice(1);ai(RE,"on"+PE)}ai(Ap,"onAnimationEnd"),ai(Ep,"onAnimationIteration"),ai(Sp,"onAnimationStart"),ai("dblclick","onDoubleClick"),ai("focusin","onFocus"),ai("focusout","onBlur"),ai(_p,"onTransitionEnd"),u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),o("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),o("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),o("onBeforeInput",["compositionend","keypress","textInput","paste"]),o("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),o("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),o("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ho="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),jE=new Set("cancel close invalid load scroll toggle".split(" ").concat(ho));function Np(r,a,l){var g=r.type||"unknown-event";r.currentTarget=l,pt(g,a,void 0,r),r.currentTarget=null}function Cp(r,a){a=(a&4)!==0;for(var l=0;l<r.length;l++){var g=r[l],_=g.event;g=g.listeners;e:{var O=void 0;if(a)for(var M=g.length-1;0<=M;M--){var H=g[M],Y=H.instance,ce=H.currentTarget;if(H=H.listener,Y!==O&&_.isPropagationStopped())break e;Np(_,H,ce),O=Y}else for(M=0;M<g.length;M++){if(H=g[M],Y=H.instance,ce=H.currentTarget,H=H.listener,Y!==O&&_.isPropagationStopped())break e;Np(_,H,ce),O=Y}}}if(Ia)throw r=zr,Ia=!1,zr=null,r}function mt(r,a){var l=a[ud];l===void 0&&(l=a[ud]=new Set);var g=r+"__bubble";l.has(g)||(Dp(a,r,2,!1),l.add(g))}function nd(r,a,l){var g=0;a&&(g|=4),Dp(l,r,g,a)}var Rl="_reactListening"+Math.random().toString(36).slice(2);function fo(r){if(!r[Rl]){r[Rl]=!0,i.forEach(function(l){l!=="selectionchange"&&(jE.has(l)||nd(l,!1,r),nd(l,!0,r))});var a=r.nodeType===9?r:r.ownerDocument;a===null||a[Rl]||(a[Rl]=!0,nd("selectionchange",!1,a))}}function Dp(r,a,l,g){switch(ep(a)){case 1:var _=XA;break;case 4:_=JA;break;default:_=Bc}l=_.bind(null,a,l,r),_=void 0,!Ks||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(_=!0),g?_!==void 0?r.addEventListener(a,l,{capture:!0,passive:_}):r.addEventListener(a,l,!0):_!==void 0?r.addEventListener(a,l,{passive:_}):r.addEventListener(a,l,!1)}function rd(r,a,l,g,_){var O=g;if((a&1)===0&&(a&2)===0&&g!==null)e:for(;;){if(g===null)return;var M=g.tag;if(M===3||M===4){var H=g.stateNode.containerInfo;if(H===_||H.nodeType===8&&H.parentNode===_)break;if(M===4)for(M=g.return;M!==null;){var Y=M.tag;if((Y===3||Y===4)&&(Y=M.stateNode.containerInfo,Y===_||Y.nodeType===8&&Y.parentNode===_))return;M=M.return}for(;H!==null;){if(M=Qi(H),M===null)return;if(Y=M.tag,Y===5||Y===6){g=O=M;continue e}H=H.parentNode}}g=g.return}ja(function(){var ce=O,be=vn(l),ve=[];e:{var ge=Tp.get(r);if(ge!==void 0){var _e=Uc,ze=r;switch(r){case"keypress":if(Tl(l)===0)break e;case"keydown":case"keyup":_e=dE;break;case"focusin":ze="focus",_e=Gc;break;case"focusout":ze="blur",_e=Gc;break;case"beforeblur":case"afterblur":_e=Gc;break;case"click":if(l.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":_e=rp;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":_e=ZA;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":_e=mE;break;case Ap:case Ep:case Sp:_e=nE;break;case _p:_e=pE;break;case"scroll":_e=QA;break;case"wheel":_e=vE;break;case"copy":case"cut":case"paste":_e=iE;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":_e=ap}var Ie=(a&4)!==0,St=!Ie&&r==="scroll",le=Ie?ge!==null?ge+"Capture":null:ge;Ie=[];for(var ne=ce,ue;ne!==null;){ue=ne;var ye=ue.stateNode;if(ue.tag===5&&ye!==null&&(ue=ye,le!==null&&(ye=Dr(ne,le),ye!=null&&Ie.push(mo(ne,ye,ue)))),St)break;ne=ne.return}0<Ie.length&&(ge=new _e(ge,ze,null,l,be),ve.push({event:ge,listeners:Ie}))}}if((a&7)===0){e:{if(ge=r==="mouseover"||r==="pointerover",_e=r==="mouseout"||r==="pointerout",ge&&l!==dr&&(ze=l.relatedTarget||l.fromElement)&&(Qi(ze)||ze[jr]))break e;if((_e||ge)&&(ge=be.window===be?be:(ge=be.ownerDocument)?ge.defaultView||ge.parentWindow:window,_e?(ze=l.relatedTarget||l.toElement,_e=ce,ze=ze?Qi(ze):null,ze!==null&&(St=yn(ze),ze!==St||ze.tag!==5&&ze.tag!==6)&&(ze=null)):(_e=null,ze=ce),_e!==ze)){if(Ie=rp,ye="onMouseLeave",le="onMouseEnter",ne="mouse",(r==="pointerout"||r==="pointerover")&&(Ie=ap,ye="onPointerLeave",le="onPointerEnter",ne="pointer"),St=_e==null?ge:$a(_e),ue=ze==null?ge:$a(ze),ge=new Ie(ye,ne+"leave",_e,l,be),ge.target=St,ge.relatedTarget=ue,ye=null,Qi(be)===ce&&(Ie=new Ie(le,ne+"enter",ze,l,be),Ie.target=ue,Ie.relatedTarget=St,ye=Ie),St=ye,_e&&ze)t:{for(Ie=_e,le=ze,ne=0,ue=Ie;ue;ue=Va(ue))ne++;for(ue=0,ye=le;ye;ye=Va(ye))ue++;for(;0<ne-ue;)Ie=Va(Ie),ne--;for(;0<ue-ne;)le=Va(le),ue--;for(;ne--;){if(Ie===le||le!==null&&Ie===le.alternate)break t;Ie=Va(Ie),le=Va(le)}Ie=null}else Ie=null;_e!==null&&zp(ve,ge,_e,Ie,!1),ze!==null&&St!==null&&zp(ve,St,ze,Ie,!0)}}e:{if(ge=ce?$a(ce):window,_e=ge.nodeName&&ge.nodeName.toLowerCase(),_e==="select"||_e==="input"&&ge.type==="file")var Me=SE;else if(dp(ge))if(fp)Me=NE;else{Me=TE;var Le=_E}else(_e=ge.nodeName)&&_e.toLowerCase()==="input"&&(ge.type==="checkbox"||ge.type==="radio")&&(Me=OE);if(Me&&(Me=Me(r,ce))){hp(ve,Me,l,be);break e}Le&&Le(r,ge,ce),r==="focusout"&&(Le=ge._wrapperState)&&Le.controlled&&ge.type==="number"&&he(ge,"number",ge.value)}switch(Le=ce?$a(ce):window,r){case"focusin":(dp(Le)||Le.contentEditable==="true")&&(Ka=Le,Qc=ce,co=null);break;case"focusout":co=Qc=Ka=null;break;case"mousedown":Yc=!0;break;case"contextmenu":case"mouseup":case"dragend":Yc=!1,kp(ve,l,be);break;case"selectionchange":if(zE)break;case"keydown":case"keyup":kp(ve,l,be)}var Be;if(Hc)e:{switch(r){case"compositionstart":var Ge="onCompositionStart";break e;case"compositionend":Ge="onCompositionEnd";break e;case"compositionupdate":Ge="onCompositionUpdate";break e}Ge=void 0}else Wa?up(r,l)&&(Ge="onCompositionEnd"):r==="keydown"&&l.keyCode===229&&(Ge="onCompositionStart");Ge&&(sp&&l.locale!=="ko"&&(Wa||Ge!=="onCompositionStart"?Ge==="onCompositionEnd"&&Wa&&(Be=tp()):(ii=be,qc="value"in ii?ii.value:ii.textContent,Wa=!0)),Le=Pl(ce,Ge),0<Le.length&&(Ge=new ip(Ge,r,null,l,be),ve.push({event:Ge,listeners:Le}),Be?Ge.data=Be:(Be=cp(l),Be!==null&&(Ge.data=Be)))),(Be=wE?kE(r,l):xE(r,l))&&(ce=Pl(ce,"onBeforeInput"),0<ce.length&&(be=new ip("onBeforeInput","beforeinput",null,l,be),ve.push({event:be,listeners:ce}),be.data=Be))}Cp(ve,a)})}function mo(r,a,l){return{instance:r,listener:a,currentTarget:l}}function Pl(r,a){for(var l=a+"Capture",g=[];r!==null;){var _=r,O=_.stateNode;_.tag===5&&O!==null&&(_=O,O=Dr(r,l),O!=null&&g.unshift(mo(r,O,_)),O=Dr(r,a),O!=null&&g.push(mo(r,O,_))),r=r.return}return g}function Va(r){if(r===null)return null;do r=r.return;while(r&&r.tag!==5);return r||null}function zp(r,a,l,g,_){for(var O=a._reactName,M=[];l!==null&&l!==g;){var H=l,Y=H.alternate,ce=H.stateNode;if(Y!==null&&Y===g)break;H.tag===5&&ce!==null&&(H=ce,_?(Y=Dr(l,O),Y!=null&&M.unshift(mo(l,Y,H))):_||(Y=Dr(l,O),Y!=null&&M.push(mo(l,Y,H)))),l=l.return}M.length!==0&&r.push({event:a,listeners:M})}var IE=/\r\n?/g,ME=/\u0000|\uFFFD/g;function Rp(r){return(typeof r=="string"?r:""+r).replace(IE,` 39`).replace(ME,"")}function jl(r,a,l){if(a=Rp(a),Rp(r)!==a&&l)throw Error(n(425))}function Il(){}var id=null,ad=null;function sd(r,a){return r==="textarea"||r==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var od=typeof setTimeout=="function"?setTimeout:void 0,LE=typeof clearTimeout=="function"?clearTimeout:void 0,Pp=typeof Promise=="function"?Promise:void 0,BE=typeof queueMicrotask=="function"?queueMicrotask:typeof Pp<"u"?function(r){return Pp.resolve(null).then(r).catch(FE)}:od;function FE(r){setTimeout(function(){throw r})}function ld(r,a){var l=a,g=0;do{var _=l.nextSibling;if(r.removeChild(l),_&&_.nodeType===8)if(l=_.data,l==="/$"){if(g===0){r.removeChild(_),ro(a);return}g--}else l!=="$"&&l!=="$?"&&l!=="$!"||g++;l=_}while(l);ro(a)}function si(r){for(;r!=null;r=r.nextSibling){var a=r.nodeType;if(a===1||a===3)break;if(a===8){if(a=r.data,a==="$"||a==="$!"||a==="$?")break;if(a==="/$")return null}}return r}function jp(r){r=r.previousSibling;for(var a=0;r;){if(r.nodeType===8){var l=r.data;if(l==="$"||l==="$!"||l==="$?"){if(a===0)return r;a--}else l==="/$"&&a++}r=r.previousSibling}return null}var Ha=Math.random().toString(36).slice(2),fr="__reactFiber$"+Ha,go="__reactProps$"+Ha,jr="__reactContainer$"+Ha,ud="__reactEvents$"+Ha,qE="__reactListeners$"+Ha,UE="__reactHandles$"+Ha;function Qi(r){var a=r[fr];if(a)return a;for(var l=r.parentNode;l;){if(a=l[jr]||l[fr]){if(l=a.alternate,a.child!==null||l!==null&&l.child!==null)for(r=jp(r);r!==null;){if(l=r[fr])return l;r=jp(r)}return a}r=l,l=r.parentNode}return null}function po(r){return r=r[fr]||r[jr],!r||r.tag!==5&&r.tag!==6&&r.tag!==13&&r.tag!==3?null:r}function $a(r){if(r.tag===5||r.tag===6)return r.stateNode;throw Error(n(33))}function Ml(r){return r[go]||null}var cd=[],Xa=-1;function oi(r){return{current:r}}function gt(r){0>Xa||(r.current=cd[Xa],cd[Xa]=null,Xa--)}function ft(r,a){Xa++,cd[Xa]=r.current,r.current=a}var li={},tn=oi(li),kn=oi(!1),Yi=li;function Ja(r,a){var l=r.type.contextTypes;if(!l)return li;var g=r.stateNode;if(g&&g.__reactInternalMemoizedUnmaskedChildContext===a)return g.__reactInternalMemoizedMaskedChildContext;var _={},O;for(O in l)_[O]=a[O];return g&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=a,r.__reactInternalMemoizedMaskedChildContext=_),_}function xn(r){return r=r.childContextTypes,r!=null}function Ll(){gt(kn),gt(tn)}function Ip(r,a,l){if(tn.current!==li)throw Error(n(168));ft(tn,a),ft(kn,l)}function Mp(r,a,l){var g=r.stateNode;if(a=a.childContextTypes,typeof g.getChildContext!="function")return l;g=g.getChildContext();for(var _ in g)if(!(_ in a))throw Error(n(108,$(r)||"Unknown",_));return q({},l,g)}function Bl(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||li,Yi=tn.current,ft(tn,r),ft(kn,kn.current),!0}function Lp(r,a,l){var g=r.stateNode;if(!g)throw Error(n(169));l?(r=Mp(r,a,Yi),g.__reactInternalMemoizedMergedChildContext=r,gt(kn),gt(tn),ft(tn,r)):gt(kn),ft(kn,l)}var Ir=null,Fl=!1,dd=!1;function Bp(r){Ir===null?Ir=[r]:Ir.push(r)}function WE(r){Fl=!0,Bp(r)}function ui(){if(!dd&&Ir!==null){dd=!0;var r=0,a=ae;try{var l=Ir;for(ae=1;r<l.length;r++){var g=l[r];do g=g(!0);while(g!==null)}Ir=null,Fl=!1}catch(_){throw Ir!==null&&(Ir=Ir.slice(r+1)),bl(Hn,ui),_}finally{ae=a,dd=!1}}return null}var Qa=[],Ya=0,ql=null,Ul=0,Ln=[],Bn=0,Zi=null,Mr=1,Lr="";function ea(r,a){Qa[Ya++]=Ul,Qa[Ya++]=ql,ql=r,Ul=a}function Fp(r,a,l){Ln[Bn++]=Mr,Ln[Bn++]=Lr,Ln[Bn++]=Zi,Zi=r;var g=Mr;r=Lr;var _=32-Mt(g)-1;g&=~(1<<_),l+=1;var O=32-Mt(a)+_;if(30<O){var M=_-_%5;O=(g&(1<<M)-1).toString(32),g>>=M,_-=M,Mr=1<<32-Mt(a)+_|l<<_|g,Lr=O+r}else Mr=1<<O|l<<_|g,Lr=r}function hd(r){r.return!==null&&(ea(r,1),Fp(r,1,0))}function fd(r){for(;r===ql;)ql=Qa[--Ya],Qa[Ya]=null,Ul=Qa[--Ya],Qa[Ya]=null;for(;r===Zi;)Zi=Ln[--Bn],Ln[Bn]=null,Lr=Ln[--Bn],Ln[Bn]=null,Mr=Ln[--Bn],Ln[Bn]=null}var Pn=null,jn=null,vt=!1,Jn=null;function qp(r,a){var l=Wn(5,null,null,0);l.elementType="DELETED",l.stateNode=a,l.return=r,a=r.deletions,a===null?(r.deletions=[l],r.flags|=16):a.push(l)}function Up(r,a){switch(r.tag){case 5:var l=r.type;return a=a.nodeType!==1||l.toLowerCase()!==a.nodeName.toLowerCase()?null:a,a!==null?(r.stateNode=a,Pn=r,jn=si(a.firstChild),!0):!1;case 6:return a=r.pendingProps===""||a.nodeType!==3?null:a,a!==null?(r.stateNode=a,Pn=r,jn=null,!0):!1;case 13:return a=a.nodeType!==8?null:a,a!==null?(l=Zi!==null?{id:Mr,overflow:Lr}:null,r.memoizedState={dehydrated:a,treeContext:l,retryLane:1073741824},l=Wn(18,null,null,0),l.stateNode=a,l.return=r,r.child=l,Pn=r,jn=null,!0):!1;default:return!1}}function md(r){return(r.mode&1)!==0&&(r.flags&128)===0}function gd(r){if(vt){var a=jn;if(a){var l=a;if(!Up(r,a)){if(md(r))throw Error(n(418));a=si(l.nextSibling);var g=Pn;a&&Up(r,a)?qp(g,l):(r.flags=r.flags&-4097|2,vt=!1,Pn=r)}}else{if(md(r))throw Error(n(418));r.flags=r.flags&-4097|2,vt=!1,Pn=r}}}function Wp(r){for(r=r.return;r!==null&&r.tag!==5&&r.tag!==3&&r.tag!==13;)r=r.return;Pn=r}function Wl(r){if(r!==Pn)return!1;if(!vt)return Wp(r),vt=!0,!1;var a;if((a=r.tag!==3)&&!(a=r.tag!==5)&&(a=r.type,a=a!=="head"&&a!=="body"&&!sd(r.type,r.memoizedProps)),a&&(a=jn)){if(md(r))throw Kp(),Error(n(418));for(;a;)qp(r,a),a=si(a.nextSibling)}if(Wp(r),r.tag===13){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(n(317));e:{for(r=r.nextSibling,a=0;r;){if(r.nodeType===8){var l=r.data;if(l==="/$"){if(a===0){jn=si(r.nextSibling);break e}a--}else l!=="$"&&l!=="$!"&&l!=="$?"||a++}r=r.nextSibling}jn=null}}else jn=Pn?si(r.stateNode.nextSibling):null;return!0}function Kp(){for(var r=jn;r;)r=si(r.nextSibling)}function Za(){jn=Pn=null,vt=!1}function pd(r){Jn===null?Jn=[r]:Jn.push(r)}var KE=x.ReactCurrentBatchConfig;function bo(r,a,l){if(r=l.ref,r!==null&&typeof r!="function"&&typeof r!="object"){if(l._owner){if(l=l._owner,l){if(l.tag!==1)throw Error(n(309));var g=l.stateNode}if(!g)throw Error(n(147,r));var _=g,O=""+r;return a!==null&&a.ref!==null&&typeof a.ref=="function"&&a.ref._stringRef===O?a.ref:(a=function(M){var H=_.refs;M===null?delete H[O]:H[O]=M},a._stringRef=O,a)}if(typeof r!="string")throw Error(n(284));if(!l._owner)throw Error(n(290,r))}return r}function Kl(r,a){throw r=Object.prototype.toString.call(a),Error(n(31,r==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":r))}function Gp(r){var a=r._init;return a(r._payload)}function Vp(r){function a(le,ne){if(r){var ue=le.deletions;ue===null?(le.deletions=[ne],le.flags|=16):ue.push(ne)}}function l(le,ne){if(!r)return null;for(;ne!==null;)a(le,ne),ne=ne.sibling;return null}function g(le,ne){for(le=new Map;ne!==null;)ne.key!==null?le.set(ne.key,ne):le.set(ne.index,ne),ne=ne.sibling;return le}function _(le,ne){return le=bi(le,ne),le.index=0,le.sibling=null,le}function O(le,ne,ue){return le.index=ue,r?(ue=le.alternate,ue!==null?(ue=ue.index,ue<ne?(le.flags|=2,ne):ue):(le.flags|=2,ne)):(le.flags|=1048576,ne)}function M(le){return r&&le.alternate===null&&(le.flags|=2),le}function H(le,ne,ue,ye){return ne===null||ne.tag!==6?(ne=oh(ue,le.mode,ye),ne.return=le,ne):(ne=_(ne,ue),ne.return=le,ne)}function Y(le,ne,ue,ye){var Me=ue.type;return Me===z?be(le,ne,ue.props.children,ye,ue.key):ne!==null&&(ne.elementType===Me||typeof Me=="object"&&Me!==null&&Me.$$typeof===Z&&Gp(Me)===ne.type)?(ye=_(ne,ue.props),ye.ref=bo(le,ne,ue),ye.return=le,ye):(ye=mu(ue.type,ue.key,ue.props,null,le.mode,ye),ye.ref=bo(le,ne,ue),ye.return=le,ye)}function ce(le,ne,ue,ye){return ne===null||ne.tag!==4||ne.stateNode.containerInfo!==ue.containerInfo||ne.stateNode.implementation!==ue.implementation?(ne=lh(ue,le.mode,ye),ne.return=le,ne):(ne=_(ne,ue.children||[]),ne.return=le,ne)}function be(le,ne,ue,ye,Me){return ne===null||ne.tag!==7?(ne=la(ue,le.mode,ye,Me),ne.return=le,ne):(ne=_(ne,ue),ne.return=le,ne)}function ve(le,ne,ue){if(typeof ne=="string"&&ne!==""||typeof ne=="number")return ne=oh(""+ne,le.mode,ue),ne.return=le,ne;if(typeof ne=="object"&&ne!==null){switch(ne.$$typeof){case T:return ue=mu(ne.type,ne.key,ne.props,null,le.mode,ue),ue.ref=bo(le,null,ne),ue.return=le,ue;case R:return ne=lh(ne,le.mode,ue),ne.return=le,ne;case Z:var ye=ne._init;return ve(le,ye(ne._payload),ue)}if(we(ne)||X(ne))return ne=la(ne,le.mode,ue,null),ne.return=le,ne;Kl(le,ne)}return null}function ge(le,ne,ue,ye){var Me=ne!==null?ne.key:null;if(typeof ue=="string"&&ue!==""||typeof ue=="number")return Me!==null?null:H(le,ne,""+ue,ye);if(typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case T:return ue.key===Me?Y(le,ne,ue,ye):null;case R:return ue.key===Me?ce(le,ne,ue,ye):null;case Z:return Me=ue._init,ge(le,ne,Me(ue._payload),ye)}if(we(ue)||X(ue))return Me!==null?null:be(le,ne,ue,ye,null);Kl(le,ue)}return null}function _e(le,ne,ue,ye,Me){if(typeof ye=="string"&&ye!==""||typeof ye=="number")return le=le.get(ue)||null,H(ne,le,""+ye,Me);if(typeof ye=="object"&&ye!==null){switch(ye.$$typeof){case T:return le=le.get(ye.key===null?ue:ye.key)||null,Y(ne,le,ye,Me);case R:return le=le.get(ye.key===null?ue:ye.key)||null,ce(ne,le,ye,Me);case Z:var Le=ye._init;return _e(le,ne,ue,Le(ye._payload),Me)}if(we(ye)||X(ye))return le=le.get(ue)||null,be(ne,le,ye,Me,null);Kl(ne,ye)}return null}function ze(le,ne,ue,ye){for(var Me=null,Le=null,Be=ne,Ge=ne=0,Ft=null;Be!==null&&Ge<ue.length;Ge++){Be.index>Ge?(Ft=Be,Be=null):Ft=Be.sibling;var at=ge(le,Be,ue[Ge],ye);if(at===null){Be===null&&(Be=Ft);break}r&&Be&&at.alternate===null&&a(le,Be),ne=O(at,ne,Ge),Le===null?Me=at:Le.sibling=at,Le=at,Be=Ft}if(Ge===ue.length)return l(le,Be),vt&&ea(le,Ge),Me;if(Be===null){for(;Ge<ue.length;Ge++)Be=ve(le,ue[Ge],ye),Be!==null&&(ne=O(Be,ne,Ge),Le===null?Me=Be:Le.sibling=Be,Le=Be);return vt&&ea(le,Ge),Me}for(Be=g(le,Be);Ge<ue.length;Ge++)Ft=_e(Be,le,Ge,ue[Ge],ye),Ft!==null&&(r&&Ft.alternate!==null&&Be.delete(Ft.key===null?Ge:Ft.key),ne=O(Ft,ne,Ge),Le===null?Me=Ft:Le.sibling=Ft,Le=Ft);return r&&Be.forEach(function(vi){return a(le,vi)}),vt&&ea(le,Ge),Me}function Ie(le,ne,ue,ye){var Me=X(ue);if(typeof Me!="function")throw Error(n(150));if(ue=Me.call(ue),ue==null)throw Error(n(151));for(var Le=Me=null,Be=ne,Ge=ne=0,Ft=null,at=ue.next();Be!==null&&!at.done;Ge++,at=ue.next()){Be.index>
vendor: 4,226 bytes, line 39
39Ge?(Ft=Be,Be=null):Ft=Be.sibling;var vi=ge(le,Be,at.value,ye);if(vi===null){Be===null&&(Be=Ft);break}r&&Be&&vi.alternate===null&&a(le,Be),ne=O(vi,ne,Ge),Le===null?Me=vi:Le.sibling=vi,Le=vi,Be=Ft}if(at.done)return l(le,Be),vt&&ea(le,Ge),Me;if(Be===null){for(;!at.done;Ge++,at=ue.next())at=ve(le,at.value,ye),at!==null&&(ne=O(at,ne,Ge),Le===null?Me=at:Le.sibling=at,Le=at);return vt&&ea(le,Ge),Me}for(Be=g(le,Be);!at.done;Ge++,at=ue.next())at=_e(Be,le,Ge,at.value,ye),at!==null&&(r&&at.alternate!==null&&Be.delete(at.key===null?Ge:at.key),ne=O(at,ne,Ge),Le===null?Me=at:Le.sibling=at,Le=at);return r&&Be.forEach(function(AS){return a(le,AS)}),vt&&ea(le,Ge),Me}function St(le,ne,ue,ye){if(typeof ue=="object"&&ue!==null&&ue.type===z&&ue.key===null&&(ue=ue.props.children),typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case T:e:{for(var Me=ue.key,Le=ne;Le!==null;){if(Le.key===Me){if(Me=ue.type,Me===z){if(Le.tag===7){l(le,Le.sibling),ne=_(Le,ue.props.children),ne.return=le,le=ne;break e}}else if(Le.elementType===Me||typeof Me=="object"&&Me!==null&&Me.$$typeof===Z&&Gp(Me)===Le.type){l(le,Le.sibling),ne=_(Le,ue.props),ne.ref=bo(le,Le,ue),ne.return=le,le=ne;break e}l(le,Le);break}else a(le,Le);Le=Le.sibling}ue.type===z?(ne=la(ue.props.children,le.mode,ye,ue.key),ne.return=le,le=ne):(ye=mu(ue.type,ue.key,ue.props,null,le.mode,ye),ye.ref=bo(le,ne,ue),ye.return=le,le=ye)}return M(le);case R:e:{for(Le=ue.key;ne!==null;){if(ne.key===Le)if(ne.tag===4&&ne.stateNode.containerInfo===ue.containerInfo&&ne.stateNode.implementation===ue.implementation){l(le,ne.sibling),ne=_(ne,ue.children||[]),ne.return=le,le=ne;break e}else{l(le,ne);break}else a(le,ne);ne=ne.sibling}ne=lh(ue,le.mode,ye),ne.return=le,le=ne}return M(le);case Z:return Le=ue._init,St(le,ne,Le(ue._payload),ye)}if(we(ue))return ze(le,ne,ue,ye);if(X(ue))return Ie(le,ne,ue,ye);Kl(le,ue)}return typeof ue=="string"&&ue!==""||typeof ue=="number"?(ue=""+ue,ne!==null&&ne.tag===6?(l(le,ne.sibling),ne=_(ne,ue),ne.return=le,le=ne):(l(le,ne),ne=oh(ue,le.mode,ye),ne.return=le,le=ne),M(le)):l(le,ne)}return St}var es=Vp(!0),Hp=Vp(!1),Gl=oi(null),Vl=null,ts=null,bd=null;function vd(){bd=ts=Vl=null}function yd(r){var a=Gl.current;gt(Gl),r._currentValue=a}function wd(r,a,l){for(;r!==null;){var g=r.alternate;if((r.childLanes&a)!==a?(r.childLanes|=a,g!==null&&(g.childLanes|=a)):g!==null&&(g.childLanes&a)!==a&&(g.childLanes|=a),r===l)break;r=r.return}}function ns(r,a){Vl=r,bd=ts=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&a)!==0&&(An=!0),r.firstContext=null)}function Fn(r){var a=r._currentValue;if(bd!==r)if(r={context:r,memoizedValue:a,next:null},ts===null){if(Vl===null)throw Error(n(308));ts=r,Vl.dependencies={lanes:0,firstContext:r}}else ts=ts.next=r;return a}var ta=null;function kd(r){ta===null?ta=[r]:ta.push(r)}function $p(r,a,l,g){var _=a.interleaved;return _===null?(l.next=l,kd(a)):(l.next=_.next,_.next=l),a.interleaved=l,Br(r,g)}function Br(r,a){r.lanes|=a;var l=r.alternate;for(l!==null&&(l.lanes|=a),l=r,r=r.return;r!==null;)r.childLanes|=a,l=r.alternate,l!==null&&(l.childLanes|=a),l=r,r=r.return;return l.tag===3?l.stateNode:null}var ci=!1;function xd(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Xp(r,a){r=r.updateQueue,a.updateQueue===r&&(a.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function Fr(r,a){return{eventTime:r,lane:a,tag:0,payload:null,callback:null,next:null}}function di(r,a,l){var g=r.updateQueue;if(g===null)return null;if(g=g.shared,(rt&2)!==0){var _=g.pending;return _===null?a.next=a:(a.next=_.next,_.next=a),g.pending=a,Br(r,l)}return _=g.interleaved,_===null?(a.next=a,kd(g)):(a.next=_.next,_.next=a),g.interleaved=a,Br(r,l)}function Hl(r,a,l){if(a=a.updateQueue,a!==null&&(a=a.shared,(l&4194240)!==0)){var g=a.lanes;g&=r.pendingLanes,l|=g,a.lanes=l,V(r,l)}}function Jp(r,a){var l=r.updateQueue,g=r.alternate;if(g!==null&&(g=g.updateQueue,l===g)){var _=null,O=null;if(l=l.firstBaseUpdate,l!==null){do{var M={eventTime:l.eventTime,lane:l.lane,tag:l.tag,payload:l.payload,callback:l.callback,next:null};
vendor: 1,671 bytes, line 39
39O===null?_=O=M:O=O.next=M,l=l.next}while(l!==null);O===null?_=O=a:O=O.next=a}else _=O=a;l={baseState:g.baseState,firstBaseUpdate:_,lastBaseUpdate:O,shared:g.shared,effects:g.effects},r.updateQueue=l;return}r=l.lastBaseUpdate,r===null?l.firstBaseUpdate=a:r.next=a,l.lastBaseUpdate=a}function $l(r,a,l,g){var _=r.updateQueue;ci=!1;var O=_.firstBaseUpdate,M=_.lastBaseUpdate,H=_.shared.pending;if(H!==null){_.shared.pending=null;var Y=H,ce=Y.next;Y.next=null,M===null?O=ce:M.next=ce,M=Y;var be=r.alternate;be!==null&&(be=be.updateQueue,H=be.lastBaseUpdate,H!==M&&(H===null?be.firstBaseUpdate=ce:H.next=ce,be.lastBaseUpdate=Y))}if(O!==null){var ve=_.baseState;M=0,be=ce=Y=null,H=O;do{var ge=H.lane,_e=H.eventTime;if((g&ge)===ge){be!==null&&(be=be.next={eventTime:_e,lane:0,tag:H.tag,payload:H.payload,callback:H.callback,next:null});e:{var ze=r,Ie=H;switch(ge=a,_e=l,Ie.tag){case 1:if(ze=Ie.payload,typeof ze=="function"){ve=ze.call(_e,ve,ge);break e}ve=ze;break e;case 3:ze.flags=ze.flags&-65537|128;case 0:if(ze=Ie.payload,ge=typeof ze=="function"?ze.call(_e,ve,ge):ze,ge==null)break e;ve=q({},ve,ge);break e;case 2:ci=!0}}H.callback!==null&&H.lane!==0&&(r.flags|=64,ge=_.effects,ge===null?_.effects=[H]:ge.push(H))}else _e={eventTime:_e,lane:ge,tag:H.tag,payload:H.payload,callback:H.callback,next:null},be===null?(ce=be=_e,Y=ve):be=be.next=_e,M|=ge;if(H=H.next,H===null){if(H=_.shared.pending,H===null)break;ge=H,H=ge.next,ge.next=null,_.lastBaseUpdate=ge,_.shared.pending=null}}while(!0);if(be===null&&(Y=ve),_.baseState=Y,_.firstBaseUpdate=ce,_.lastBaseUpdate=be,a=_.shared.interleaved,a!==null){_=a;do M|=_.lane,_=_.next;while(_!==a)}else O===null&&(_.shared.lanes=0);
vendor: 4,581 bytes, line 39
39ia|=M,r.lanes=M,r.memoizedState=ve}}function Qp(r,a,l){if(r=a.effects,a.effects=null,r!==null)for(a=0;a<r.length;a++){var g=r[a],_=g.callback;if(_!==null){if(g.callback=null,g=l,typeof _!="function")throw Error(n(191,_));_.call(g)}}}var vo={},mr=oi(vo),yo=oi(vo),wo=oi(vo);function na(r){if(r===vo)throw Error(n(174));return r}function Ad(r,a){switch(ft(wo,a),ft(yo,r),ft(mr,vo),r=a.nodeType,r){case 9:case 11:a=(a=a.documentElement)?a.namespaceURI:Kt(null,"");break;default:r=r===8?a.parentNode:a,a=r.namespaceURI||null,r=r.tagName,a=Kt(a,r)}gt(mr),ft(mr,a)}function rs(){gt(mr),gt(yo),gt(wo)}function Yp(r){na(wo.current);var a=na(mr.current),l=Kt(a,r.type);a!==l&&(ft(yo,r),ft(mr,l))}function Ed(r){yo.current===r&&(gt(mr),gt(yo))}var wt=oi(0);function Xl(r){for(var a=r;a!==null;){if(a.tag===13){var l=a.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||l.data==="$?"||l.data==="$!"))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===r)break;for(;a.sibling===null;){if(a.return===null||a.return===r)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var Sd=[];function _d(){for(var r=0;r<Sd.length;r++)Sd[r]._workInProgressVersionPrimary=null;Sd.length=0}var Jl=x.ReactCurrentDispatcher,Td=x.ReactCurrentBatchConfig,ra=0,kt=null,Pt=null,Lt=null,Ql=!1,ko=!1,xo=0,GE=0;function nn(){throw Error(n(321))}function Od(r,a){if(a===null)return!1;for(var l=0;l<a.length&&l<r.length;l++)if(!Xn(r[l],a[l]))return!1;return!0}function Nd(r,a,l,g,_,O){if(ra=O,kt=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,Jl.current=r===null||r.memoizedState===null?XE:JE,r=l(g,_),ko){O=0;do{if(ko=!1,xo=0,25<=O)throw Error(n(301));O+=1,Lt=Pt=null,a.updateQueue=null,Jl.current=QE,r=l(g,_)}while(ko)}if(Jl.current=eu,a=Pt!==null&&Pt.next!==null,ra=0,Lt=Pt=kt=null,Ql=!1,a)throw Error(n(300));return r}function Cd(){var r=xo!==0;return xo=0,r}function gr(){var r={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Lt===null?kt.memoizedState=Lt=r:Lt=Lt.next=r,Lt}function qn(){if(Pt===null){var r=kt.alternate;r=r!==null?r.memoizedState:null}else r=Pt.next;var a=Lt===null?kt.memoizedState:Lt.next;if(a!==null)Lt=a,Pt=r;else{if(r===null)throw Error(n(310));Pt=r,r={memoizedState:Pt.memoizedState,baseState:Pt.baseState,baseQueue:Pt.baseQueue,queue:Pt.queue,next:null},Lt===null?kt.memoizedState=Lt=r:Lt=Lt.next=r}return Lt}function Ao(r,a){return typeof a=="function"?a(r):a}function Dd(r){var a=qn(),l=a.queue;if(l===null)throw Error(n(311));l.lastRenderedReducer=r;var g=Pt,_=g.baseQueue,O=l.pending;if(O!==null){if(_!==null){var M=_.next;_.next=O.next,O.next=M}g.baseQueue=_=O,l.pending=null}if(_!==null){O=_.next,g=g.baseState;var H=M=null,Y=null,ce=O;do{var be=ce.lane;if((ra&be)===be)Y!==null&&(Y=Y.next={lane:0,action:ce.action,hasEagerState:ce.hasEagerState,eagerState:ce.eagerState,next:null}),g=ce.hasEagerState?ce.eagerState:r(g,ce.action);else{var ve={lane:be,action:ce.action,hasEagerState:ce.hasEagerState,eagerState:ce.eagerState,next:null};Y===null?(H=Y=ve,M=g):Y=Y.next=ve,kt.lanes|=be,ia|=be}ce=ce.next}while(ce!==null&&ce!==O);Y===null?M=g:Y.next=H,Xn(g,a.memoizedState)||(An=!0),a.memoizedState=g,a.baseState=M,a.baseQueue=Y,l.lastRenderedState=g}if(r=l.interleaved,r!==null){_=r;do O=_.lane,kt.lanes|=O,ia|=O,_=_.next;while(_!==r)}else _===null&&(l.lanes=0);return[a.memoizedState,l.dispatch]}function zd(r){var a=qn(),l=a.queue;if(l===null)throw Error(n(311));l.lastRenderedReducer=r;var g=l.dispatch,_=l.pending,O=a.memoizedState;if(_!==null){l.pending=null;var M=_=_.next;do O=r(O,M.action),M=M.next;while(M!==_);Xn(O,a.memoizedState)||(An=!0),a.memoizedState=O,a.baseQueue===null&&(a.baseState=O),l.lastRenderedState=O}return[O,g]}function Zp(){}function eb(r,a){var l=kt,g=qn(),_=a(),O=!Xn(g.memoizedState,_);if(O&&(g.memoizedState=_,An=!0),g=g.queue,Rd(rb.bind(null,l,g,r),[r]),g.getSnapshot!==a||O||Lt!==null&&Lt.memoizedState.tag&1){if(l.flags|=2048,Eo(9,nb.bind(null,l,g,_,a),void 0,null),Bt===null)throw Error(n(349));(ra&30)!==0||tb(l,a,_)}return _}function tb(r,a,l){r.flags|=16384,r={getSnapshot:a,value:l},a=kt.updateQueue,a===null?(a={lastEffect:null,stores:null},kt.updateQueue=a,a.stores=[r]):(l=a.stores,l===null?a.stores=[r]:l.push(r))}function nb(r,a,l,g){a.value=l,a.getSnapshot=g,ib(a)&&ab(r)}function rb(r,a,l){return l(function(){ib(a)&&ab(r)})}function ib(r){var a=r.getSnapshot;r=r.value;try{var l=a();return!Xn(r,l)}catch{return!0}}function ab(r){var a=Br(r,1);a!==null&&er(a,r,1,-1)}
vendor: 4,789 bytes, line 39
39function sb(r){var a=gr();return typeof r=="function"&&(r=r()),a.memoizedState=a.baseState=r,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ao,lastRenderedState:r},a.queue=r,r=r.dispatch=$E.bind(null,kt,r),[a.memoizedState,r]}function Eo(r,a,l,g){return r={tag:r,create:a,destroy:l,deps:g,next:null},a=kt.updateQueue,a===null?(a={lastEffect:null,stores:null},kt.updateQueue=a,a.lastEffect=r.next=r):(l=a.lastEffect,l===null?a.lastEffect=r.next=r:(g=l.next,l.next=r,r.next=g,a.lastEffect=r)),r}function ob(){return qn().memoizedState}function Yl(r,a,l,g){var _=gr();kt.flags|=r,_.memoizedState=Eo(1|a,l,void 0,g===void 0?null:g)}function Zl(r,a,l,g){var _=qn();g=g===void 0?null:g;var O=void 0;if(Pt!==null){var M=Pt.memoizedState;if(O=M.destroy,g!==null&&Od(g,M.deps)){_.memoizedState=Eo(a,l,O,g);return}}kt.flags|=r,_.memoizedState=Eo(1|a,l,O,g)}function lb(r,a){return Yl(8390656,8,r,a)}function Rd(r,a){return Zl(2048,8,r,a)}function ub(r,a){return Zl(4,2,r,a)}function cb(r,a){return Zl(4,4,r,a)}function db(r,a){if(typeof a=="function")return r=r(),a(r),function(){a(null)};if(a!=null)return r=r(),a.current=r,function(){a.current=null}}function hb(r,a,l){return l=l!=null?l.concat([r]):null,Zl(4,4,db.bind(null,a,r),l)}function Pd(){}function fb(r,a){var l=qn();a=a===void 0?null:a;var g=l.memoizedState;return g!==null&&a!==null&&Od(a,g[1])?g[0]:(l.memoizedState=[r,a],r)}function mb(r,a){var l=qn();a=a===void 0?null:a;var g=l.memoizedState;return g!==null&&a!==null&&Od(a,g[1])?g[0]:(r=r(),l.memoizedState=[r,a],r)}function gb(r,a,l){return(ra&21)===0?(r.baseState&&(r.baseState=!1,An=!0),r.memoizedState=l):(Xn(l,a)||(l=Ys(),kt.lanes|=l,ia|=l,r.baseState=!0),a)}function VE(r,a){var l=ae;ae=l!==0&&4>l?l:4,r(!0);var g=Td.transition;Td.transition={};try{r(!1),a()}finally{ae=l,Td.transition=g}}function pb(){return qn().memoizedState}function HE(r,a,l){var g=gi(r);if(l={lane:g,action:l,hasEagerState:!1,eagerState:null,next:null},bb(r))vb(a,l);else if(l=$p(r,a,l,g),l!==null){var _=fn();er(l,r,g,_),yb(l,a,g)}}function $E(r,a,l){var g=gi(r),_={lane:g,action:l,hasEagerState:!1,eagerState:null,next:null};if(bb(r))vb(a,_);else{var O=r.alternate;if(r.lanes===0&&(O===null||O.lanes===0)&&(O=a.lastRenderedReducer,O!==null))try{var M=a.lastRenderedState,H=O(M,l);if(_.hasEagerState=!0,_.eagerState=H,Xn(H,M)){var Y=a.interleaved;Y===null?(_.next=_,kd(a)):(_.next=Y.next,Y.next=_),a.interleaved=_;return}}catch{}finally{}l=$p(r,a,_,g),l!==null&&(_=fn(),er(l,r,g,_),yb(l,a,g))}}function bb(r){var a=r.alternate;return r===kt||a!==null&&a===kt}function vb(r,a){ko=Ql=!0;var l=r.pending;l===null?a.next=a:(a.next=l.next,l.next=a),r.pending=a}function yb(r,a,l){if((l&4194240)!==0){var g=a.lanes;g&=r.pendingLanes,l|=g,a.lanes=l,V(r,l)}}var eu={readContext:Fn,useCallback:nn,useContext:nn,useEffect:nn,useImperativeHandle:nn,useInsertionEffect:nn,useLayoutEffect:nn,useMemo:nn,useReducer:nn,useRef:nn,useState:nn,useDebugValue:nn,useDeferredValue:nn,useTransition:nn,useMutableSource:nn,useSyncExternalStore:nn,useId:nn,unstable_isNewReconciler:!1},XE={readContext:Fn,useCallback:function(r,a){return gr().memoizedState=[r,a===void 0?null:a],r},useContext:Fn,useEffect:lb,useImperativeHandle:function(r,a,l){return l=l!=null?l.concat([r]):null,Yl(4194308,4,db.bind(null,a,r),l)},useLayoutEffect:function(r,a){return Yl(4194308,4,r,a)},useInsertionEffect:function(r,a){return Yl(4,2,r,a)},useMemo:function(r,a){var l=gr();return a=a===void 0?null:a,r=r(),l.memoizedState=[r,a],r},useReducer:function(r,a,l){var g=gr();return a=l!==void 0?l(a):a,g.memoizedState=g.baseState=a,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:a},g.queue=r,r=r.dispatch=HE.bind(null,kt,r),[g.memoizedState,r]},useRef:function(r){var a=gr();return r={current:r},a.memoizedState=r},useState:sb,useDebugValue:Pd,useDeferredValue:function(r){return gr().memoizedState=r},useTransition:function(){var r=sb(!1),a=r[0];return r=VE.bind(null,r[1]),gr().memoizedState=r,[a,r]},useMutableSource:function(){},useSyncExternalStore:function(r,a,l){var g=kt,_=gr();if(vt){if(l===void 0)throw Error(n(407));l=l()}else{if(l=a(),Bt===null)throw Error(n(349));(ra&30)!==0||tb(g,a,l)}_.memoizedState=l;var O={value:l,getSnapshot:a};return _.queue=O,lb(rb.bind(null,g,O,r),[r]),g.flags|=2048,Eo(9,nb.bind(null,g,O,l,a),void 0,null),l},useId:function(){var r=gr(),a=Bt.identifierPrefix;if(vt){var l=Lr,g=Mr;l=(g&~(1<<32-Mt(g)-1)).toString(32)+l,a=":"+a+"R"+l,l=xo++,0<l&&(a+="H"+l.toString(32)),a+=":"}else l=GE++,a=":"+a+"r"+l.toString(32)+":";return r.memoizedState=a},unstable_isNewReconciler:!1},JE={readContext:Fn,useCallback:fb,useContext:Fn,useEffect:Rd,useImperativeHandle:hb,useInsertionEffect:ub,useLayoutEffect:cb,useMemo:mb,useReducer:Dd,useRef
vendor: 5,295 bytes, lines 39-41
39:ob,useState:function(){return Dd(Ao)},useDebugValue:Pd,useDeferredValue:function(r){var a=qn();return gb(a,Pt.memoizedState,r)},useTransition:function(){var r=Dd(Ao)[0],a=qn().memoizedState;return[r,a]},useMutableSource:Zp,useSyncExternalStore:eb,useId:pb,unstable_isNewReconciler:!1},QE={readContext:Fn,useCallback:fb,useContext:Fn,useEffect:Rd,useImperativeHandle:hb,useInsertionEffect:ub,useLayoutEffect:cb,useMemo:mb,useReducer:zd,useRef:ob,useState:function(){return zd(Ao)},useDebugValue:Pd,useDeferredValue:function(r){var a=qn();return Pt===null?a.memoizedState=r:gb(a,Pt.memoizedState,r)},useTransition:function(){var r=zd(Ao)[0],a=qn().memoizedState;return[r,a]},useMutableSource:Zp,useSyncExternalStore:eb,useId:pb,unstable_isNewReconciler:!1};function Qn(r,a){if(r&&r.defaultProps){a=q({},a),r=r.defaultProps;for(var l in r)a[l]===void 0&&(a[l]=r[l]);return a}return a}function jd(r,a,l,g){a=r.memoizedState,l=l(g,a),l=l==null?a:q({},a,l),r.memoizedState=l,r.lanes===0&&(r.updateQueue.baseState=l)}var tu={isMounted:function(r){return(r=r._reactInternals)?yn(r)===r:!1},enqueueSetState:function(r,a,l){r=r._reactInternals;var g=fn(),_=gi(r),O=Fr(g,_);O.payload=a,l!=null&&(O.callback=l),a=di(r,O,_),a!==null&&(er(a,r,_,g),Hl(a,r,_))},enqueueReplaceState:function(r,a,l){r=r._reactInternals;var g=fn(),_=gi(r),O=Fr(g,_);O.tag=1,O.payload=a,l!=null&&(O.callback=l),a=di(r,O,_),a!==null&&(er(a,r,_,g),Hl(a,r,_))},enqueueForceUpdate:function(r,a){r=r._reactInternals;var l=fn(),g=gi(r),_=Fr(l,g);_.tag=2,a!=null&&(_.callback=a),a=di(r,_,g),a!==null&&(er(a,r,g,l),Hl(a,r,g))}};function wb(r,a,l,g,_,O,M){return r=r.stateNode,typeof r.shouldComponentUpdate=="function"?r.shouldComponentUpdate(g,O,M):a.prototype&&a.prototype.isPureReactComponent?!uo(l,g)||!uo(_,O):!0}function kb(r,a,l){var g=!1,_=li,O=a.contextType;return typeof O=="object"&&O!==null?O=Fn(O):(_=xn(a)?Yi:tn.current,g=a.contextTypes,O=(g=g!=null)?Ja(r,_):li),a=new a(l,O),r.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=tu,r.stateNode=a,a._reactInternals=r,g&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=_,r.__reactInternalMemoizedMaskedChildContext=O),a}function xb(r,a,l,g){r=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(l,g),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(l,g),a.state!==r&&tu.enqueueReplaceState(a,a.state,null)}function Id(r,a,l,g){var _=r.stateNode;_.props=l,_.state=r.memoizedState,_.refs={},xd(r);var O=a.contextType;typeof O=="object"&&O!==null?_.context=Fn(O):(O=xn(a)?Yi:tn.current,_.context=Ja(r,O)),_.state=r.memoizedState,O=a.getDerivedStateFromProps,typeof O=="function"&&(jd(r,a,O,l),_.state=r.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof _.getSnapshotBeforeUpdate=="function"||typeof _.UNSAFE_componentWillMount!="function"&&typeof _.componentWillMount!="function"||(a=_.state,typeof _.componentWillMount=="function"&&_.componentWillMount(),typeof _.UNSAFE_componentWillMount=="function"&&_.UNSAFE_componentWillMount(),a!==_.state&&tu.enqueueReplaceState(_,_.state,null),$l(r,l,_,g),_.state=r.memoizedState),typeof _.componentDidMount=="function"&&(r.flags|=4194308)}function is(r,a){try{var l="",g=a;do l+=J(g),g=g.return;while(g);var _=l}catch(O){_=` 40Error generating stack: `+O.message+` 41`+O.stack}return{value:r,source:a,stack:_,digest:null}}function Md(r,a,l){return{value:r,source:null,stack:l??null,digest:a??null}}function Ld(r,a){try{console.error(a.value)}catch(l){setTimeout(function(){throw l})}}var YE=typeof WeakMap=="function"?WeakMap:Map;function Ab(r,a,l){l=Fr(-1,l),l.tag=3,l.payload={element:null};var g=a.value;return l.callback=function(){lu||(lu=!0,Zd=g),Ld(r,a)},l}function Eb(r,a,l){l=Fr(-1,l),l.tag=3;var g=r.type.getDerivedStateFromError;if(typeof g=="function"){var _=a.value;l.payload=function(){return g(_)},l.callback=function(){Ld(r,a)}}var O=r.stateNode;return O!==null&&typeof O.componentDidCatch=="function"&&(l.callback=function(){Ld(r,a),typeof g!="function"&&(fi===null?fi=new Set([this]):fi.add(this));var M=a.stack;this.componentDidCatch(a.value,{componentStack:M!==null?M:""})}),l}function Sb(r,a,l){var g=r.pingCache;if(g===null){g=r.pingCache=new YE;var _=new Set;g.set(a,_)}else _=g.get(a),_===void 0&&(_=new Set,g.set(a,_));_.has(l)||(_.add(l),r=hS.bind(null,r,a,l),a.then(r,r))}function _b(r){do{var a;if((a=r.tag===13)&&(a=r.memoizedState,a=a!==null?a.dehydrated!==null:!0),a)return r;r=r.return}while(r!==null);return null}function Tb(r,a,l,g,_){return(r.mode&1)===0?(r===a?r.flags|=65536:(r.flags|=128,l.flags|=131072,l.flags&=-52805,l.tag===1&&(l.alternate===null?l.tag=17:(a=Fr(-1,1),a.tag=2,di(l,a,1))),l.lanes|=1),r):(r.flags|=65536,r.lanes=_,r)}var ZE=x.ReactCurrentOwner,An=!1;function hn(r,a,l,g){a.child=r===null?Hp(a,null,l,g):es(a,r.child,l,g)}function Ob(r,a,l,g,_){l=l.render;var O=a.ref;return ns(a,_),g=Nd(r,a,l,g,O,_),l=Cd(),r!==null&&!An?(a.updateQueue=r.updateQueue,a.flags&=-2053,r.lanes&=~_,qr(r,a,_)):(vt&&l&&hd(a),a.flags|=1,hn(r,a,g,_),a.child)}function Nb(r,a,l,g,_){if(r===null){var O=l.type;return typeof O=="function"&&!sh(O)&&O.defaultProps===void 0&&l.compare===null&&l.defaultProps===void 0?(a.tag=15,a.type=O,Cb(r,a,O,g,_)):(r=mu(l.type,null,g,a,a.mode,_),r.ref=
vendor: 41,794 bytes, line 41
41a.ref,r.return=a,a.child=r)}if(O=r.child,(r.lanes&_)===0){var M=O.memoizedProps;if(l=l.compare,l=l!==null?l:uo,l(M,g)&&r.ref===a.ref)return qr(r,a,_)}return a.flags|=1,r=bi(O,g),r.ref=a.ref,r.return=a,a.child=r}function Cb(r,a,l,g,_){if(r!==null){var O=r.memoizedProps;if(uo(O,g)&&r.ref===a.ref)if(An=!1,a.pendingProps=g=O,(r.lanes&_)!==0)(r.flags&131072)!==0&&(An=!0);else return a.lanes=r.lanes,qr(r,a,_)}return Bd(r,a,l,g,_)}function Db(r,a,l){var g=a.pendingProps,_=g.children,O=r!==null?r.memoizedState:null;if(g.mode==="hidden")if((a.mode&1)===0)a.memoizedState={baseLanes:0,cachePool:null,transitions:null},ft(ss,In),In|=l;else{if((l&1073741824)===0)return r=O!==null?O.baseLanes|l:l,a.lanes=a.childLanes=1073741824,a.memoizedState={baseLanes:r,cachePool:null,transitions:null},a.updateQueue=null,ft(ss,In),In|=r,null;a.memoizedState={baseLanes:0,cachePool:null,transitions:null},g=O!==null?O.baseLanes:l,ft(ss,In),In|=g}else O!==null?(g=O.baseLanes|l,a.memoizedState=null):g=l,ft(ss,In),In|=g;return hn(r,a,_,l),a.child}function zb(r,a){var l=a.ref;(r===null&&l!==null||r!==null&&r.ref!==l)&&(a.flags|=512,a.flags|=2097152)}function Bd(r,a,l,g,_){var O=xn(l)?Yi:tn.current;return O=Ja(a,O),ns(a,_),l=Nd(r,a,l,g,O,_),g=Cd(),r!==null&&!An?(a.updateQueue=r.updateQueue,a.flags&=-2053,r.lanes&=~_,qr(r,a,_)):(vt&&g&&hd(a),a.flags|=1,hn(r,a,l,_),a.child)}function Rb(r,a,l,g,_){if(xn(l)){var O=!0;Bl(a)}else O=!1;if(ns(a,_),a.stateNode===null)ru(r,a),kb(a,l,g),Id(a,l,g,_),g=!0;else if(r===null){var M=a.stateNode,H=a.memoizedProps;M.props=H;var Y=M.context,ce=l.contextType;typeof ce=="object"&&ce!==null?ce=Fn(ce):(ce=xn(l)?Yi:tn.current,ce=Ja(a,ce));var be=l.getDerivedStateFromProps,ve=typeof be=="function"||typeof M.getSnapshotBeforeUpdate=="function";ve||typeof M.UNSAFE_componentWillReceiveProps!="function"&&typeof M.componentWillReceiveProps!="function"||(H!==g||Y!==ce)&&xb(a,M,g,ce),ci=!1;var ge=a.memoizedState;M.state=ge,$l(a,g,M,_),Y=a.memoizedState,H!==g||ge!==Y||kn.current||ci?(typeof be=="function"&&(jd(a,l,be,g),Y=a.memoizedState),(H=ci||wb(a,l,H,g,ge,Y,ce))?(ve||typeof M.UNSAFE_componentWillMount!="function"&&typeof M.componentWillMount!="function"||(typeof M.componentWillMount=="function"&&M.componentWillMount(),typeof M.UNSAFE_componentWillMount=="function"&&M.UNSAFE_componentWillMount()),typeof M.componentDidMount=="function"&&(a.flags|=4194308)):(typeof M.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=g,a.memoizedState=Y),M.props=g,M.state=Y,M.context=ce,g=H):(typeof M.componentDidMount=="function"&&(a.flags|=4194308),g=!1)}else{M=a.stateNode,Xp(r,a),H=a.memoizedProps,ce=a.type===a.elementType?H:Qn(a.type,H),M.props=ce,ve=a.pendingProps,ge=M.context,Y=l.contextType,typeof Y=="object"&&Y!==null?Y=Fn(Y):(Y=xn(l)?Yi:tn.current,Y=Ja(a,Y));var _e=l.getDerivedStateFromProps;(be=typeof _e=="function"||typeof M.getSnapshotBeforeUpdate=="function")||typeof M.UNSAFE_componentWillReceiveProps!="function"&&typeof M.componentWillReceiveProps!="function"||(H!==ve||ge!==Y)&&xb(a,M,g,Y),ci=!1,ge=a.memoizedState,M.state=ge,$l(a,g,M,_);var ze=a.memoizedState;H!==ve||ge!==ze||kn.current||ci?(typeof _e=="function"&&(jd(a,l,_e,g),ze=a.memoizedState),(ce=ci||wb(a,l,ce,g,ge,ze,Y)||!1)?(be||typeof M.UNSAFE_componentWillUpdate!="function"&&typeof M.componentWillUpdate!="function"||(typeof M.componentWillUpdate=="function"&&M.componentWillUpdate(g,ze,Y),typeof M.UNSAFE_componentWillUpdate=="function"&&M.UNSAFE_componentWillUpdate(g,ze,Y)),typeof M.componentDidUpdate=="function"&&(a.flags|=4),typeof M.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof M.componentDidUpdate!="function"||H===r.memoizedProps&&ge===r.memoizedState||(a.flags|=4),typeof M.getSnapshotBeforeUpdate!="function"||H===r.memoizedProps&&ge===r.memoizedState||(a.flags|=1024),a.memoizedProps=g,a.memoizedState=ze),M.props=g,M.state=ze,M.context=Y,g=ce):(typeof M.componentDidUpdate!="function"||H===r.memoizedProps&&ge===r.memoizedState||(a.flags|=4),typeof M.getSnapshotBeforeUpdate!="function"||H===r.memoizedProps&&ge===r.memoizedState||(a.flags|=1024),g=!1)}return Fd(r,a,l,g,O,_)}function Fd(r,a,l,g,_,O){zb(r,a);var M=(a.flags&128)!==0;if(!g&&!M)return _&&Lp(a,l,!1),qr(r,a,O);g=a.stateNode,ZE.current=a;var H=M&&typeof l.getDerivedStateFromError!="function"?null:g.render();return a.flags|=1,r!==null&&M?(a.child=es(a,r.child,null,O),a.child=es(a,null,H,O)):hn(r,a,H,O),a.memoizedState=g.state,_&&Lp(a,l,!0),a.child}function Pb(r){var a=r.stateNode;a.pendingContext?Ip(r,a.pendingContext,a.pendingContext!==a.context):a.context&&Ip(r,a.context,!1),Ad(r,a.containerInfo)}function jb(r,a,l,g,_){return Za(),pd(_),a.flags|=256,hn(r,a,l,g),a.child}var qd={dehydrated:null,treeContext:null,retryLane:0};function Ud(r){return{baseLanes:r,cachePool:null,transitions:null}}function Ib(r,a,l){var g=a.pendingProps,_=wt.current,O=!1,M=(a.flags&128)!==0,H;if((H=M)||(H=r!==null&&r.memoizedState===null?!1:(_&2)!==0),H?(O=!0,a.flags&=-129):(r===null||r.memoizedState!==null)&&(_|=1),ft(wt,_&1),r===null)return gd(a),r=a.memoizedState,r!==null&&(r=r.dehydrated,r!==null)?((a.mode&1)===0?a.lanes=1:r.data==="$!"?a.lanes=8:a.lanes=1073741824,null):(M=g.children,r=g.fallback,O?(g=a.mode,O=a.child,M={mode:"hidden",children:M},(g&1)===0&&O!==null?(O.childLanes=0,O.pendingProps=M):O=gu(M,g,0,null),r=la(r,g,l,null),O.return=a,r.return=a,O.sibling=r,a.child=O,a.child.memoizedState=Ud(l),a.memoizedState=qd,r):Wd(a,M));if(_=r.memoizedState,_!==null&&(H=_.dehydrated,H!==null))return eS(r,a,M,g,H,_,l);if(O){O=g.fallback,M=a.mode,_=r.child,H=_.sibling;var Y={mode:"hidden",children:g.children};return(M&1)===0&&a.child!==_?(g=a.child,g.childLanes=0,g.pendingProps=Y,a.deletions=null):(g=bi(_,Y),g.subtreeFlags=_.subtreeFlags&14680064),H!==null?O=bi(H,O):(O=la(O,M,l,null),O.flags|=2),O.return=a,g.return=a,g.sibling=O,a.child=g,g=O,O=a.child,M=r.child.memoizedState,M=M===null?Ud(l):{baseLanes:M.baseLanes|l,cachePool:null,transitions:M.transitions},O.memoizedState=M,O.childLanes=r.childLanes&~l,a.memoizedState=qd,g}return O=r.child,r=O.sibling,g=bi(O,{mode:"visible",children:g.children}),(a.mode&1)===0&&(g.lanes=l),g.return=a,g.sibling=null,r!==null&&(l=a.deletions,l===null?(a.deletions=[r],a.flags|=16):l.push(r)),a.child=g,a.memoizedState=null,g}function Wd(r,a){return a=gu({mode:"visible",children:a},r.mode,0,null),a.return=r,r.child=a}function nu(r,a,l,g){return g!==null&&pd(g),es(a,r.child,null,l),r=Wd(a,a.pendingProps.children),r.flags|=2,a.memoizedState=null,r}function eS(r,a,l,g,_,O,M){if(l)return a.flags&256?(a.flags&=-257,g=Md(Error(n(422))),nu(r,a,M,g)):a.memoizedState!==null?(a.child=r.child,a.flags|=128,null):(O=g.fallback,_=a.mode,g=gu({mode:"visible",children:g.children},_,0,null),O=la(O,_,M,null),O.flags|=2,g.return=a,O.return=a,g.sibling=O,a.child=g,(a.mode&1)!==0&&es(a,r.child,null,M),a.child.memoizedState=Ud(M),a.memoizedState=qd,O);if((a.mode&1)===0)return nu(r,a,M,null);if(_.data==="$!"){if(g=_.nextSibling&&_.nextSibling.dataset,g)var H=g.dgst;return g=H,O=Error(n(419)),g=Md(O,g,void 0),nu(r,a,M,g)}if(H=(M&r.childLanes)!==0,An||H){if(g=Bt,g!==null){switch(M&-M){case 4:_=2;break;case 16:_=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:_=32;break;case 536870912:_=268435456;break;default:_=0}_=(_&(g.suspendedLanes|M))!==0?0:_,_!==0&&_!==O.retryLane&&(O.retryLane=_,Br(r,_),er(g,r,_,-1))}return ah(),g=Md(Error(n(421))),nu(r,a,M,g)}return _.data==="$?"?(a.flags|=128,a.child=r.child,a=fS.bind(null,r),_._reactRetry=a,null):(r=O.treeContext,jn=si(_.nextSibling),Pn=a,vt=!0,Jn=null,r!==null&&(Ln[Bn++]=Mr,Ln[Bn++]=Lr,Ln[Bn++]=Zi,Mr=r.id,Lr=r.overflow,Zi=a),a=Wd(a,g.children),a.flags|=4096,a)}function Mb(r,a,l){r.lanes|=a;var g=r.alternate;g!==null&&(g.lanes|=a),wd(r.return,a,l)}function Kd(r,a,l,g,_){var O=r.memoizedState;O===null?r.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:g,tail:l,tailMode:_}:(O.isBackwards=a,O.rendering=null,O.renderingStartTime=0,O.last=g,O.tail=l,O.tailMode=_)}function Lb(r,a,l){var g=a.pendingProps,_=g.revealOrder,O=g.tail;if(hn(r,a,g.children,l),g=wt.current,(g&2)!==0)g=g&1|2,a.flags|=128;else{if(r!==null&&(r.flags&128)!==0)e:for(r=a.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&Mb(r,l,a);else if(r.tag===19)Mb(r,l,a);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===a)break e;for(;r.sibling===null;){if(r.return===null||r.return===a)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}g&=1}if(ft(wt,g),(a.mode&1)===0)a.memoizedState=null;else switch(_){case"forwards":for(l=a.child,_=null;l!==null;)r=l.alternate,r!==null&&Xl(r)===null&&(_=l),l=l.sibling;l=_,l===null?(_=a.child,a.child=null):(_=l.sibling,l.sibling=null),Kd(a,!1,_,l,O);break;case"backwards":for(l=null,_=a.child,a.child=null;_!==null;){if(r=_.alternate,r!==null&&Xl(r)===null){a.child=_;break}r=_.sibling,_.sibling=l,l=_,_=r}Kd(a,!0,l,null,O);break;case"together":Kd(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function ru(r,a){(a.mode&1)===0&&r!==null&&(r.alternate=null,a.alternate=null,a.flags|=2)}function qr(r,a,l){if(r!==null&&(a.dependencies=r.dependencies),ia|=a.lanes,(l&a.childLanes)===0)return null;if(r!==null&&a.child!==r.child)throw Error(n(153));if(a.child!==null){for(r=a.child,l=bi(r,r.pendingProps),a.child=l,l.return=a;r.sibling!==null;)r=r.sibling,l=l.sibling=bi(r,r.pendingProps),l.return=a;l.sibling=null}return a.child}function tS(r,a,l){switch(a.tag){case 3:Pb(a),Za();break;case 5:Yp(a);break;case 1:xn(a.type)&&Bl(a);break;case 4:Ad(a,a.stateNode.containerInfo);break;case 10:var g=a.type._context,_=a.memoizedProps.value;ft(Gl,g._currentValue),g._currentValue=_;break;case 13:if(g=a.memoizedState,g!==null)return g.dehydrated!==null?(ft(wt,wt.current&1),a.flags|=128,null):(l&a.child.childLanes)!==0?Ib(r,a,l):(ft(wt,wt.current&1),r=qr(r,a,l),r!==null?r.sibling:null);ft(wt,wt.current&1);break;case 19:if(g=(l&a.childLanes)!==0,(r.flags&128)!==0){if(g)return Lb(r,a,l);a.flags|=128}if(_=a.memoizedState,_!==null&&(_.rendering=null,_.tail=null,_.lastEffect=null),ft(wt,wt.current),g)break;return null;case 22:case 23:return a.lanes=0,Db(r,a,l)}return qr(r,a,l)}var Bb,Gd,Fb,qb;Bb=function(r,a){for(var l=a.child;l!==null;){if(l.tag===5||l.tag===6)r.appendChild(l.stateNode);else if(l.tag!==4&&l.child!==null){l.child.return=l,l=l.child;continue}if(l===a)break;for(;l.sibling===null;){if(l.return===null||l.return===a)return;l=l.return}l.sibling.return=l.return,l=l.sibling}},Gd=function(){},Fb=function(r,a,l,g){var _=r.memoizedProps;if(_!==g){r=a.stateNode,na(mr.current);var O=null;switch(l){case"input":_=Fe(r,_),g=Fe(r,g),O=[];break;case"select":_=q({},_,{value:void 0}),g=q({},g,{value:void 0}),O=[];break;case"textarea":_=me(r,_),g=me(r,g),O=[];break;default:typeof _.onClick!="function"&&typeof g.onClick=="function"&&(r.onclick=Il)}Ki(l,g);var M;l=null;for(ce in _)if(!g.hasOwnProperty(ce)&&_.hasOwnProperty(ce)&&_[ce]!=null)if(ce==="style"){var H=_[ce];for(M in H)H.hasOwnProperty(M)&&(l||(l={}),l[M]="")}else ce!=="dangerouslySetInnerHTML"&&ce!=="children"&&ce!=="suppressContentEditableWarning"&&ce!=="suppressHydrationWarning"&&ce!=="autoFocus"&&(s.hasOwnProperty(ce)?O||(O=[]):(O=O||[]).push(ce,null));for(ce in g){var Y=g[ce];if(H=_!=null?_[ce]:void 0,g.hasOwnProperty(ce)&&Y!==H&&(Y!=null||H!=null))if(ce==="style")if(H){for(M in H)!H.hasOwnProperty(M)||Y&&Y.hasOwnProperty(M)||(l||(l={}),l[M]="");for(M in Y)Y.hasOwnProperty(M)&&H[M]!==Y[M]&&(l||(l={}),l[M]=Y[M])}else l||(O||(O=[]),O.push(ce,l)),l=Y;else ce==="dangerouslySetInnerHTML"?(Y=Y?Y.__html:void 0,H=H?H.__html:void 0,Y!=null&&H!==Y&&(O=O||[]).push(ce,Y)):ce==="children"?typeof Y!="string"&&typeof Y!="number"||(O=O||[]).push(ce,""+Y):ce!=="suppressContentEditableWarning"&&ce!=="suppressHydrationWarning"&&(s.hasOwnProperty(ce)?(Y!=null&&ce==="onScroll"&&mt("scroll",r),O||H===Y||(O=[])):(O=O||[]).push(ce,Y))}l&&(O=O||[]).push("style",l);var ce=O;(a.updateQueue=ce)&&(a.flags|=4)}},qb=function(r,a,l,g){l!==g&&(a.flags|=4)};function So(r,a){if(!vt)switch(r.tailMode){case"hidden":a=r.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?r.tail=null:l.sibling=null;break;case"collapsed":l=r.tail;for(var g=null;l!==null;)l.alternate!==null&&(g=l),l=l.sibling;g===null?a||r.tail===null?r.tail=null:r.tail.sibling=null:g.sibling=null}}function rn(r){var a=r.alternate!==null&&r.alternate.child===r.child,l=0,g=0;if(a)for(var _=r.child;_!==null;)l|=_.lanes|_.childLanes,g|=_.subtreeFlags&14680064,g|=_.flags&14680064,_.return=r,_=_.sibling;else for(_=r.child;_!==null;)l|=_.lanes|_.childLanes,g|=_.subtreeFlags,g|=_.flags,_.return=r,_=_.sibling;return r.subtreeFlags|=g,r.childLanes=l,a}function nS(r,a,l){var g=a.pendingProps;switch(fd(a),a.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return rn(a),null;case 1:return xn(a.type)&&Ll(),rn(a),null;case 3:return g=a.stateNode,rs(),gt(kn),gt(tn),_d(),g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null),(r===null||r.child===null)&&(Wl(a)?a.flags|=4:r===null||r.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,Jn!==null&&(nh(Jn),Jn=null))),Gd(r,a),rn(a),null;case 5:Ed(a);var _=na(wo.current);if(l=a.type,r!==null&&a.stateNode!=null)Fb(r,a,l,g,_),r.ref!==a.ref&&(a.flags|=512,a.flags|=2097152);else{if(!g){if(a.stateNode===null)throw Error(n(166));return rn(a),null}if(r=na(mr.current),Wl(a)){g=a.stateNode,l=a.type;var O=a.memoizedProps;switch(g[fr]=a,g[go]=O,r=(a.mode&1)!==0,l){case"dialog":mt("cancel",g),mt("close",g);break;case"iframe":case"object":case"embed":mt("load",g);break;case"video":case"audio":for(_=0;_<ho.length;_++)mt(ho[_],g);break;case"source":mt("error",g);break;case"img":case"image":case"link":mt("error",g),mt("load",g);break;case"details":mt("toggle",g);break;case"input":Ce(g,O),mt("invalid",g);break;case"select":g._wrapperState={wasMultiple:!!O.multiple},mt("invalid",g);break;case"textarea":Ue(g,O),mt("invalid",g)}Ki(l,O),_=null;for(var M in O)if(O.hasOwnProperty(M)){var H=O[M];M==="children"?typeof H=="string"?g.textContent!==H&&(O.suppressHydrationWarning!==!0&&jl(g.textContent,H,r),_=["children",H]):typeof H=="number"&&g.textContent!==""+H&&(O.suppressHydrationWarning!==!0&&jl(g.textContent,H,r),_=["children",""+H]):s.hasOwnProperty(M)&&H!=null&&M==="onScroll"&&mt("scroll",g)}switch(l){case"input":pe(g),de(g,O,!0);break;case"textarea":pe(g),We(g);break;case"select":case"option":break;default:typeof O.onClick=="function"&&(g.onclick=Il)}g=_,a.updateQueue=g,g!==null&&(a.flags|=4)}else{M=_.nodeType===9?_:_.ownerDocument,r==="http://www.w3.org/1999/xhtml"&&(r=zt(l)),r==="http://www.w3.org/1999/xhtml"?l==="script"?(r=M.createElement("div"),r.innerHTML="<script><\/script>",r=r.removeChild(r.firstChild)):typeof g.is=="string"?r=M.createElement(l,{is:g.is}):(r=M.createElement(l),l==="select"&&(M=r,g.multiple?M.multiple=!0:g.size&&(M.size=g.size))):r=M.createElementNS(r,l),r[fr]=a,r[go]=g,Bb(r,a,!1,!1),a.stateNode=r;e:{switch(M=Gi(l,g),l){case"dialog":mt("cancel",r),mt("close",r),_=g;break;case"iframe":case"object":case"embed":mt("load",r),_=g;break;case"video":case"audio":for(_=0;_<ho.length;_++)mt(ho[_],r);_=g;break;case"source":mt("error",r),_=g;break;case"img":case"image":case"link":mt("error",r),mt("load",r),_=g;break;case"details":mt("toggle",r),_=g;break;case"input":Ce(r,g),_=Fe(r,g),mt("invalid",r);break;case"option":_=g;break;case"select":r._wrapperState={wasMultiple:!!g.multiple},_=q({},g,{value:void 0}),mt("invalid",r);break;case"textarea":Ue(r,g),_=me(r,g),mt("invalid",r);break;default:_=g}Ki(l,_),H=_;for(O in H)if(H.hasOwnProperty(O)){var Y=H[O];O==="style"?Us(r,Y):O==="dangerouslySetInnerHTML"?(Y=Y?Y.__html:void 0,Y!=null&&Jr(r,Y)):O==="children"?typeof Y=="string"?(l!=="textarea"||Y!=="")&&nt(r,Y):typeof Y=="number"&&nt(r,""+Y):O!=="suppressContentEditableWarning"&&O!=="suppressHydrationWarning"&&O!=="autoFocus"&&(s.hasOwnProperty(O)?Y!=null&&O==="onScroll"&&mt("scroll",r):Y!=null&&S(r,O,Y,M))}switch(l){case"input":pe(r),de(r,g,!1);break;case"textarea":pe(r),We(r);break;case"option":g.value!=null&&r.setAttribute("value",""+se(g.value));break;case"select":r.multiple=!!g.multiple,O=g.value,O!=null?Ae(r,!!g.multiple,O,!1):g.defaultValue!=null&&Ae(r,!!g.multiple,g.defaultValue,!0);break;default:typeof _.onClick=="function"&&(r.onclick=Il)}switch(l){case"button":case"input":case"select":case"textarea":g=!!g.autoFocus;break e;case"img":g=!0;break e;default:g=!1}}g&&(a.flags|=4)}a.ref!==null&&(a.flags|=512,a.flags|=2097152)}return rn(a),null;case 6:if(r&&a.stateNode!=null)qb(r,a,r.memoizedProps,g);else{if(typeof g!="string"&&a.stateNode===null)throw Error(n(166));if(l=na(wo.current),na(mr.current),Wl(a)){if(g=a.stateNode,l=a.memoizedProps,g[fr]=a,(O=g.nodeValue!==l)&&(r=Pn,r!==null))switch(r.tag){case 3:jl(g.nodeValue,l,(r.mode&1)!==0);break;case 5:r.memoizedProps.suppressHydrationWarning!==!0&&jl(g.nodeValue,l,(r.mode&1)!==0)}O&&(a.flags|=4)}else g=(l.nodeType===9?l:l.ownerDocument).createTextNode(g),g[fr]=a,a.stateNode=g}return rn(a),null;case 13:if(gt(wt),g=a.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(vt&&jn!==null&&(a.mode&1)!==0&&(a.flags&128)===0)Kp(),Za(),a.flags|=98560,O=!1;else if(O=Wl(a),g!==null&&g.dehydrated!==null){if(r===null){if(!O)throw Error(n(318));if(O=a.memoizedState,O=O!==null?O.dehydrated:null,!O)throw Error(n(317));O[fr]=a}else Za(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;rn(a),O=!1}else Jn!==null&&(nh(Jn),Jn=null),O=!0;if(!O)return a.flags&65536?a:null}return(a.flags&128)!==0?(a.lanes=l,a):(g=g!==null,g!==(r!==null&&r.memoizedState!==null)&&g&&(a.child.flags|=8192,(a.mode&1)!==0&&(r===null||(wt.current&1)!==0?jt===0&&(jt=3):ah())),a.updateQueue!==null&&(a.flags|=4),rn(a),null);case 4:return rs(),Gd(r,a),r===null&&fo(a.stateNode.containerInfo),rn(a),null;case 10:return yd(a.type._context),rn(a),null;case 17:return xn(a.type)&&Ll(),rn(a),null;case 19:if(gt(wt),O=a.memoizedState,O===null)return rn(a),null;if(g=(a.flags&128)!==0,M=O.rendering,M===null)if(g)So(O,!1);else{if(jt!==0||r!==null&&(r.flags&128)!==0)for(r=a.child;r!==null;){if(M=Xl(r),M!==null){for(a.flags|=128,So(O,!1),g=M.updateQueue,g!==null&&(a.updateQueue=g,a.flags|=4),a.subtreeFlags=0,g=l,l=a.child;l!==null;)O=l,r=g,O.flags&=14680066,M=O.alternate,M===null?(O.childLanes=0,O.lanes=r,O.child=null,O.subtreeFlags=0,O.memoizedProps=null,O.memoizedState=null,O.updateQueue=null,O.dependencies=null,O.stateNode=null):(O.childLanes=M.childLanes,O.lanes=M.lanes,O.child=M.child,O.subtreeFlags=0,O.deletions=null,O.memoizedProps=M.memoizedProps,O.memoizedState=M.memoizedState,O.updateQueue=M.updateQueue,O.type=M.type,r=M.dependencies,O.dependencies=r===null?null:{lanes:r.lanes,firstContext:r.firstContext}),l=l.sibling;return ft(wt,wt.current&1|2),a.child}r=r.sibling}O.tail!==null&&ut()>os&&(a.flags|=128,g=!0,So(O,!1),a.lanes=4194304)}else{if(!g)if(r=Xl(M),r!==null){if(a.flags|=128,g=!0,l=r.updateQueue,l!==null&&(a.updateQueue=l,a.flags|=4),So(O,!0),O.tail===null&&O.tailMode==="hidden"&&!M.alternate&&!vt)return rn(a),null}else 2*ut()-O.renderingStartTime>os&&l!==1073741824&&(a.flags|=128,g=!0,So(O,!1),a.lanes=4194304);O.isBackwards?(M.sibling=a.child,a.child=M):(l=O.last,l!==null?l.sibling=M:a.child=M,O.last=M)}return O.tail!==null?(a=O.tail,O.rendering=a,O.tail=a.sibling,O.renderingStartTime=ut(),a.sibling=null,l=wt.current,ft(wt,g?l&1|2:l&1),a):(rn(a),null);case 22:case 23:return ih(),g=a.memoizedState!==null,r!==null&&r.memoizedState!==null!==g&&(a.flags|=8192),g&&(a.mode&1)!==0?(In&1073741824)!==0&&(rn(a),a.subtreeFlags&6&&(a.flags|=8192)):rn(a),null;case 24:return null;case 25:return null}throw Error(n(156,a.tag))}function rS(r,a){switch(fd(a),a.tag){case 1:return xn(a.type)&&Ll(),r=a.flags,r&65536?(a.flags=r&-65537|128,a):null;case 3:return rs(),gt(kn),gt(tn),_d(),r=a.flags,(r&65536)!==0&&(r&128)===0?(a.flags=r&-65537|128,a):null;case 5:return Ed(a),null;case 13:if(gt(wt),r=a.memoizedState,r!==null&&r.dehydrated!==null){if(a.alternate===null)throw Error(n(340));Za()}return r=a.flags,r&65536?(a.flags=r&-65537|128,a):null;case 19:return gt(wt),null;case 4:return rs(),null;case 10:return yd(a.type._context),null;case 22:case 23:return ih(),null;case 24:return null;default:return null}}var iu=!1,an=!1,iS=typeof WeakSet=="function"?WeakSet:Set,Ne=null;function as(r,a){var l=r.ref;if(l!==null)if(typeof l=="function")try{l(null)}catch(g){xt(r,a,g)}else l.current=null}function Vd(r,a,l){try{l()}catch(g){xt(r,a,g)}}var Ub=!1;function aS(r,a){if(id=El,r=wp(),Jc(r)){if("selectionStart"in r)var l={start:r.selectionStart,end:r.selectionEnd};else e:{l=(l=r.ownerDocument)&&l.defaultView||window;var g=l.getSelection&&l.getSelection();if(g&&g.rangeCount!==0){l=g.anchorNode;var _=g.anchorOffset,O=g.focusNode;g=g.focusOffset;try{l.nodeType,O.nodeType}catch{l=null;break e}var M=0,H=-1,Y=-1,ce=0,be=0,ve=r,ge=null;t:for(;;){for(var _e;ve!==l||_!==0&&ve.nodeType!==3||(H=M+_),ve!==O||g!==0&&ve.nodeType!==3||(Y=M+g),ve.nodeType===3&&(M+=ve.nodeValue.length),(_e=ve.firstChild)!==null;)ge=ve,ve=_e;for(;;){if(ve===r)break t;if(ge===l&&++ce===_&&(H=M),ge===O&&++be===g&&(Y=M),(_e=ve.nextSibling)!==null)break;ve=ge,ge=ve.parentNode}ve=_e}l=H===-1||Y===-1?null:{start:H,end:Y}}else l=null}l=l||{start:0,end:0}}else l=null;for(ad={focusedElem:r,selectionRange:l},El=!1,Ne=a;Ne!==null;)if(a=Ne,r=a.child,(a.subtreeFlags&1028)!==0&&r!==null)r.return=a,Ne=r;else for(;Ne!==null;){a=Ne;try{var ze=a.alternate;if((a.flags&1024)!==0)switch(a.tag){case 0:case 11:case 15:break;case 1:if(ze!==null){var Ie=ze.memoizedProps,St=ze.memoizedState,le=a.stateNode,ne=le.getSnapshotBeforeUpdate(a.elementType===a.type?Ie:Qn(a.type,Ie),St);le.__reactInternalSnapshotBeforeUpdate=ne}break;case 3:var ue=a.stateNode.containerInfo;ue.nodeType===1?ue.textContent="":ue.nodeType===9&&ue.documentElement&&ue.removeChild(ue.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(ye){xt(a,a.return,ye)}if(r=a.sibling,r!==null){r.return=a.return,Ne=r;break}Ne=a.return}return ze=Ub,Ub=!1,ze}function _o(r,a,l){var g=a.updateQueue;if(g=g!==null?g.lastEffect:null,g!==null){var _=g=g.next;do{if((_.tag&r)===r){var O=_.destroy;_.destroy=void 0,O!==void 0&&Vd(a,l,O)}_=_.next}while(_!==g)}}function au(r,a){if(a=a.updateQueue,a=a!==null?a.lastEffect:null,a!==null){var l=a=a.next;do{if((l.tag&r)===r){var g=l.create;l.destroy=g()}l=l.next}while(l!==a)}}function Hd(r){var a=r.ref;if(a!==null){var l=r.stateNode;switch(r.tag){case 5:r=l;break;default:r=l}typeof a=="function"?a(r):a.current=r}}function Wb(r){var a=r.alternate;a!==null&&(r.alternate=null,Wb(a)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(a=r.stateNode,a!==null&&(delete a[fr],delete a[go],delete a[ud],delete a[qE],delete a[UE])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Kb(r){return r.tag===5||r.tag===3||r.tag===4}function Gb(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Kb(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function $d(r,a,l){var g=r.tag;if(g===5||g===6)r=r.stateNode,a?l.nodeType===8?l.parentNode.insertBefore(r,a):l.insertBefore(r,a):(l.nodeType===8?(a=l.parentNode,a.insertBefore(r,l)):(a=l,a.appendChild(r)),l=l._reactRootContainer,l!=null||a.onclick!==null||(a.onclick=Il));else if(g!==4&&(r=r.child,r!==null))for($d(r,a,l),r=r.sibling;r!==null;)$d(r,a,l),r=r.sibling}function Xd(r,a,l){var g=r.tag;if(g===5||g===6)r=r.stateNode,a?l.insertBefore(r,a):l.appendChild(r);else if(g!==4&&(r=r.child,r!==null))for(Xd(r,a,l),r=r.sibling;r!==null;)Xd(r,a,l),r=r.sibling}var Gt=null,Yn=!1;function hi(r,a,l){for(l=l.child;l!==null;)Vb(r,a,l),l=l.sibling}function Vb(r,a,l){if(wn&&typeof wn.onCommitFiberUnmount=="function")try{wn.onCommitFiberUnmount(Rr,l)}catch{}switch(l.tag){case 5:an||as(l,a);case 6:var g=Gt,_=Yn;Gt=null,hi(r,a,l),Gt=g,Yn=_,Gt!==null&&(Yn?(r=Gt,l=l.stateNode,r.nodeType===8?r.parentNode.removeChild(l):r.removeChild(l)):Gt.removeChild(l.stateNode));break;case 18:Gt!==null&&(Yn?(r=Gt,l=l.stateNode,r.nodeType===8?ld(r.parentNode,l):r.nodeType===1&&ld(r,l),ro(r)):ld(Gt,l.stateNode));break;case 4:g=Gt,_=Yn,Gt=l.stateNode.containerInfo,Yn=!0,hi(r,a,l),Gt=g,Yn=_;break;case 0:case 11:case 14:case 15:if(!an&&(g=l.updateQueue,g!==null&&(g=g.lastEffect,g!==null))){_=g=g.next;do{var O=_,M=O.destroy;O=O.tag,M!==void 0&&((O&2)!==0||(O&4)!==0)&&Vd(l,a,M),_=_.next}while(_!==g)}hi(r,a,l);break;case 1:if(!an&&(as(l,a),g=l.stateNode,typeof g.componentWillUnmount=="function"))try{g.props=l.memoizedProps,g.state=l.memoizedState,g.componentWillUnmount()}catch(H){xt(l,a,H)}hi(r,a,l);break;case 21:hi(r,a,l);break;case 22:l.mode&1?(an=(g=an)||l.memoizedState!==null,hi(r,a,l),an=g):hi(r,a,l);break;default:hi(r,a,l)}}function Hb(r){var a=r.updateQueue;if(a!==null){r.updateQueue=null;var l=r.stateNode;l===null&&(l=r.stateNode=new iS),a.forEach(function(g){var _=mS.bind(null,r,g);l.has(g)||(l.add(g),g.then(_,_))})}}function Zn(r,a){var l=a.deletions;if(l!==null)for(var g=0;g<l.length;g++){var _=l[g];try{var O=r,M=a,H=M;e:for(;H!==null;){switch(H.tag){case 5:Gt=H.stateNode,Yn=!1;break e;case 3:Gt=H.stateNode.containerInfo,Yn=!0;break e;case 4:Gt=H.stateNode.containerInfo,Yn=!0;break e}H=H.return}if(Gt===null)throw Error(n(160));Vb(O,M,_),Gt=null,Yn=!1;var Y=_.alternate;Y!==null&&(Y.return=null),_.return=null}catch(ce){xt(_,a,ce)}}if(a.subtreeFlags&12854)for(a=a.child;a!==null;)$b(a,r),a=a.sibling}function $b(r,a){var l=r.alternate,g=r.flags;switch(r.tag){case 0:case 11:case 14:case 15:if(Zn(a,r),pr(r),g&4){try{_o(3,r,r.return),au(3,r)}catch(Ie){xt(r,r.return,Ie)}try{_o(5,r,r.return)}catch(Ie){xt(r,r.return,Ie)}}break;case 1:Zn(a,r),pr(r),g&512&&l!==null&&as(l,l.return);break;case 5:if(Zn(a,r),pr(r),g&512&&l!==null&&as(l,l.return),r.flags&32){var _=r.stateNode;try{nt(_,"")}catch(Ie){xt(r,r.return,Ie)}}if(g&4&&(_=r.stateNode,_!=null)){var O=r.memoizedProps,M=l!==null?l.memoizedProps:O,H=r.type,Y=r.updateQueue;if(r.updateQueue=null,Y!==null)try{H==="input"&&O.type==="radio"&&O.name!=null&&De(_,O),Gi(H,M);var ce=Gi(H,O);for(M=0;M<Y.length;M+=2){var be=Y[M],ve=Y[M+1];be==="style"?Us(_,ve):be==="dangerouslySetInnerHTML"?Jr(_,ve):be==="children"?nt(_,ve):S(_,be,ve,ce)}switch(H){case"input":He(_,O);break;case"textarea":Ke(_,O);break;case"select":var ge=_._wrapperState.wasMultiple;_._wrapperState.wasMultiple=!!O.multiple;var _e=O.value;_e!=null?Ae(_,!!O.multiple,_e,!1):ge!==!!O.multiple&&(O.defaultValue!=null?Ae(_,!!O.multiple,O.defaultValue,!0):Ae(_,!!O.multiple,O.multiple?[]:"",!1))}_[go]=O}catch(Ie){xt(r,r.return,Ie)}}break;case 6:if(Zn(a,r),pr(r),g&4){if(r.stateNode===null)throw Error(n(162));_=r.stateNode,O=r.memoizedProps;try{_.nodeValue=O}catch(Ie){xt(r,r.return,Ie)}}break;case 3:if(Zn(a,r),pr(r),g&4&&l!==null&&l.memoizedState.isDehydrated)try{ro(a.containerInfo)}catch(Ie){xt(r,r.return,Ie)}break;case 4:Zn(a,r),pr(r);break;case 13:Zn(a,r),pr(r),_=r.child,_.flags&8192&&(O=_.memoizedState!==null,_.stateNode.isHidden=O,!O||_.alternate!==null&&_.alternate.memoizedState!==null||(Yd=ut())),g&4&&Hb(r);break;case 22:if(be=l!==null&&l.memoizedState!==null,r.mode&1?(an=(ce=an)||be,Zn(a,r),an=ce):Zn(a,r),pr(r),g&8192){if(ce=r.memoizedState!==null,(r.stateNode.isHidden=ce)&&!be&&(r.mode&1)!==0)for(Ne=r,be=r.child;be!==null;){for(ve=Ne=be;Ne!==null;){switch(ge=Ne,_e=ge.child,ge.tag){case 0:case 11:case 14:case 15:_o(4,ge,ge.return);break;case 1:as(ge,ge.return);var ze=ge.stateNode;if(typeof ze.componentWillUnmount=="function"){g=ge,l=ge.return;try{a=g,ze.props=a.memoizedProps,ze.state=a.memoizedState,ze.componentWillUnmount()}catch(Ie){xt(g,l,Ie)}}break;case 5:as(ge,ge.return);break;case 22:if(ge.memoizedState!==null){Qb(ve);continue}}_e!==null?(_e.return=ge,Ne=_e):Qb(ve)}be=be.sibling}e:for(be=null,ve=r;;){if(ve.tag===5){if(be===null){be=ve;try{_=ve.stateNode,ce?(O=_.style,typeof O.setProperty=="function"?O.setProperty("display","none","important"):O.display="none"):(H=ve.stateNode,Y=ve.memoizedProps.style,M=Y!=null&&Y.hasOwnProperty("display")?Y.display:null,H.style.display=qs("display",M))}catch(Ie){xt(r,r.return,Ie)}}}else if(ve.tag===6){if(be===null)try{ve.stateNode.nodeValue=ce?"":ve.memoizedProps}catch(Ie){xt(r,r.return,Ie)}}else if((ve.tag!==22&&ve.tag!==23||ve.memoizedState===null||ve===r)&&ve.child!==null){ve.child.return=ve,ve=ve.child;continue}if(ve===r)break e;for(;ve.sibling===null;){if(ve.return===null||ve.return===r)break e;be===ve&&(be=null),ve=ve.return}be===ve&&(be=null),ve.sibling.return=ve.return,ve=ve.sibling}}break;case 19:Zn(a,r),pr(r),g&4&&Hb(r);break;case 21:break;default:Zn(a,r),pr(r)}}function pr(r){var a=r.flags;if(a&2){try{e:{for(var l=r.return;l!==null;){if(Kb(l)){var g=l;break e}l=l.return}throw Error(n(160))}switch(g.tag){case 5:var _=g.stateNode;g.flags&32&&(nt(_,""),g.flags&=-33);var O=Gb(r);Xd(r,O,_);break;case 3:case 4:var M=g.stateNode.containerInfo,H=Gb(r);$d(r,H,M);break;default:throw Error(n(161))}}catch(Y){xt(r,r.return,Y)}r.flags&=-3}a&4096&&(r.flags&=-4097)}function sS(r,a,l){Ne=r,Xb(r)}function Xb(r,a,l){for(var g=(r.mode&1)!==0;Ne!==null;){var _=Ne,O=_.child;if(_.tag===22&&g){var M=_.memoizedState!==null||iu;if(!M){var H=_.alternate,Y=H!==null&&H.memoizedState!==null||an;H=iu;var ce=an;if(iu=M,(an=Y)&&!ce)for(Ne=_;Ne!==null;)M=Ne,Y=M.child,M.tag===22&&M.memoizedState!==null?Yb(_):Y!==null?(Y.return=M,Ne=Y):Yb(_);for(;O!==null;)Ne=O,Xb(O),O=O.sibling;Ne=_,iu=H,an=ce}Jb(r)}else(_.subtreeFlags&8772)!==0&&O!==null?(O.return=_,Ne=O):Jb(r)}}function Jb(r){for(;Ne!==null;){var a=Ne;if((a.flags&8772)!==0){var l=a.alternate;try{if((a.flags&8772)!==0)switch(a.tag){case 0:case 11:case 15:an||au(5,a);break;case 1:var g=a.stateNode;if(a.flags&4&&!an)if(l===null)g.componentDidMount();else{var _=a.elementType===a.type?l.memoizedProps:Qn(a.type,l.memoizedProps);g.componentDidUpdate(_,l.memoizedState,g.__reactInternalSnapshotBeforeUpdate)}var O=a.updateQueue;O!==null&&Qp(a,O,g);break;case 3:var M=a.updateQueue;if(M!==null){if(l=null,a.child!==null)switch(a.child.tag){case 5:l=a.child.stateNode;break;case 1:l=a.child.stateNode}Qp(a,M,l)}break;case 5:var H=a.stateNode;if(l===null&&a.flags&4){l=H;var Y=a.memoizedProps;switch(a.type){case"button":case"input":case"select":case"textarea":Y.autoFocus&&l.focus();break;case"img":Y.src&&(l.src=Y.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(a.memoizedState===null){var ce=a.alternate;if(ce!==null){var be=ce.memoizedState;if(be!==null){var ve=be.dehydrated;ve!==null&&ro(ve)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(n(163))}an||a.flags&512&&Hd(a)}catch(ge){xt(a,a.return,ge)}}if(a===r){Ne=null;break}if(l=a.sibling,l!==null){l.return=a.return,Ne=l;break}Ne=a.return}}function Qb(r){for(;Ne!==null;){var a=Ne;if(a===r){Ne=null;break}var l=a.sibling;if(l!==null){l.return=a.return,Ne=l;break}Ne=a.return}}function Yb(r){for(;Ne!==null;){var a=Ne;try{switch(a.tag){case 0:case 11:case 15:var l=a.return;try{au(4,a)}catch(Y){xt(a,l,Y)}break;case 1:var g=a.stateNode;if(typeof g.componentDidMount=="function"){var _=a.return;try{g.componentDidMount()}catch(Y){xt(a,_,Y)}}var O=a.return;try{Hd(a)}catch(Y){xt(a,O,Y)}break;case 5:var M=a.return;try{Hd(a)}catch(Y){xt(a,M,Y)}}}catch(Y){xt(a,a.return,Y)}if(a===r){Ne=null;break}var H=a.sibling;if(H!==null){H.return=a.return,Ne=H;break}Ne=a.return}}var oS=Math.ceil,su=x.ReactCurrentDispatcher,Jd=x.ReactCurrentOwner,Un=x.ReactCurrentBatchConfig,rt=0,Bt=null,Nt=null,Vt=0,In=0,ss=oi(0),jt=0,To=null,ia=0,ou=0,Qd=0,Oo=null,En=null,Yd=0,os=1/0,Ur=null,lu=!1,Zd=null,fi=null,uu=!1,mi=null,cu=0,No=0,eh=null,du=-1,hu=0;function fn(){return(rt&6)!==0?ut():du!==-1?du:du=ut()}function gi(r){return(r.mode&1)===0?1:(rt&2)!==0&&Vt!==0?Vt&-Vt:KE.transition!==null?(hu===0&&(hu=Ys()),hu):(r=ae,r!==0||(r=window.event,r=r===void 0?16:ep(r.type)),r)}function er(r,a,l,g){if(50<No)throw No=0,eh=null,Error(n(185));Pr(r,l,g),((rt&2)===0||r!==Bt)&&(r===Bt&&((rt&2)===0&&(ou|=l),jt===4&&pi(r,Vt)),Sn(r,g),l===1&&rt===0&&(a.mode&1)===0&&(os=ut()+500,Fl&&ui()))}function Sn(r,a){var l=r.callbackNode;Lc(r,a);var g=Fa(r,r===Bt?Vt:0);if(g===0)l!==null&&vl(l),r.callbackNode=null,r.callbackPriority=0;else if(a=g&-g,r.callbackPriority!==a){if(l!=null&&vl(l),a===1)r.tag===0?WE(ev.bind(null,r)):Bp(ev.bind(null,r)),BE(function(){(rt&6)===0&&ui()}),l=null;else{switch(ke(g)){case 1:l=Hn;break;case 4:l=wl;break;case 16:l=Ma;break;case 536870912:l=Js;break;default:l=Ma}l=lv(l,Zb.bind(null,r))}r.callbackPriority=a,r.callbackNode=l}}function Zb(r,a){if(du=-1,hu=0,(rt&6)!==0)throw Error(n(327));var l=r.callbackNode;if(ls()&&r.callbackNode!==l)return null;var g=Fa(r,r===Bt?Vt:0);if(g===0)return null;if((g&30)!==0||(g&r.expiredLanes)!==0||a)a=fu(r,g);else{a=g;var _=rt;rt|=2;var O=nv();(Bt!==r||Vt!==a)&&(Ur=null,os=ut()+500,sa(r,a));do try{cS();break}catch(H){tv(r,H)}while(!0);vd(),su.current=O,rt=_,Nt!==null?a=0:(Bt=null,Vt=0,a=jt)}if(a!==0){if(a===2&&(_=Qs(r),_!==0&&(g=_,a=th(r,_))),a===1)throw l=To,sa(r,0),pi(r,g),Sn(r,ut()),l;if(a===6)pi(r,g);else{if(_=r.current.alternate,(g&30)===0&&!lS(_)&&(a=fu(r,g),a===2&&(O=Qs(r),O!==0&&(g=O,a=th(r,O))),a===1))throw l=To,sa(r,0),pi(r,g),Sn(r,ut()),l;switch(r.finishedWork=_,r.finishedLanes=g,a){case 0:case 1:throw Error(n(345));case 2:oa(r,En,Ur);break;case 3:if(pi(r,g),(g&130023424)===g&&(a=Yd+500-ut(),10<a)){if(Fa(r,0)!==0)break;if(_=r.suspendedLanes,(_&g)!==g){fn(),r.pingedLanes|=r.suspendedLanes&_;break}r.timeoutHandle=od(oa.bind(null,r,En,Ur),a);break}oa(r,En,Ur);break;case 4:if(pi(r,g),(g&4194240)===g)break;for(a=r.eventTimes,_=-1;0<g;){var M=31-Mt(g);O=1<<M,M=a[M],M>_&&(_=M),g&=~O}if(g=_,g=ut()-g,g=(120>g?120:480>g?480:1080>g?1080:1920>g?1920:3e3>g?3e3:4320>g?4320:1960*oS(g/1960))-g,10<g){r.timeoutHandle=od(oa.bind(null,r,En,Ur),g);break}oa(r,En,Ur);break;case 5:oa(r,En,Ur);break;default:throw Error(n(329))}}}return Sn(r,ut()),r.callbackNode===l?Zb.bind(null,r):null}function th(r,a){var l=Oo;return r.current.memoizedState.isDehydrated&&(sa(r,a).flags|=256),r=fu(r,a),r!==2&&(a=En,En=l,a!==null&&nh(a)),r}function nh(r){En===null?En=r:En.push.apply(En,r)}function lS(r){for(var a=r;;){if(a.flags&16384){var l=a.updateQueue;if(l!==null&&(l=l.stores,l!==null))for(var g=0;g<l.length;g++){var _=l[g],O=_.getSnapshot;_=_.value;try{if(!Xn(O(),_))return!1}catch{return!1}}}if(l=a.child,a.subtreeFlags&16384&&l!==null)l.return=a,a=l;else{if(a===r)break;for(;a.sibling===null;){if(a.return===null||a.return===r)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function pi(r,a){for(a&=~Qd,a&=~ou,r.suspendedLanes|=a,r.pingedLanes&=~a,r=r.expirationTimes;0<a;){var l=31-Mt(a),g=1<<l;r[l]=-1,a&=~g}}function ev(r){if((rt&6)!==0)throw Error(n(327));ls();var a=Fa(r,0);if((a&1)===0)return Sn(r,ut()),null;var l=fu(r,a);if(r.tag!==0&&l===2){var g=Qs(r);g!==0&&(a=g,l=th(r,g))}if(l===1)throw l=To,sa(r,0),pi(r,a),Sn(r,ut()),l;if(l===6)throw Error(n(345));return r.finishedWork=r.current.alternate,r.finishedLanes=a,oa(r,En,Ur),Sn(r,ut()),null}function rh(r,a){var l=rt;rt|=1;try{return r(a)}finally{rt=l,rt===0&&(os=ut()+500,Fl&&ui())}}function aa(r){mi!==null&&mi.tag===0&&(rt&6)===0&&ls();var a=rt;rt|=1;var l=Un.transition,g=ae;try{if(Un.transition=null,ae=1,r)return r()}finally{ae=g,Un.transition=l,rt=a,(rt&6)===0&&ui()}}function ih(){In=ss.current,gt(ss)}function sa(r,a){r.finishedWork=null,r.finishedLanes=0;var l=r.timeoutHandle;if(l!==-1&&(r.timeoutHandle=-1,LE(l)),Nt!==null)for(l=Nt.return;l!==null;){var g=l;switch(fd(g),g.tag){case 1:g=g.type.childContextTypes,g!=null&&Ll();break;case 3:rs(),gt(kn),gt(tn),_d();break;case 5:Ed(g);break;case 4:rs();break;case 13:gt(wt);break;case 19:gt(wt);break;case 10:yd(g.type._context);break;case 22:case 23:ih()}l=l.return}if(Bt=r,Nt=r=bi(r.current,null),Vt=In=a,jt=0,To=null,Qd=ou=ia=0,En=Oo=null,ta!==null){for(a=0;a<ta.length;a++)if(l=ta[a],g=l.interleaved,g!==null){l.interleaved=null;var _=g.next,O=l.pending;if(O!==null){var M=O.next;O.next=_,g.next=M}l.pending=g}ta=null}return r}function tv(r,a){do{var l=Nt;try{if(vd(),Jl.current=eu,Ql){for(var g=kt.memoizedState;g!==null;){var _=g.queue;_!==null&&(_.pending=null),g=g.next}Ql=!1}if(ra=0,Lt=Pt=kt=null,ko=!1,xo=0,Jd.current=null,l===null||l.return===null){jt=1,To=a,Nt=null;break}e:{var O=r,M=l.return,H=l,Y=a;if(a=Vt,H.flags|=32768,Y!==null&&typeof Y=="object"&&typeof Y.then=="function"){var ce=Y,be=H,ve=be.tag;if((be.mode&1)===0&&(ve===0||ve===11||ve===15)){var ge=be.alternate;ge?(be.updateQueue=ge.updateQueue,be.memoizedState=ge.memoizedState,be.lanes=ge.lanes):(be.updateQueue=null,be.memoizedState=null)}var _e=_b(M);if(_e!==null){_e.flags&=-257,Tb(_e,M,H,O,a),_e.mode&1&&Sb(O,ce,a),a=_e,Y=ce;var ze=a.updateQueue;if(ze===null){var Ie=new Set;Ie.add(Y),a.updateQueue=Ie}else ze.add(Y);break e}else{if((a&1)===0){Sb(O,ce,a),ah();break e}Y=Error(n(426))}}else if(vt&&H.mode&1){var St=_b(M);if(St!==null){(St.flags&65536)===0&&(St.flags|=256),Tb(St,M,H,O,a),pd(is(Y,H));break e}}O=Y=is(Y,H),jt!==4&&(jt=2),Oo===null?Oo=[O]:Oo.push(O),O=M;do{switch(O.tag){case 3:O.flags|=65536,a&=-a,O.lanes|=a;var le=Ab(O,Y,a);Jp(O,le);break e;case 1:H=Y;var ne=O.type,ue=O.stateNode;if((O.flags&128)===0&&(typeof ne.getDerivedStateFromError=="function"||ue!==null&&typeof ue.componentDidCatch=="function"&&(fi===null||!fi.has(ue)))){O.flags|=65536,a&=-a,O.lanes|=a;var ye=Eb(O,H,a);Jp(O,ye);break e}}O=O.return}while(O!==null)}iv(l)}catch(Me){a=Me,Nt===l&&l!==null&&(Nt=l=l.return);continue}break}while(!0)}function nv(){var r=su.current;return su.current=eu,r===null?eu:r}function ah(){(jt===0||jt===3||jt===2)&&(jt=4),Bt===null||(ia&268435455)===0&&(ou&268435455)===0||pi(Bt,Vt)}function fu(r,a){var l=rt;rt|=2;var g=nv();(Bt!==r||Vt!==a)&&(Ur=null,sa(r,a));do try{uS();break}catch(_){tv(r,_)}while(!0);if(vd(),rt=l,su.current=g,Nt!==null)throw Error(n(261));return Bt=null,Vt=0,jt}function uS(){for(;Nt!==null;)rv(Nt)}function cS(){for(;Nt!==null&&!jc();)rv(Nt)}function rv(r){var a=ov(r.alternate,r,In);r.memoizedProps=r.pendingProps,a===null?iv(r):Nt=a,Jd.current=null}function iv(r){var a=r;do{var l=a.alternate;if(r=a.return,(a.flags&32768)===0){if(l=nS(l,a,In),l!==null){Nt=l;return}}else{if(l=rS(l,a),l!==null){l.flags&=32767,Nt=l;return}if(r!==null)r.flags|=32768,r.subtreeFlags=0,r.deletions=null;else{jt=6,Nt=null;return}}if(a=a.sibling,a!==null){Nt=a;return}Nt=a=r}while(a!==null);jt===0&&(jt=5)}function oa(r,a,l){var g=ae,_=Un.transition;try{Un.transition=null,ae=1,dS(r,a,l,g)}finally{Un.transition=_,ae=g}return null}function dS(r,a,l,g){do ls();while(mi!==null);if((rt&6)!==0)throw Error(n(327));l=r.finishedWork;var _=r.finishedLanes;if(l===null)return null;if(r.finishedWork=null,r.finishedLanes=0,l===r.current)throw Error(n(177));r.callbackNode=null,r.callbackPriority=0;var O=l.lanes|l.childLanes;if(xe(r,O),r===Bt&&(Nt=Bt=null,Vt=0),(l.subtreeFlags&2064)===0&&(l.flags&2064)===0||uu||(uu=!0,lv(Ma,function(){return ls(),null})),O=(l.flags&15990)!==0,(l.subtreeFlags&15990)!==0||O){O=Un.transition,Un.transition=null;var M=ae;ae=1;var H=rt;rt|=4,Jd.current=null,aS(r,l),$b(l,r),DE(ad),El=!!id,ad=id=null,r.current=l,sS(l),Ic(),rt=H,ae=M,Un.transition=O}else r.current=l;if(uu&&(uu=!1,mi=r,cu=_),O=r.pendingLanes,O===0&&(fi=null),La(l.stateNode),Sn(r,ut()),a!==null)for(g=r.onRecoverableError,l=0;l<a.length;l++)_=a[l],g(_.value,{componentStack:_.stack,digest:_.digest});if(lu)throw lu=!1,r=Zd,Zd=null,r;return(cu&1)!==0&&r.tag!==0&&ls(),O=r.pendingLanes,(O&1)!==0?r===eh?No++:(No=0,eh=r):No=0,ui(),null}function ls(){if(mi!==null){var r=ke(cu),a=Un.transition,l=ae;try{if(Un.transition=null,ae=16>r?16:r,mi===null)var g=!1;else{if(r=mi,mi=null,cu=0,(rt&6)!==0)throw Error(n(331));var _=rt;for(rt|=4,Ne=r.current;Ne!==null;){var O=Ne,M=O.child;if((Ne.flags&16)!==0){var H=O.deletions;if(H!==null){for(var Y=0;Y<H.length;Y++){var ce=H[Y];for(Ne=ce;Ne!==null;){var be=Ne;switch(be.tag){case 0:case 11:case 15:_o(8,be,O)}var ve=be.child;if(ve!==null)ve.return=be,Ne=ve;else for(;Ne!==null;){be=Ne;var ge=be.sibling,_e=be.return;if(Wb(be),be===ce){Ne=null;break}if(ge!==null){ge.return=_e,Ne=ge;break}Ne=_e}}}var ze=O.alternate;if(ze!==null){var Ie=ze.child;if(Ie!==null){ze.child=null;do{var St=Ie.sibling;Ie.sibling=null,Ie=St}while(Ie!==null)}}Ne=O}}if((O.subtreeFlags&2064)!==0&&M!==null)M.return=O,Ne=M;else e:for(;Ne!==null;){if(O=Ne,(O.flags&2048)!==0)switch(O.tag){case 0:case 11:case 15:_o(9,O,O.return)}var le=O.sibling;if(le!==null){le.return=O.return,Ne=le;break e}Ne=O.return}}var ne=r.current;for(Ne=ne;Ne!==null;){M=Ne;var ue=M.child;if((M.subtreeFlags&2064)!==0&&ue!==null)ue.return=M,Ne=ue;else e:for(M=ne;Ne!==null;){if(H=Ne,(H.flags&2048)!==0)try{switch(H.tag){case 0:case 11:case 15:au(9,H)}}catch(Me){xt(H,H.return,Me)}if(H===M){Ne=null;break e}var ye=H.sibling;if(ye!==null){ye.return=H.return,Ne=ye;break e}Ne=H.return}}if(rt=_,ui(),wn&&typeof wn.onPostCommitFiberRoot=="function")try{wn.onPostCommitFiberRoot(Rr,r)}catch{}g=!0}return g}finally{ae=l,Un.transition=a}}return!1}function av(r,a,l){a=is(l,a),a=Ab(r,a,1),r=di(r,a,1),a=fn(),r!==null&&(Pr(r,1,a),Sn(r,a))}function xt(r,a,l){if(r.tag===3)av(r,r,l);else for(;a!==null;){if(a.tag===3){av(a,r,l);break}else if(a.tag===1){var g=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof g.componentDidCatch=="function"&&(fi===null||!fi.has(g))){r=is(l,r),r=Eb(a,r,1),a=di(a,r,1),r
vendor: 4,735 bytes, line 41
41=fn(),a!==null&&(Pr(a,1,r),Sn(a,r));break}}a=a.return}}function hS(r,a,l){var g=r.pingCache;g!==null&&g.delete(a),a=fn(),r.pingedLanes|=r.suspendedLanes&l,Bt===r&&(Vt&l)===l&&(jt===4||jt===3&&(Vt&130023424)===Vt&&500>ut()-Yd?sa(r,0):Qd|=l),Sn(r,a)}function sv(r,a){a===0&&((r.mode&1)===0?a=1:(a=Ji,Ji<<=1,(Ji&130023424)===0&&(Ji=4194304)));var l=fn();r=Br(r,a),r!==null&&(Pr(r,a,l),Sn(r,l))}function fS(r){var a=r.memoizedState,l=0;a!==null&&(l=a.retryLane),sv(r,l)}function mS(r,a){var l=0;switch(r.tag){case 13:var g=r.stateNode,_=r.memoizedState;_!==null&&(l=_.retryLane);break;case 19:g=r.stateNode;break;default:throw Error(n(314))}g!==null&&g.delete(a),sv(r,l)}var ov;ov=function(r,a,l){if(r!==null)if(r.memoizedProps!==a.pendingProps||kn.current)An=!0;else{if((r.lanes&l)===0&&(a.flags&128)===0)return An=!1,tS(r,a,l);An=(r.flags&131072)!==0}else An=!1,vt&&(a.flags&1048576)!==0&&Fp(a,Ul,a.index);switch(a.lanes=0,a.tag){case 2:var g=a.type;ru(r,a),r=a.pendingProps;var _=Ja(a,tn.current);ns(a,l),_=Nd(null,a,g,r,_,l);var O=Cd();return a.flags|=1,typeof _=="object"&&_!==null&&typeof _.render=="function"&&_.$$typeof===void 0?(a.tag=1,a.memoizedState=null,a.updateQueue=null,xn(g)?(O=!0,Bl(a)):O=!1,a.memoizedState=_.state!==null&&_.state!==void 0?_.state:null,xd(a),_.updater=tu,a.stateNode=_,_._reactInternals=a,Id(a,g,r,l),a=Fd(null,a,g,!0,O,l)):(a.tag=0,vt&&O&&hd(a),hn(null,a,_,l),a=a.child),a;case 16:g=a.elementType;e:{switch(ru(r,a),r=a.pendingProps,_=g._init,g=_(g._payload),a.type=g,_=a.tag=pS(g),r=Qn(g,r),_){case 0:a=Bd(null,a,g,r,l);break e;case 1:a=Rb(null,a,g,r,l);break e;case 11:a=Ob(null,a,g,r,l);break e;case 14:a=Nb(null,a,g,Qn(g.type,r),l);break e}throw Error(n(306,g,""))}return a;case 0:return g=a.type,_=a.pendingProps,_=a.elementType===g?_:Qn(g,_),Bd(r,a,g,_,l);case 1:return g=a.type,_=a.pendingProps,_=a.elementType===g?_:Qn(g,_),Rb(r,a,g,_,l);case 3:e:{if(Pb(a),r===null)throw Error(n(387));g=a.pendingProps,O=a.memoizedState,_=O.element,Xp(r,a),$l(a,g,null,l);var M=a.memoizedState;if(g=M.element,O.isDehydrated)if(O={element:g,isDehydrated:!1,cache:M.cache,pendingSuspenseBoundaries:M.pendingSuspenseBoundaries,transitions:M.transitions},a.updateQueue.baseState=O,a.memoizedState=O,a.flags&256){_=is(Error(n(423)),a),a=jb(r,a,g,l,_);break e}else if(g!==_){_=is(Error(n(424)),a),a=jb(r,a,g,l,_);break e}else for(jn=si(a.stateNode.containerInfo.firstChild),Pn=a,vt=!0,Jn=null,l=Hp(a,null,g,l),a.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling;else{if(Za(),g===_){a=qr(r,a,l);break e}hn(r,a,g,l)}a=a.child}return a;case 5:return Yp(a),r===null&&gd(a),g=a.type,_=a.pendingProps,O=r!==null?r.memoizedProps:null,M=_.children,sd(g,_)?M=null:O!==null&&sd(g,O)&&(a.flags|=32),zb(r,a),hn(r,a,M,l),a.child;case 6:return r===null&&gd(a),null;case 13:return Ib(r,a,l);case 4:return Ad(a,a.stateNode.containerInfo),g=a.pendingProps,r===null?a.child=es(a,null,g,l):hn(r,a,g,l),a.child;case 11:return g=a.type,_=a.pendingProps,_=a.elementType===g?_:Qn(g,_),Ob(r,a,g,_,l);case 7:return hn(r,a,a.pendingProps,l),a.child;case 8:return hn(r,a,a.pendingProps.children,l),a.child;case 12:return hn(r,a,a.pendingProps.children,l),a.child;case 10:e:{if(g=a.type._context,_=a.pendingProps,O=a.memoizedProps,M=_.value,ft(Gl,g._currentValue),g._currentValue=M,O!==null)if(Xn(O.value,M)){if(O.children===_.children&&!kn.current){a=qr(r,a,l);break e}}else for(O=a.child,O!==null&&(O.return=a);O!==null;){var H=O.dependencies;if(H!==null){M=O.child;for(var Y=H.firstContext;Y!==null;){if(Y.context===g){if(O.tag===1){Y=Fr(-1,l&-l),Y.tag=2;var ce=O.updateQueue;if(ce!==null){ce=ce.shared;var be=ce.pending;be===null?Y.next=Y:(Y.next=be.next,be.next=Y),ce.pending=Y}}O.lanes|=l,Y=O.alternate,Y!==null&&(Y.lanes|=l),wd(O.return,l,a),H.lanes|=l;break}Y=Y.next}}else if(O.tag===10)M=O.type===a.type?null:O.child;else if(O.tag===18){if(M=O.return,M===null)throw Error(n(341));M.lanes|=l,H=M.alternate,H!==null&&(H.lanes|=l),wd(M,l,a),M=O.sibling}else M=O.child;if(M!==null)M.return=O;else for(M=O;M!==null;){if(M===a){M=null;break}if(O=M.sibling,O!==null){O.return=M.return,M=O;break}M=M.return}O=M}hn(r,a,_.children,l),a=a.child}return a;case 9:return _=a.type,g=a.pendingProps.children,ns(a,l),_=Fn(_),g=g(_),a.flags|=1,hn(r,a,g,l),a.child;case 14:return g=a.type,_=Qn(g,a.pendingProps),_=Qn(g.type,_),Nb(r,a,g,_,l);case 15:return Cb(r,a,a.type,a.pendingProps,l);case 17:return g=a.type,_=a.pendingProps,_=a.elementType===g?_:Qn(g,_),ru(r,a),a.tag=1,xn(g)?(r=!0,Bl(a)):r=!1,ns(a,l),kb(a,g,_),Id(a,g,_,l),Fd(null,a,g,!0,r,l);case 19:return Lb(r,a,l);case 22:return Db(r,a,l)}throw Error(n(156,a.tag))};function lv(r,a){return bl(r,a)}function gS(r,a,l,g){this.tag=r,this.key=l,this.sibling=this.child=this.return=this.stateNode=this.t
vendor: 7,555 bytes, line 41
41ype=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wn(r,a,l,g){return new gS(r,a,l,g)}function sh(r){return r=r.prototype,!(!r||!r.isReactComponent)}function pS(r){if(typeof r=="function")return sh(r)?1:0;if(r!=null){if(r=r.$$typeof,r===j)return 11;if(r===G)return 14}return 2}function bi(r,a){var l=r.alternate;return l===null?(l=Wn(r.tag,a,r.key,r.mode),l.elementType=r.elementType,l.type=r.type,l.stateNode=r.stateNode,l.alternate=r,r.alternate=l):(l.pendingProps=a,l.type=r.type,l.flags=0,l.subtreeFlags=0,l.deletions=null),l.flags=r.flags&14680064,l.childLanes=r.childLanes,l.lanes=r.lanes,l.child=r.child,l.memoizedProps=r.memoizedProps,l.memoizedState=r.memoizedState,l.updateQueue=r.updateQueue,a=r.dependencies,l.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},l.sibling=r.sibling,l.index=r.index,l.ref=r.ref,l}function mu(r,a,l,g,_,O){var M=2;if(g=r,typeof r=="function")sh(r)&&(M=1);else if(typeof r=="string")M=5;else e:switch(r){case z:return la(l.children,_,O,a);case D:M=8,_|=8;break;case F:return r=Wn(12,l,a,_|2),r.elementType=F,r.lanes=O,r;case L:return r=Wn(13,l,a,_),r.elementType=L,r.lanes=O,r;case W:return r=Wn(19,l,a,_),r.elementType=W,r.lanes=O,r;case te:return gu(l,_,O,a);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case P:M=10;break e;case C:M=9;break e;case j:M=11;break e;case G:M=14;break e;case Z:M=16,g=null;break e}throw Error(n(130,r==null?r:typeof r,""))}return a=Wn(M,l,a,_),a.elementType=r,a.type=g,a.lanes=O,a}function la(r,a,l,g){return r=Wn(7,r,g,a),r.lanes=l,r}function gu(r,a,l,g){return r=Wn(22,r,g,a),r.elementType=te,r.lanes=l,r.stateNode={isHidden:!1},r}function oh(r,a,l){return r=Wn(6,r,null,a),r.lanes=l,r}function lh(r,a,l){return a=Wn(4,r.children!==null?r.children:[],r.key,a),a.lanes=l,a.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},a}function bS(r,a,l,g,_){this.tag=a,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ti(0),this.expirationTimes=ti(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ti(0),this.identifierPrefix=g,this.onRecoverableError=_,this.mutableSourceEagerHydrationData=null}function uh(r,a,l,g,_,O,M,H,Y){return r=new bS(r,a,l,H,Y),a===1?(a=1,O===!0&&(a|=8)):a=0,O=Wn(3,null,null,a),r.current=O,O.stateNode=r,O.memoizedState={element:g,isDehydrated:l,cache:null,transitions:null,pendingSuspenseBoundaries:null},xd(O),r}function vS(r,a,l){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:R,key:g==null?null:""+g,children:r,containerInfo:a,implementation:l}}function uv(r){if(!r)return li;r=r._reactInternals;e:{if(yn(r)!==r||r.tag!==1)throw Error(n(170));var a=r;do{switch(a.tag){case 3:a=a.stateNode.context;break e;case 1:if(xn(a.type)){a=a.stateNode.__reactInternalMemoizedMergedChildContext;break e}}a=a.return}while(a!==null);throw Error(n(171))}if(r.tag===1){var l=r.type;if(xn(l))return Mp(r,l,a)}return a}function cv(r,a,l,g,_,O,M,H,Y){return r=uh(l,g,!0,r,_,O,M,H,Y),r.context=uv(null),l=r.current,g=fn(),_=gi(l),O=Fr(g,_),O.callback=a??null,di(l,O,_),r.current.lanes=_,Pr(r,_,g),Sn(r,g),r}function pu(r,a,l,g){var _=a.current,O=fn(),M=gi(_);return l=uv(l),a.context===null?a.context=l:a.pendingContext=l,a=Fr(O,M),a.payload={element:r},g=g===void 0?null:g,g!==null&&(a.callback=g),r=di(_,a,M),r!==null&&(er(r,_,M,O),Hl(r,_,M)),M}function bu(r){if(r=r.current,!r.child)return null;switch(r.child.tag){case 5:return r.child.stateNode;default:return r.child.stateNode}}function dv(r,a){if(r=r.memoizedState,r!==null&&r.dehydrated!==null){var l=r.retryLane;r.retryLane=l!==0&&l<a?l:a}}function ch(r,a){dv(r,a),(r=r.alternate)&&dv(r,a)}function yS(){return null}var hv=typeof reportError=="function"?reportError:function(r){console.error(r)};function dh(r){this._internalRoot=r}vu.prototype.render=dh.prototype.render=function(r){var a=this._internalRoot;if(a===null)throw Error(n(409));pu(r,a,null,null)},vu.prototype.unmount=dh.prototype.unmount=function(){var r=this._internalRoot;if(r!==null){this._internalRoot=null;var a=r.containerInfo;aa(function(){pu(null,r,null,null)}),a[jr]=null}};function vu(r){this._internalRoot=r}vu.prototype.unstable_scheduleHydration=function(r){if(r){var a=Et();r={blockedOn:null,target:r,priority:a};for(var l=0;l<ri.length&&a!==0&&a<ri[l].priority;l++);ri.splice(l,0,r),l===0&&Yg(r)}};function hh(r){return!(!r||r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11)}function yu(r){return!(!r||r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11&&(r.nodeType!==8||r.nodeValue!==" react-mount-point-unstable "))}function fv(){}function wS(r,a,l,g,_){if(_){if(typeof g=="function"){var O=g;g=function(){var ce=bu(M);O.call(ce)}}var M=cv(a,g,r,0,null,!1,!1,"",fv);return r._reactRootContainer=M,r[jr]=M.current,fo(r.nodeType===8?r.parentNode:r),aa(),M}for(;_=r.lastChild;)r.removeChild(_);if(typeof g=="function"){var H=g;g=function(){var ce=bu(Y);H.call(ce)}}var Y=uh(r,0,!1,null,null,!1,!1,"",fv);return r._reactRootContainer=Y,r[jr]=Y.current,fo(r.nodeType===8?r.parentNode:r),aa(function(){pu(a,Y,l,g)}),Y}function wu(r,a,l,g,_){var O=l._reactRootContainer;if(O){var M=O;if(typeof _=="function"){var H=_;_=function(){var Y=bu(M);H.call(Y)}}pu(a,M,r,_)}else M=wS(l,a,r,_,g);return bu(M)}Pe=function(r){switch(r.tag){case 3:var a=r.stateNode;if(a.current.memoizedState.isDehydrated){var l=ei(a.pendingLanes);l!==0&&(V(a,l|1),Sn(a,ut()),(rt&6)===0&&(os=ut()+500,ui()))}break;case 13:aa(function(){var g=Br(r,1);if(g!==null){var _=fn();er(g,r,1,_)}}),ch(r,1)}},Ve=function(r){if(r.tag===13){var a=Br(r,134217728);if(a!==null){var l=fn();er(a,r,134217728,l)}ch(r,134217728)}},Je=function(r){if(r.tag===13){var a=gi(r),l=Br(r,a);if(l!==null){var g=fn();er(l,r,a,g)}ch(r,a)}},Et=function(){return ae},yt=function(r,a){var l=ae;try{return ae=r,a()}finally{ae=l}},Vi=function(r,a,l){switch(a){case"input":if(He(r,l),a=l.name,l.type==="radio"&&a!=null){for(l=r;l.parentNode;)l=l.parentNode;for(l=l.querySelectorAll("input[name="+JSON.stringify(""+a)+'][type="radio"]'),a=0;a<l.length;a++){var g=l[a];if(g!==r&&g.form===r.form){var _=Ml(g);if(!_)throw Error(n(90));Oe(g),He(g,_)}}}break;case"textarea":Ke(r,l);break;case"select":a=l.value,a!=null&&Ae(r,!!l.multiple,a,!1)}},$i=rh,zn=aa;var kS={usingClientEntryPoint:!1,Events:[po,$a,Ml,Ws,Hi,rh]},Co={findFiberByHostInstance:Qi,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},xS={bundleType:Co.bundleType,version:Co.version,rendererPackageName:Co.rendererPackageName,rendererConfig:Co.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:x.ReactCurrentDispatcher,findHostInstanceByFiber:function(r){return r=$s(r),r===null?null:r.stateNode},findFiberByHostInstance:Co.findFiberByHostInstance||yS,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};
41if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var ku=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ku.isDisabled&&ku.supportsFiber)try{Rr=ku.inject(xS),wn=ku}catch{}}return _n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=kS,_n.createPortal=function(r,a){var l=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!hh(a))throw Error(n(200));return vS(r,a,null,l)},_n.createRoot=function(r,a){if(!hh(r))throw Error(n(299));var l=!1,g="",_=hv;return a!=null&&(a.unstable_strictMode===!0&&(l=!0),a.identifierPrefix!==void 0&&(g=a.identifierPrefix),a.onRecoverableError!==void 0&&(_=a.onRecoverableError)),a=uh(r,1,!1,null,null,l,!1,g,_),r[jr]=a.current,fo(r.nodeType===8?r.parentNode:r),new dh(a)},_n.findDOMNode=function(r){if(r==null)return null;if(r.nodeType===1)return r;var a=r._reactInternals;if(a===void 0)throw typeof r.render=="function"?Error(n(188)):(r=Object.keys(r).join(","),Error(n(268,r)));return r=$s(a),r=r===null?null:r.stateNode,r},_n.flushSync=function(r){return aa(r)},_n.hydrate=function(r,a,l){if(!yu(a))throw Error(n(200));return wu(null,r,a,!0,l)},_n.hydrateRoot=function(r,a,l){if(!hh(r))throw Error(n(405));var g=l!=null&&l.hydratedSources||null,_=!1,O="",M=hv;if(l!=null&&(l.unstable_strictMode===!0&&(_=!0),l.identifierPrefix!==void 0&&(O=l.identifierPrefix),l.onRecoverableError!==void 0&&(M=l.onRecoverableError)),a=cv(a,null,r,1,l??null,_,!1,O,M),r[jr]=a.current,fo(r),g)for(r=0;r<g.length;r++)l=g[r],_=l._getVersion,_=_(l._source),a.mutableSourceEagerHydrationData==null?a.mutableSourceEagerHydrationData=[l,_]:a.mutableSourceEagerHydrationData.push(l,_);return new vu(a)},_n.render=function(r,a,l){if(!yu(a))throw Error(n(200));return wu(null,r,a,!1,l)},_n.unmountComponentAtNode=function(r){if(!yu(r))throw Error(n(40));return r._reactRootContainer?(aa(function(){wu(null,null,r,!1,function(){r._reactRootContainer=null,r[jr]=null})}),!0):!1},_n.unstable_batchedUpdates=rh,_n.unstable_renderSubtreeIntoContainer=function(r,a,l,g){if(!yu(l))throw Error(n(200));if(r==null||r._reactInternals===void 0)throw Error(n(38));return wu(r,a,l,!1,g)},_n.version="18.3.1-next-f1338f8080-20240426",_n}var xv;function hg(){if(xv)return ph.exports;xv=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),ph.exports=zS(),ph.exports}var Av;function RS(){if(Av)return Eu;Av=1;var t=hg();return Eu.createRoot=t.createRoot,Eu.hydrateRoot=t.hydrateRoot,Eu}var PS=RS();const jS=uc(PS),IS=20,MS=1e6,$r={ADD_TOAST:"ADD_TOAST",UPDATE_TOAST:"UPDATE_TOAST",DISMISS_TOAST:"DISMISS_TOAST",REMOVE_TOAST:"REMOVE_TOAST"};let yh=0;function LS(){return yh=(yh+1)%Number.MAX_VALUE,yh.toString()}const wh=new Map,Ev=t=>{if(wh.has(t))return;const e=setTimeout(()=>{wh.delete(t),Ho({type:$r.REMOVE_TOAST,toastId:t})},MS);wh.set(t,e)},BS=(t,e)=>{switch(e.type){case $r.ADD_TOAST:return{...t,toasts:[e.toast,...t.toasts].slice(0,IS)};case $r.UPDATE_TOAST:return{...t,toasts:t.toasts.map(n=>n.id===e.toast.id?{...n,...e.toast}:n)};case $r.DISMISS_TOAST:{const{toastId:n}=e;return n?Ev(n):t.toasts.forEach(i=>{Ev(i.id)}),{...t,toasts:t.toasts.map(i=>i.id===n||n===void 0?{...i,open:!1}:i)}}case $r.REMOVE_TOAST:return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(n=>n.id!==e.toastId)}}},Lu=[];let Bu={toasts:[]};function Ho(t){Bu=BS(Bu,t),Lu.forEach(e=>{e(Bu)})}function FS({...t}){const e=LS(),n=s=>Ho({type:$r.UPDATE_TOAST,toast:{...s,id:e}}),i=()=>Ho({type:$r.DISMISS_TOAST,toastId:e});return Ho({type:$r.ADD_TOAST,toast:{...t,id:e,open:!0,onOpenChange:s=>{s||i()}}}),{id:e,dismiss:i,update:n}}function qS(){const[t,e]=I.useState(Bu);return I.useEffect(()=>(Lu.push(e),()=>{const n=Lu.indexOf(e);n>-1&&Lu.splice(n,1)}),[t]),{...t,toast:FS,dismiss:n=>Ho({type:$r.DISMISS_TOAST,toastId:n})}}function wx(t){var e,n,i="";if(typeof t=="string"||typeof t=="number")i+=t;else if(typeof t=="object")if(Array.isArray(t)){var s=t.length;for(e=0;e<s;e++)t[e]&&(n=wx(t[e]))&&(i&&(i+=" "),i+=n)}else for(n in t)t[n]&&(i&&(i+=" "),i+=n);return i}function kx(){for(var t,e,n=0,i="",s=arguments.length;n<s;n++)(t=arguments[n])&&(e=wx(t))&&(i&&(i+=" "),i+=e);return i}const Sv=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,_v=kx,fg=(t,e)=>n=>{var i;if((e==null?void 0:e.variants)==null)return _v(t,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:s,defaultVariants:o}=e,u=Object.keys(s).map(v=>{const b=n==null?void 0:n[v],h=o==null?void 0:o[v];if(b===null)return null;const m=Sv(b)||Sv(h);return s[v][m]}),c=n&&Object.entries(n).reduce((v,b)=>{let[h,m]=b;return m===void 0||(v[h]=m),v},{}),p=e==null||(i=e.compoundVariants)===null||i===void 0?void 0:i.reduce((v,b)=>{let{class:h,className:m,...f}=b;return Object.entries(f).every(E=>
vendor: 7,330 bytes, lines 41-146
41{let[w,k]=E;return Array.isArray(k)?k.includes({...o,...c}[w]):{...o,...c}[w]===k})?[...v,h,m]:v},[]);return _v(t,u,p,n==null?void 0:n.class,n==null?void 0:n.className)};/** 42 * @license lucide-react v0.475.0 - ISC 43 * 44 * This source code is licensed under the ISC license. 45 * See the LICENSE file in the root directory of this source tree. 46 */const US=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),xx=(...t)=>t.filter((e,n,i)=>!!e&&e.trim()!==""&&i.indexOf(e)===n).join(" ").trim();/** 47 * @license lucide-react v0.475.0 - ISC 48 * 49 * This source code is licensed under the ISC license. 50 * See the LICENSE file in the root directory of this source tree. 51 */var WS={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** 52 * @license lucide-react v0.475.0 - ISC 53 * 54 * This source code is licensed under the ISC license. 55 * See the LICENSE file in the root directory of this source tree. 56 */const KS=I.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:s="",children:o,iconNode:u,...c},p)=>I.createElement("svg",{ref:p,...WS,width:e,height:e,stroke:t,strokeWidth:i?Number(n)*24/Number(e):n,className:xx("lucide",s),...c},[...u.map(([v,b])=>I.createElement(v,b)),...Array.isArray(o)?o:[o]]));/** 57 * @license lucide-react v0.475.0 - ISC 58 * 59 * This source code is licensed under the ISC license. 60 * See the LICENSE file in the root directory of this source tree. 61 */const tt=(t,e)=>{const n=I.forwardRef(({className:i,...s},o)=>I.createElement(KS,{ref:o,iconNode:e,className:xx(`lucide-${US(t)}`,i),...s}));return n.displayName=`${t}`,n};/** 62 * @license lucide-react v0.475.0 - ISC 63 * 64 * This source code is licensed under the ISC license. 65 * See the LICENSE file in the root directory of this source tree. 66 */const GS=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Qu=tt("ArrowLeft",GS);/** 67 * @license lucide-react v0.475.0 - ISC 68 * 69 * This source code is licensed under the ISC license. 70 * See the LICENSE file in the root directory of this source tree. 71 */const VS=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],ar=tt("ArrowRight",VS);/** 72 * @license lucide-react v0.475.0 - ISC 73 * 74 * This source code is licensed under the ISC license. 75 * See the LICENSE file in the root directory of this source tree. 76 */const HS=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],Ax=tt("BookOpen",HS);/** 77 * @license lucide-react v0.475.0 - ISC 78 * 79 * This source code is licensed under the ISC license. 80 * See the LICENSE file in the root directory of this source tree. 81 */const $S=[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]],XS=tt("Building2",$S);/** 82 * @license lucide-react v0.475.0 - ISC 83 * 84 * This source code is licensed under the ISC license. 85 * See the LICENSE file in the root directory of this source tree. 86 */const JS=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],mg=tt("Calendar",JS);/** 87 * @license lucide-react v0.475.0 - ISC 88 * 89 * This source code is licensed under the ISC license. 90 * See the LICENSE file in the root directory of this source tree. 91 */const QS=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],Ex=tt("ChartColumn",QS);/** 92 * @license lucide-react v0.475.0 - ISC 93 * 94 * This source code is licensed under the ISC license. 95 * See the LICENSE file in the root directory of this source tree. 96 */const YS=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ZS=tt("Check",YS);/** 97 * @license lucide-react v0.475.0 - ISC 98 * 99 * This source code is licensed under the ISC license. 100 * See the LICENSE file in the root directory of this source tree. 101 */const e_=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],gg=tt("ChevronDown",e_);/** 102 * @license lucide-react v0.475.0 - ISC 103 * 104 * This source code is licensed under the ISC license. 105 * See the LICENSE file in the root directory of this source tree. 106 */const t_=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],n_=tt("ChevronRight",t_);/** 107 * @license lucide-react v0.475.0 - ISC 108 * 109 * This source code is licensed under the ISC license. 110 * See the LICENSE file in the root directory of this source tree. 111 */const r_=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]],Sx=tt("Clock",r_);/** 112 * @license lucide-react v0.475.0 - ISC 113 * 114 * This source code is licensed under the ISC license. 115 * See the LICENSE file in the root directory of this source tree. 116 */const i_=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],a_=tt("ExternalLink",i_);/** 117 * @license lucide-react v0.475.0 - ISC 118 * 119 * This source code is licensed under the ISC license. 120 * See the LICENSE file in the root directory of this source tree. 121 */const s_=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],o_=tt("Eye",s_);/** 122 * @license lucide-react v0.475.0 - ISC 123 * 124 * This source code is licensed under the ISC license. 125 * See the LICENSE file in the root directory of this source tree. 126 */const l_=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],u_=tt("Globe",l_);/** 127 * @license lucide-react v0.475.0 - ISC 128 * 129 * This source code is licensed under the ISC license. 130 * See the LICENSE file in the root directory of this source tree. 131 */const c_=[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]],d_=tt("Heart",c_);/** 132 * @license lucide-react v0.475.0 - ISC 133 * 134 * This source code is licensed under the ISC license. 135 * See the LICENSE file in the root directory of this source tree. 136 */const h_=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],f_=tt("LoaderCircle",h_);/** 137 * @license lucide-react v0.475.0 - ISC 138 * 139 * This source code is licensed under the ISC license. 140 * See the LICENSE file in the root directory of this source tree. 141 */const m_=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],g_=tt("Lock",m_);/** 142 * @license lucide-react v0.475.0 - ISC 143 * 144 * This source code is licensed under the ISC license. 145 * See the LICENSE file in the root directory of this source tree. 146 */const p_=[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",ke
146y:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]],Tm=tt("LogIn",p_);/** 147 * @license lucide-react v0.475.0 - ISC 148 * 149 * This source code is licensed under the ISC license. 150 * See the LICENSE file in the root directory of this source tree. 151 */const b_=[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]],v_=tt("Mail",b_);/** 152 * @license lucide-react v0.475.0 - ISC 153 * 154 * This source code is licensed under the ISC license. 155 * See the LICENSE file in the root directory of this source tree. 156 */const y_=[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]],w_=tt("Menu",y_);/** 157 * @license lucide-react v0.475.0 - ISC 158 * 159 * This source code is licensed under the ISC license. 160 * See the LICENSE file in the root directory of this source tree. 161 */const k_=[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]],x_=tt("MousePointerClick",k_);/** 162 * @license lucide-react v0.475.0 - ISC 163 * 164 * This source code is licensed under the ISC license. 165 * See the LICENSE file in the root directory of this source tree. 166 */const A_=[["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2",key:"7pis2x"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M10 6h8v4h-8V6Z",key:"smlsk5"}]],E_=tt("Newspaper",A_);/** 167 * @license lucide-react v0.475.0 - ISC 168 * 169 * This source code is licensed under the ISC license. 170 * See the LICENSE file in the root directory of this source tree. 171 */const S_=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],__=tt("Pen",S_);/** 172 * @license lucide-react v0.475.0 - ISC 173 * 174 * This source code is licensed under the ISC license. 175 * See the LICENSE file in the root directory of this source tree. 176 */const T_=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],O_=tt("Plus",T_);/** 177 * @license lucide-react v0.475.0 - ISC 178 * 179 * This source code is licensed under the ISC license. 180 * See the LICENSE file in the root directory of this source tree. 181 */const N_=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],C_=tt("Save",N_);/** 182 * @license lucide-react v0.475.0 - ISC 183 * 184 * This source code is licensed under the ISC license. 185 * See the LICENSE file in the root directory of this source tree. 186 */const D_=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],_x=tt("Search",D_);/** 187 * @license lucide-react v0.475.0 - ISC 188 * 189 * This source code is licensed under the ISC license. 190 * See the LICENSE file in the root directory of this source tree. 191 */const z_=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],R_=tt("Server",z_);/** 192 * @license lucide-react v0.475.0 - ISC 193 * 194 * This source code is licensed under the ISC license. 195 * See the LICENSE file in the root directory of this source tree. 196 */const P_=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],j_=tt("ShieldCheck",P_);/** 197 * @license lucide-react v0.475.0 - ISC 198 * 199 * This source code is licensed under the ISC license. 200 * See the LICENSE file in the root directory of this source tree. 201 */const I_=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",ke
vendor: 4,440 bytes, lines 201-231
201y:"oel41y"}]],M_=tt("Shield",I_);/** 202 * @license lucide-react v0.475.0 - ISC 203 * 204 * This source code is licensed under the ISC license. 205 * See the LICENSE file in the root directory of this source tree. 206 */const L_=[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]],B_=tt("Sparkles",L_);/** 207 * @license lucide-react v0.475.0 - ISC 208 * 209 * This source code is licensed under the ISC license. 210 * See the LICENSE file in the root directory of this source tree. 211 */const F_=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],q_=tt("Tag",F_);/** 212 * @license lucide-react v0.475.0 - ISC 213 * 214 * This source code is licensed under the ISC license. 215 * See the LICENSE file in the root directory of this source tree. 216 */const U_=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],Tx=tt("Target",U_);/** 217 * @license lucide-react v0.475.0 - ISC 218 * 219 * This source code is licensed under the ISC license. 220 * See the LICENSE file in the root directory of this source tree. 221 */const W_=[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]],K_=tt("Trash2",W_);/** 222 * @license lucide-react v0.475.0 - ISC 223 * 224 * This source code is licensed under the ISC license. 225 * See the LICENSE file in the root directory of this source tree. 226 */const G_=[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]],V_=tt("Upload",G_);/** 227 * @license lucide-react v0.475.0 - ISC 228 * 229 * This source code is licensed under the ISC license. 230 * See the LICENSE file in the root directory of this source tree. 231 */const H_=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],hc=tt("X",H_),$_=(t,e)=>{const n=new Array(t.length+e.length);for(let i=0;i<t.length;i++)n[i]=t[i];for(let i=0;i<e.length;i++)n[t.length+i]=e[i];return n},X_=(t,e)=>({classGroupId:t,validator:e}),Ox=(t=new Map,e=null,n)=>({nextPart:t,validators:e,classGroupId:n}),Yu="-",Tv=[],J_="arbitrary..",Q_=t=>{const e=Z_(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:i}=t;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return Y_(u);const c=u.split(Yu),p=c[0]===""&&c.length>1?1:0;return Nx(c,p,e)},getConflictingClassGroupIds:(u,c)=>{if(c){const p=i[u],v=n[u];return p?v?$_(v,p):p:v||Tv}return n[u]||Tv}}},Nx=(t,e,n)=>{if(t.length-e===0)return n.classGroupId;const s=t[e],o=n.nextPart.get(s);if(o){const v=Nx(t,e+1,o);if(v)return v}const u=n.validators;if(u===null)return;const c=e===0?t.join(Yu):t.slice(e).join(Yu),p=u.length;for(let v=0;v<p;v++){const b=u[v];if(b.validator(c))return b.classGroupId}},Y_=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const e=t.slice(1,-1),n=e.indexOf(":"),i=e.slice(0,n);return i?J_+i:void 0})(),Z_=t=>{const{theme:e,classGroups:n}=t;return eT(n,e)},eT=(t,e)=>{const n=Ox();for(const i in t){const s=t[i];pg(s,n,i,e)}return n},pg=(t,e,n,i)=>{const s=t.length;for(let o=0;o<s;o++){const u=t[o];tT(u,e,n,i)}},tT=(t,e,n,i)=>{if(typeof t=="string"){nT(t,e,n);return}if(typeof t=="function"){rT(t,e,n,i);return}iT(t,e,n,i)},nT=(t,e,n)=>{const i=t===""?e:Cx(e,t);i.classGroupId=n},rT=(t,e,n,i)=>{if(aT(t)){pg(t(i),e,n,i);return}e.validators===null&&(e.validators=[]),e.validators.push(X_(n,t))},iT=(t,e,n,i)=>{const s=Object.entries(t),o=s.length;for(let u=0;u<o;u++){const[c,p]=s[u];pg(p,Cx(e,c),n,i)}},Cx=(t,e)=>{let n=t;const i=e.split(Yu),s=i.length;for(let o=0;o<s;o++){const u=i[o];let c=n.nextPart.get(u);c||(c=Ox(),n.nextPart.set(u,c)),n=c}return n},aT=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,sT=t=>
vendor: 6,487 bytes, line 231
231{if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=Object.create(null),i=Object.create(null);const s=(o,u)=>{n[o]=u,e++,e>t&&(e=0,i=n,n=Object.create(null))};return{get(o){let u=n[o];if(u!==void 0)return u;if((u=i[o])!==void 0)return s(o,u),u},set(o,u){o in n?n[o]=u:s(o,u)}}},Om="!",Ov=":",oT=[],Nv=(t,e,n,i,s)=>({modifiers:t,hasImportantModifier:e,baseClassName:n,maybePostfixModifierPosition:i,isExternal:s}),lT=t=>{const{prefix:e,experimentalParseClassName:n}=t;let i=s=>{const o=[];let u=0,c=0,p=0,v;const b=s.length;for(let w=0;w<b;w++){const k=s[w];if(u===0&&c===0){if(k===Ov){o.push(s.slice(p,w)),p=w+1;continue}if(k==="/"){v=w;continue}}k==="["?u++:k==="]"?u--:k==="("?c++:k===")"&&c--}const h=o.length===0?s:s.slice(p);let m=h,f=!1;h.endsWith(Om)?(m=h.slice(0,-1),f=!0):h.startsWith(Om)&&(m=h.slice(1),f=!0);const E=v&&v>p?v-p:void 0;return Nv(o,f,m,E)};if(e){const s=e+Ov,o=i;i=u=>u.startsWith(s)?o(u.slice(s.length)):Nv(oT,!1,u,void 0,!0)}if(n){const s=i;i=o=>n({className:o,parseClassName:s})}return i},uT=t=>{const e=new Map;return t.orderSensitiveModifiers.forEach((n,i)=>{e.set(n,1e6+i)}),n=>{const i=[];let s=[];for(let o=0;o<n.length;o++){const u=n[o],c=u[0]==="[",p=e.has(u);c||p?(s.length>0&&(s.sort(),i.push(...s),s=[]),i.push(u)):s.push(u)}return s.length>0&&(s.sort(),i.push(...s)),i}},cT=t=>({cache:sT(t.cacheSize),parseClassName:lT(t),sortModifiers:uT(t),...Q_(t)}),dT=/\s+/,hT=(t,e)=>{const{parseClassName:n,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:o}=e,u=[],c=t.trim().split(dT);let p="";for(let v=c.length-1;v>=0;v-=1){const b=c[v],{isExternal:h,modifiers:m,hasImportantModifier:f,baseClassName:E,maybePostfixModifierPosition:w}=n(b);if(h){p=b+(p.length>0?" "+p:p);continue}let k=!!w,y=i(k?E.substring(0,w):E);if(!y){if(!k){p=b+(p.length>0?" "+p:p);continue}if(y=i(E),!y){p=b+(p.length>0?" "+p:p);continue}k=!1}const A=m.length===0?"":m.length===1?m[0]:o(m).join(":"),S=f?A+Om:A,x=S+y;if(u.indexOf(x)>-1)continue;u.push(x);const T=s(y,k);for(let R=0;R<T.length;++R){const z=T[R];u.push(S+z)}p=b+(p.length>0?" "+p:p)}return p},fT=(...t)=>{let e=0,n,i,s="";for(;e<t.length;)(n=t[e++])&&(i=Dx(n))&&(s&&(s+=" "),s+=i);return s},Dx=t=>{if(typeof t=="string")return t;let e,n="";for(let i=0;i<t.length;i++)t[i]&&(e=Dx(t[i]))&&(n&&(n+=" "),n+=e);return n},mT=(t,...e)=>{let n,i,s,o;const u=p=>{const v=e.reduce((b,h)=>h(b),t());return n=cT(v),i=n.cache.get,s=n.cache.set,o=c,c(p)},c=p=>{const v=i(p);if(v)return v;const b=hT(p,n);return s(p,b),b};return o=u,(...p)=>o(fT(...p))},gT=[],It=t=>{const e=n=>n[t]||gT;return e.isThemeGetter=!0,e},zx=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Rx=/^\((?:(\w[\w-]*):)?(.+)\)$/i,pT=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,bT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vT=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,yT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,wT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,kT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,yi=t=>pT.test(t),$e=t=>!!t&&!Number.isNaN(Number(t)),wi=t=>!!t&&Number.isInteger(Number(t)),kh=t=>t.endsWith("%")&&$e(t.slice(0,-1)),Wr=t=>bT.test(t),Px=()=>!0,xT=t=>vT.test(t)&&!yT.test(t),bg=()=>!1,AT=t=>wT.test(t),ET=t=>kT.test(t),ST=t=>!Re(t)&&!je(t),_T=t=>Bi(t,Mx,bg),Re=t=>zx.test(t),ua=t=>Bi(t,Lx,xT),Cv=t=>Bi(t,PT,$e),TT=t=>Bi(t,Fx,Px),OT=t=>Bi(t,Bx,bg),Dv=t=>Bi(t,jx,bg),NT=t=>Bi(t,Ix,ET),Su=t=>Bi(t,qx,AT),je=t=>Rx.test(t),zo=t=>za(t,Lx),CT=t=>za(t,Bx),zv=t=>za(t,jx),DT=t=>za(t,Mx),zT=t=>za(t,Ix),_u=t=>za(t,qx,!0),RT=t=>za(t,Fx,!0),Bi=(t,e,n)=>{const i=zx.exec(t);return i?i[1]?e(i[1]):n(i[2]):!1},za=(t,e,n=!1)=>{const i=Rx.exec(t);return i?i[1]?e(i[1]):n:!1},jx=t=>t==="position"||t==="percentage",Ix=t=>t==="image"||t==="url",Mx=t=>t==="length"||t==="size"||t==="bg-size",Lx=t=>t==="length",PT=t=>t==="number",Bx=t=>t==="family-name",Fx=t=>t==="number"||t==="weight",qx=t=>t==="shadow",jT=()=>{const t=It("color"),e=It("font"),n=It("text"),i=It("font-weight"),s=It("tracking"),o=It("leading"),u=It("breakpoint"),c=It("container"),p=It("spacing"),v=It("radius"),b=It("shadow"),h=It("inset-shadow"),m=It("text-shadow"),f=It("drop-shadow"),E=It("blur"),w=It("perspective"),k=It("aspect"),y=It("ease"),A=It("animate"),S=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],T=()=>[...x(),je,Re],R=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto","contain","none"],D=()=>[je,Re,p],F=()=>[yi,"full","auto",...D()],P=()=>[wi,"none","subgrid",je,Re],C=()=>["auto",{span:["full",wi,je,Re]},wi,je,Re],j=()=>[wi,"auto",je,Re],L=()=>["auto","min","max","fr",je,Re],W=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],Z=()=>["auto",...D()],te=()=>[yi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...D()],oe=()=>[yi,"screen","full","dvw","lvw","svw","min","max","fit",...D()],X=()=>[yi,"screen","full","lh","dvh","lvh","svh","min","max","fit",...D()],q=()=>[t,je,Re],N=()=>[...x(),zv,Dv,{position:[je,Re]}],B=()=>["no-repeat",{repeat:["","x","y","space","round"]}],K=()=>["auto","cover","contain",DT,_T,{size:[je,Re]}],Q=()=>[kh,zo,ua],J=()=>["","none","full",v,je,Re],U=()=>["",$e,zo,ua],$=()=>["solid","dashed","dotted","double"],se=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ie=()=>[$e,kh,zv,Dv],fe=()=>["","none",E,je,Re],pe=()=>["none",$e,je,Re],Oe=()=>["none",$e,je,Re],Ee=()=>[$e,je,Re],Fe=()=>[yi,"full",...D()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wr],breakpoint:[Wr],color:[Px],container:[Wr],"drop-shadow":[Wr],ease:["in","out","in-out"],font:[ST],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wr],shadow:[Wr],spacing:["px",$e],text:[Wr],"text-shadow":[Wr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",yi,Re,je,k]}
vendor: 6,100 bytes, line 231
231],container:["container"],columns:[{columns:[$e,Re,je,c]}],"break-after":[{"break-after":S()}],"break-before":[{"break-before":S()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:T()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:F()}],"inset-x":[{"inset-x":F()}],"inset-y":[{"inset-y":F()}],start:[{"inset-s":F(),start:F()}],end:[{"inset-e":F(),end:F()}],"inset-bs":[{"inset-bs":F()}],"inset-be":[{"inset-be":F()}],top:[{top:F()}],right:[{right:F()}],bottom:[{bottom:F()}],left:[{left:F()}],visibility:["visible","invisible","collapse"],z:[{z:[wi,"auto",je,Re]}],basis:[{basis:[yi,"full","auto",c,...D()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[$e,yi,"auto","initial","none",Re]}],grow:[{grow:["",$e,je,Re]}],shrink:[{shrink:["",$e,je,Re]}],order:[{order:[wi,"first","last","none",je,Re]}],"grid-cols":[{"grid-cols":P()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":P()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":L()}],"auto-rows":[{"auto-rows":L()}],gap:[{gap:D()}],"gap-x":[{"gap-x":D()}],"gap-y":[{"gap-y":D()}],"justify-content":[{justify:[...W(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...W()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":W()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],p:[{p:D()}],px:[{px:D()}],py:[{py:D()}],ps:[{ps:D()}],pe:[{pe:D()}],pbs:[{pbs:D()}],pbe:[{pbe:D()}],pt:[{pt:D()}],pr:[{pr:D()}],pb:[{pb:D()}],pl:[{pl:D()}],m:[{m:Z()}],mx:[{mx:Z()}],my:[{my:Z()}],ms:[{ms:Z()}],me:[{me:Z()}],mbs:[{mbs:Z()}],mbe:[{mbe:Z()}],mt:[{mt:Z()}],mr:[{mr:Z()}],mb:[{mb:Z()}],ml:[{ml:Z()}],"space-x":[{"space-x":D()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":D()}],"space-y-reverse":["space-y-reverse"],size:[{size:te()}],"inline-size":[{inline:["auto",...oe()]}],"min-inline-size":[{"min-inline":["auto",...oe()]}],"max-inline-size":[{"max-inline":["none",...oe()]}],"block-size":[{block:["auto",...X()]}],"min-block-size":[{"min-block":["auto",...X()]}],"max-block-size":[{"max-block":["none",...X()]}],w:[{w:[c,"screen",...te()]}],"min-w":[{"min-w":[c,"screen","none",...te()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[u]},...te()]}],h:[{h:["screen","lh",...te()]}],"min-h":[{"min-h":["screen","lh","none",...te()]}],"max-h":[{"max-h":["screen","lh",...te()]}],"font-size":[{text:["base",n,zo,ua]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,RT,TT]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",kh,Re]}],"font-family":[{font:[CT,OT,e]}],"font-features":[{"font-features":[Re]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,je,Re]}],"line-clamp":[{"line-clamp":[$e,"none",je,Cv]}],leading:[{leading:[o,...D()]}],"list-image":[{"list-image":["none",je,Re]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",je,Re]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:q()}],"text-color":[{text:q()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...$(),"wavy"]}],"text-decoration-thickness":[{decoration:[$e,"from-font","auto",je,ua]}],"text-decoration-color":[{decoration:q()}],"underline-offset":[{"underline-offset":[$e,"auto",je,Re]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:D()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",je,Re]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",je,Re]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:B()}],"bg-size":[{bg:K()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},wi,je,Re],radial:["",je,Re],conic:[wi,je,Re]},zT,NT]}],"bg-color":[{bg:q()}],"gradient-from-pos":[{from:Q()}
vendor: 7,367 bytes, line 231
231],"gradient-via-pos":[{via:Q()}],"gradient-to-pos":[{to:Q()}],"gradient-from":[{from:q()}],"gradient-via":[{via:q()}],"gradient-to":[{to:q()}],rounded:[{rounded:J()}],"rounded-s":[{"rounded-s":J()}],"rounded-e":[{"rounded-e":J()}],"rounded-t":[{"rounded-t":J()}],"rounded-r":[{"rounded-r":J()}],"rounded-b":[{"rounded-b":J()}],"rounded-l":[{"rounded-l":J()}],"rounded-ss":[{"rounded-ss":J()}],"rounded-se":[{"rounded-se":J()}],"rounded-ee":[{"rounded-ee":J()}],"rounded-es":[{"rounded-es":J()}],"rounded-tl":[{"rounded-tl":J()}],"rounded-tr":[{"rounded-tr":J()}],"rounded-br":[{"rounded-br":J()}],"rounded-bl":[{"rounded-bl":J()}],"border-w":[{border:U()}],"border-w-x":[{"border-x":U()}],"border-w-y":[{"border-y":U()}],"border-w-s":[{"border-s":U()}],"border-w-e":[{"border-e":U()}],"border-w-bs":[{"border-bs":U()}],"border-w-be":[{"border-be":U()}],"border-w-t":[{"border-t":U()}],"border-w-r":[{"border-r":U()}],"border-w-b":[{"border-b":U()}],"border-w-l":[{"border-l":U()}],"divide-x":[{"divide-x":U()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":U()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...$(),"hidden","none"]}],"divide-style":[{divide:[...$(),"hidden","none"]}],"border-color":[{border:q()}],"border-color-x":[{"border-x":q()}],"border-color-y":[{"border-y":q()}],"border-color-s":[{"border-s":q()}],"border-color-e":[{"border-e":q()}],"border-color-bs":[{"border-bs":q()}],"border-color-be":[{"border-be":q()}],"border-color-t":[{"border-t":q()}],"border-color-r":[{"border-r":q()}],"border-color-b":[{"border-b":q()}],"border-color-l":[{"border-l":q()}],"divide-color":[{divide:q()}],"outline-style":[{outline:[...$(),"none","hidden"]}],"outline-offset":[{"outline-offset":[$e,je,Re]}],"outline-w":[{outline:["",$e,zo,ua]}],"outline-color":[{outline:q()}],shadow:[{shadow:["","none",b,_u,Su]}],"shadow-color":[{shadow:q()}],"inset-shadow":[{"inset-shadow":["none",h,_u,Su]}],"inset-shadow-color":[{"inset-shadow":q()}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:q()}],"ring-offset-w":[{"ring-offset":[$e,ua]}],"ring-offset-color":[{"ring-offset":q()}],"inset-ring-w":[{"inset-ring":U()}],"inset-ring-color":[{"inset-ring":q()}],"text-shadow":[{"text-shadow":["none",m,_u,Su]}],"text-shadow-color":[{"text-shadow":q()}],opacity:[{opacity:[$e,je,Re]}],"mix-blend":[{"mix-blend":[...se(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":se()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[$e]}],"mask-image-linear-from-pos":[{"mask-linear-from":ie()}],"mask-image-linear-to-pos":[{"mask-linear-to":ie()}],"mask-image-linear-from-color":[{"mask-linear-from":q()}],"mask-image-linear-to-color":[{"mask-linear-to":q()}],"mask-image-t-from-pos":[{"mask-t-from":ie()}],"mask-image-t-to-pos":[{"mask-t-to":ie()}],"mask-image-t-from-color":[{"mask-t-from":q()}],"mask-image-t-to-color":[{"mask-t-to":q()}],"mask-image-r-from-pos":[{"mask-r-from":ie()}],"mask-image-r-to-pos":[{"mask-r-to":ie()}],"mask-image-r-from-color":[{"mask-r-from":q()}],"mask-image-r-to-color":[{"mask-r-to":q()}],"mask-image-b-from-pos":[{"mask-b-from":ie()}],"mask-image-b-to-pos":[{"mask-b-to":ie()}],"mask-image-b-from-color":[{"mask-b-from":q()}],"mask-image-b-to-color":[{"mask-b-to":q()}],"mask-image-l-from-pos":[{"mask-l-from":ie()}],"mask-image-l-to-pos":[{"mask-l-to":ie()}],"mask-image-l-from-color":[{"mask-l-from":q()}],"mask-image-l-to-color":[{"mask-l-to":q()}],"mask-image-x-from-pos":[{"mask-x-from":ie()}],"mask-image-x-to-pos":[{"mask-x-to":ie()}],"mask-image-x-from-color":[{"mask-x-from":q()}],"mask-image-x-to-color":[{"mask-x-to":q()}],"mask-image-y-from-pos":[{"mask-y-from":ie()}],"mask-image-y-to-pos":[{"mask-y-to":ie()}],"mask-image-y-from-color":[{"mask-y-from":q()}],"mask-image-y-to-color":[{"mask-y-to":q()}],"mask-image-radial":[{"mask-radial":[je,Re]}],"mask-image-radial-from-pos":[{"mask-radial-from":ie()}],"mask-image-radial-to-pos":[{"mask-radial-to":ie()}],"mask-image-radial-from-color":[{"mask-radial-from":q()}],"mask-image-radial-to-color":[{"mask-radial-to":q()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[$e]}],"mask-image-conic-from-pos":[{"mask-conic-from":ie()}],"mask-image-conic-to-pos":[{"mask-conic-to":ie()}],"mask-image-conic-from-color":[{"mask-conic-from":q()}],"mask-image-conic-to-color":[{"mask-conic-to":q()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:B()}],"mask-size":[{mask:K()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",je,Re]}],filter:[{filter:["","none",je,Re]}],blur:[{blur:fe()}],brightness:[{brightness:[$e,je,Re]}],contrast:[{contrast:[$e,je,Re]}],"drop-shadow":[{"drop-shadow":["","none",f,_u,Su]}],"drop-shadow-color":[{"drop-shadow":q()}],grayscale:[{grayscale:["",$e,je,Re]}],"hue-rotate":[{"hue-rotate":[$e,je,Re]}],invert:[{invert:["",$e,je,Re]}],saturate:[{saturate:[$e,je,Re]}],sepia:[{sepia:["",$e,je,Re]}],"backdrop-filter":[{"backdrop-filter":["","none",je,Re]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[$e,je,Re]}],"backdrop-contrast":[{"backdrop-contrast":[$e,je,Re]}],"backdrop-grayscale":[{"backdrop-grayscale":["",$e,je,Re]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[$e,je,Re]}],"backdrop-invert":[{"backdrop-invert":["",$e,je,Re]}],"backdrop-opacity":[{"backdrop-opacity":[$e,je,Re]}],"backdrop-saturate":[{"backdrop-saturate":[$e,je,Re]}],"backdrop-sepia":[{"backdrop-sepia":["",$e,je,Re]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":D()}],"border-spacing-x":[{"border-spacing-x":D()}],"border-spacing-y":[{"border-spacing-y":D()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",je,Re]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[$e,"initial",je,Re]}],ease:[{ease:["linear","initial",y,je,Re]}],delay:[{delay:[$e,je,Re]}],animate:[{animate:["none",A,je,Re]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,je,Re]}],"perspective-origin":[{"perspective-origin":T()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:Oe()}],"scale-x":[{"scale-x":Oe()}],"scale-y":[{"scale-y":Oe()}],"scale-z":[{"scale-z":Oe()}],"scale-3d":["scale-3d"],skew:[{skew:Ee()}],"skew-x":[{"skew-x":Ee()}],"skew-y":[{"skew-y":Ee()}],transform:[{transform:[je,Re,"","none","gpu","cpu"]}],"transform-origin":[{origin:T()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Fe()}],"translate-x":[{"translate-x":Fe()}],"translate-y":[{"translate-y":Fe()}],"translate-z":[{"translate-z":Fe()}],"translate-none":["translate-none"],accent:[{accent:q()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:q()}
vendor: 6,955 bytes, line 231
231],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",je,Re]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":D()}],"scroll-mx":[{"scroll-mx":D()}],"scroll-my":[{"scroll-my":D()}],"scroll-ms":[{"scroll-ms":D()}],"scroll-me":[{"scroll-me":D()}],"scroll-mbs":[{"scroll-mbs":D()}],"scroll-mbe":[{"scroll-mbe":D()}],"scroll-mt":[{"scroll-mt":D()}],"scroll-mr":[{"scroll-mr":D()}],"scroll-mb":[{"scroll-mb":D()}],"scroll-ml":[{"scroll-ml":D()}],"scroll-p":[{"scroll-p":D()}],"scroll-px":[{"scroll-px":D()}],"scroll-py":[{"scroll-py":D()}],"scroll-ps":[{"scroll-ps":D()}],"scroll-pe":[{"scroll-pe":D()}],"scroll-pbs":[{"scroll-pbs":D()}],"scroll-pbe":[{"scroll-pbe":D()}],"scroll-pt":[{"scroll-pt":D()}],"scroll-pr":[{"scroll-pr":D()}],"scroll-pb":[{"scroll-pb":D()}],"scroll-pl":[{"scroll-pl":D()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",je,Re]}],fill:[{fill:["none",...q()]}],"stroke-w":[{stroke:[$e,zo,ua,Cv]}],stroke:[{stroke:["none",...q()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},IT=mT(jT);function dn(...t){return IT(kx(t))}const Ux=I.forwardRef(({...t},e)=>d.jsx("div",{ref:e,className:"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",...t}));Ux.displayName="ToastProvider";const Wx=I.forwardRef(({...t},e)=>d.jsx("div",{ref:e,className:"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",...t}));Wx.displayName="ToastViewport";const MT=fg("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Kx=I.forwardRef(({className:t,variant:e,...n},i)=>d.jsx("div",{ref:i,className:dn(MT({variant:e}),t),...n}));Kx.displayName="Toast";const LT=I.forwardRef(({className:t,...e},n)=>d.jsx("div",{ref:n,className:dn("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",t),...e}));LT.displayName="ToastAction";const Gx=I.forwardRef(({className:t,...e},n)=>d.jsx("button",{ref:n,className:dn("absolute right-2 top-2 rounded-md p-1 text-foreground
231/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"",...e,children:d.jsx(hc,{className:"h-4 w-4"})}));Gx.displayName="ToastClose";const Vx=I.forwardRef(({className:t,...e},n)=>d.jsx("div",{ref:n,className:dn("text-sm font-semibold",t),...e}));Vx.displayName="ToastTitle";const Hx=I.forwardRef(({className:t,...e},n)=>d.jsx("div",{ref:n,className:dn("text-sm opacity-90",t),...e}));Hx.displayName="ToastDescription";function BT(){const{toasts:t}=qS();return d.jsxs(Ux,{children:[t.map(function({id:e,title:n,description:i,action:s,...o}){return d.jsxs(Kx,{...o,children:[d.jsxs("div",{className:"grid gap-1",children:[n&&d.jsx(Vx,{children:n}),i&&d.jsx(Hx,{children:i})]}),s,d.jsx(Gx,{})]},e)}),d.jsx(Wx,{})]})}var ol=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},FT={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},_i,dg,ux,qT=(ux=class{constructor(){qe(this,_i,FT);qe(this,dg,!1)}setTimeoutProvider(t){Te(this,_i,t)}setTimeout(t,e){return ee(this,_i).setTimeout(t,e)}clearTimeout(t){ee(this,_i).clearTimeout(t)}setInterval(t,e){return ee(this,_i).setInterval(t,e)}clearInterval(t){ee(this,_i).clearInterval(t)}},_i=new WeakMap,dg=new WeakMap,ux),ma=new qT;function UT(t){setTimeout(t,0)}var Ta=typeof window>"u"||"Deno"in globalThis;function On(){}function WT(t,e){return typeof t=="function"?t(e):t}function Nm(t){return typeof t=="number"&&t>=0&&t!==1/0}function $x(t,e){return Math.max(t+(e||0)-Date.now(),0)}function ji(t,e){return typeof t=="function"?t(e):t}function Gn(t,e){return typeof t=="function"?t(e):t}function Rv(t,e){const{type:n="all",exact:i,fetchStatus:s,predicate:o,queryKey:u,stale:c}=t;if(u){if(i){if(e.queryHash!==vg(u,e.options))return!1}else if(!Jo(e.queryKey,u))return!1}if(n!=="all"){const p=e.isActive();if(n==="active"&&!p||n==="inactive"&&p)return!1}return!(typeof c=="boolean"&&e.isStale()!==c||s&&s!==e.state.fetchStatus||o&&!o(e))}function Pv(t,e){const{exact:n,status:i,predicate:s,mutationKey:o}=t;if(o){if(!e.options.mutationKey)return!1;if(n){if(Xo(e.options.mutationKey)!==Xo(o))return!1}else if(!Jo(e.options.mutationKey,o))return!1}return!(i&&e.state.status!==i||s&&!s(e))}function vg(t,e){return((e==null?void 0:e.queryKeyHashFn)||Xo)(t)}function Xo(t){return JSON.stringify(t,(e,n)=>Dm(n)?Object.keys(n).sort().reduce((i,s)=>(i[s]=n[s],i),{}):n)}function Jo(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(n=>Jo(t[n],e[n])):!1}var KT=Object.prototype.hasOwnProperty;function Xx(t,e,n=0){if(t===e)return t;if(n>500)return e;const i=jv(t)&&jv(e);if(!i&&!(Dm(t)&&Dm(e)))return e;const o=(i?t:Object.keys(t)).length,u=i?e:Object.keys(e),c=u.length,p=i?new Array(c):{};let v=0;for(let b=0;b<c;b++){const h=i?b:u[b],m=t[h],f=e[h];if(m===f){p[h]=m,(i?b<o:KT.call(t,h))&&v++;continue}if(m===null||f===null||typeof m!="object"||typeof f!="object"){p[h]=f;continue}const E=Xx(m,f,n+1);p[h]=E,E===m&&v++}return o===c&&v===o?t:p}function Cm(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(t[n]!==e[n])return!1;return!0}function jv(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function Dm(t){if(!Iv(t))return!1;const e=t.constructor;if(e===void 0)return!0;const n=e.prototype;return!(!Iv(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}function Iv(t){return Object.prototype.toString.call(t)==="[object Object]"}function GT(t){return new Promise(e=>{ma.setTimeout(e,t)})}function zm(t,e,n){return typeof n.structuralSharing=="function"?n.structuralSharing(t,e):n.structuralSharing!==!1?Xx(t,e):e}function VT(t,e,n=0){const i=[...t,e];return n&&i.length>n?i.slice(1):i}function HT(t,e,n=0){const i=[e,...t];return n&&i.length>n?i.slice(0,-1):i}var yg=Symbol();function Jx(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===yg?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function Qx(t,e){return typeof t=="function"?t(...e):!!t}function $T(t,e,n){let i=!1,s;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(s??(s=e()),i||(i=!0,s.aborted?n():s.addEventListener("abort",n,{once:!0})),s)}),t}var pa,Ti,ws,cx,XT=(cx=class extends ol{constructor(){super();qe(this,pa);qe(this,Ti);qe(this,ws);Te(this,ws,e=>{if(!Ta&&window.addEventListener){const n=()=>e();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){ee(this,Ti)||this.setEventListener(ee(this,ws))}onUnsubscribe(){var e;this.hasListeners()||((e=ee(this,Ti))==null||e.call(this),Te(this,Ti,void 0))}setEventListener(e){var n;Te(this,ws,e),(n=ee(this,Ti))==null||n.call(this),Te(this,Ti,e(i=>{typeof i=="boolean"?this.setFocused(i):this.onFocus()}))}setFocused(e){ee(this,pa)!==e&&(Te(this,pa,e),this.onFocus())}onFocus(){const e=this.isFocused();
vendor: 2,461 bytes, line 231
231this.listeners.forEach(n=>{n(e)})}isFocused(){var e;return typeof ee(this,pa)=="boolean"?ee(this,pa):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},pa=new WeakMap,Ti=new WeakMap,ws=new WeakMap,cx),wg=new XT;function Rm(){let t,e;const n=new Promise((s,o)=>{t=s,e=o});n.status="pending",n.catch(()=>{});function i(s){Object.assign(n,s),delete n.resolve,delete n.reject}return n.resolve=s=>{i({status:"fulfilled",value:s}),t(s)},n.reject=s=>{i({status:"rejected",reason:s}),e(s)},n}var JT=UT;function QT(){let t=[],e=0,n=c=>{c()},i=c=>{c()},s=JT;const o=c=>{e?t.push(c):s(()=>{n(c)})},u=()=>{const c=t;t=[],c.length&&s(()=>{i(()=>{c.forEach(p=>{n(p)})})})};return{batch:c=>{let p;e++;try{p=c()}finally{e--,e||u()}return p},batchCalls:c=>(...p)=>{o(()=>{c(...p)})},schedule:o,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{i=c},setScheduler:c=>{s=c}}}var Xt=QT(),ks,Oi,xs,dx,YT=(dx=class extends ol{constructor(){super();qe(this,ks,!0);qe(this,Oi);qe(this,xs);Te(this,xs,e=>{if(!Ta&&window.addEventListener){const n=()=>e(!0),i=()=>e(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",i,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",i)}}})}onSubscribe(){ee(this,Oi)||this.setEventListener(ee(this,xs))}onUnsubscribe(){var e;this.hasListeners()||((e=ee(this,Oi))==null||e.call(this),Te(this,Oi,void 0))}setEventListener(e){var n;Te(this,xs,e),(n=ee(this,Oi))==null||n.call(this),Te(this,Oi,e(this.setOnline.bind(this)))}setOnline(e){ee(this,ks)!==e&&(Te(this,ks,e),this.listeners.forEach(i=>{i(e)}))}isOnline(){return ee(this,ks)}},ks=new WeakMap,Oi=new WeakMap,xs=new WeakMap,dx),Zu=new YT;function ZT(t){return Math.min(1e3*2**t,3e4)}function Yx(t){return(t??"online")==="online"?Zu.isOnline():!0}var Pm=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function Zx(t){let e=!1,n=0,i;const s=Rm(),o=()=>s.status!=="pending",u=w=>{var k;if(!o()){const y=new Pm(w);m(y),(k=t.onCancel)==null||k.call(t,y)}},c=()=>{e=!0},p=()=>{e=!1},v=()=>wg.isFocused()&&(t.networkMode==="always"||Zu.isOnline())&&t.canRun(),b=()=>Yx(t.networkMode)&&t.canRun(),h=w=>{o()||(i==null||i(),s.resolve(w))},m=w=>{o()||(i==null||i(),s.reject(w))},f=()=>new Promise(w=>{var k;i=y=>{(o()||v())&&w(y)},(k=t.onPause)==null||k.call(t)}).then(()=>{var w;i=void 0,o()||(w=t.onContinue)==null||w.call(t)}),E=()=>
vendor: 4,381 bytes, line 231
231{if(o())return;let w;const k=n===0?t.initialPromise:void 0;try{w=k??t.fn()}catch(y){w=Promise.reject(y)}Promise.resolve(w).then(h).catch(y=>{var R;if(o())return;const A=t.retry??(Ta?0:3),S=t.retryDelay??ZT,x=typeof S=="function"?S(n,y):S,T=A===!0||typeof A=="number"&&n<A||typeof A=="function"&&A(n,y);if(e||!T){m(y);return}n++,(R=t.onFail)==null||R.call(t,n,y),GT(x).then(()=>v()?void 0:f()).then(()=>{e?m(y):E()})})};return{promise:s,status:()=>s.status,cancel:u,continue:()=>(i==null||i(),s),cancelRetry:c,continueRetry:p,canStart:b,start:()=>(b()?E():f().then(E),s)}}var ba,hx,e1=(hx=class{constructor(){qe(this,ba)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Nm(this.gcTime)&&Te(this,ba,ma.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Ta?1/0:300*1e3))}clearGcTimeout(){ee(this,ba)&&(ma.clearTimeout(ee(this,ba)),Te(this,ba,void 0))}},ba=new WeakMap,hx),va,As,Kn,ya,Ut,nl,wa,nr,Kr,fx,eO=(fx=class extends e1{constructor(e){super();qe(this,nr);qe(this,va);qe(this,As);qe(this,Kn);qe(this,ya);qe(this,Ut);qe(this,nl);qe(this,wa);Te(this,wa,!1),Te(this,nl,e.defaultOptions),this.setOptions(e.options),this.observers=[],Te(this,ya,e.client),Te(this,Kn,ee(this,ya).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,Te(this,va,Lv(this.options)),this.state=e.state??ee(this,va),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var e;return(e=ee(this,Ut))==null?void 0:e.promise}setOptions(e){if(this.options={...ee(this,nl),...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=Lv(this.options);n.data!==void 0&&(this.setState(Mv(n.data,n.dataUpdatedAt)),Te(this,va,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&ee(this,Kn).remove(this)}setData(e,n){const i=zm(this.state.data,e,this.options);return Qe(this,nr,Kr).call(this,{data:i,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),i}setState(e,n){Qe(this,nr,Kr).call(this,{type:"setState",state:e,setStateOptions:n})}cancel(e){var i,s;const n=(i=ee(this,Ut))==null?void 0:i.promise;return(s=ee(this,Ut))==null||s.cancel(e),n?n.then(On).catch(On):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(ee(this,va))}isActive(){return this.observers.some(e=>Gn(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===yg||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>ji(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!$x(this.state.dataUpdatedAt,e)}onFocus(){var n;const e=this.observers.find(i=>i.shouldFetchOnWindowFocus());e==null||e.refetch({cancelRefetch:!1}),(n=ee(this,Ut))==null||n.continue()}onOnline(){var n;const e=this.observers.find(i=>i.shouldFetchOnReconnect());e==null||e.refetch({cancelRefetch:!1}),(n=ee(this,Ut))==null||n.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),ee(this,Kn).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(n=>n!==e),this.observers.length||(ee(this,Ut)&&(ee(this,wa)?ee(this,Ut).cancel({revert:!0}):ee(this,Ut).cancelRetry()),this.scheduleGc()),ee(this,Kn).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Qe(this,nr,Kr).call(this,{type:"invalidate"})}async fetch(e,n){var p,v,b,h,m,f,E,w,k,y,A,S;if(this.state.fetchStatus!=="idle"&&((p=ee(this,Ut))==null?void 0:p.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(ee(this,Ut))return ee(this,Ut).continueRetry(),ee(this,Ut).promise}if(e&&this.setOptions(e),!this.options.queryFn){const x=this.observers.find(T=>T.options.queryFn);x&&this.setOptions(x.options)}const i=new AbortController,s=x=>{Object.defineProperty(x,"signal",{enumerable:!0,get:()=>(Te(this,wa,!0),i.signal)}
231)},o=()=>{const x=Jx(this.options,n),R=(()=>{const z={client:ee(this,ya),queryKey:this.queryKey,meta:this.meta};return s(z),z})();return Te(this,wa,!1),this.options.persister?this.options.persister(x,R,this):x(R)},c=(()=>{const x={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:ee(this,ya),state:this.state,fetchFn:o};return s(x),x})();(v=this.options.behavior)==null||v.onFetch(c,this),Te(this,As,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((b=c.fetchOptions)==null?void 0:b.meta))&&Qe(this,nr,Kr).call(this,{type:"fetch",meta:(h=c.fetchOptions)==null?void 0:h.meta}),Te(this,Ut,Zx({initialPromise:n==null?void 0:n.initialPromise,fn:c.fetchFn,onCancel:x=>{x instanceof Pm&&x.revert&&this.setState({...ee(this,As),fetchStatus:"idle"}),i.abort()},onFail:(x,T)=>{Qe(this,nr,Kr).call(this,{type:"failed",failureCount:x,error:T})},onPause:()=>{Qe(this,nr,Kr).call(this,{type:"pause"})},onContinue:()=>{Qe(this,nr,Kr).call(this,{type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode,canRun:()=>!0}));try{const x=await ee(this,Ut).start();if(x===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(x),(f=(m=ee(this,Kn).config).onSuccess)==null||f.call(m,x,this),(w=(E=ee(this,Kn).config).onSettled)==null||w.call(E,x,this.state.error,this),x}catch(x){if(x instanceof Pm){if(x.silent)return ee(this,Ut).promise;if(x.revert){if(this.state.data===void 0)throw x;return this.state.data}}throw Qe(this,nr,Kr).call(this,{type:"error",error:x}),(y=(k=ee(this,Kn).config).onError)==null||y.call(k,x,this),(S=(A=ee(this,Kn).config).onSettled)==null||S.call(A,this.state.data,x,this),x}finally{this.scheduleGc()}}},va=new WeakMap,As=new WeakMap,Kn=new WeakMap,ya=new WeakMap,Ut=new WeakMap,nl=new WeakMap,wa=new WeakMap,nr=new WeakSet,Kr=function(e){const n=i=>{switch(e.type){case"failed":return{...i,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...i,fetchStatus:"paused"};case"continue":return{...i,fetchStatus:"fetching"};case"fetch":return{...i,...t1(i.data,this.options),fetchMeta:e.meta??null};case"success":const s={...i,...Mv(e.data,e.dataUpdatedAt),dataUpdateCount:i.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return Te(this,As,e.manual?s:void 0),s;case"error":const o=e.error;return{...i,error:o,errorUpdateCount:i.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:i.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...i,isInvalidated:!0};case"setState":return{...i,...e.state}}};this.state=n(this.state),Xt.batch(()=>{this.observers.forEach(i=>{i.onQueryUpdate()}),ee(this,Kn).notify({query:this,type:"updated",action:e})})},fx);function t1(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Yx(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function Mv(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Lv(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,n=e!==void 0,i=n?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:n?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Tn,Ye,rl,pn,ka,Es,Vr,Ni,il,Ss,_s,xa,Aa,Ci,Ts,ct,Bo,jm,Im,Mm,Lm,Bm,Fm,qm,n1,mx,tO=(mx=class extends ol{constructor(e,n){super();qe(this,ct);qe(this,Tn);qe(this,Ye);qe(this,rl);qe(this,pn);qe(this,ka);qe(this,Es);qe(this,Vr);qe(this,Ni);qe(this,il);qe(this,Ss);qe(this,_s);qe(this,xa);qe(this,Aa);qe(this,Ci);qe(this,Ts,new Set);this.options=n,Te(this,Tn,e),Te(this,Ni,null),Te(this,Vr,Rm()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(ee(this,Ye).addObserver(this),Bv(ee(this,Ye),this.options)?Qe(this,ct,Bo).call(this):this.updateResult(),Qe(this,ct,Lm).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Um(ee(this,Ye),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Um(ee(this,Ye),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Qe(this,ct,Bm).call(this),Qe(this,ct,Fm).call(this),ee(this,Ye).removeObserver(this)}setOptions(e){const n=this.options,i=ee(this,Ye);
vendor: 4,322 bytes, line 231
231if(this.options=ee(this,Tn).defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Gn(this.options.enabled,ee(this,Ye))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Qe(this,ct,qm).call(this),ee(this,Ye).setOptions(this.options),n._defaulted&&!Cm(this.options,n)&&ee(this,Tn).getQueryCache().notify({type:"observerOptionsUpdated",query:ee(this,Ye),observer:this});const s=this.hasListeners();s&&Fv(ee(this,Ye),i,this.options,n)&&Qe(this,ct,Bo).call(this),this.updateResult(),s&&(ee(this,Ye)!==i||Gn(this.options.enabled,ee(this,Ye))!==Gn(n.enabled,ee(this,Ye))||ji(this.options.staleTime,ee(this,Ye))!==ji(n.staleTime,ee(this,Ye)))&&Qe(this,ct,jm).call(this);const o=Qe(this,ct,Im).call(this);s&&(ee(this,Ye)!==i||Gn(this.options.enabled,ee(this,Ye))!==Gn(n.enabled,ee(this,Ye))||o!==ee(this,Ci))&&Qe(this,ct,Mm).call(this,o)}getOptimisticResult(e){const n=ee(this,Tn).getQueryCache().build(ee(this,Tn),e),i=this.createResult(n,e);return rO(this,i)&&(Te(this,pn,i),Te(this,Es,this.options),Te(this,ka,ee(this,Ye).state)),i}getCurrentResult(){return ee(this,pn)}trackResult(e,n){return new Proxy(e,{get:(i,s)=>(this.trackProp(s),n==null||n(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&ee(this,Vr).status==="pending"&&ee(this,Vr).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(i,s))})}trackProp(e){ee(this,Ts).add(e)}getCurrentQuery(){return ee(this,Ye)}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const n=ee(this,Tn).defaultQueryOptions(e),i=ee(this,Tn).getQueryCache().build(ee(this,Tn),n);return i.fetch().then(()=>this.createResult(i,n))}fetch(e){return Qe(this,ct,Bo).call(this,{...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),ee(this,pn)))}createResult(e,n){var F;const i=ee(this,Ye),s=this.options,o=ee(this,pn),u=ee(this,ka),c=ee(this,Es),v=e!==i?e.state:ee(this,rl),{state:b}=e;let h={...b},m=!1,f;if(n._optimisticResults){const P=this.hasListeners(),C=!P&&Bv(e,n),j=P&&Fv(e,i,n,s);(C||j)&&(h={...h,...t1(b.data,e.options)}),n._optimisticResults==="isRestoring"&&(h.fetchStatus="idle")}let{error:E,errorUpdatedAt:w,status:k}=h;f=h.data;let y=!1;if(n.placeholderData!==void 0&&f===void 0&&k==="pending"){let P;o!=null&&o.isPlaceholderData&&n.placeholderData===(c==null?void 0:c.placeholderData)?(P=o.data,y=!0):P=typeof n.placeholderData=="function"?n.placeholderData((F=ee(this,_s))==null?void 0:F.state.data,ee(this,_s)):n.placeholderData,P!==void 0&&(k="success",f=zm(o==null?void 0:o.data,P,n),m=!0)}if(n.select&&f!==void 0&&!y)if(o&&f===(u==null?void 0:u.data)&&n.select===ee(this,il))f=ee(this,Ss);else try{Te(this,il,n.select),f=n.select(f),f=zm(o==null?void 0:o.data,f,n),Te(this,Ss,f),Te(this,Ni,null)}catch(P){Te(this,Ni,P)}ee(this,Ni)&&(E=ee(this,Ni),f=ee(this,Ss),w=Date.now(),k="error");const A=h.fetchStatus==="fetching",S=k==="pending",x=k==="error",T=S&&A,R=f!==void 0,D={status:k,fetchStatus:h.fetchStatus,isPending:S,isSuccess:k==="success",isError:x,isInitialLoading:T,isLoading:T,data:f,dataUpdatedAt:h.dataUpdatedAt,error:E,errorUpdatedAt:w,failureCount:h.fetchFailureCount,failureReason:h.fetchFailureReason,errorUpdateCount:h.errorUpdateCount,isFetched:h.dataUpdateCount>0||h.errorUpdateCount>0,isFetchedAfterMount:h.dataUpdateCount>v.dataUpdateCount||h.errorUpdateCount>v.errorUpdateCount,isFetching:A,isRefetching:A&&!S,isLoadingError:x&&!R,isPaused:h.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:x&&R,isStale:kg(e,n),refetch:this.refetch,promise:ee(this,Vr),isEnabled:Gn(n.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const P=D.data!==void 0,C=D.status==="error"&&!P,j=G=>{C?G.reject(D.error):P&&G.resolve(D.data)},L=()=>{const G=Te(this,Vr,D.promise=Rm());j(G)},W=ee(this,Vr);switch(W.status){case"pending":e.queryHash===i.queryHash&&j(W);break;case"fulfilled":(C||D.data!==W.value)&&L();break;case"rejected":(!C||D.error!==W.reason)&&L();break}}return D}updateResult(){const e=ee(this,pn),n=this.createResult(ee(this,Ye),this.options);if(Te(this,ka,ee(this,Ye).state),Te(this,Es,this.options),ee(this,ka).data!==void 0&&Te(this,_s,ee(this,Ye)),Cm(n,e))return;Te(this,pn,n);const i=()=>
vendor: 7,450 bytes, line 231
231{if(!e)return!0;const{notifyOnChangeProps:s}=this.options,o=typeof s=="function"?s():s;if(o==="all"||!o&&!ee(this,Ts).size)return!0;const u=new Set(o??ee(this,Ts));return this.options.throwOnError&&u.add("error"),Object.keys(ee(this,pn)).some(c=>{const p=c;return ee(this,pn)[p]!==e[p]&&u.has(p)})};Qe(this,ct,n1).call(this,{listeners:i()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Qe(this,ct,Lm).call(this)}},Tn=new WeakMap,Ye=new WeakMap,rl=new WeakMap,pn=new WeakMap,ka=new WeakMap,Es=new WeakMap,Vr=new WeakMap,Ni=new WeakMap,il=new WeakMap,Ss=new WeakMap,_s=new WeakMap,xa=new WeakMap,Aa=new WeakMap,Ci=new WeakMap,Ts=new WeakMap,ct=new WeakSet,Bo=function(e){Qe(this,ct,qm).call(this);let n=ee(this,Ye).fetch(this.options,e);return e!=null&&e.throwOnError||(n=n.catch(On)),n},jm=function(){Qe(this,ct,Bm).call(this);const e=ji(this.options.staleTime,ee(this,Ye));if(Ta||ee(this,pn).isStale||!Nm(e))return;const i=$x(ee(this,pn).dataUpdatedAt,e)+1;Te(this,xa,ma.setTimeout(()=>{ee(this,pn).isStale||this.updateResult()},i))},Im=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(ee(this,Ye)):this.options.refetchInterval)??!1},Mm=function(e){Qe(this,ct,Fm).call(this),Te(this,Ci,e),!(Ta||Gn(this.options.enabled,ee(this,Ye))===!1||!Nm(ee(this,Ci))||ee(this,Ci)===0)&&Te(this,Aa,ma.setInterval(()=>{(this.options.refetchIntervalInBackground||wg.isFocused())&&Qe(this,ct,Bo).call(this)},ee(this,Ci)))},Lm=function(){Qe(this,ct,jm).call(this),Qe(this,ct,Mm).call(this,Qe(this,ct,Im).call(this))},Bm=function(){ee(this,xa)&&(ma.clearTimeout(ee(this,xa)),Te(this,xa,void 0))},Fm=function(){ee(this,Aa)&&(ma.clearInterval(ee(this,Aa)),Te(this,Aa,void 0))},qm=function(){const e=ee(this,Tn).getQueryCache().build(ee(this,Tn),this.options);if(e===ee(this,Ye))return;const n=ee(this,Ye);Te(this,Ye,e),Te(this,rl,e.state),this.hasListeners()&&(n==null||n.removeObserver(this),e.addObserver(this))},n1=function(e){Xt.batch(()=>{e.listeners&&this.listeners.forEach(n=>{n(ee(this,pn))}),ee(this,Tn).getQueryCache().notify({query:ee(this,Ye),type:"observerResultsUpdated"})})},mx);function nO(t,e){return Gn(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&e.retryOnMount===!1)}function Bv(t,e){return nO(t,e)||t.state.data!==void 0&&Um(t,e,e.refetchOnMount)}function Um(t,e,n){if(Gn(e.enabled,t)!==!1&&ji(e.staleTime,t)!=="static"){const i=typeof n=="function"?n(t):n;return i==="always"||i!==!1&&kg(t,e)}return!1}function Fv(t,e,n,i){return(t!==e||Gn(i.enabled,t)===!1)&&(!n.suspense||t.state.status!=="error")&&kg(t,n)}function kg(t,e){return Gn(e.enabled,t)!==!1&&t.isStaleByTime(ji(e.staleTime,t))}function rO(t,e){return!Cm(t.getCurrentResult(),e)}function qv(t){return{onFetch:(e,n)=>{var b,h,m,f,E;const i=e.options,s=(m=(h=(b=e.fetchOptions)==null?void 0:b.meta)==null?void 0:h.fetchMore)==null?void 0:m.direction,o=((f=e.state.data)==null?void 0:f.pages)||[],u=((E=e.state.data)==null?void 0:E.pageParams)||[];let c={pages:[],pageParams:[]},p=0;const v=async()=>{let w=!1;const k=S=>{$T(S,()=>e.signal,()=>w=!0)},y=Jx(e.options,e.fetchOptions),A=async(S,x,T)=>{if(w)return Promise.reject();if(x==null&&S.pages.length)return Promise.resolve(S);const z=(()=>{const C={client:e.client,queryKey:e.queryKey,pageParam:x,direction:T?"backward":"forward",meta:e.options.meta};return k(C),C})(),D=await y(z),{maxPages:F}=e.options,P=T?HT:VT;return{pages:P(S.pages,D,F),pageParams:P(S.pageParams,x,F)}};if(s&&o.length){const S=s==="backward",x=S?iO:Uv,T={pages:o,pageParams:u},R=x(i,T);c=await A(T,R,S)}else{const S=t??o.length;do{const x=p===0?u[0]??i.initialPageParam:Uv(i,c);if(p>0&&x==null)break;c=await A(c,x),p++}while(p<S)}return c};e.options.persister?e.fetchFn=()=>{var w,k;return(k=(w=e.options).persister)==null?void 0:k.call(w,v,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},n)}:e.fetchFn=v}}}function Uv(t,{pages:e,pageParams:n}){const i=e.length-1;return e.length>0?t.getNextPageParam(e[i],e,n[i],n):void 0}function iO(t,{pages:e,pageParams:n}){var i;return e.length>0?(i=t.getPreviousPageParam)==null?void 0:i.call(t,e[0],e,n[0],n):void 0}var al,yr,ln,Ea,wr,Ai,gx,aO=(gx=class extends e1{constructor(e){super();qe(this,wr);qe(this,al);qe(this,yr);qe(this,ln);qe(this,Ea);Te(this,al,e.client),this.mutationId=e.mutationId,Te(this,ln,e.mutationCache),Te(this,yr,[]),this.state=e.state||sO(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){ee(this,yr).includes(e)||(ee(this,yr).push(e),this.clearGcTimeout(),ee(this,ln).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){Te(this,yr,ee(this,yr).filter(n=>n!==e)),this.scheduleGc(),ee(this,ln).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){ee(this,yr).length||(this.state.status==="pending"?this.scheduleGc():ee(this,ln).remove(this))}continue(){var e;return((e=ee(this,Ea))==null?void 0:e.continue())??this.execute(this.state.variables)}async execute(e){var u,c,p,v,b,h,m,f,E,w,k,y,A,S,x,T,R,z;const n=()=>{Qe(this,wr,Ai).call(this,{type:"continue"})},i={client:ee(this,al),meta:this.options.meta,mutationKey:this.options.mutationKey};Te(this,Ea,Zx({fn:()=>this.options.mutationFn?this.options.mutationFn(e,i):Promise.reject(new Error("No mutationFn found")),onFail:(D,F)=>{Qe(this,wr,Ai).call(this,{type:"failed",failureCount:D,error:F})},onPause:()=>{Qe(this,wr,Ai).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>ee(this,ln).canRun(this)}));const s=this.state.status==="pending",o=!ee(this,Ea).canStart();try{if(s)n();else{Qe(this,wr,Ai).call(this,{type:"pending",variables:e,isPaused:o}),ee(this,ln).config.onMutate&&await ee(this,ln).config.onMutate(e,this,i);const F=await((c=(u=this.options).onMutate)==null?void 0:c.call(u,e,i));F!==this.state.context&&Qe(this,wr,Ai).call(this,{type:"pending",context:F,variables:e,isPaused:o})}const D=await ee(this,Ea).start();return await((v=(p=ee(this,ln).config).onSuccess)==null?void 0:v.call(p,D,e,this.state.context,this,i)),await((h=(b=this.options).onSuccess)==null?void 0:h.call(b,D,e,this.state.context,i)),await((f=(m=ee(this,ln).config).onSettled)==null?void 0:f.call(m,D,null,this.state.variables,this.state.context,this,i)),await((w=(E=this.options).onSettled)==null?void 0:w.call(E,D,null,e,this.state.context,i)),Qe(this,wr,Ai).call(this,{type:"success",data:D}),D}catch(D){try{await((y=(k=ee(this,ln).config).onError)==null?void 0:y.call(k,D,e,this.state.context,this,i))}catch(F){Promise.reject(F)}try{await((S=(A=this.options).onError)==null?void 0:S.call(A,D,e,this.state.context,i))}catch(F){Promise.reject(F)}try{await((T=(x=ee(this,ln).config).onSettled)==null?void 0:T.call(x,void 0,D,this.state.variables,this.state.context,this,i))}catch(F){Promise.reject(F)}try{await((z=(R=this.options).onSettled)==null?void 0:z.call(R,void 0,D,e,this.state.context,i))}catch(F){Promise.reject(F)}throw Qe(this,wr,Ai).call(this,{type:"error",error:D}),D}finally{ee(this,ln).runNext(this)}}},al=new WeakMap,yr=new WeakMap,ln=new WeakMap,Ea=new WeakMap,wr=new WeakSet,Ai=function(e){const n=i=>{switch(e.type){case"failed":return{...i,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...i,isPaused:!0};case"continue":return{...i,isPaused:!1};
231case"pending":return{...i,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...i,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...i,data:void 0,error:e.error,failureCount:i.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Xt.batch(()=>{ee(this,yr).forEach(i=>{i.onMutationUpdate(e)}),ee(this,ln).notify({mutation:this,type:"updated",action:e})})},gx);function sO(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Hr,rr,sl,px,oO=(px=class extends ol{constructor(e={}){super();qe(this,Hr);qe(this,rr);qe(this,sl);this.config=e,Te(this,Hr,new Set),Te(this,rr,new Map),Te(this,sl,0)}build(e,n,i){const s=new aO({client:e,mutationCache:this,mutationId:++xu(this,sl)._,options:e.defaultMutationOptions(n),state:i});return this.add(s),s}add(e){ee(this,Hr).add(e);const n=Tu(e);if(typeof n=="string"){const i=ee(this,rr).get(n);i?i.push(e):ee(this,rr).set(n,[e])}this.notify({type:"added",mutation:e})}remove(e){if(ee(this,Hr).delete(e)){const n=Tu(e);if(typeof n=="string"){const i=ee(this,rr).get(n);if(i)if(i.length>1){const s=i.indexOf(e);s!==-1&&i.splice(s,1)}else i[0]===e&&ee(this,rr).delete(n)}}this.notify({type:"removed",mutation:e})}canRun(e){const n=Tu(e);if(typeof n=="string"){const i=ee(this,rr).get(n),s=i==null?void 0:i.find(o=>o.state.status==="pending");return!s||s===e}else return!0}runNext(e){var i;const n=Tu(e);if(typeof n=="string"){const s=(i=ee(this,rr).get(n))==null?void 0:i.find(o=>o!==e&&o.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Xt.batch(()=>{ee(this,Hr).forEach(e=>{this.notify({type:"removed",mutation:e})}),ee(this,Hr).clear(),ee(this,rr).clear()})}getAll(){return Array.from(ee(this,Hr))}find(e){const n={exact:!0,...e};return this.getAll().find(i=>Pv(n,i))}findAll(e={}){return this.getAll().filter(n=>Pv(e,n))}notify(e){Xt.batch(()=>{this.listeners.forEach(n=>{n(e)})})}resumePausedMutations(){const e=this.getAll().filter(n=>n.state.isPaused);return Xt.batch(()=>Promise.all(e.map(n=>n.continue().catch(On))))}},Hr=new WeakMap,rr=new WeakMap,sl=new WeakMap,px);function Tu(t){var e;return(e=t.options.scope)==null?void 0:e.id}var kr,bx,lO=(bx=class extends ol{constructor(e={}){super();qe(this,kr);this.config=e,Te(this,kr,new Map)}build(e,n,i){const s=n.queryKey,o=n.queryHash??vg(s,n);let u=this.get(o);return u||(u=new eO({client:e,queryKey:s,queryHash:o,options:e.defaultQueryOptions(n),state:i,defaultOptions:e.getQueryDefaults(s)}),this.add(u)),u}add(e){ee(this,kr).has(e.queryHash)||(ee(this,kr).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const n=ee(this,kr).get(e.queryHash);n&&(e.destroy(),n===e&&ee(this,kr).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){Xt.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return ee(this,kr).get(e)}getAll(){return[...ee(this,kr).values()]}find(e){const n={exact:!0,...e};return this.getAll().find(i=>Rv(n,i))}findAll(e={}){const n=this.getAll();return Object.keys(e).length>0?n.filter(i=>Rv(e,i)):n}notify(e){Xt.batch(()=>{this.listeners.forEach(n=>{n(e)})})}onFocus(){Xt.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Xt.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},kr=new WeakMap,bx),At,Di,zi,Os,Ns,Ri,Cs,Ds,vx,uO=(vx=class{constructor(t={}){qe(this,At);qe(this,Di);qe(this,zi);qe(this,Os);qe(this,Ns);qe(this,Ri);qe(this,Cs);qe(this,Ds);Te(this,At,t.queryCache||new lO),Te(this,Di,t.mutationCache||new oO),Te(this,zi,t.defaultOptions||{}),Te(this,Os,new Map),Te(this,Ns,new Map),Te(this,Ri,0)}mount(){xu(this,Ri)._++,ee(this,Ri)===1&&(Te(this,Cs,wg.subscribe(async t=>{t&&(await this.resumePausedMutations(),ee(this,At).onFocus())})),Te(this,Ds,Zu.subscribe(async t=>{t&&(await this.resumePausedMutations(),ee(this,At).onOnline())})))}unmount(){var t,e;xu(this,Ri)._--,ee(this,Ri)===0&&((t=ee(this,Cs))==null||t.call(this),Te(this,Cs,void 0),(e=ee(this,Ds))==null||e.call(this),Te(this,Ds,void 0))}isFetching(t){return ee(this,At).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return ee(this,Di).findAll({...t,status:"pending"}).length}getQueryData(t){var n;const e=this.defaultQueryOptions({queryKey:t});return(n=ee(this,At).get(e.queryHash))==null?void 0:n.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),n=ee(this,At).build(this,e),i=n.state.data;return i===void 0?this.fetchQuery(t):(t.revalidateIfStale&&n.isStaleByTime(ji(e.staleTime,n))&&this.prefetchQuery(e),Promise.resolve(i))}getQueriesData(t){return ee(this,At).findAll(t).map(({queryKey:e,state:n})=>{const i=n.data;return[e,i]})}setQueryData(t,e,n){const i=this.defaultQueryOptions({queryKey:t}),s=ee(this,At).get(i.queryHash),o=s==null?void 0:s.state.data,u=WT(e,o);if(u!==void 0)return ee(this,At).build(this,i).setData(u,{...n,manual:!0})}
231setQueriesData(t,e,n){return Xt.batch(()=>ee(this,At).findAll(t).map(({queryKey:i})=>[i,this.setQueryData(i,e,n)]))}getQueryState(t){var n;const e=this.defaultQueryOptions({queryKey:t});return(n=ee(this,At).get(e.queryHash))==null?void 0:n.state}removeQueries(t){const e=ee(this,At);Xt.batch(()=>{e.findAll(t).forEach(n=>{e.remove(n)})})}resetQueries(t,e){const n=ee(this,At);return Xt.batch(()=>(n.findAll(t).forEach(i=>{i.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const n={revert:!0,...e},i=Xt.batch(()=>ee(this,At).findAll(t).map(s=>s.cancel(n)));return Promise.all(i).then(On).catch(On)}invalidateQueries(t,e={}){return Xt.batch(()=>(ee(this,At).findAll(t).forEach(n=>{n.invalidate()}),(t==null?void 0:t.refetchType)==="none"?Promise.resolve():this.refetchQueries({...t,type:(t==null?void 0:t.refetchType)??(t==null?void 0:t.type)??"active"},e)))}refetchQueries(t,e={}){const n={...e,cancelRefetch:e.cancelRefetch??!0},i=Xt.batch(()=>ee(this,At).findAll(t).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let o=s.fetch(void 0,n);return n.throwOnError||(o=o.catch(On)),s.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(i).then(On)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const n=ee(this,At).build(this,e);return n.isStaleByTime(ji(e.staleTime,n))?n.fetch(e):Promise.resolve(n.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(On).catch(On)}fetchInfiniteQuery(t){return t.behavior=qv(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(On).catch(On)}ensureInfiniteQueryData(t){return t.behavior=qv(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return Zu.isOnline()?ee(this,Di).resumePausedMutations():Promise.resolve()}getQueryCache(){return ee(this,At)}getMutationCache(){return ee(this,Di)}getDefaultOptions(){return ee(this,zi)}setDefaultOptions(t){Te(this,zi,t)}setQueryDefaults(t,e){ee(this,Os).set(Xo(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...ee(this,Os).values()],n={};return e.forEach(i=>{Jo(t,i.queryKey)&&Object.assign(n,i.defaultOptions)}),n}setMutationDefaults(t,e){ee(this,Ns).set(Xo(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...ee(this,Ns).values()],n={};return e.forEach(i=>{Jo(t,i.mutationKey)&&Object.assign(n,i.defaultOptions)}),n}defaultQueryOptions(t){if(t._defaulted)return t;const e={...ee(this,zi).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=vg(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===yg&&(e.enabled=!1),e}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...ee(this,zi).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){ee(this,At).clear(),ee(this,Di).clear()}},At=new WeakMap,Di=new WeakMap,zi=new WeakMap,Os=new WeakMap,Ns=new WeakMap,Ri=new WeakMap,Cs=new WeakMap,Ds=new WeakMap,vx),r1=I.createContext(void 0),cO=t=>{const e=I.useContext(r1);if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},dO=({client:t,children:e})=>(I.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),d.jsx(r1.Provider,{value:t,children:e})),i1=I.createContext(!1),hO=()=>I.useContext(i1);i1.Provider;function fO(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var mO=I.createContext(fO()),gO=()=>I.useContext(mO),pO=(t,e,n)=>{const i=n!=null&&n.state.error&&typeof t.throwOnError=="function"?Qx(t.throwOnError,[n.state.error,n]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||i)&&(e.isReset()||(t.retryOnMount=!1))},bO=t=>{I.useEffect(()=>{t.clearReset()},[t])},vO=({result:t,errorResetBoundary:e,throwOnError:n,query:i,suspense:s})=>t.isError&&!e.isReset()&&!t.isFetching&&i&&(s&&t.data===void 0||Qx(n,[t.error,i])),yO=t=>{if(t.suspense){const n=s=>s==="static"?s:Math.max(s??1e3,1e3),i=t.staleTime;t.staleTime=typeof i=="function"?(...s)=>n(i(...s)):n(i),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},wO=(t,e)=>t.isLoading&&t.isFetching&&!e,kO=(t,e)=>(t==null?void 0:t.suspense)&&e.isPending,Wv=(t,e,n)=>e.fetchOptimistic(t).catch(()=>{n.clearReset()});function xO(t,e,n){var m,f,E,w;const i=hO(),s=gO(),o=cO(),u=o.defaultQueryOptions(t);(f=(m=o.getDefaultOptions().queries)==null?void 0:m._experimental_beforeQuery)==null||f.call(m,u);const c=o.getQueryCache().get(u.queryHash);u._optimisticResults=i?"isRestoring":"optimistic",yO(u),pO(u,s,c),bO(s);const p=!o.getQueryCache().get(u.queryHash),[v]=I.useState(()=>new e(o,u)),b=v.getOptimisticResult(u),h=!i&&t.subscribed!==!1;if(I.useSyncExternalStore(I.useCallback(k=>{const y=h?v.subscribe(Xt.batchCalls(k)):On;return v.updateResult(),y},[v,h]),()=>v.getCurrentResult(),()=>v.getCurrentResult()),I.useEffect(()=>{v.setOptions(u)},[u,v]),kO(u,b))throw Wv(u,v,s);if(vO({result:b,errorResetBoundary:s,throwOnError:u.throwOnError,query:c,suspense:u.suspense}))throw b.error;if((w=(E=o.getDefaultOptions().queries)==null?void 0:E._experimental_afterQuery)==null||w.call(E,u,b),u.experimental_prefetchInRender&&!Ta&&wO(b,i)){const k=p?Wv(u,v,s):c==null?void 0:c.promise;k==null||k.catch(On).finally(()=>{v.updateResult()})}return u.notifyOnChangeProps?b:v.trackResult(b)}function AO(t,e){return xO(t,tO)}const EO=new uO({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1}}});var a1=hg();const SO=uc(a1);/** 232 * @remix-run/router v1.23.3 233 * 234 * Copyright (c) Remix Software Inc. 235 * 236 * This source code is licensed under the MIT license found in the 237 * LICENSE.md file in the root directory of this source tree. 238 * 239 * @license MIT 240 */function Qo(){return Qo=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)({}).hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},Qo.apply(null,arguments)}var Pi;(function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"})(Pi||(Pi={}));const Kv="popstate";function _O(t){t===void 0&&(t={});function e(i,s){let{pathname:o,search:u,hash:c}=i.location;return Wm("",{pathname:o,search:u,hash:c},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function n(i,s){return typeof s=="string"?s:ec(s)}return OO(e,n,null,t)}function Tt(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function xg(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function TO(){return Math.random().toString(36).substr(2,8)}function Gv(t,e){return{usr:t.state,key:t.key,idx:e}}function Wm(t,e,n,i){return n===void 0&&(n=null),Qo({pathname:typeof t=="string"?t:t.pathname,search:"",hash:""},typeof e=="string"?js(e):e,{state:n,key:e&&e.key||i||TO()})}function ec(t){let{pathname:e="/",search:n="",hash:i=""}=t;return n&&n!=="?"&&(e+=n.charAt(0)==="?"?n:"?"+n),i&&i!=="#"&&(e+=i.charAt(0)==="#"?i:"#"+i),e}function js(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));let i=t.indexOf("?");i>=0&&(e.search=t.substr(i),t=t.substr(0,i)),t&&(e.pathname=t)}return e}function OO(t,e,n,i){i===void 0&&(i={});let{window:s=document.defaultView,v5Compat:o=!1}=i,u=s.history,c=Pi.Pop,p=null,v=b();v==null&&(v=0,u.replaceState(Qo({},u.state,{idx:v}),""));function b(){return(u.state||{idx:null}).idx}function h(){c=Pi.Pop;let k=b(),y=k==null?null:k-v;v=k,p&&p({action:c,location:w.location,delta:y})}function m(k,y){c=Pi.Push;let A=Wm(w.location,k,y);v=b()+1;let S=Gv(A,v),x=w.createHref(A);try{u.pushState(S,"",x)}catch(T){if(T instanceof DOMException&&T.name==="DataCloneError")throw T;s.location.assign(x)}o&&p&&p({action:c,location:w.location,delta:1})}function f(k,y){c=Pi.Replace;let A=Wm(w.location,k,y);v=b();let S=Gv(A,v),x=w.createHref(A);u.replaceState(S,"",x),o&&p&&p({action:c,location:w.location,delta:0})}function E(k){let y=s.location.origin!=="null"?s.location.origin:s.location.href,A=typeof k=="string"?k:ec(k);return A=A.replace(/ $/,"%20"),Tt(y,"No window.location.(origin|href) available to create URL for href: "+A),new URL(A,y)}let w={get action(){return c},get location(){return t(s,u)},listen(k){if(p)throw new Error("A history only accepts one active listener");return s.addEventListener(Kv,h),p=k,()=>{s.removeEventListener(Kv,h),p=null}},createHref(k){return e(s,k)},createURL:E,encodeLocation(k){let y=E(k);return{pathname:y.pathname,search:y.search,hash:y.hash}},push:m,replace:f,go(k){return u.go(k)}};return w}var Vv;(function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"})(Vv||(Vv={}));function NO(t,e,n){return n===void 0&&(n="/"),CO(t,e,n)}function CO(t,e,n,i){let s=typeof e=="string"?js(e):e,o=Ag(s.pathname||"/",n);if(o==null)return null;let u=s1(t);DO(u);let c=null,p=WO(o);for(let v=0;c==null&&v<u.length;++v)c=FO(u[v],p);return c}function s1(t,e,n,i){e===void 0&&(e=[]),n===void 0&&(n=[]),i===void 0&&(i="");let s=(o,u,c)=>{let p={relativePath:c===void 0?o.path||"":c,caseSensitive:o.caseSensitive===!0,childrenIndex:u,route:o};p.relativePath.startsWith("/")&&(Tt(p.relativePath.startsWith(i),'Absolute route path "'+p.relativePath+'" nested under path '+('"'+i+'" is not val
240id. An absolute child route path ')+"must start with the combined path of all its parent routes."),p.relativePath=p.relativePath.slice(i.length));let v=Ii([i,p.relativePath]),b=n.concat(p);o.children&&o.children.length>0&&(Tt(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+v+'".')),s1(o.children,e,b,v)),!(o.path==null&&!o.index)&&e.push({path:v,score:LO(v,o.index),routesMeta:b})};return t.forEach((o,u)=>{var c;if(o.path===""||!((c=o.path)!=null&&c.includes("?")))s(o,u);else for(let p of o1(o.path))s(o,u,p)}),e}function o1(t){let e=t.split("/");if(e.length===0)return[];let[n,...i]=e,s=n.endsWith("?"),o=n.replace(/\?$/,"");if(i.length===0)return s?[o,""]:[o];let u=o1(i.join("/")),c=[];return c.push(...u.map(p=>p===""?o:[o,p].join("/"))),s&&c.push(...u),c.map(p=>t.startsWith("/")&&p===""?"/":p)}function DO(t){t.sort((e,n)=>e.score!==n.score?n.score-e.score:BO(e.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}const zO=/^:[\w-]+$/,RO=3,PO=2,jO=1,IO=10,MO=-2,Hv=t=>t==="*";function LO(t,e){let n=t.split("/"),i=n.length;return n.some(Hv)&&(i+=MO),e&&(i+=PO),n.filter(s=>!Hv(s)).reduce((s,o)=>s+(zO.test(o)?RO:o===""?jO:IO),i)}function BO(t,e){return t.length===e.length&&t.slice(0,-1).every((i,s)=>i===e[s])?t[t.length-1]-e[e.length-1]:0}function FO(t,e,n){let{routesMeta:i}=t,s={},o="/",u=[];for(let c=0;c<i.length;++c){let p=i[c],v=c===i.length-1,b=o==="/"?e:e.slice(o.length)||"/",h=qO({path:p.relativePath,caseSensitive:p.caseSensitive,end:v},b),m=p.route;if(!h)return null;
vendor: 7,332 bytes, lines 240-249
240Object.assign(s,h.params),u.push({params:s,pathname:Ii([o,h.pathname]),pathnameBase:$O(Ii([o,h.pathnameBase])),route:m}),h.pathnameBase!=="/"&&(o=Ii([o,h.pathnameBase]))}return u}function qO(t,e){typeof t=="string"&&(t={path:t,caseSensitive:!1,end:!0});let[n,i]=UO(t.path,t.caseSensitive,t.end),s=e.match(n);if(!s)return null;let o=s[0],u=o.replace(/(.)\/+$/,"$1"),c=s.slice(1);return{params:i.reduce((v,b,h)=>{let{paramName:m,isOptional:f}=b;if(m==="*"){let w=c[h]||"";u=o.slice(0,o.length-w.length).replace(/(.)\/+$/,"$1")}const E=c[h];return f&&!E?v[m]=void 0:v[m]=(E||"").replace(/%2F/g,"/"),v},{}),pathname:o,pathnameBase:u,pattern:t}}function UO(t,e,n){e===void 0&&(e=!1),n===void 0&&(n=!0),xg(t==="*"||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were '+('"'+t.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+t.replace(/\*$/,"/*")+'".'));let i=[],s="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(u,c,p)=>(i.push({paramName:c,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)"));return t.endsWith("*")?(i.push({paramName:"*"}),s+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?s+="\\/*$":t!==""&&t!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,e?void 0:"i"),i]}function WO(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return xg(!1,'The URL path "'+t+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),t}}function Ag(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,i=t.charAt(n);return i&&i!=="/"?null:t.slice(n)||"/"}const KO=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,GO=t=>KO.test(t);function VO(t,e){e===void 0&&(e="/");let{pathname:n,search:i="",hash:s=""}=typeof t=="string"?js(t):t,o;if(n)if(GO(n))o=n;else{if(n.includes("//")){let u=n;n=l1(n),xg(!1,"Pathnames cannot have embedded double slashes - normalizing "+(u+" -> "+n))}n.startsWith("/")?o=$v(n.substring(1),"/"):o=$v(n,e)}else o=e;return{pathname:o,search:XO(i),hash:JO(s)}}function $v(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(s=>{s===".."?n.length>1&&n.pop():s!=="."&&n.push(s)}),n.length>1?n.join("/"):"/"}function xh(t,e,n,i){return"Cannot include a '"+t+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(i)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function HO(t){return t.filter((e,n)=>n===0||e.route.path&&e.route.path.length>0)}function Eg(t,e){let n=HO(t);return e?n.map((i,s)=>s===n.length-1?i.pathname:i.pathnameBase):n.map(i=>i.pathnameBase)}function Sg(t,e,n,i){i===void 0&&(i=!1);let s;typeof t=="string"?s=js(t):(s=Qo({},t),Tt(!s.pathname||!s.pathname.includes("?"),xh("?","pathname","search",s)),Tt(!s.pathname||!s.pathname.includes("#"),xh("#","pathname","hash",s)),Tt(!s.search||!s.search.includes("#"),xh("#","search","hash",s)));let o=t===""||s.pathname==="",u=o?"/":s.pathname,c;if(u==null)c=n;else{let h=e.length-1;if(!i&&u.startsWith("..")){let m=u.split("/");for(;m[0]==="..";)m.shift(),h-=1;s.pathname=m.join("/")}c=h>=0?e[h]:"/"}let p=VO(s,c),v=u&&u!=="/"&&u.endsWith("/"),b=(o||u===".")&&n.endsWith("/");return!p.pathname.endsWith("/")&&(v||b)&&(p.pathname+="/"),p}const l1=t=>t.replace(/\/\/+/g,"/"),Ii=t=>l1(t.join("/")),$O=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),XO=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,JO=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function QO(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}const u1=["post","put","patch","delete"];new Set(u1);const YO=["get",...u1];new Set(YO);/** 241 * React Router v6.30.4 242 * 243 * Copyright (c) Remix Software Inc. 244 * 245 * This source code is licensed under the MIT license found in the 246 * LICENSE.md file in the root directory of this source tree. 247 * 248 * @license MIT 249 */function Yo(){return Yo=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)({}).hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},Yo.apply(null,arguments)}const _g=I.createContext(null),ZO=I.createContext(null),Fi=I.createContext(null),ll=I.createContext(null),Or=I.createContext({outlet:null,matches:[],isDataRoute:!1}),c1=I.createContext(null);function eN(t,e){let{relative:n}=e===void 0?{}:e;Is()||Tt(!1);let{basename:i,navigator:s}=I.useContext(Fi),{hash:o,pathname:u,search:c}=m1(t,{relative:n}),p=u;return i!=="/"&&(p=u==="/"?i:Ii([i,u])),s.createHref({pathname:p,search:c,hash:o})}function Is(){return I.useContext(ll)!=null}function qi(){return Is()||Tt(!1),I.useContext(ll).location}function tN(){return I.useContext(ll).navigationType}function d1(t){I.useContext(Fi).static||I.useLayoutEffect(t)}function h1(){let{isDataRoute:t}=I.useContext(Or);return t?pN():nN()}function nN(){Is()||Tt(!1);let t=I.useContext(_g),{basename:e,future:n,navigator:i}=I.useContext(Fi),{matches:s}=I.useContext(Or),{pathname:o}=qi(),u=JSON.stringify(Eg(s,n.v7_relativeSplatPath)),c=I.useRef(!1);return d1(()=>{c.current=!0}),I.useCallback(function(v,b){if(b===void 0&&(b={}),!c.current)return;if(typeof v=="number"){i.go(v);return}let h=Sg(v,JSON.parse(u),o,b.relative==="path");t==null&&e!=="/"&&(h.pathname=h.pathname==="/"?e:Ii([e,h.pathname])),(b.replace?i.replace:i.push)(h,b.state,b)},[e,i,u,o,t])}const rN=I.createContext(null);function iN(t){let e=I.useContext(Or).outlet;return e&&I.createElement(rN.Provider,{value:t},e)}function f1(){let{matches:t}=I.useContext(Or),e=t[t.length-1];return e?e.params:{}}function m1(t,e){let{relative:n}=e===void 0?{}:e,{future:i}=I.useContext(Fi),{matches:s}=I.useContext(Or),{pathname:o}=qi(),u=JSON.stringify(Eg(s,i.v7_relativeSplatPath));return I.useMemo(()=>Sg(t,JSON.parse(u),o,n==="path"),[t,u,o,n])}function aN(t,e){return sN(t,e)}function sN(t,e,n,i){Is()||Tt(!1);let{navigator:s}=I.useContext(Fi),{matches:o}=I.useContext(Or),u=o[o.length-1],c=u?u.params:{};u&&u.pathname;let p=u?u.pathnameBase:"/";u&&u.route;let v=qi(),b;if(e){var h;let k=typeof e=="string"?js(e):e;p==="/"||(h=k.pathname)!=null&&h.startsWith(p)||Tt(!1),b=k}else b=v;let m=b.pathname||"/",f=m;if(p!=="/"){let k=p.replace(/^\//,"").split("/");f="/"+m.replace(/^\//,"").split("/").slice(k.length).join("/")}let E=NO(t,{pathname:f}),w=dN(E&&E.map(k=>Object.assign({},k,{params:Object.assign({},c,k.params),pathname:Ii([p,s.encodeLocation?s.encodeLocation(k.pathname).pathname:k.pathname]),pathnameBase:k.pathnameBase==="/"?p:Ii([p,s.encodeLocation?s.encodeLocation(k.pathnameBase).pathname:k.pathnameBase])})),o,n,i);return e&&w?I.createElement(ll.Provider,{value:{location:Yo({pathname:"/",search:"",hash:"",state:null,key:"default"},b),navigationType:Pi.Pop}},w):w}function oN(){let t=gN(),e=QO(t)?t.status+" "+t.statusText:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,s={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return I.createElement(I.Fragment,null,I.createElement("h2",null,"Unexpected Application
249Error!"),I.createElement("h3",{style:{fontStyle:"italic"}},e),n?I.createElement("pre",{style:s},n):null,null)}const lN=I.createElement(oN,null);class uN extends I.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,n){return n.location!==e.location||n.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:n.error,location:n.location,revalidation:e.revalidation||n.revalidation}}componentDidCatch(e,n){console.error("React Router caught the following error during render",e,n)}render(){return this.state.error!==void 0?I.createElement(Or.Provider,{value:this.props.routeContext},I.createElement(c1.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function cN(t){let{routeContext:e,match:n,children:i}=t,s=I.useContext(_g);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),I.createElement(Or.Provider,{value:e},i)}function dN(t,e,n,i){var s;if(e===void 0&&(e=[]),n===void 0&&(n=null),i===void 0&&(i=null),t==null){var o;if(!n)return null;if(n.errors)t=n.matches;else if((o=i)!=null&&o.v7_partialHydration&&e.length===0&&!n.initialized&&n.matches.length>0)t=n.matches;else return null}let u=t,c=(s=n)==null?void 0:s.errors;if(c!=null){let b=u.findIndex(h=>h.route.id&&(c==null?void 0:c[h.route.id])!==void 0);b>=0||Tt(!1),u=u.slice(0,Math.min(u.length,b+1))}let p=!1,v=-1;if(n&&i&&i.v7_partialHydration)for(let b=0;b<u.length;b++){let h=u[b];if((h.route.HydrateFallback||h.route.hydrateFallbackElement)&&(v=b),h.route.id){let{loaderData:m,errors:f}=n,E=h.route.loader&&m[h.route.id]===void 0&&(!f||f[h.route.id]===void 0);if(h.route.lazy||E){p=!0,v>=0?u=u.slice(0,v+1):u=[u[0]];break}}}return u.reduceRight((b,h,m)=>{let f,E=!1,w=null,k=null;n&&(f=c&&h.route.id?c[h.route.id]:void 0,w=h.route.errorElement||lN,p&&(v<0&&m===0?(bN("route-fallback"),E=!0,k=null):v===m&&(E=!0,k=h.route.hydrateFallbackElement||null)));let y=e.concat(u.slice(0,m+1)),A=()=>{let S;return f?S=w:E?S=k:h.route.Component?S=I.createElement(h.route.Component,null):h.route.element?S=h.route.element:S=b,I.createElement(cN,{match:h,routeContext:{outlet:b,matches:y,isDataRoute:n!=null},children:S})};return n&&(h.route.ErrorBoundary||h.route.errorElement||m===0)?I.createElement(uN,{location:n.location,revalidation:n.revalidation,component:w,error:f,children:A(),routeContext:{outlet:null,matches:y,isDataRoute:!0}}):A()},null)}var g1=(function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t})(g1||{}),p1=(function(t){return t.UseBlocker="useBlocker",t.UseLoaderData="useLoaderData",t.UseActionData="useActionData",t.UseRouteError="useRouteError",t.UseNavigation="useNavigation",t.UseRouteLoaderData="useRouteLoaderData",t.UseMatches="useMatches",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t.UseRouteId="useRouteId",t})(p1||{});function hN(t){let e=I.useContext(_g);return e||Tt(!1),e}function fN(t){let e=I.useContext(ZO);return e||Tt(!1),e}function mN(t){let e=I.useContext(Or);return e||Tt(!1),e}function b1(t){let e=mN(),n=e.matches[e.matches.length-1];return n.route.id||Tt(!1),n.route.id}function gN(){var t;let e=I.useContext(c1),n=fN(),i=b1();return e!==void 0?e:(t=n.errors)==null?void 0:t[i]}function pN(){let{router:t}=hN(g1.UseNavigateStable),e=b1(p1.UseNavigateStable),n=I.useRef(!1);return d1(()=>{n.current=!0}),I.useCallback(function(s,o){o===void 0&&(o={}),n.current&&(typeof s=="number"?t.navigate(s):t.navigate(s,Yo({fromRouteId:e},o)))},[t,e])}const Xv={};function bN(t,e,n){Xv[t]||(Xv[t]=!0)}function vN(t,e){t==null||t.v7_startTransition,t==null||t.v7_relativeSplatPath}function Fu(t){let{to:e,replace:n,state:i,relative:s}=t;Is()||Tt(!1);let{future:o,static:u}=I.useContext(Fi),{matches:c}=I.useContext(Or),{pathname:p}=qi(),v=h1(),b=Sg(e,Eg(c,o.v7_relativeSplatPath),p,s==="path"),h=JSON.stringify(b);return I.useEffect(()=>v(JSON.parse(h),{replace:n,state:i,relative:s}),[v,h,s,n,i]),null}function yN(t){return iN(t.context)}function on(t){Tt(!1)}function wN(t){let{basename:e="/",children:n=null,location:i,navigationType:s=Pi.Pop,navigator:o,static:u=!1,future:c}=t;Is()&&Tt(!1);let p=e.replace(/^\/*/,"/"),v=I.useMemo(()=>({basename:p,navigator:o,static:u,future:Yo({v7_relativeSplatPath:!1},c)}),[p,c,o,u]);typeof i=="string"&&(i=js(i));
249let{pathname:b="/",search:h="",hash:m="",state:f=null,key:E="default"}=i,w=I.useMemo(()=>{let k=Ag(b,p);return k==null?null:{location:{pathname:k,search:h,hash:m,state:f,key:E},navigationType:s}},[p,b,h,m,f,E,s]);return w==null?null:I.createElement(Fi.Provider,{value:v},I.createElement(ll.Provider,{children:n,value:w}))}function kN(t){let{children:e,location:n}=t;return aN(Km(e),n)}new Promise(()=>{});function Km(t,e){e===void 0&&(e=[]);let n=[];return I.Children.forEach(t,(i,s)=>{if(!I.isValidElement(i))return;let o=[...e,s];if(i.type===I.Fragment){n.push.apply(n,Km(i.props.children,o));return}i.type!==on&&Tt(!1),!i.props.index||!i.props.children||Tt(!1);let u={id:i.props.id||o.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,loader:i.props.loader,action:i.props.action,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(u.children=Km(i.props.children,o)),n.push(u)}),n}/** 250 * React Router DOM v6.30.4 251 * 252 * Copyright (c) Remix Software Inc. 253 * 254 * This source code is licensed under the MIT license found in the 255 * LICENSE.md file in the root directory of this source tree. 256 * 257 * @license MIT 258 */function Gm(){return Gm=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)({}).hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},Gm.apply(null,arguments)}function xN(t,e){if(t==null)return{};var n={};for(var i in t)if({}.hasOwnProperty.call(t,i)){if(e.indexOf(i)!==-1)continue;n[i]=t[i]}return n}function AN(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function EN(t,e){return t.button===0&&(!e||e==="_self")&&!AN(t)}const SN=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],_N="6";try{window.__reactRouterVersion=_N}catch{}const TN="startTransition",Jv=dc[TN];function ON(t){let{basename:e,children:n,future:i,window:s}=t,o=I.useRef();o.current==null&&(o.current=_O({window:s,v5Compat:!0}));let u=o.current,[c,p]=I.useState({action:u.action,location:u.location}),{v7_startTransition:v}=i||{},b=I.useCallback(h=>{v&&Jv?Jv(()=>p(h)):p(h)},[p,v]);return I.useLayoutEffect(()=>u.listen(b),[u,b]),I.useEffect(()=>vN(i),[i]),I.createElement(wN,{basename:e,children:n,location:c.location,navigationType:c.action,navigator:u,future:i})}const NN=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",CN=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,lt=I.forwardRef(function(e,n){let{onClick:i,relative:s,reloadDocument:o,replace:u,state:c,target:p,to:v,preventScrollReset:b,viewTransition:h}=e,m=xN(e,SN),{basename:f}=I.useContext(Fi),E,w=!1;if(typeof v=="string"&&CN.test(v)&&(E=v,NN))try{let S=new URL(window.location.href),x=v.startsWith("//")?new URL(S.protocol+v):new URL(v),T=Ag(x.pathname,f);x.origin===S.origin&&T!=null?v=T+x.search+x.hash:w=!0}catch{}let k=eN(v,{relative:s}),y=DN(v,{replace:u,state:c,target:p,preventScrollReset:b,relative:s,viewTransition:h});function A(S){i&&i(S),S.defaultPrevented||y(S)}return I.createElement("a",Gm({},m,{href:E||k,onClick:w||o?i:A,ref:n,target:p}))});var Qv;(function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"})(Qv||(Qv={}));var Yv;(function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"})(Yv||(Yv={}));function DN(t,e){let{target:n,replace:i,state:s,preventScrollReset:o,relative:u,viewTransition:c}=e===void 0?{}:e,p=h1(),v=qi(),b=m1(t,{relative:u});return I.useCallback(h=>{if(EN(h,n)){h.preventDefault();let m=i!==void 0?i:ec(v)===ec(b);p(t,{replace:m,state:s,preventScrollReset:o,relative:u,viewTransition:c})}},[v,p,b,i,s,n,t,o,u,c])}function v1(t,e){return function(){return t.apply(e,arguments)}}const{toString:zN}=Object.prototype,{getPrototypeOf:zs}=Object,{iterator:ul,toStringTag:y1}=Symbol,tc=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),Zo=(t,e)=>{let n=t;const i=[];for(;n!=null&&n!==Object.prototype;){if(i.indexOf(n)!==-1)return!1;if(i.push(n),tc(n,e))return!0;n=zs(n)}return!1},RN=(t,e)=>t!=null&&Zo(t,e)?t[e]:void 0,Tg=(t=>e=>{const n=zN.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),or=t=>(t=t.toLowerCase(),e=>Tg(e)===t),fc=t=>e=>typeof e===t,{isArray:Oa}=Array,Rs=fc("undefined");function Ms(t){return t!==null&&!Rs(t)&&t.constructor!==null&&!Rs(t.constructor)&&Cn(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const w1=or("ArrayBuffer");function PN(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&w1(t.buffer),e}
vendor: 8,776 bytes, lines 258-259
258const jN=fc("string"),Cn=fc("function"),k1=fc("number"),Ls=t=>t!==null&&typeof t=="object",IN=t=>t===!0||t===!1,qu=t=>{if(!Ls(t))return!1;const e=zs(t);return(e===null||e===Object.prototype||zs(e)===null)&&!Zo(t,y1)&&!Zo(t,ul)},MN=t=>{if(!Ls(t)||Ms(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},LN=or("Date"),BN=or("File"),FN=t=>!!(t&&typeof t.uri<"u"),qN=t=>t&&typeof t.getParts<"u",UN=or("Blob"),WN=or("FileList"),KN=t=>Ls(t)&&Cn(t.pipe);function GN(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Zv=GN(),ey=typeof Zv.FormData<"u"?Zv.FormData:void 0,VN=t=>{if(!t)return!1;if(ey&&t instanceof ey)return!0;const e=zs(t);if(!e||e===Object.prototype||!Cn(t.append))return!1;const n=Tg(t);return n==="formdata"||n==="object"&&Cn(t.toString)&&t.toString()==="[object FormData]"},HN=or("URLSearchParams"),[$N,XN,JN,QN]=["ReadableStream","Request","Response","Headers"].map(or),YN=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function cl(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let i,s;if(typeof t!="object"&&(t=[t]),Oa(t))for(i=0,s=t.length;i<s;i++)e.call(null,t[i],i,t);else{if(Ms(t))return;const o=n?Object.getOwnPropertyNames(t):Object.keys(t),u=o.length;let c;for(i=0;i<u;i++)c=o[i],e.call(null,t[c],c,t)}}function x1(t,e){if(Ms(t))return null;e=e.toLowerCase();const n=Object.keys(t);let i=n.length,s;for(;i-- >0;)if(s=n[i],e===s.toLowerCase())return s;return null}const ga=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,A1=t=>!Rs(t)&&t!==ga;function Vm(...t){const{caseless:e,skipUndefined:n}=A1(this)&&this||{},i={},s=(o,u)=>{if(u==="__proto__"||u==="constructor"||u==="prototype")return;const c=e&&typeof u=="string"&&x1(i,u)||u,p=tc(i,c)?i[c]:void 0;qu(p)&&qu(o)?i[c]=Vm(p,o):qu(o)?i[c]=Vm({},o):Oa(o)?i[c]=o.slice():(!n||!Rs(o))&&(i[c]=o)};for(let o=0,u=t.length;o<u;o++){const c=t[o];if(!c||Ms(c)||(cl(c,s),typeof c!="object"||Oa(c)))continue;const p=Object.getOwnPropertySymbols(c);for(let v=0;v<p.length;v++){const b=p[v];cC.call(c,b)&&s(c[b],b)}}return i}const ZN=(t,e,n,{allOwnKeys:i}={})=>(cl(e,(s,o)=>{n&&Cn(s)?Object.defineProperty(t,o,{__proto__:null,value:v1(s,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,o,{__proto__:null,value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:i}),t),eC=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),tC=(t,e,n,i)=>{t.prototype=Object.create(e.prototype,i),Object.defineProperty(t.prototype,"constructor",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{__proto__:null,value:e.prototype}),n&&Object.assign(t.prototype,n)},nC=(t,e,n,i)=>{let s,o,u;const c={};if(e=e||{},t==null)return e;do{for(s=Object.getOwnPropertyNames(t),o=s.length;o-- >0;)u=s[o],(!i||i(u,t,e))&&!c[u]&&(e[u]=t[u],c[u]=!0);t=n!==!1&&zs(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},rC=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const i=t.indexOf(e,n);return i!==-1&&i===n},iC=t=>{if(!t)return null;if(Oa(t))return t;let e=t.length;if(!k1(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},aC=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&zs(Uint8Array)),sC=(t,e)=>{const i=(t&&t[ul]).call(t);let s;for(;(s=i.next())&&!s.done;){const o=s.value;e.call(t,o[0],o[1])}},oC=(t,e)=>{let n;const i=[];for(;(n=t.exec(e))!==null;)i.push(n);return i},lC=or("HTMLFormElement"),uC=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,i,s){return i.toUpperCase()+s}),{propertyIsEnumerable:cC}=Object.prototype,dC=or("RegExp"),E1=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),i={};cl(n,(s,o)=>{let u;(u=e(s,o,t))!==!1&&(i[o]=u||s)}),Object.defineProperties(t,i)},hC=t=>{E1(t,(e,n)=>{if(Cn(t)&&["arguments","caller","callee"].includes(n))return!1;const i=t[n];if(Cn(i)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},fC=(t,e)=>{const n={},i=s=>{s.forEach(o=>{n[o]=!0})};return Oa(t)?i(t):i(String(t).split(e)),n},mC=()=>{},gC=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function pC(t){return!!(t&&Cn(t.append)&&t[y1]==="FormData"&&t[ul])}const bC=t=>{const e=new WeakSet,n=i=>{if(Ls(i)){if(e.has(i))return;if(Ms(i))return i;if(!("toJSON"in i)){e.add(i);const s=Oa(i)?[]:{};return cl(i,(o,u)=>{const c=n(o);!Rs(c)&&(s[u]=c)}),e.delete(i),s}}return i};return n(t)},vC=or("AsyncFunction"),yC=t=>t&&(Ls(t)||Cn(t))&&Cn(t.then)&&Cn(t.catch),S1=((t,e)=>t?setImmediate:e?((n,i)=>(ga.addEventListener("message",({source:s,data:o})=>{s===ga&&o===n&&i.length&&i.shift()()},!1),s=>{i.push(s),ga.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Cn(ga.postMessage)),wC=typeof queueMicrotask<"u"?queueMicrotask.bind(ga):typeof process<"u"&&process.nextTick||S1,_1=t=>t!=null&&Cn(t[ul]),kC=t=>t!=null&&Zo(t,ul)&&_1(t),re={isArray:Oa,isArrayBuffer:w1,isBuffer:Ms,isFormData:VN,isArrayBufferView:PN,isString:jN,isNumber:k1,isBoolean:IN,isObject:Ls,isPlainObject:qu,isEmptyObject:MN,isReadableStream:$N,isRequest:XN,isResponse:JN,isHeaders:QN,isUndefined:Rs,isDate:LN,isFile:BN,isReactNativeBlob:FN,isReactNative:qN,isBlob:UN,isRegExp:dC,isFunction:Cn,isStream:KN,isURLSearchParams:HN,isTypedArray:aC,isFileList:WN,forEach:cl,merge:Vm,extend:ZN,trim:YN,stripBOM:eC,inherits:tC,toFlatObject:nC,kindOf:Tg,kindOfTest:or,endsWith:rC,toArray:iC,forEachEntry:sC,matchAll:oC,isHTMLForm:lC,hasOwnProperty:tc,hasOwnProp:tc,hasOwnInPrototypeChain:Zo,getSafeProp:RN,reduceDescriptors:E1,freezeMethods:hC,toObjectSet:fC,toCamelCase:uC,noop:mC,toFiniteNumber:gC,findKey:x1,global:ga,isContextDefined:A1,isSpecCompliantForm:pC,toJSONObject:bC,isAsyncFn:vC,isThenable:yC,setImmediate:S1,asap:wC,isIterable:_1,isSafeIterable:kC},xC=re.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),AC=t=>{const e={};let n,i,s;return t&&t.split(` 259`).forEach(function(u){s=u.indexOf(":"),n=u.substring(0,s).trim().toLowerCase(),i=u.substring(s+1).trim(),!(!n||e[n]&&xC[n])&&(n==="set-cookie"?e[n]?e[n].push(i):e[n]=[i]:e[n]=e[n]?e[n]+", "+i:i)}),e};function EC(t){let e=0,n=t.length;for(;e<n;){const i=t.charCodeAt(e);if(i!==9&&i!==32)break;e+=1}for(;n>e;){const i=t.charCodeAt(n-1);if(i!==9&&i!==32)break;n-=1}return e===0&&n===t.length?t:t.slice(e,n)}const SC=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),_C=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function Og(t,e){return re.isArray(t)?t.map(n=>Og(n,e)):EC(String(t).replace(e,""))}const TC=t=>Og(t,SC),OC=t=>Og(t,_C);function T1(t){const e=Object.create(null);return re.forEach(t.toJSON(),(n,i)=>{e[i]=OC(n)}),e}const ty=Symbol("internals");function Ro(t){return t&&String(t).trim().toLowerCase()}function Uu(t){return t===!1||t==null?t:re.isArray(t)?t.map(Uu):TC(String(t))}function NC(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=n.exec(t);)e[i[1]]=i[2];return e}const CC=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Ah(t,e,n,i,s){if(re.isFunction(i))return i.call(this,e,n);if(s&&(e=n),!!re.isString(e)){if(re.isString(i))return e.indexOf(i)!==-1;if(re.isRegExp(i))return i.test(e)}}function DC(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,i)=>n.toUpperCase()+i)}function zC(t,e){const n=re.toCamelCase(" "+e);["get","set","has"].forEach(i=>{Object.defineProperty(t,i+n,{__proto__:null,value:function(s,o,u){return this[i].call(this,e,s,o,u)},configurable:!0})})}let cn=class{constructor(e){e&&this.set(e)}set(e,n,i){const s=this;function o(c,p,v){const b=Ro(p);if(!b)return;const h=re.findKey(s,b);(!h||s[h]===void 0||v===!0||v===void 0&&s[h]!==!1)&&(s[h||p]=Uu(c))}const u=(c,p)=>re.forEach(c,(v,b)=>o(v,b,p));if(re.isPlainObject(e)||e instanceof this.constructor)u(e,n);else if(re.isString(e)&&(e=e.trim())&&!CC(e))u(AC(e),n);else if(re.isObject(e)&&re.isSafeIterable(e)){let c=Object.create(null),p,v;for(const b of e){if(!re.isArray(b))throw new TypeError("Object iterator must return a key-value pair");v=b[0],re.hasOwnProp(c,v)?(p=c[v],c[v]=re.isArray(p)?[...p,b[1]]:[p,b[1]]):c[v]=b[1]}u(c,n)}else e!=null&&o(n,e,i);return this}get(e,n){if(e=Ro(e),e){const i=re.findKey(this,e);if(i){const s=this[i];if(!n)return s;if(n===!0)return NC(s);if(re.isFunction(n))return n.call(this,s,i);if(re.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Ro(e),e){const i=re.findKey(this,e);
vendor: 5,334 bytes, lines 259-260
259return!!(i&&this[i]!==void 0&&(!n||Ah(this,this[i],i,n)))}return!1}delete(e,n){const i=this;let s=!1;function o(u){if(u=Ro(u),u){const c=re.findKey(i,u);c&&(!n||Ah(i,i[c],c,n))&&(delete i[c],s=!0)}}return re.isArray(e)?e.forEach(o):o(e),s}clear(e){const n=Object.keys(this);let i=n.length,s=!1;for(;i--;){const o=n[i];(!e||Ah(this,this[o],o,e,!0))&&(delete this[o],s=!0)}return s}normalize(e){const n=this,i={};return re.forEach(this,(s,o)=>{const u=re.findKey(i,o);if(u){n[u]=Uu(s),delete n[o];return}const c=e?DC(o):String(o).trim();c!==o&&delete n[o],n[c]=Uu(s),i[c]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return re.forEach(this,(i,s)=>{i!=null&&i!==!1&&(n[s]=e&&re.isArray(i)?i.join(", "):i)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(` 260`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const i=new this(e);return n.forEach(s=>i.set(s)),i}static accessor(e){const i=(this[ty]=this[ty]={accessors:{}}).accessors,s=this.prototype;function o(u){const c=Ro(u);i[c]||(zC(s,u),i[c]=!0)}return re.isArray(e)?e.forEach(o):o(e),this}};cn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);re.reduceDescriptors(cn.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(i){this[n]=i}}});re.freezeMethods(cn);const RC="[REDACTED ****]";function PC(t){if(re.hasOwnProp(t,"toJSON"))return!0;let e=Object.getPrototypeOf(t);for(;e&&e!==Object.prototype;){if(re.hasOwnProp(e,"toJSON"))return!0;e=Object.getPrototypeOf(e)}return!1}function jC(t,e){const n=new Set(e.map(o=>String(o).toLowerCase())),i=[],s=o=>{if(o===null||typeof o!="object"||re.isBuffer(o))return o;if(i.indexOf(o)!==-1)return;o instanceof cn&&(o=o.toJSON()),i.push(o);let u;if(re.isArray(o))u=[],o.forEach((c,p)=>{const v=s(c);re.isUndefined(v)||(u[p]=v)});else{if(!re.isPlainObject(o)&&PC(o))return i.pop(),o;u=Object.create(null);for(const[c,p]of Object.entries(o)){const v=n.has(c.toLowerCase())?RC:s(p);re.isUndefined(v)||(u[c]=v)}}return i.pop(),u};return s(t)}let Se=class O1 extends Error{static from(e,n,i,s,o,u){const c=new O1(e.message,n||e.code,i,s,o);return Object.defineProperty(c,"cause",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),c.name=e.name,e.status!=null&&c.status==null&&(c.status=e.status),u&&Object.assign(c,u),c}constructor(e,n,i,s,o){super(e),Object.defineProperty(this,"message",{__proto__:null,value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),i&&(this.config=i),s&&(this.request=s),o&&(this.response=o,this.status=o.status)}toJSON(){const e=this.config,n=e&&re.hasOwnProp(e,"redact")?e.redact:void 0,i=re.isArray(n)&&n.length>0?jC(e,n):re.toJSONObject(e);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:i,code:this.code,status:this.status}}};Se.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";Se.ERR_BAD_OPTION="ERR_BAD_OPTION";Se.ECONNABORTED="ECONNABORTED";Se.ETIMEDOUT="ETIMEDOUT";Se.ECONNREFUSED="ECONNREFUSED";Se.ERR_NETWORK="ERR_NETWORK";Se.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";Se.ERR_DEPRECATED="ERR_DEPRECATED";Se.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";Se.ERR_BAD_REQUEST="ERR_BAD_REQUEST";Se.ERR_CANCELED="ERR_CANCELED";Se.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";Se.ERR_INVALID_URL="ERR_INVALID_URL";Se.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const IC=null,N1=100;function Hm(t){return re.isPlainObject(t)||re.isArray(t)}function C1(t){return re.endsWith(t,"[]")?t.slice(0,-2):t}function Eh(t,e,n){return t?t.concat(e).map(function(s,o){return s=C1(s),!n&&o?"["+s+"]":s}).join(n?".":""):e}function MC(t){return re.isArray(t)&&!t.some(Hm)}const LC=re.toFlatObject(re,{},null,function(e){return/^is[A-Z]/.test(e)});function mc(t,e,n){if(!re.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=re.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(A,S){return!re.isUndefined(S[A])});const i=n.metaTokens,s=n.visitor||E,o=n.dots,u=n.indexes,c=n.Blob||typeof Blob<"u"&&Blob,p=n.maxDepth===void 0?N1:n.maxDepth,v=c&&re.isSpecCompliantForm(e),b=[];if(!re.isFunction(s))throw new TypeError("visitor must be a function");function h(y){if(y===null)return"";if(re.isDate(y))return y.toISOString();if(re.isBoolean(y))return y.toString();if(!v&&re.isBlob(y))throw new Se("Blob is not supported. Use a Buffer instead.");if(re.isArrayBuffer(y)||re.isTypedArray(y)){if(v&&typeof c=="function")return new c([y]);if(typeof Buffer<"u")return Buffer.from(y);throw new Se("Blob is not supported. Use a Buffer instead.",Se.ERR_NOT_SUPPORT)}return y}function m(y){if(y>p)throw new Se("Object is too deeply nested ("+y+" levels). Max depth: "+p,Se.ERR_FORM_DATA_DEPTH_EXCEEDED)}function f(y,A){if(p===1/0)return JSON.stringify(y);const S=[];return JSON.stringify(y,function(T,R){if(!re.isObject(R))return R;for(;S.length&&S[S.length-1]!==this;)S.pop();return S.push(R),m(A+S.length-1),R})}
vendor: 4,500 bytes, line 260
260function E(y,A,S){let x=y;if(re.isReactNative(e)&&re.isReactNativeBlob(y))return e.append(Eh(S,A,o),h(y)),!1;if(y&&!S&&typeof y=="object"){if(re.endsWith(A,"{}"))A=i?A:A.slice(0,-2),y=f(y,1);else if(re.isArray(y)&&MC(y)||(re.isFileList(y)||re.endsWith(A,"[]"))&&(x=re.toArray(y)))return A=C1(A),x.forEach(function(R,z){!(re.isUndefined(R)||R===null)&&e.append(u===!0?Eh([A],z,o):u===null?A:A+"[]",h(R))}),!1}return Hm(y)?!0:(e.append(Eh(S,A,o),h(y)),!1)}const w=Object.assign(LC,{defaultVisitor:E,convertValue:h,isVisitable:Hm});function k(y,A,S=0){if(!re.isUndefined(y)){if(m(S),b.indexOf(y)!==-1)throw new Error("Circular reference detected in "+A.join("."));b.push(y),re.forEach(y,function(T,R){(!(re.isUndefined(T)||T===null)&&s.call(e,T,re.isString(R)?R.trim():R,A,w))===!0&&k(T,A?A.concat(R):[R],S+1)}),b.pop()}}if(!re.isObject(t))throw new TypeError("data must be an object");return k(t),e}function ny(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(t).replace(/[!'()~]|%20/g,function(i){return e[i]})}function Ng(t,e){this._pairs=[],t&&mc(t,this,e)}const D1=Ng.prototype;D1.append=function(e,n){this._pairs.push([e,n])};D1.toString=function(e){const n=e?i=>e.call(this,i,ny):ny;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function BC(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function z1(t,e,n){if(!e)return t;t=t||"";const i=re.isFunction(n)?{serialize:n}:n,s=re.getSafeProp(i,"encode")||BC,o=re.getSafeProp(i,"serialize");let u;if(o?u=o(e,i):u=re.isURLSearchParams(e)?e.toString():new Ng(e,i).toString(s),u){const c=t.indexOf("#");c!==-1&&(t=t.slice(0,c)),t+=(t.indexOf("?")===-1?"?":"&")+u}return t}class ry{constructor(){this.handlers=[]}use(e,n,i){return this.handlers.push({fulfilled:e,rejected:n,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){re.forEach(this.handlers,function(i){i!==null&&e(i)})}}const Cg={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},FC=typeof URLSearchParams<"u"?URLSearchParams:Ng,qC=typeof FormData<"u"?FormData:null,UC=typeof Blob<"u"?Blob:null,WC={isBrowser:!0,classes:{URLSearchParams:FC,FormData:qC,Blob:UC},protocols:["http","https","file","blob","url","data"]},Dg=typeof window<"u"&&typeof document<"u",$m=typeof navigator=="object"&&navigator||void 0,KC=Dg&&(!$m||["ReactNative","NativeScript","NS"].indexOf($m.product)<0),GC=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",VC=Dg&&window.location.href||"http://localhost",HC=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Dg,hasStandardBrowserEnv:KC,hasStandardBrowserWebWorkerEnv:GC,navigator:$m,origin:VC},Symbol.toStringTag,{value:"Module"})),Jt={...HC,...WC};function $C(t,e){return mc(t,new Jt.classes.URLSearchParams,{visitor:function(n,i,s,o){return Jt.isNode&&re.isBuffer(n)?(this.append(i,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...e})}const iy=N1;function R1(t){if(t>iy)throw new Se("FormData field is too deeply nested ("+t+" levels). Max depth: "+iy,Se.ERR_FORM_DATA_DEPTH_EXCEEDED)}function XC(t){const e=[],n=/\w+|\[(\w*)]/g;let i;for(;(i=n.exec(t))!==null;)R1(e.length),e.push(i[0]==="[]"?"":i[1]||i[0]);return e}function JC(t){const e={},n=Object.keys(t);let i;const s=n.length;let o;for(i=0;i<s;i++)o=n[i],e[o]=t[o];return e}function P1(t){function e(n,i,s,o){R1(o);let u=n[o++];if(u==="__proto__")return!0;const c=Number.isFinite(+u),p=o>=n.length;return u=!u&&re.isArray(s)?s.length:u,p?(re.hasOwnProp(s,u)?s[u]=re.isArray(s[u])?s[u].concat(i):[s[u],i]:s[u]=i,!c):((!re.hasOwnProp(s,u)||!re.isObject(s[u]))&&(s[u]=[]),e(n,i,s[u],o)&&re.isArray(s[u])&&(s[u]=JC(s[u])),!c)}if(re.isFormData(t)&&re.isFunction(t.entries)){const n={};return re.forEachEntry(t,(i,s)=>{e(XC(i),s,n,0)}),n}return null}const us=(t,e)=>t!=null&&re.hasOwnProp(t,e)?t[e]:void 0;function QC(t,e,n){if(re.isString(t))try{return(e||JSON.parse)(t),re.trim(t)}catch(i){if(i.name!=="SyntaxError")throw i}return(n||JSON.stringify)(t)}const dl={transitional:Cg,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const i=n.getContentType()||"",s=i.indexOf("application/json")>-1,o=re.isObject(e);
vendor: 5,427 bytes, line 260
260if(o&&re.isHTMLForm(e)&&(e=new FormData(e)),re.isFormData(e))return s?JSON.stringify(P1(e)):e;if(re.isArrayBuffer(e)||re.isBuffer(e)||re.isStream(e)||re.isFile(e)||re.isBlob(e)||re.isReadableStream(e))return e;if(re.isArrayBufferView(e))return e.buffer;if(re.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let c;if(o){const p=us(this,"formSerializer");if(i.indexOf("application/x-www-form-urlencoded")>-1)return $C(e,p).toString();if((c=re.isFileList(e))||i.indexOf("multipart/form-data")>-1){const v=us(this,"env"),b=v&&v.FormData;return mc(c?{"files[]":e}:e,b&&new b,p)}}return o||s?(n.setContentType("application/json",!1),QC(e)):e}],transformResponse:[function(e){const n=us(this,"transitional")||dl.transitional,i=n&&n.forcedJSONParsing,s=us(this,"responseType"),o=s==="json";if(re.isResponse(e)||re.isReadableStream(e))return e;if(e&&re.isString(e)&&(i&&!s||o)){const c=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(e,us(this,"parseReviver"))}catch(p){if(c)throw p.name==="SyntaxError"?Se.from(p,Se.ERR_BAD_RESPONSE,this,null,us(this,"response")):p}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Jt.classes.FormData,Blob:Jt.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};re.forEach(["delete","get","head","post","put","patch","query"],t=>{dl.headers[t]={}});function Sh(t,e){const n=this||dl,i=e||n,s=cn.from(i.headers);let o=i.data;return re.forEach(t,function(c){o=c.call(n,o,s.normalize(),e?e.status:void 0)}),s.normalize(),o}function j1(t){return!!(t&&t.__CANCEL__)}let hl=class extends Se{constructor(e,n,i){super(e??"canceled",Se.ERR_CANCELED,n,i),this.name="CanceledError",this.__CANCEL__=!0}};function I1(t,e,n){const i=n.config.validateStatus;!n.status||!i||i(n.status)?t(n):e(new Se("Request failed with status code "+n.status,n.status>=400&&n.status<500?Se.ERR_BAD_REQUEST:Se.ERR_BAD_RESPONSE,n.config,n.request,n))}function YC(t){const e=/^([-+\w]{1,25}):(?:\/\/)?/.exec(t);return e&&e[1]||""}function ZC(t,e){t=t||10;const n=new Array(t),i=new Array(t);let s=0,o=0,u;return e=e!==void 0?e:1e3,function(p){const v=Date.now(),b=i[o];u||(u=v),n[s]=p,i[s]=v;let h=o,m=0;for(;h!==s;)m+=n[h++],h=h%t;if(s=(s+1)%t,s===o&&(o=(o+1)%t),v-u<e)return;const f=b&&v-b;return f?Math.round(m*1e3/f):void 0}}function eD(t,e){let n=0,i=1e3/e,s,o;const u=(v,b=Date.now())=>{n=b,s=null,o&&(clearTimeout(o),o=null),t(...v)};return[(...v)=>{const b=Date.now(),h=b-n;h>=i?u(v,b):(s=v,o||(o=setTimeout(()=>{o=null,u(s)},i-h)))},()=>s&&u(s)]}const nc=(t,e,n=3)=>{let i=0;const s=ZC(50,250);return eD(o=>{if(!o||typeof o.loaded!="number")return;const u=o.loaded,c=o.lengthComputable?o.total:void 0,p=c!=null?Math.min(u,c):u,v=Math.max(0,p-i),b=s(v);i=Math.max(i,p);const h={loaded:p,total:c,progress:c?p/c:void 0,bytes:v,rate:b||void 0,estimated:b&&c?(c-p)/b:void 0,event:o,lengthComputable:c!=null,[e?"download":"upload"]:!0};t(h)},n)},ay=(t,e)=>{const n=t!=null;return[i=>e[0]({lengthComputable:n,total:t,loaded:i}),e[1]]},sy=t=>(...e)=>re.asap(()=>t(...e)),tD=Jt.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,Jt.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(Jt.origin),Jt.navigator&&/(msie|trident)/i.test(Jt.navigator.userAgent)):()=>!0,nD=Jt.hasStandardBrowserEnv?{write(t,e,n,i,s,o,u){if(typeof document>"u")return;const c=[`${t}=${encodeURIComponent(e)}`];re.isNumber(n)&&c.push(`expires=${new Date(n).toUTCString()}`),re.isString(i)&&c.push(`path=${i}`),re.isString(s)&&c.push(`domain=${s}`),o===!0&&c.push("secure"),re.isString(u)&&c.push(`SameSite=${u}`),document.cookie=c.join("; ")},read(t){if(typeof document>"u")return null;const e=document.cookie.split(";");for(let n=0;n<e.length;n++){const i=e[n].replace(/^\s+/,""),s=i.indexOf("=");if(s!==-1&&i.slice(0,s)===t)try{return decodeURIComponent(i.slice(s+1))}catch{return i.slice(s+1)}}return null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function rD(t){return typeof t!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function iD(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}const aD=/^https?:(?!\/\/)/i,sD=/[\t\n\r]/g;function oD(t){let e=0;for(;e<t.length&&t.charCodeAt(e)<=32;)e++;return t.slice(e)}function lD(t){return oD(t).replace(sD,"")}function oy(t,e){if(typeof t=="string"&&aD.test(lD(t)))throw new Se('Invalid URL: missing "//" after protocol',Se.ERR_INVALID_URL,e)}function M1(t,e,n,i){oy(e,i);let s=!rD(e);return t&&(s||n===!1)?(oy(t,i),iD(t,e)):e}const ly=t=>t instanceof cn?{...t}:t;function Na(t,e){t=t||{},e=e||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function i(b,h,m,f){return re.isPlainObject(b)&&re.isPlainObject(h)?re.merge.call({caseless:f},b,h):re.isPlainObject(h)?re.merge({},h):re.isArray(h)?h.slice():h}function s(b,h,m,f){if(re.isUndefined(h)){if(!re.isUndefined(b))return i(void 0,b,m,f)}else return i(b,h,m,f)}function o(b,h){if(!re.isUndefined(h))return i(void 0,h)}function u(b,h){if(re.isUndefined(h)){if(!re.isUndefined(b))return i(void 0,b)}else return i(void 0,h)}function c(b){const h=re.hasOwnProp(e,"transitional")?e.transitional:void 0;
vendor: 1,255 bytes, line 260
260if(!re.isUndefined(h))if(re.isPlainObject(h)){if(re.hasOwnProp(h,b))return h[b]}else return;const m=re.hasOwnProp(t,"transitional")?t.transitional:void 0;if(re.isPlainObject(m)&&re.hasOwnProp(m,b))return m[b]}function p(b,h,m){if(re.hasOwnProp(e,m))return i(b,h);if(re.hasOwnProp(t,m))return i(void 0,b)}const v={url:o,method:o,data:o,baseURL:u,transformRequest:u,transformResponse:u,paramsSerializer:u,timeout:u,timeoutMessage:u,withCredentials:u,withXSRFToken:u,adapter:u,responseType:u,xsrfCookieName:u,xsrfHeaderName:u,onUploadProgress:u,onDownloadProgress:u,decompress:u,maxContentLength:u,maxBodyLength:u,beforeRedirect:u,transport:u,httpAgent:u,httpsAgent:u,cancelToken:u,socketPath:u,allowedSocketPaths:u,responseEncoding:u,validateStatus:p,headers:(b,h,m)=>s(ly(b),ly(h),m,!0)};return re.forEach(Object.keys({...t,...e}),function(h){if(h==="__proto__"||h==="constructor"||h==="prototype")return;const m=re.hasOwnProp(v,h)?v[h]:s,f=re.hasOwnProp(t,h)?t[h]:void 0,E=re.hasOwnProp(e,h)?e[h]:void 0,w=m(f,E,h);re.isUndefined(w)&&m!==p||(n[h]=w)}),re.hasOwnProp(e,"validateStatus")&&re.isUndefined(e.validateStatus)&&c("validateStatusUndefinedResolves")===!1&&(re.hasOwnProp(t,"validateStatus")?n.validateStatus=i(void 0,t.validateStatus):delete n.val
vendor: 4,984 bytes, line 260
260idateStatus),n}const uD=["content-type","content-length"];function cD(t,e,n){if(n!=="content-only"){t.set(e);return}Object.entries(e||{}).forEach(([i,s])=>{uD.includes(i.toLowerCase())&&t.set(i,s)})}const dD=t=>encodeURIComponent(t).replace(/%([0-9A-F]{2})/gi,(e,n)=>String.fromCharCode(parseInt(n,16)));function L1(t){const e=Na({},t),n=m=>re.hasOwnProp(e,m)?e[m]:void 0,i=n("data");let s=n("withXSRFToken");const o=n("xsrfHeaderName"),u=n("xsrfCookieName");let c=n("headers");const p=n("auth"),v=n("baseURL"),b=n("allowAbsoluteUrls"),h=n("url");if(e.headers=c=cn.from(c),e.url=z1(M1(v,h,b,e),n("params"),n("paramsSerializer")),p){const m=re.getSafeProp(p,"username")||"",f=re.getSafeProp(p,"password")||"";try{c.set("Authorization","Basic "+btoa(m+":"+(f?dD(f):"")))}catch(E){throw Se.from(E,Se.ERR_BAD_OPTION_VALUE,t)}}if(re.isFormData(i)&&(Jt.hasStandardBrowserEnv||Jt.hasStandardBrowserWebWorkerEnv||re.isReactNative(i)?c.setContentType(void 0):re.isFunction(i.getHeaders)&&cD(c,i.getHeaders(),n("formDataHeaderPolicy"))),Jt.hasStandardBrowserEnv&&(re.isFunction(s)&&(s=s(e)),s===!0||s==null&&tD(e.url))){const f=o&&u&&nD.read(u);f&&c.set(o,f)}return e}const hD=typeof XMLHttpRequest<"u",fD=hD&&function(t){return new Promise(function(n,i){const s=L1(t);let o=s.data;const u=cn.from(s.headers).normalize();let{responseType:c,onUploadProgress:p,onDownloadProgress:v}=s,b,h,m,f,E;function w(){f&&f(),E&&E(),s.cancelToken&&s.cancelToken.unsubscribe(b),s.signal&&s.signal.removeEventListener("abort",b)}let k=new XMLHttpRequest;k.open(s.method.toUpperCase(),s.url,!0),k.timeout=s.timeout;function y(){if(!k)return;const S=cn.from("getAllResponseHeaders"in k&&k.getAllResponseHeaders()),T={data:!c||c==="text"||c==="json"?k.responseText:k.response,status:k.status,statusText:k.statusText,headers:S,config:t,request:k};I1(function(z){n(z),w()},function(z){i(z),w()},T),k=null}"onloadend"in k?k.onloadend=y:k.onreadystatechange=function(){!k||k.readyState!==4||k.status===0&&!(k.responseURL&&k.responseURL.startsWith("file:"))||setTimeout(y)},k.onabort=function(){k&&(i(new Se("Request aborted",Se.ECONNABORTED,t,k)),w(),k=null)},k.onerror=function(x){const T=x&&x.message?x.message:"Network Error",R=new Se(T,Se.ERR_NETWORK,t,k);R.event=x||null,i(R),w(),k=null},k.ontimeout=function(){let x=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const T=s.transitional||Cg;s.timeoutErrorMessage&&(x=s.timeoutErrorMessage),i(new Se(x,T.clarifyTimeoutError?Se.ETIMEDOUT:Se.ECONNABORTED,t,k)),w(),k=null},o===void 0&&u.setContentType(null),"setRequestHeader"in k&&re.forEach(T1(u),function(x,T){k.setRequestHeader(T,x)}),re.isUndefined(s.withCredentials)||(k.withCredentials=!!s.withCredentials),c&&c!=="json"&&(k.responseType=s.responseType),v&&([m,E]=nc(v,!0),k.addEventListener("progress",m)),p&&k.upload&&([h,f]=nc(p),k.upload.addEventListener("progress",h),k.upload.addEventListener("loadend",f)),(s.cancelToken||s.signal)&&(b=S=>{k&&(i(!S||S.type?new hl(null,t,k):S),k.abort(),w(),k=null)},s.cancelToken&&s.cancelToken.subscribe(b),s.signal&&(s.signal.aborted?b():s.signal.addEventListener("abort",b)));const A=YC(s.url);if(A&&!Jt.protocols.includes(A)){i(new Se("Unsupported protocol "+A+":",Se.ERR_BAD_REQUEST,t)),w();return}k.send(o||null)})},mD=(t,e)=>{if(t=t?t.filter(Boolean):[],!e&&!t.length)return;const n=new AbortController;let i=!1;const s=function(p){if(!i){i=!0,u();const v=p instanceof Error?p:this.reason;n.abort(v instanceof Se?v:new hl(v instanceof Error?v.message:v))}};let o=e&&setTimeout(()=>{o=null,s(new Se(`timeout of ${e}ms exceeded`,Se.ETIMEDOUT))},e);const u=()=>{t&&(o&&clearTimeout(o),o=null,t.forEach(p=>{p.unsubscribe?p.unsubscribe(s):p.removeEventListener("abort",s)}),t=null)};t.forEach(p=>p.addEventListener("abort",s,{once:!0}));const{signal:c}=n;return c.unsubscribe=()=>re.asap(u),c},gD=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let i=0,s;for(;i<n;)s=i+e,yield t.slice(i,s),i=s},pD=async function*(t,e){for await(const n of bD(t))yield*gD(n,e)},bD=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:i}=await e.read();if(n)break;yield i}}finally{await e.cancel()}},uy=(t,e,n,i)=>{const s=pD(t,e);let o=0,u,c=p=>{u||(u=!0,i&&i(p))};return new ReadableStream({async pull(p){try{const{done:v,value:b}=await s.next();if(v){c(),p.close();return}let h=b.byteLength;if(n){let m=o+=h;n(m)}p.enqueue(new Uint8Array(b))}catch(v){throw c(v),v}},cancel(p){return c(p),s.return()}},{highWaterMark:2})},rc=t=>t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102,vD=(t,e,n)=>e+2<n&&rc(t.charCodeAt(e+1))&&rc(t.charCodeAt(e+2));function yD(t){if(!t||typeof t!="string"||!t.startsWith("data:"))return 0;const e=t.indexOf(",");if(e<0)return 0;const n=t.slice(5,e),i=t.slice(e+1);if(/;base64/i.test(n)){let u=i.length;const c=i.length;for(let f=0;f<c;f++)if(i.charCodeAt(f)===37&&f+2<c){const E=i.charCodeAt(f+1),w=i.charCodeAt(f+2);rc(E)&&rc(w)&&(u-=2,f+=2)}let p=0,v=c-1;const b=f=>f>
vendor: 1,917 bytes, line 260
260=2&&i.charCodeAt(f-2)===37&&i.charCodeAt(f-1)===51&&(i.charCodeAt(f)===68||i.charCodeAt(f)===100);v>=0&&(i.charCodeAt(v)===61?(p++,v--):b(v)&&(p++,v-=3)),p===1&&v>=0&&(i.charCodeAt(v)===61||b(v))&&p++;const m=Math.floor(u/4)*3-(p||0);return m>0?m:0}let o=0;for(let u=0,c=i.length;u<c;u++){const p=i.charCodeAt(u);if(p===37&&vD(i,u,c))o+=1,u+=2;else if(p<128)o+=1;else if(p<2048)o+=2;else if(p>=55296&&p<=56319&&u+1<c){const v=i.charCodeAt(u+1);v>=56320&&v<=57343?(o+=4,u++):o+=3}else o+=3}return o}const zg="1.18.1",cy=64*1024,{isFunction:Ou}=re,wD=t=>encodeURIComponent(t).replace(/%([0-9A-F]{2})/gi,(e,n)=>String.fromCharCode(parseInt(n,16))),dy=t=>{if(!re.isString(t))return t;try{return decodeURIComponent(t)}catch{return t}},hy=(t,...e)=>{try{return!!t(...e)}catch{return!1}},kD=t=>{const e=t.indexOf("://");let n=t;return e!==-1&&(n=n.slice(e+3)),n.includes("@")||n.includes(":")},xD=t=>{const e=re.global!==void 0&&re.global!==null?re.global:globalThis,{ReadableStream:n,TextEncoder:i}=e;t=re.merge.call({skipUndefined:!0},{Request:e.Request,Response:e.Response},t);const{fetch:s,Request:o,Response:u}=t,c=s?Ou(s):typeof fetch=="function",p=Ou(o),v=Ou(u);if(!c)return!1;const b=c&&Ou(n),h=c&&(typeof i=="function"?(y=>A=>y.encode(A))(new i):async y=>new Uint8Array(await new o(y).arrayBuffer())),m=p&&b&&hy(()=>{let y=!1;const A=new o(Jt.origin,{body:new n,method:"POST",get duplex(){return y=!0,"half"}}),S=A.headers.has("Content-Type");return A.body!=null&&A.body.cancel(),y&&!S}),f=v&&b&&hy(()=>re.isReadableStream(new u("").body)),E={stream:f&&(y=>y.body)};c&&["text","arrayBuffer","blob","formData","stream"].forEach(y=>{!E[y]&&(E[y]=(A,S)=>{let x=A&&A[y];if(x)return x.call(A);throw new Se(`Response type '${y}' is not supported`,Se.ERR_NOT_SUPPORT,S)})});const w=async y=>{if(y==null)return 0;if(re.isBlob(y))return y.size;if(re.isSpecCompliantForm(y))return(await new o(Jt.origin,{method:"POST",body:y}
vendor: 9,713 bytes, lines 260-266
260).arrayBuffer()).byteLength;if(re.isArrayBufferView(y)||re.isArrayBuffer(y))return y.byteLength;if(re.isURLSearchParams(y)&&(y=y+""),re.isString(y))return(await h(y)).byteLength},k=async(y,A)=>{const S=re.toFiniteNumber(y.getContentLength());return S??w(A)};return async y=>{let{url:A,method:S,data:x,signal:T,cancelToken:R,timeout:z,onDownloadProgress:D,onUploadProgress:F,responseType:P,headers:C,withCredentials:j="same-origin",fetchOptions:L,maxContentLength:W,maxBodyLength:G}=L1(y);const Z=re.isNumber(W)&&W>-1,te=re.isNumber(G)&&G>-1,oe=U=>re.hasOwnProp(y,U)?y[U]:void 0;let X=s||fetch;P=P?(P+"").toLowerCase():"text";let q=mD([T,R&&R.toAbortSignal()],z),N=null;const B=q&&q.unsubscribe&&(()=>{q.unsubscribe()});let K,Q=null;const J=()=>new Se("Request body larger than maxBodyLength limit",Se.ERR_BAD_REQUEST,y,N);try{let U;const $=oe("auth");if($){const De=re.getSafeProp($,"username")||"",He=re.getSafeProp($,"password")||"";U={username:De,password:He}}if(kD(A)){const De=new URL(A,Jt.origin);if(!U&&(De.username||De.password)){const He=dy(De.username),de=dy(De.password);U={username:He,password:de}}(De.username||De.password)&&(De.username="",De.password="",A=De.href)}if(U&&(C.delete("authorization"),C.set("Authorization","Basic "+btoa(wD((U.username||"")+":"+(U.password||""))))),Z&&typeof A=="string"&&A.startsWith("data:")&&yD(A)>W)throw new Se("maxContentLength size of "+W+" exceeded",Se.ERR_BAD_RESPONSE,y,N);if(te&&S!=="get"&&S!=="head"){const De=await w(x);if(typeof De=="number"&&isFinite(De)&&(K=De,De>G))throw J()}const se=te&&(re.isReadableStream(x)||re.isStream(x)),ie=(De,He,de)=>uy(De,cy,he=>{if(te&&he>G)throw Q=J();He&&He(he)},de);if(m&&S!=="get"&&S!=="head"&&(F||se)){if(K=K??await k(C,x),K!==0||se){let De=new o(A,{method:"POST",body:x,duplex:"half"}),He;if(re.isFormData(x)&&(He=De.headers.get("content-type"))&&C.setContentType(He),De.body){const[de,he]=F&&ay(K,nc(sy(F)))||[];x=ie(De.body,de,he)}}}else if(se&&!p&&b&&S!=="get"&&S!=="head")x=ie(x);else if(se&&p&&!m&&S!=="get"&&S!=="head")throw new Se("Stream request bodies are not supported by the current fetch implementation",Se.ERR_NOT_SUPPORT,y,N);re.isString(j)||(j=j?"include":"omit");const fe=p&&"credentials"in o.prototype;if(re.isFormData(x)){const De=C.getContentType();De&&/^multipart\/form-data/i.test(De)&&!/boundary=/i.test(De)&&C.delete("content-type")}C.set("User-Agent","axios/"+zg,!1);const pe={...L,signal:q,method:S.toUpperCase(),headers:T1(C.normalize()),body:x,duplex:"half",credentials:fe?j:void 0};N=p&&new o(A,pe);let Oe=await(p?X(N,L):X(A,pe));const Ee=cn.from(Oe.headers);if(Z){const De=re.toFiniteNumber(Ee.getContentLength());if(De!=null&&De>W)throw new Se("maxContentLength size of "+W+" exceeded",Se.ERR_BAD_RESPONSE,y,N)}const Fe=f&&(P==="stream"||P==="response");if(f&&Oe.body&&(D||Z||Fe&&B)){const De={};["status","statusText","headers"].forEach(me=>{De[me]=Oe[me]});const He=re.toFiniteNumber(Ee.getContentLength()),[de,he]=D&&ay(He,nc(sy(D),!0))||[];let we=0;const Ae=me=>{if(Z&&(we=me,we>W))throw new Se("maxContentLength size of "+W+" exceeded",Se.ERR_BAD_RESPONSE,y,N);de&&de(me)};Oe=new u(uy(Oe.body,cy,Ae,()=>{he&&he(),B&&B()}),De)}P=P||"text";let Ce=await E[re.findKey(E,P)||"text"](Oe,y);if(Z&&!f&&!Fe){let De;if(Ce!=null&&(typeof Ce.byteLength=="number"?De=Ce.byteLength:typeof Ce.size=="number"?De=Ce.size:typeof Ce=="string"&&(De=typeof i=="function"?new i().encode(Ce).byteLength:Ce.length)),typeof De=="number"&&De>W)throw new Se("maxContentLength size of "+W+" exceeded",Se.ERR_BAD_RESPONSE,y,N)}return!Fe&&B&&B(),await new Promise((De,He)=>{I1(De,He,{data:Ce,headers:cn.from(Oe.headers),status:Oe.status,statusText:Oe.statusText,config:y,request:N})})}catch(U){if(B&&B(),q&&q.aborted&&q.reason instanceof Se){const $=q.reason;throw $.config=y,N&&($.request=N),U!==$&&Object.defineProperty($,"cause",{__proto__:null,value:U,writable:!0,enumerable:!1,configurable:!0}),$}if(Q)throw N&&!Q.request&&(Q.request=N),Q;if(U instanceof Se)throw N&&!U.request&&(U.request=N),U;if(U&&U.name==="TypeError"&&/Load failed|fetch/i.test(U.message)){const $=new Se("Network Error",Se.ERR_NETWORK,y,N,U&&U.response);throw Object.defineProperty($,"cause",{__proto__:null,value:U.cause||U,writable:!0,enumerable:!1,configurable:!0}),$}throw Se.from(U,U&&U.code,y,N,U&&U.response)}}},AD=new Map,B1=t=>{let e=t&&t.env||{};const{fetch:n,Request:i,Response:s}=e,o=[i,s,n];let u=o.length,c=u,p,v,b=AD;for(;c--;)p=o[c],v=b.get(p),v===void 0&&b.set(p,v=c?new Map:xD(e)),b=v;return v};B1();const Rg={http:IC,xhr:fD,fetch:{get:B1}};re.forEach(Rg,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{__proto__:null,value:e})}catch{}Object.defineProperty(t,"adapterName",{__proto__:null,value:e})}});const fy=t=>`- ${t}`,ED=t=>re.isFunction(t)||t===null||t===!1;function SD(t,e){t=re.isArray(t)?t:[t];const{length:n}=t;let i,s;const o={};for(let u=0;u<n;u++){i=t[u];let c;if(s=i,!ED(i)&&(s=Rg[(c=String(i)).toLowerCase()],s===void 0))throw new Se(`Unknown adapter '${c}'`);if(s&&(re.isFunction(s)||(s=s.get(e))))break;o[c||"#"+u]=s}if(!s){const u=Object.entries(o).map(([p,v])=>`adapter ${p} `+(v===!1?"is not supported by the environment":"is not available in the build"));let c=n?u.length>1?`since : 261`+u.map(fy).join(` 262`):" "+fy(u[0]):"as no adapter specified";throw new Se("There is no suitable adapter to dispatch the request "+c,Se.ERR_NOT_SUPPORT)}return s}const F1={getAdapter:SD,adapters:Rg};function _h(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new hl(null,t)}function my(t){return _h(t),t.headers=cn.from(t.headers),t.data=Sh.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),F1.getAdapter(t.adapter||dl.adapter,t)(t).then(function(i){_h(t),t.response=i;try{i.data=Sh.call(t,t.transformResponse,i)}finally{delete t.response}return i.headers=cn.from(i.headers),i},function(i){if(!j1(i)&&(_h(t),i&&i.response)){t.response=i.response;try{i.response.data=Sh.call(t,t.transformResponse,i.response)}finally{delete t.response}i.response.headers=cn.from(i.response.headers)}return Promise.reject(i)})}const gc={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{gc[t]=function(i){return typeof i===t||"a"+(e<1?"n ":" ")+t}});const gy={};gc.transitional=function(e,n,i){function s(o,u){return"[Axios v"+zg+"] Transitional option '"+o+"'"+u+(i?". "+i:"")}return(o,u,c)=>{if(e===!1)throw new Se(s(u," has been removed"+(n?" in "+n:"")),Se.ERR_DEPRECATED);return n&&!gy[u]&&(gy[u]=!0,console.warn(s(u," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(o,u,c):!0}};gc.spelling=function(e){return(n,i)=>(console.warn(`${i} is likely a misspelling of ${e}`),!0)};function _D(t,e,n){if(typeof t!="object"||t===null)throw new Se("options must be an object",Se.ERR_BAD_OPTION_VALUE);const i=Object.keys(t);let s=i.length;for(;s-- >0;){const o=i[s],u=Object.prototype.hasOwnProperty.call(e,o)?e[o]:void 0;if(u){const c=t[o],p=c===void 0||u(c,o,t);if(p!==!0)throw new Se("option "+o+" must be "+p,Se.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Se("Unknown option "+o,Se.ERR_BAD_OPTION)}}const Wu={assertOptions:_D,validators:gc},sn=Wu.validators;let Sa=class{constructor(e){this.defaults=e||{},this.interceptors={request:new ry,response:new ry}}async request(e,n){try{return await this._request(e,n)}catch(i){if(i instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=(()=>{if(!s.stack)return"";const u=s.stack.indexOf(` 263`);return u===-1?"":s.stack.slice(u+1)})();try{if(!i.stack)i.stack=o;else if(o){const u=o.indexOf(` 264`),c=u===-1?-1:o.indexOf(` 265`,u+1),p=c===-1?"":o.slice(c+1);String(i.stack).endsWith(p)||(i.stack+=` 266`+o)}}catch{}}throw i}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Na(this.defaults,n);const{transitional:i,paramsSerializer:s,headers:o}=n;i!==void 0&&Wu.assertOptions(i,{silentJSONParsing:sn.transitional(sn.boolean),forcedJSONParsing:sn.transitional(sn.boolean),clarifyTimeoutError:sn.transitional(sn.boolean),legacyInterceptorReqResOrdering:sn.transitional(sn.boolean),advertiseZstdAcceptEncoding:sn.transitional(sn.boolean),validateStatusUndefinedResolves:sn.transitional(sn.boolean)},!1),s!=null&&(re.isFunction(s)?n.paramsSerializer={serialize:s}:Wu.assertOptions(s,{encode:sn.function,serialize:sn.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Wu.assertOptions(n,{baseUrl:sn.spelling("baseURL"),withXsrfToken:sn.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let u=o&&re.merge(o.common,o[n.method]);o&&re.forEach(["delete","get","head","post","put","patch","query","common"],E=>{delete o[E]}),n.headers=cn.concat(u,o);const c=[];let p=!0;this.interceptors.request.forEach(function(w){if(typeof w.runWhen=="function"&&w.runWhen(n)===!1)return;p=p&&w.synchronous;const k=n.transitional||Cg;k&&k.legacyInterceptorReqResOrdering?c.unshift(w.fulfilled,w.rejected):c.push(w.fulfilled,w.rejected)});const v=[];this.interceptors.response.forEach(function(w){v.push(w.fulfilled,w.rejected)});let b,h=0,m;if(!p){const E=[my.bind(this),void 0];for(E.unshift(...c),E.push(...v),m=E.length,b=Promise.resolve(n);h<m;)b=b.then(E[h++],E[h++]);return b}m=c.length;let f=n;for(;h<m;){const E=c[h++],w=c[h++];try{f=E(f)}catch(k){w.call(this,k);break}}try{b=my.call(this,f)}catch(E){return Promise.reject(E)}for(h=0,m=v.length;h<m;)b=b.then(v[h++],v[h++]);return b}getUri(e){e=Na(this.defaults,e);const n=M1(e.baseURL,e.url,e.allowAbsoluteUrls,e);return z1(n,e.params,e.paramsSerializer)}};
vendor: 1,719 bytes, line 266
266re.forEach(["delete","get","head","options"],function(e){Sa.prototype[e]=function(n,i){return this.request(Na(i||{},{method:e,url:n,data:i&&re.hasOwnProp(i,"data")?i.data:void 0}))}});re.forEach(["post","put","patch","query"],function(e){function n(i){return function(o,u,c){return this.request(Na(c||{},{method:e,headers:i?{"Content-Type":"multipart/form-data"}:{},url:o,data:u}))}}Sa.prototype[e]=n(),e!=="query"&&(Sa.prototype[e+"Form"]=n(!0))});let TD=class q1{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const i=this;this.promise.then(s=>{if(!i._listeners)return;let o=i._listeners.length;for(;o-- >0;)i._listeners[o](s);i._listeners=null}),this.promise.then=s=>{let o;const u=new Promise(c=>{i.subscribe(c),o=c}).then(s);return u.cancel=function(){i.unsubscribe(o)},u},e(function(o,u,c){i.reason||(i.reason=new hl(o,u,c),n(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=i=>{e.abort(i)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new q1(function(s){e=s}),cancel:e}}};function OD(t){return function(n){return t.apply(null,n)}}function ND(t){return re.isObject(t)&&t.isAxiosError===!0}const Xm={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,Parti
266alContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Xm).forEach(([t,e])=>{Xm[e]=t});function U1(t){const e=new Sa(t),n=v1(Sa.prototype.request,e);return re.extend(n,Sa.prototype,e,{allOwnKeys:!0}),re.extend(n,e,null,{allOwnKeys:!0}),n.create=function(s){return U1(Na(t,s))},n}const Ot=U1(dl);Ot.Axios=Sa;Ot.CanceledError=hl;Ot.CancelToken=TD;Ot.isCancel=j1;Ot.VERSION=zg;Ot.toFormData=mc;Ot.AxiosError=Se;Ot.Cancel=Ot.CanceledError;Ot.all=function(e){return Promise.all(e)};Ot.spread=OD;Ot.isAxiosError=ND;Ot.mergeConfig=Na;Ot.AxiosHeaders=cn;Ot.formToJSON=t=>P1(re.isHTMLForm(t)?new FormData(t):t);Ot.getAdapter=F1.getAdapter;Ot.HttpStatusCode=Xm;Ot.default=Ot;const{Axios:WL,AxiosError:KL,CanceledError:GL,isCancel:VL,CancelToken:HL,VERSION:$L,all:XL,Cancel:JL,isAxiosError:QL,spread:YL,toFormData:ZL,AxiosHeaders:e3,HttpStatusCode:t3,formToJSON:n3,getAdapter:r3,mergeConfig:i3,create:a3}=Ot,W1=typeof window>"u",py=!W1&&window.self!==window.top,CD=!W1&&typeof document>"u",Th=()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),Ht=[];for(let t=0;t<256;++t)Ht.push((t+256).toString(16).slice(1));function DD(t,e=0){return(Ht[t[e+0]]+Ht[t[e+1]]+Ht[t[e+2]]+Ht[t[e+3]]+"-"+Ht[t[e+4]]+Ht[t[e+5]]+"-"+Ht[t[e+6]]+Ht[t[e+7]]+"-"+Ht[t[e+8]]+Ht[t[e+9]]+"-"+Ht[t[e+10]]+Ht[t[e+11]]+Ht[t[e+12]]+Ht[t[e+13]]+Ht[t[e+14]]+Ht[t[e+15]]).toLowerCase()}let Oh;const zD=new Uint8Array(16);function RD(){if(!Oh){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Oh=crypto.getRandomValues.bind(crypto)}return Oh(zD)}const PD=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),by={randomUUID:PD};function jD(t,e,n){var s;t=t||{};const i=t.random??((s=t.rng)==null?void 0:s.call(t))??RD();if(i.length<16)throw new Error("Random bytes length must be >= 16");return i[6]=i[6]&15|64,i[8]=i[8]&63|128,DD(i)}function ID(t,e,n){return by.randomUUID&&!t?by.randomUUID():jD(t)}const Po=typeof window<"u"?window:{base44SharedInstances:{}};function MD(t,e){return Po.base44SharedInstances||(Po.base44SharedInstances={}),Po.base44SharedInstances[t]||(Po.base44SharedInstances[t]={instance:e()}),Po.base44SharedInstances[t].instance}const LD="__user_heartbeat_event__",BD="__initialization_event__",FD="__session_duration_event__",vy="analytics-enable",yy="base44_analytics_session_id",qD={enabled:!0,maxQueueSize:1e3,throttleTime:1e3,batchSize:30,heartBeatInterval:60*1e3},UD="analytics",ht=MD(UD,()=>({requestsQueue:[],isProcessing:!1,isHeartBeatProcessing:!1,wasInitializationTracked:!1,sessionContext:null,sessionStartTime:null,config:{...qD,...JD()}})),WD=({axiosClient:t,serverUrl:e,appId:n,userAuthModule:i})=>{var s;const{maxQueueSize:o,throttleTime:u,batchSize:c}=ht.config;if(!(!((s=ht.config)===null||s===void 0)&&s.enabled)||CD)return{track:()=>{},cleanup:()=>{}};let p;const v=`${e}/api/apps/${n}/analytics/track/batch`,b=async S=>{await t.request({method:"POST",url:`/apps/${n}/analytics/track/batch`,data:{events:S}})},h=S=>{try{const x=JSON.stringify({events:S}),T=new Blob([x],{type:"application/json"});return typeof navigator>"u"||x.length>6e4||!navigator.sendBeacon(v,T)}catch{return!1}},m=async(S,x={})=>
266{if(S.length===0)return;const T=await XD(i),R=S.map($D(T));try{(!x.isBeacon||!h(R))&&await b(R)}catch{}},f=()=>{ky(m,{throttleTime:u,batchSize:c})},E=S=>{if(ht.requestsQueue.length>=o)return;const x=HD();ht.requestsQueue.push({...S,...x}),f()},w=()=>{ky(m,{throttleTime:u,batchSize:c}),p=xy(E),GD()},k=()=>{wy(),p==null||p(),VD(E);const S=ht.requestsQueue.splice(0);m(S,{isBeacon:!0})},y=()=>{typeof window>"u"||(document.visibilityState==="hidden"?k():document.visibilityState==="visible"&&w())},A=()=>{wy(),p==null||p(),typeof window<"u"&&window.removeEventListener("visibilitychange",y)};return f(),p=xy(E),KD(E),typeof window<"u"&&window.addEventListener("visibilitychange",y),{track:E,cleanup:A}};function wy(){ht.isProcessing=!1}async function ky(t,e){if(ht.isProcessing)return;ht.isProcessing=!0;const{throttleTime:n=1e3,batchSize:i=30}=e??{};for(;ht.isProcessing&&ht.requestsQueue.length>0;){const s=ht.requestsQueue.splice(0,i);s.length&&await t(s),await new Promise(o=>setTimeout(o,n))}ht.isProcessing=!1}function xy(t){var e;if(typeof window>"u"||ht.isHeartBeatProcessing||((e=ht.config.heartBeatInterval)!==null&&e!==void 0?e:0)<10)return()=>{};ht.isHeartBeatProcessing=!0;const n=setInterval(()=>{t({eventName:LD})},ht.config.heartBeatInterval);return()=>{clearInterval(n),ht.isHeartBeatProcessing=!1}}function KD(t){typeof window>"u"||ht.wasInitializationTracked||(ht.wasInitializationTracked=!0,t({eventName:BD,properties:{referrer:document==null?void 0:document.referrer}}))}function GD(){typeof window>"u"||ht.sessionStartTime!==null||(ht.sessionStartTime=new Date().toISOString())}function VD(t){if(typeof window>"u"||ht.sessionStartTime===null)return;const e=new Date().getTime()-new Date(ht.sessionStartTime).getTime();ht.sessionStartTime=null,t({eventName:FD,properties:{sessionDuration:e}})}function HD(){return{timestamp:new Date().toISOString(),pageUrl:typeof window<"u"?window.location.pathname:null}}function $D(t){return e=>({event_name:e.eventName,properties:e.properties,timestamp:e.timestamp,page_url:e.pageUrl,...t})}let Fo=null;function Ay(){ht.sessionContext=null,Fo=null}async function XD(t){if(!ht.sessionContext){if(!t.hasToken())return{user_id:null,session_id:ic()};if(!Fo){const i=ic();Fo=t.me().then(s=>({user_id:s.id,session_id:i})).catch(()=>({user_id:null,session_id:i}))}const e=Fo,n=await e;return Fo===e&&(ht.sessionContext=n),n}return ht.sessionContext}function JD(){if(typeof window>"u"||!window.location)return;const e=new URLSearchParams(window.location.search).get(vy);if(e==null||!e.length)return;const n=new URLSearchParams(window.location.search);n.delete(vy);const i=window.location.pathname+(n.toString()?"?"+n.toString():"");return window.history.replaceState({},"",i),{enabled:e==="true"}}function ic(){if(typeof window>"u")return Th();try{const t=localStorage.getItem(yy);if(!t){const e=Th();return localStorage.setItem(yy,e),e}return t}catch{return Th()}}class QD extends Error{constructor(e,n,i,s,o){super(e),this.name="Base44Error",this.status=n,this.code=i,this.data=s,this.originalError=o}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code,data:this.data}}}function qo({baseURL:t,headers:e={},token:n,interceptResponses:i=!0,onError:s}){const o=Ot.create({baseURL:t,headers:{"Content-Type":"application/json",Accept:"application/json",...e}});return n&&(o.defaults.headers.common.Authorization=`Bearer ${n}`),o.interceptors.request.use(u=>{typeof window<"u"&&window.location&&(u.headers.set("X-Origin-URL",window.location.href),u.headers.get("Authorization")||u.headers.set("X-Base44-Anonymous-Id",ic()));const c=ID();if(u.requestId=c,py)try{window.parent.postMessage({type:"api-request-start",requestId:c,data:{url:t+u.url,method:u.method,body:u.data instanceof FormData?"[FormData object]":u.data}},"*")}catch{}return u}),i&&o.interceptors.response.use(u=>{var c;const p=(c=u.config)===null||c===void 0?void 0:c.requestId;try{py&&p&&window.parent.postMessage({type:"api-request-end",requestId:p,data:{statusCode:u.status,response:u.data}},"*")}catch{}return u.data},u=>{var c,p,v,b,h,m,f,E;const w=((p=(c=u.response)===null||c===void 0?void 0:c.data)===null||p===void 0?void 0:p.message)||((b=(v=u.response)===null||v===void 0?void 0:v.data)===null||b===void 0?void 0:b.detail)||u.message,k=new QD(w,(h=u.response)===null||h===void 0?void 0:h.status,(f=(m=u.response)===null||m===void 0?void 0:m.data)===null||f===void 0?void 0:f.code,(E=u.response)===null||E===void 0?void 0:E.data,u);return s==null||s(k),Promise.reject(k)}),o}function Ey(t){const{axios:e,appId:n,getSocket:i}=t;return new Proxy({},{get(s,o){if(!(typeof o!="string"||o==="then"||o.startsWith("_")))return ZD(e,n,o,i)}})}function YD(t){var e;try{const n=JSON.parse(t);
266return{type:n.type,data:n.data,id:n.id||((e=n.data)===null||e===void 0?void 0:e.id),timestamp:n.timestamp||new Date().toISOString()}}catch(n){return console.warn("[Base44 SDK] Failed to parse realtime message:",n),null}}function ZD(t,e,n,i){const s=`/apps/${e}/entities/${n}`;return{async list(o,u,c,p){const v={};return o&&(v.sort=o),u&&(v.limit=u),c&&(v.skip=c),p&&(v.fields=Array.isArray(p)?p.join(","):p),t.get(s,{params:v})},async filter(o,u,c,p,v){const b={q:JSON.stringify(o)};return u&&(b.sort=u),c&&(b.limit=c),p&&(b.skip=p),v&&(b.fields=Array.isArray(v)?v.join(","):v),t.get(s,{params:b})},async get(o){return t.get(`${s}/${o}`)},async create(o){return t.post(s,o)},async update(o,u){return t.put(`${s}/${o}`,u)},async delete(o){return t.delete(`${s}/${o}`)},async deleteMany(o){return t.delete(s,{data:o})},async bulkCreate(o){return t.post(`${s}/bulk`,o)},async updateMany(o,u){return t.patch(`${s}/update-many`,{query:o,data:u})},async bulkUpdate(o){return t.put(`${s}/bulk`,o)},async importEntities(o){const u=new FormData;return u.append("file",o,o.name),t.post(`${s}/import`,u,{headers:{"Content-Type":"multipart/form-data"}})},subscribe(o){const u=`entities:${e}:${n}`;return i().subscribeToRoom(u,{update_model:v=>{var b;const h=YD(v.data);if(h){h.type!=="delete"&&(!((b=h.data)===null||b===void 0)&&b._oversize)&&console.error(`[Base44 SDK] Realtime broadcast for ${n}#${h.id} was oversize and got slimmed for transport. Fields >10 KB are empty and the rest of the record may be a stub. Call \`entities.${n}.get("${h.id}")\` to fetch the full record.`);try{o(h)}catch(m){console.error("[Base44 SDK] Subscription callback error:",m)}}}})}}}function ez(t,e){return{async call(n,i,s){if(!(n!=null&&n.trim()))throw new Error("Integration slug is required and cannot be empty");if(!(i!=null&&i.trim()))throw new Error("Operation ID is required and cannot be empty");const{pathParams:o,queryParams:u,...c}=s??{},p={...c,...o&&{path_params:o},...u&&{query_params:u}};return await t.post(`/apps/${e}/integrations/custom/${n}/${i}`,p)}}}function Sy(t,e){const n=ez(t,e);return new Proxy({},{get(i,s){if(!(typeof s!="string"||s==="then"||s.startsWith("_")))return s==="custom"?n:new Proxy({},{get(o,u){if(!(typeof u!="string"||u==="then"||u.startsWith("_")))return async c=>{if(typeof c=="string")throw new Error(`Integration ${u} must receive an object with named parameters, received: ${c}`);let p,v;return c instanceof FormData||c&&Object.values(c).some(b=>b instanceof File)?(p=new FormData,Object.keys(c).forEach(b=>{c[b]instanceof File?p.append(b,c[b],c[b].name):typeof c[b]=="object"&&c[b]!==null?p.append(b,JSON.stringify(c[b])):p.append(b,c[b])}),v="multipart/form-data"):(p=c,v="application/json"),s==="Core"?t.post(`/apps/${e}/integration-endpoints/Core/${u}`,p||c,{headers:{"Content-Type":v}}):t.post(`/apps/${e}/integration-endpoints/installable/${s}/integration-endpoints/${u}`,p||c,{headers:{"Content-Type":v}})}}})}})}function tz(){return typeof window>"u"?!1:window!==window.parent}function nz(t,e,n){const o=Math.round(window.screenX+(window.outerWidth-500)/2),u=Math.round(window.screenY+(window.outerHeight-600)/2),c=window.open(t,"base44_auth",`width=500,height=600,left=${o},top=${u},resizable=yes,scrollbars=yes`);if(!c)return;const p=()=>{window.removeEventListener("message",v),clearInterval(b),c.closed||c.close()},v=h=>{var m;if(h.origin!==n||h.source!==c||!(!((m=h.data)===null||m===void 0)&&m.access_token))return;p();const f=new URL(e),{access_token:E,is_new_user:w}=h.data;f.searchParams.set("access_token",E),w!=null&&f.searchParams.set("is_new_user",String(w)),window.location.href=f.toString()},b=setInterval(()=>{c.closed&&p()},500);window.addEventListener("message",v)}function rz(t,e,n,i){let s=null;const o=()=>{s=null};let u=!!i.token;return{hasToken(){return u},async me(){const c=s??t.get(`/apps/${n}/entities/User/me`).finally(()=>{s===c&&(s=null)});return s=c,c},async updateMe(c){return t.put(`/apps/${n}/entities/User/me`,c)},redirectToLogin(c){if(typeof window>"u")throw new Error("Login method can only be used in a browser environment");const p=c?new URL(c,window.location.origin).toString():window.location.href,v=`${i.appBaseUrl}/login?from_url=${encodeURIComponent(p)}`;window.location.href=v},loginWithProvider(c,p="/"){const v=new URL(p,window.location.origin).toString(),b=`app_id=${n}&from_url=${encodeURIComponent(v)}`;let h;c==="sso"?h=`/apps/${n}/auth/sso/login`:h=`/apps/auth${c==="google"?"":`/${c}`}/login`;const m=`${i.appBaseUrl}/api${h}?${b}`;if(tz()){const f=`${m}&popup_origin=${encodeURIComponent(window.location.origin)}`;return nz(f,v,window.location.origin)}window.location.href=m},logout(c){if(delete t.defaults.headers.common.Authorization,o(),Ay(),u=!1,typeof window<"u"){if(window.localStorage)try{window.localStorage.removeItem("base44_access_token"),window.localStorage.removeItem("token")}catch(b){console.error("Failed to remove token from localStorage:",b)}const p=c||window.location.href,v=`${i.appBaseUrl}/api/apps/auth/logout?from_url=${encodeURIComponent(p)}`;window.location.href=v}},setToken(c,p=!0){if(c&&(o(),Ay(),u=!0,t.defaults.headers.common.Authorization=`Bearer ${c}`,e.defaults.headers.common.Authorization=`Bearer ${c}`,p&&typeof window<"u"&&window.localStorage))try{window.localStorage.setItem("base44_access_token",c),window.localStorage.setItem("token",c)}catch(v){console.error("Failed to save token to localStorage:",v)}},async loginViaEmailPassword(c,p,v){var b;try{const h=await t.post(`/apps/${n}/auth/login`,{email:c,password:p,...v&&{turnstile_token:v}}),{access_token:m,user:f}=h;return m&&this.setToken(m),{access_token:m,user:f}}catch(h){throw((b=h.response)===null||b===void 0?void 0:b.status)===401&&await this.logout(),h}},async isAuthenticated(){try{return await this.me(),!0}catch{return!1}},inviteUser(c,p){return t.post(`/apps/${n}/users/invite-user`,{user_email:c,role:p})},register(c){return t.post(`/apps/${n}/auth/register`,c)},verifyOtp({email:c,otpCode:p}){return t.post(`/apps/${n}/auth/verify-otp`,{email:c,otp_code:p})},resendOtp(c){return t.post(`/apps/${n}/auth/resend-otp`,{email:c})},resetPasswordRequest(c){return t.post(`/apps/${n}/auth/reset-password-request`,{email:c})},resetPassword({resetToken:c,newPassword:p}){return t.post(`/apps/${n}/auth/reset-password`,{reset_token:c,new_password:p})},changePassword({userId:c,currentPassword:p,newPassword:v}){return t.post(`/apps/${n}/auth/change-password`,{user_id:c,current_password:p,new_password:v})}}}function iz(t,e){return{async getAccessToken(n){const i=`/apps/${e}/auth/sso/accesstoken/${n}`;return t.get(i)},async getIdToken(n){const i=`/apps/${e}/auth/sso/idtoken/${n}`;return t.get(i)}}}
266function az(t,e){return{async getAccessToken(n){if(!n||typeof n!="string")throw new Error("Integration type is required and must be a string");return(await t.get(`/apps/${e}/external-auth/tokens/${n}`)).access_token},async getConnection(n){var i;if(!n||typeof n!="string")throw new Error("Integration type is required and must be a string");const o=await t.get(`/apps/${e}/external-auth/tokens/${n}`);return{accessToken:o.access_token,connectionConfig:(i=o.connection_config)!==null&&i!==void 0?i:null}},async getWorkspaceConnection(n){var i;if(!n||typeof n!="string")throw new Error("Connector ID is required and must be a string");const o=await t.get(`/apps/${e}/external-auth/tokens/connectors/${n}`);return{accessToken:o.access_token,connectionConfig:(i=o.connection_config)!==null&&i!==void 0?i:null}},async getCurrentAppUserAccessToken(n){if(!n||typeof n!="string")throw new Error("Connector ID is required and must be a string");return(await t.get(`/apps/${e}/app-user-auth/connectors/${n}/token`)).access_token},async getCurrentAppUserConnection(n){var i;if(!n||typeof n!="string")throw new Error("Connector ID is required and must be a string");const o=await t.get(`/apps/${e}/app-user-auth/connectors/${n}/token`);return{accessToken:o.access_token,connectionConfig:(i=o.connection_config)!==null&&i!==void 0?i:null}}}}function sz(t,e){return{async connectAppUser(n){if(!n||typeof n!="string")throw new Error("Connector ID is required and must be a string");return(await t.post(`/apps/${e}/app-user-auth/connectors/${n}/initiate`)).redirect_url},async disconnectAppUser(n){if(!n||typeof n!="string")throw new Error("Connector ID is required and must be a string");await t.delete(`/apps/${e}/app-user-auth/connectors/${n}`)}}}function _a(t={}){const{storageKey:e="base44_access_token",paramName:n="access_token",saveToStorage:i=!0,removeFromUrl:s=!0}=t;let o=null;if(typeof window<"u"&&window.location)try{const u=new URLSearchParams(window.location.search);if(o=u.get(n),o){if(i&&oz(o,{storageKey:e}),s){u.delete(n);const c=`${window.location.pathname}${u.toString()?`?${u.toString()}`:""}${window.location.hash}`;window.history.replaceState({},document.title,c)}return o}}catch(u){console.error("Error retrieving token from URL:",u)}if(typeof window<"u"&&window.localStorage)try{return o=window.localStorage.getItem(e),o}catch(u){console.error("Error retrieving token from local storage:",u)}return null}function oz(t,e){const{storageKey:n="base44_access_token"}=e;if(typeof window>"u"||!window.localStorage||!t)return!1;try{return window.localStorage.setItem(n,t),window.localStorage.setItem("token",t),!0}catch(i){return console.error("Error saving token to local storage:",i),!1}}function _y(t,e,n){const i=(o,u)=>o?`${String(o).replace(/\/$/,"")}${u}`:u,s=o=>{const u=new Headers;if(n!=null&&n.getAuthHeaders){const c=n.getAuthHeaders();Object.entries(c).forEach(([p,v])=>{v!=null&&u.set(p,String(v))})}return o&&new Headers(o).forEach((c,p)=>{u.set(p,c)}),u};return{async invoke(o,u){if(typeof u=="string")throw new Error(`Function ${o} must receive an object with named parameters, received: ${u}`);let c,p;return u instanceof FormData||u&&Object.values(u).some(v=>v instanceof File)?(c=new FormData,Object.keys(u).forEach(v=>{u[v]instanceof File?c.append(v,u[v],u[v].name):typeof u[v]=="object"&&u[v]!==null?c.append(v,JSON.stringify(u[v])):c.append(v,u[v])}),p="multipart/form-data"):(c=u,p="application/json"),t.post(`/apps/${e}/functions/${o}`,c||u,{headers:{"Content-Type":p}})},async fetch(o,u={}){const p=`/functions${o.startsWith("/")?o:`/${o}`}`,v=s(u.headers),b={...u,headers:v};return await fetch(i(n==null?void 0:n.baseURL,p),b)}}}function Ty({axios:t,getSocket:e,appId:n,serverUrl:i,token:s}){const o=`/apps/${n}/agents`,u={},c=()=>t.get(`${o}/conversations`),p=w=>t.get(`${o}/conversations/${w}`);return{getConversations:c,getConversation:p,listConversations:w=>t.get(`${o}/conversations`,{params:w}),createConversation:w=>t.post(`${o}/conversations`,w),addMessage:async(w,k)=>t.post(`${o}/conversations/v2/${w.id}/messages`,k),subscribeToConversation:(w,k)=>{const y=`/agent-conversations/${w}`,A=e(),S=p(w).then(x=>(u[w]=x,x));
266return A.subscribeToRoom(y,{connect:()=>{},update_model:async({data:x})=>{const T=JSON.parse(x);if(T._message){await S;const R=T._message,z=u[w];if(z){const D=z.messages||[],F=D.findIndex(C=>C.id===R.id),P=F!==-1?D.map((C,j)=>j===F?R:C):[...D,R];u[w]={...z,messages:P},k==null||k(u[w])}}}})},getWhatsAppConnectURL:w=>{const k=`${i}/api/apps/${n}/agents/${encodeURIComponent(w)}/whatsapp`,y=s??_a();return y?`${k}?token=${y}`:k},getTelegramConnectURL:w=>{const k=`${i}/api/apps/${n}/agents/${encodeURIComponent(w)}/telegram`,y=s??_a();return y?`${k}?token=${y}`:k}}}function Oy({serverUrl:t,token:e,appId:n}){return{connection:()=>{var s;return{baseURL:`${t}/api/apps/${n}/ai/openai/v1`,token:(s=e??_a())!==null&&s!==void 0?s:""}}}}function Ny(t,e){const n=`/app-logs/${e}`;return{async logUserInApp(i){await t.post(`${n}/log-user-in-app/${i}`)},async fetchLogs(i={}){return await t.get(n,{params:i})},async getStats(i={}){return await t.get(`${n}/stats`,{params:i})}}}function lz(t,e){return{async inviteUser(n,i){if(i!=="user"&&i!=="admin")throw new Error(`Invalid role: "${i}". Role must be either "user" or "admin".`);return await t.post(`/apps/${e}/runtime/users/invite-user`,{user_email:n,role:i})}}}const Tr=Object.create(null);Tr.open="0";Tr.close="1";Tr.ping="2";Tr.pong="3";Tr.message="4";Tr.upgrade="5";Tr.noop="6";const Ku=Object.create(null);Object.keys(Tr).forEach(t=>{Ku[Tr[t]]=t});const Jm={type:"error",data:"parser error"},K1=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",G1=typeof ArrayBuffer=="function",V1=t=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer,Pg=({type:t,data:e},n,i)=>K1&&e instanceof Blob?n?i(e):Cy(e,i):G1&&(e instanceof ArrayBuffer||V1(e))?n?i(e):Cy(new Blob([e]),i):i(Tr[t]+(e||"")),Cy=(t,e)=>{const n=new FileReader;return n.onload=function(){const i=n.result.split(",")[1];e("b"+(i||""))},n.readAsDataURL(t)};function Dy(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let Nh;function uz(t,e){if(K1&&t.data instanceof Blob)return t.data.arrayBuffer().then(Dy).then(e);if(G1&&(t.data instanceof ArrayBuffer||V1(t.data)))return e(Dy(t.data));Pg(t,!1,n=>{Nh||(Nh=new TextEncoder),e(Nh.encode(n))})}const zy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Uo=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let t=0;t<zy.length;
vendor: 4,930 bytes, line 266
266t++)Uo[zy.charCodeAt(t)]=t;const cz=t=>{let e=t.length*.75,n=t.length,i,s=0,o,u,c,p;t[t.length-1]==="="&&(e--,t[t.length-2]==="="&&e--);const v=new ArrayBuffer(e),b=new Uint8Array(v);for(i=0;i<n;i+=4)o=Uo[t.charCodeAt(i)],u=Uo[t.charCodeAt(i+1)],c=Uo[t.charCodeAt(i+2)],p=Uo[t.charCodeAt(i+3)],b[s++]=o<<2|u>>4,b[s++]=(u&15)<<4|c>>2,b[s++]=(c&3)<<6|p&63;return v},dz=typeof ArrayBuffer=="function",jg=(t,e)=>{if(typeof t!="string")return{type:"message",data:H1(t,e)};const n=t.charAt(0);return n==="b"?{type:"message",data:hz(t.substring(1),e)}:Ku[n]?t.length>1?{type:Ku[n],data:t.substring(1)}:{type:Ku[n]}:Jm},hz=(t,e)=>{if(dz){const n=cz(t);return H1(n,e)}else return{base64:!0,data:t}},H1=(t,e)=>{switch(e){case"blob":return t instanceof Blob?t:new Blob([t]);case"arraybuffer":default:return t instanceof ArrayBuffer?t:t.buffer}},$1="�",fz=(t,e)=>{const n=t.length,i=new Array(n);let s=0;t.forEach((o,u)=>{Pg(o,!1,c=>{i[u]=c,++s===n&&e(i.join($1))})})},mz=(t,e)=>{const n=t.split($1),i=[];for(let s=0;s<n.length;s++){const o=jg(n[s],e);if(i.push(o),o.type==="error")break}return i};function gz(){return new TransformStream({transform(t,e){uz(t,n=>{const i=n.length;let s;if(i<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,i);else if(i<65536){s=new Uint8Array(3);const o=new DataView(s.buffer);o.setUint8(0,126),o.setUint16(1,i)}else{s=new Uint8Array(9);const o=new DataView(s.buffer);o.setUint8(0,127),o.setBigUint64(1,BigInt(i))}t.data&&typeof t.data!="string"&&(s[0]|=128),e.enqueue(s),e.enqueue(n)})}})}let Ch;function Nu(t){return t.reduce((e,n)=>e+n.length,0)}function Cu(t,e){if(t[0].length===e)return t.shift();const n=new Uint8Array(e);let i=0;for(let s=0;s<e;s++)n[s]=t[0][i++],i===t[0].length&&(t.shift(),i=0);return t.length&&i<t[0].length&&(t[0]=t[0].slice(i)),n}function pz(t,e){Ch||(Ch=new TextDecoder);const n=[];let i=0,s=-1,o=!1;return new TransformStream({transform(u,c){for(n.push(u);;){if(i===0){if(Nu(n)<1)break;const p=Cu(n,1);o=(p[0]&128)===128,s=p[0]&127,s<126?i=3:s===126?i=1:i=2}else if(i===1){if(Nu(n)<2)break;const p=Cu(n,2);s=new DataView(p.buffer,p.byteOffset,p.length).getUint16(0),i=3}else if(i===2){if(Nu(n)<8)break;const p=Cu(n,8),v=new DataView(p.buffer,p.byteOffset,p.length),b=v.getUint32(0);if(b>Math.pow(2,21)-1){c.enqueue(Jm);break}s=b*Math.pow(2,32)+v.getUint32(4),i=3}else{if(Nu(n)<s)break;const p=Cu(n,s);c.enqueue(jg(o?p:Ch.decode(p),e)),i=0}if(s===0||s>t){c.enqueue(Jm);break}}}})}const X1=4;function Ct(t){if(t)return bz(t)}function bz(t){for(var e in Ct.prototype)t[e]=Ct.prototype[e];return t}Ct.prototype.on=Ct.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this};Ct.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this};Ct.prototype.off=Ct.prototype.removeListener=Ct.prototype.removeAllListeners=Ct.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+t];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+t],this;for(var i,s=0;s<n.length;s++)if(i=n[s],i===e||i.fn===e){n.splice(s,1);break}return n.length===0&&delete this._callbacks["$"+t],this};Ct.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),n=this._callbacks["$"+t],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(n){n=n.slice(0);for(var i=0,s=n.length;i<s;++i)n[i].apply(this,e)}return this};Ct.prototype.emitReserved=Ct.prototype.emit;Ct.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]};Ct.prototype.hasListeners=function(t){return!!this.listeners(t).length};const pc=typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,n)=>n(e,0),Vn=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),vz="arraybuffer";function J1(t,...e){return e.reduce((n,i)=>(t.hasOwnProperty(i)&&(n[i]=t[i]),n),{})}const yz=Vn.setTimeout,wz=Vn.clearTimeout;function bc(t,e){e.useNativeTimers?(t.setTimeoutFn=yz.bind(Vn),t.clearTimeoutFn=wz.bind(Vn)):(t.setTimeoutFn=Vn.setTimeout.bind(Vn),t.clearTimeoutFn=Vn.clearTimeout.bind(Vn))}const kz=1.33;function xz(t){return typeof t=="string"?Az(t):Math.ceil((t.byteLength||t.size)*kz)}function Az(t){let e=0,n=0;for(let i=0,s=t.length;i<s;i++)e=t.charCodeAt(i),e<128?n+=1:e<2048?n+=2:e<55296||e>=57344?n+=3:(i++,n+=4);return n}function Q1(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Ez(t){let e="";for(let n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}function Sz(t){let e={},n=t.split("&");for(let i=0,s=n.length;i<s;i++){let o=n[i].split("=");e[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return e}
vendor: 6,199 bytes, line 266
266class _z extends Error{constructor(e,n,i){super(e),this.description=n,this.context=i,this.type="TransportError"}}class Ig extends Ct{constructor(e){super(),this.writable=!1,bc(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,n,i){return super.emitReserved("error",new _z(e,n,i)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const n=jg(e,this.socket.binaryType);this.onPacket(n)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,n={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(n)}_hostname(){const e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){const n=Ez(e);return n.length?"?"+n:""}}class Tz extends Ig{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";const n=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let i=0;this._polling&&(i++,this.once("pollComplete",function(){--i||n()})),this.writable||(i++,this.once("drain",function(){--i||n()}))}else n()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const n=i=>{if(this.readyState==="opening"&&i.type==="open"&&this.onOpen(),i.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(i)};mz(e,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,fz(e,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=Q1()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(e,n)}}let Y1=!1;try{Y1=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const Oz=Y1;function Nz(){}class Cz extends Tz{constructor(e){if(super(e),typeof location<"u"){const n=location.protocol==="https:";let i=location.port;i||(i=n?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||i!==e.port}}doWrite(e,n){const i=this.request({method:"POST",data:e});i.on("success",n),i.on("error",(s,o)=>{this.onError("xhr post error",s,o)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(n,i)=>{this.onError("xhr poll error",n,i)}),this.pollXhr=e}}class Sr extends Ct{constructor(e,n,i){super(),this.createRequest=e,bc(this,i),this._opts=i,this._method=i.method||"GET",this._uri=n,this._data=i.data!==void 0?i.data:null,this._create()}_create(){var e;const n=J1(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this._opts.xd;const i=this._xhr=this.createRequest(n);try{i.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){i.setDisableHeaderCheck&&i.setDisableHeaderCheck(!0);for(let s in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(s)&&i.setRequestHeader(s,this._opts.extraHeaders[s])}}catch{}if(this._method==="POST")try{i.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{i.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(i),"withCredentials"in i&&(i.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(i.timeout=this._opts.requestTimeout),i.onreadystatechange=()=>{var s;i.readyState===3&&((s=this._opts.cookieJar)===null||s===void 0||s.parseCookies(i.getResponseHeader("set-cookie"))),i.readyState===4&&(i.status===200||i.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof i.status=="number"?i.status:0)},0))},i.send(this._data)}catch(s){this.setTimeoutFn(()=>{this._onError(s)},0);return}typeof document<"u"&&(this._index=Sr.requestsCount++,Sr.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=Nz,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Sr.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}Sr.requestsCount=0;Sr.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Ry);else if(typeof addEventListener=="function"){const t="onpagehide"in Vn?"pagehide":"unload";addEventListener(t,Ry,!1)}}function Ry(){for(let t in Sr.requests)Sr.requests.hasOwnProperty(t)&&Sr.requests[t].abort()}const Dz=(function(){const t=Z1({xdomain:!1});return t&&t.responseType!==null})();class zz extends Cz{constructor(e){super(e);const n=e&&e.forceBase64;this.supportsBinary=Dz&&!n}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new Sr(Z1,this.uri(),e)}}function Z1(t){const e=t.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Oz))return new XMLHttpRequest}catch{}if(!e)try{return new Vn[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const e0=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Rz extends Ig{get name(){return"websocket"}doOpen(){const e=this.uri(),n=this.opts.protocols,i=e0?{}:J1(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(i.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,n,i)}catch(s){return this.emitReserved("error",s)}
vendor: 10,324 bytes, line 266
266this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let n=0;n<e.length;n++){const i=e[n],s=n===e.length-1;Pg(i,this.supportsBinary,o=>{try{this.doWrite(i,o)}catch{}s&&pc(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=Q1()),this.supportsBinary||(n.b64=1),this.createUri(e,n)}}const Dh=Vn.WebSocket||Vn.MozWebSocket;class Pz extends Rz{createSocket(e,n,i){return e0?new Dh(e,n,i):n?new Dh(e,n):new Dh(e)}doWrite(e,n){this.ws.send(n)}}class jz extends Ig{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const n=pz(Number.MAX_SAFE_INTEGER,this.socket.binaryType),i=e.readable.pipeThrough(n).getReader(),s=gz();s.readable.pipeTo(e.writable),this._writer=s.writable.getWriter();const o=()=>{i.read().then(({done:c,value:p})=>{c||(this.onPacket(p),o())}).catch(c=>{})};o();const u={type:"open"};this.query.sid&&(u.data=`{"sid":"${this.query.sid}"}`),this._writer.write(u).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let n=0;n<e.length;n++){const i=e[n],s=n===e.length-1;this._writer.write(i).then(()=>{s&&pc(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}}const Iz={websocket:Pz,webtransport:jz,polling:zz},Mz=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Lz=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Qm(t){if(t.length>8e3)throw"URI too long";const e=t,n=t.indexOf("["),i=t.indexOf("]");n!=-1&&i!=-1&&(t=t.substring(0,n)+t.substring(n,i).replace(/:/g,";")+t.substring(i,t.length));let s=Mz.exec(t||""),o={},u=14;for(;u--;)o[Lz[u]]=s[u]||"";return n!=-1&&i!=-1&&(o.source=e,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=Bz(o,o.path),o.queryKey=Fz(o,o.query),o}function Bz(t,e){const n=/\/{2,9}/g,i=e.replace(n,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&i.splice(0,1),e.slice(-1)=="/"&&i.splice(i.length-1,1),i}function Fz(t,e){const n={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(i,s,o){s&&(n[s]=o)}),n}const Ym=typeof addEventListener=="function"&&typeof removeEventListener=="function",Gu=[];Ym&&addEventListener("offline",()=>{Gu.forEach(t=>t())},!1);class Mi extends Ct{constructor(e,n){if(super(),this.binaryType=vz,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(n=e,e=null),e){const i=Qm(e);n.hostname=i.host,n.secure=i.protocol==="https"||i.protocol==="wss",n.port=i.port,i.query&&(n.query=i.query)}else n.host&&(n.hostname=Qm(n.host).host);bc(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},n.transports.forEach(i=>{const s=i.prototype.name;this.transports.push(s),this._transportsByName[s]=i}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Sz(this.opts.query)),Ym&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},Gu.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const n=Object.assign({},this.opts.query);n.EIO=X1,n.transport=e,this.id&&(n.sid=this.id);const i=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](i)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const e=this.opts.rememberUpgrade&&Mi.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const n=this.createTransport(e);n.open(),this.setTransport(n)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",n=>this._onClose("transport close",n))}onOpen(){this.readyState="open",Mi.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const n=new Error("server error");n.code=e.data,this._onError(n);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let i=0;i<this.writeBuffer.length;i++){const s=this.writeBuffer[i].data;if(s&&(n+=xz(s)),i>0&&n>this._maxPayload)return this.writeBuffer.slice(0,i);n+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,pc(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,n,i){return this._sendPacket("message",e,n,i),this}send(e,n,i){return this._sendPacket("message",e,n,i),this}_sendPacket(e,n,i,s){if(typeof n=="function"&&(s=n,n=void 0),typeof i=="function"&&(s=i,i=null),this.readyState==="closing"||this.readyState==="closed")return;i=i||{},i.compress=i.compress!==!1;const o={type:e,data:n,options:i};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),s&&this.once("flush",s),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),e()},i=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?i():e()}):this.upgrading?i():e()),this}_onError(e){if(Mi.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,n){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Ym&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const i=Gu.indexOf(this._offlineEventListener);i!==-1&&Gu.splice(i,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,n),this.writeBuffer=[],this._prevBufferLen=0}}}Mi.protocol=X1;class qz extends Mi{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let n=this.createTransport(e),i=!1;Mi.priorWebsocketSuccess=!1;const s=()=>{i||(n.send([{type:"ping",data:"probe"}]),n.once("packet",h=>{if(!i)if(h.type==="pong"&&h.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Mi.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{i||this.readyState!=="closed"&&(b(),this.setTransport(n),n.send([{type:"upgrade"}
vendor: 10,501 bytes, line 266
266]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const m=new Error("probe error");m.transport=n.name,this.emitReserved("upgradeError",m)}}))};function o(){i||(i=!0,b(),n.close(),n=null)}const u=h=>{const m=new Error("probe error: "+h);m.transport=n.name,o(),this.emitReserved("upgradeError",m)};function c(){u("transport closed")}function p(){u("socket closed")}function v(h){n&&h.name!==n.name&&o()}const b=()=>{n.removeListener("open",s),n.removeListener("error",u),n.removeListener("close",c),this.off("close",p),this.off("upgrading",v)};n.once("open",s),n.once("error",u),n.once("close",c),this.once("close",p),this.once("upgrading",v),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{i||n.open()},200):n.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const n=[];for(let i=0;i<e.length;i++)~this.transports.indexOf(e[i])&&n.push(e[i]);return n}}let Uz=class extends qz{constructor(e,n={}){const i=typeof e=="object",s=i?{...e}:{...n};(!s.transports||s.transports&&typeof s.transports[0]=="string")&&(s.transports=(s.transports||["polling","websocket","webtransport"]).map(o=>Iz[o]).filter(o=>!!o)),super(i?s:e,s)}};function Wz(t,e="",n){let i=t;n=n||typeof location<"u"&&location,t==null&&(t=n.protocol+"//"+n.host),typeof t=="string"&&(t.charAt(0)==="/"&&(t.charAt(1)==="/"?t=n.protocol+t:t=n.host+t),/^(https?|wss?):\/\//.test(t)||(typeof n<"u"?t=n.protocol+"//"+t:t="https://"+t),i=Qm(t)),i.port||(/^(http|ws)$/.test(i.protocol)?i.port="80":/^(http|ws)s$/.test(i.protocol)&&(i.port="443")),i.path=i.path||"/";const o=i.host.indexOf(":")!==-1?"["+i.host+"]":i.host;return i.id=i.protocol+"://"+o+":"+i.port+e,i.href=i.protocol+"://"+o+(n&&n.port===i.port?"":":"+i.port),i}const Kz=typeof ArrayBuffer=="function",Gz=t=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer,t0=Object.prototype.toString,Vz=typeof Blob=="function"||typeof Blob<"u"&&t0.call(Blob)==="[object BlobConstructor]",Hz=typeof File=="function"||typeof File<"u"&&t0.call(File)==="[object FileConstructor]";function Mg(t){return Kz&&(t instanceof ArrayBuffer||Gz(t))||Vz&&t instanceof Blob||Hz&&t instanceof File}function Vu(t,e){if(!t||typeof t!="object")return!1;if(Array.isArray(t)){for(let n=0,i=t.length;n<i;n++)if(Vu(t[n]))return!0;return!1}if(Mg(t))return!0;if(t.toJSON&&typeof t.toJSON=="function"&&arguments.length===1)return Vu(t.toJSON(),!0);for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&Vu(t[n]))return!0;return!1}function $z(t){const e=[],n=t.data,i=t;return i.data=Zm(n,e),i.attachments=e.length,{packet:i,buffers:e}}function Zm(t,e){if(!t)return t;if(Mg(t)){const n={_placeholder:!0,num:e.length};return e.push(t),n}else if(Array.isArray(t)){const n=new Array(t.length);for(let i=0;i<t.length;i++)n[i]=Zm(t[i],e);return n}else if(typeof t=="object"&&!(t instanceof Date)){const n={};for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=Zm(t[i],e));return n}return t}function Xz(t,e){return t.data=eg(t.data,e),delete t.attachments,t}function eg(t,e){if(!t)return t;if(t&&t._placeholder===!0){if(typeof t.num=="number"&&t.num>=0&&t.num<e.length)return e[t.num];throw new Error("illegal attachments")}else if(Array.isArray(t))for(let n=0;n<t.length;n++)t[n]=eg(t[n],e);else if(typeof t=="object")for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(t[n]=eg(t[n],e));return t}const Jz=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var Ze;(function(t){t[t.CONNECT=0]="CONNECT",t[t.DISCONNECT=1]="DISCONNECT",t[t.EVENT=2]="EVENT",t[t.ACK=3]="ACK",t[t.CONNECT_ERROR=4]="CONNECT_ERROR",t[t.BINARY_EVENT=5]="BINARY_EVENT",t[t.BINARY_ACK=6]="BINARY_ACK"})(Ze||(Ze={}));class Qz{constructor(e){this.replacer=e}encode(e){return(e.type===Ze.EVENT||e.type===Ze.ACK)&&Vu(e)?this.encodeAsBinary({type:e.type===Ze.EVENT?Ze.BINARY_EVENT:Ze.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let n=""+e.type;return(e.type===Ze.BINARY_EVENT||e.type===Ze.BINARY_ACK)&&(n+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(n+=e.nsp+","),e.id!=null&&(n+=e.id),e.data!=null&&(n+=JSON.stringify(e.data,this.replacer)),n}encodeAsBinary(e){const n=$z(e),i=this.encodeAsString(n.packet),s=n.buffers;return s.unshift(i),s}}class Lg extends Ct{constructor(e){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},typeof e=="function"?{reviver:e}:e)}add(e){let n;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");n=this.decodeString(e);const i=n.type===Ze.BINARY_EVENT;i||n.type===Ze.BINARY_ACK?(n.type=i?Ze.EVENT:Ze.ACK,this.reconstructor=new Yz(n),n.attachments===0&&super.emitReserved("decoded",n)):super.emitReserved("decoded",n)}else if(Mg(e)||e.base64)if(this.reconstructor)n=this.reconstructor.takeBinaryData(e),n&&(this.reconstructor=null,super.emitReserved("decoded",n));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let n=0;const i={type:Number(e.charAt(0))};if(Ze[i.type]===void 0)throw new Error("unknown packet type "+i.type);if(i.type===Ze.BINARY_EVENT||i.type===Ze.BINARY_ACK){const o=n+1;for(;e.charAt(++n)!=="-"&&n!=e.length;);const u=e.substring(o,n);if(u!=Number(u)||e.charAt(n)!=="-")throw new Error("Illegal attachments");const c=Number(u);if(!Zz(c)||c<0)throw new Error("Illegal attachments");if(c>this.opts.maxAttachments)throw new Error("too many attachments");i.attachments=c}if(e.charAt(n+1)==="/"){const o=n+1;for(;++n&&!(e.charAt(n)===","||n===e.length););i.nsp=e.substring(o,n)}else i.nsp="/";const s=e.charAt(n+1);if(s!==""&&Number(s)==s){const o=n+1;for(;++n;){const u=e.charAt(n);if(u==null||Number(u)!=u){--n;break}if(n===e.length)break}i.id=Number(e.substring(o,n+1))}if(e.charAt(++n)){const o=this.tryParse(e.substr(n));if(Lg.isPayloadValid(i.type,o))i.data=o;else throw new Error("invalid payload")}return i}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch{return!1}}static isPayloadValid(e,n){switch(e){case Ze.CONNECT:return Py(n);case Ze.DISCONNECT:return n===void 0;case Ze.CONNECT_ERROR:return typeof n=="string"||Py(n);case Ze.EVENT:case Ze.BINARY_EVENT:return Array.isArray(n)&&(typeof n[0]=="number"||typeof n[0]=="string"&&Jz.indexOf(n[0])===-1);case Ze.ACK:case Ze.BINARY_ACK:return Array.isArray(n)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Yz{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const n=Xz(this.reconPack,this.buffers);return this.finishedReconstruction(),n}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Zz=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};function Py(t){return Object.prototype.toString.call(t)==="[object Object]"}const e2=Object.freeze(Object.defineProperty({__proto__:null,Decoder:Lg,Encoder:Qz,get PacketType(){return Ze}},Symbol.toStringTag,{value:"Module"}));function ir(t,e,n){return t.on(e,n),function(){t.off(e,n)}}const t2=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class n0 extends Ct{constructor(e,n,i){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=n,i&&i.auth&&(this.auth=i.auth),this._opts=Object.assign({},i),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[ir(e,"open",this.onopen.bind(this)),ir(e,"packet",this.onpacket.bind(this)),ir(e,"error",this.onerror.bind(this)),ir(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...n){var i,s,o;if(t2.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(n.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;const u={type:Ze.EVENT,data:n};if(u.options={},u.options.compress=this.flags.compress!==!1,typeof n[n.length-1]=="function"){const b=this.ids++,h=n.pop();this._registerAckCallback(b,h),u.id=b}const c=(s=(i=this.io.engine)===null||i===void 0?void 0:i.transport)===null||s===void 0?void 0:s.writable,p=this.connected&&!(!((o=this.io.engine)===null||o===void 0)&&o._hasPingExpired());return this.flags.volatile&&!c||(p?(this.notifyOutgoingListeners(u),this.packet(u)):this.sendBuffer.push(u)),this.flags={},this}_registerAckCallback(e,n){var i;const s=(i=this.flags.timeout)!==null&&i!==void 0?i:this._opts.ackTimeout;if(s===void 0){this.acks[e]=n;return}const o=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let c=0;c<this.sendBuffer.length;c++)this.sendBuffer[c].id===e&&this.sendBuffer.splice(c,1);n.call(this,new Error("operation has timed out"))},s),u=(...c)=>{this.io.clearTimeoutFn(o),n.apply(this,c)};u.withError=!0,this.acks[e]=u}emitWithAck(e,...n){return new Promise((i,s)=>{const o=(u,c)=>u?s(u):i(c);o.withError=!0,n.push(o),this.emit(e,...n)})}_addToQueue(e){let n;typeof e[e.length-1]=="function"&&(n=e.pop());const i={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((s,...o)=>(this._queue[0],s!==null?i.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(s)):(this._queue.shift(),n&&n(null,...o)),i.pending=!1,this._drainQueue())),this._queue.push(i),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!e||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Ze.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,n),this._clearAcks()}
vendor: 7,087 bytes, line 266
266_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(i=>String(i.id)===e)){const i=this.acks[e];delete this.acks[e],i.withError&&i.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case Ze.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Ze.EVENT:case Ze.BINARY_EVENT:this.onevent(e);break;case Ze.ACK:case Ze.BINARY_ACK:this.onack(e);break;case Ze.DISCONNECT:this.ondisconnect();break;case Ze.CONNECT_ERROR:this.destroy();const i=new Error(e.data.message);i.data=e.data.data,this.emitReserved("connect_error",i);break}}onevent(e){const n=e.data||[];e.id!=null&&n.push(this.ack(e.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const i of n)i.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const n=this;let i=!1;return function(...s){i||(i=!0,n.packet({type:Ze.ACK,id:e,data:s}))}}onack(e){const n=this.acks[e.id];typeof n=="function"&&(delete this.acks[e.id],n.withError&&e.data.unshift(null),n.apply(this,e.data))}onconnect(e,n){this.id=e,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Ze.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const n=this._anyListeners;for(let i=0;i<n.length;i++)if(e===n[i])return n.splice(i,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const n=this._anyOutgoingListeners;for(let i=0;i<n.length;i++)if(e===n[i])return n.splice(i,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const n=this._anyOutgoingListeners.slice();for(const i of n)i.apply(this,e.data)}}}function Bs(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}Bs.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=(Math.floor(e*10)&1)==0?t-n:t+n}return Math.min(t,this.max)|0};Bs.prototype.reset=function(){this.attempts=0};Bs.prototype.setMin=function(t){this.ms=t};Bs.prototype.setMax=function(t){this.max=t};Bs.prototype.setJitter=function(t){this.jitter=t};class tg extends Ct{constructor(e,n){var i;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(n=e,e=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,bc(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((i=n.randomizationFactor)!==null&&i!==void 0?i:.5),this.backoff=new Bs({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=e;const s=n.parser||e2;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var n;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(n=this.backoff)===null||n===void 0||n.setMin(e),this)}randomizationFactor(e){var n;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(n=this.backoff)===null||n===void 0||n.setJitter(e),this)}reconnectionDelayMax(e){var n;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(n=this.backoff)===null||n===void 0||n.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Uz(this.uri,this.opts);const n=this.engine,i=this;this._readyState="opening",this.skipReconnect=!1;const s=ir(n,"open",function(){i.onopen(),e&&e()}),o=c=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},u=ir(n,"error",o);if(this._timeout!==!1){const c=this._timeout,p=this.setTimeoutFn(()=>{s(),o(new Error("timeout")),n.close()},c);this.opts.autoUnref&&p.unref(),this.subs.push(()=>{this.clearTimeoutFn(p)})}return this.subs.push(s),this.subs.push(u),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(ir(e,"ping",this.onping.bind(this)),ir(e,"data",this.ondata.bind(this)),ir(e,"error",this.onerror.bind(this)),ir(e,"close",this.onclose.bind(this)),ir(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(n){this.onclose("parse error",n)}}ondecoded(e){pc(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,n){let i=this.nsps[e];return i?this._autoConnect&&!i.active&&i.connect():(i=new n0(this,e,n),this.nsps[e]=i),i}_destroy(e){const n=Object.keys(this.nsps);for(const i of n)if(this.nsps[i].active)return;this._close()}_packet(e){const n=this.encoder.encode(e);for(let i=0;i<n.length;i++)this.engine.write(n[i],e.options)}
266cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,n){var i;this.cleanup(),(i=this.engine)===null||i===void 0||i.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const i=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(s=>{s?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",s)):e.onreconnect()}))},n);this.opts.autoUnref&&i.unref(),this.subs.push(()=>{this.clearTimeoutFn(i)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const jo={};function Hu(t,e){typeof t=="object"&&(e=t,t=void 0),e=e||{};const n=Wz(t,e.path||"/socket.io"),i=n.source,s=n.id,o=n.path,u=jo[s]&&o in jo[s].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||u;let p;return c?p=new tg(i,e):(jo[s]||(jo[s]=new tg(i,e)),p=jo[s]),n.query&&!e.query&&(e.query=n.queryKey),p.socket(n.path,e)}Object.assign(Hu,{Manager:tg,Socket:n0,io:Hu,connect:Hu});const n2=250;function jy(t,e){var n;const i=(n=t.token)!==null&&n!==void 0?n:_a(),s={app_id:t.appId,token:i};i||(s.anonymous_id=ic());const o=Hu(t.serverUrl,{path:t.mountPath,transports:t.transports,query:s});return o.on("connect",async()=>{var u;return console.log("connect",o.id),(u=e.connect)===null||u===void 0?void 0:u.call(e)}),o.on("update_model",async u=>{var c;return(c=e.update_model)===null||c===void 0?void 0:c.call(e,u)}),o.on("error",async u=>{var c;return(c=e.error)===null||c===void 0?void 0:c.call(e,u)}),o.on("connect_error",async u=>{var c;return console.error("connect_error",u),(c=e.error)===null||c===void 0?void 0:c.call(e,u)}),o}function r2({config:t}){let e={...t};const n={},i={},s={connect:async()=>{const y=[];Object.keys(n).forEach(A=>{const S=m(A);S.length!==0&&(v(A),S.forEach(({connect:x})=>{const T=async()=>x==null?void 0:x();y.push(T())}))}),await Promise.all(y)},update_model:async y=>{const S=m(y.room).map(x=>{var T;return(T=x.update_model)===null||T===void 0?void 0:T.call(x,y)});await Promise.all(S)},error:async y=>{console.error("error",y);const A=Object.values(n).flat().map(S=>{var x;return(x=S.error)===null||x===void 0?void 0:x.call(S,y)});await Promise.all(A)}};let o=jy(t,s);function u(){c()}function c(){E(),o&&o.disconnect()}function p(y){u(),e={...e,...y},o=jy(e,s)}function v(y){o.emit("join",y)}
266function b(y){o.emit("leave",y)}async function h(y,A){var S;const x=JSON.stringify(A);return(S=s.update_model)===null||S===void 0?void 0:S.call(s,{room:y,data:x})}function m(y){var A;return(A=n[y])!==null&&A!==void 0?A:[]}function f(y){const A=i[y];A&&(clearTimeout(A),delete i[y])}function E(){Object.keys(i).forEach(y=>{var A,S;clearTimeout(i[y]),delete i[y],((S=(A=n[y])===null||A===void 0?void 0:A.length)!==null&&S!==void 0?S:0)===0&&delete n[y]})}function w(y){f(y),i[y]=setTimeout(()=>{var A,S;delete i[y],!(((S=(A=n[y])===null||A===void 0?void 0:A.length)!==null&&S!==void 0?S:0)>0)&&(b(y),delete n[y])},n2)}return{socket:o,subscribeToRoom:(y,A)=>{n[y]?f(y):(v(y),n[y]=[]),n[y].push(A);let S=!1;return()=>{var x,T;S||(S=!0,n[y]=(T=(x=n[y])===null||x===void 0?void 0:x.filter(R=>R!==A))!==null&&T!==void 0?T:[],n[y].length===0&&w(y))}},updateConfig:p,updateModel:h,disconnect:c}}(!globalThis.EventTarget||!globalThis.Event)&&console.error(` 267 PartySocket requires a global 'EventTarget' class to be available! 268 You can polyfill this global by adding this to your code before any partysocket imports: 269 270 \`\`\` 271 import 'partysocket/event-target-polyfill'; 272 \`\`\` 273 Please file an issue at https://github.com/partykit/partykit if you're still having trouble. 274`);var r0=class extends Event{constructor(e,n){super("error",n);st(this,"message");st(this,"error");this.message=e.message,this.error=e}},i0=class extends Event{constructor(e=1e3,n="",i){super("close",i);st(this,"code");st(this,"reason");st(this,"wasClean",!0);this.code=e,this.reason=n}},zh={Event,ErrorEvent:r0,CloseEvent:i0};function i2(t,e){if(!t)throw new Error(e)}function a2(t){return new t.constructor(t.type,t)}function s2(t){return"data"in t?new MessageEvent(t.type,t):"code"in t||"reason"in t?new i0(t.code||1999,t.reason||"unknown reason",t):"error"in t?new r0(t.error,t):new Event(t.type,t)}var yx,o2=typeof process<"u"&&typeof((yx=process.versions)==null?void 0:yx.node)<"u"&&typeof document>"u",Du=o2?s2:a2,ca={maxReconnectionDelay:1e4,minReconnectionDelay:1e3+Math.random()*4e3,minUptime:5e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,maxEnqueuedMessages:1/0},Iy=!1,l2=class ha extends EventTarget{constructor(n,i,s={}){super();st(this,"_ws");st(this,"_retryCount",-1);st(this,"_uptimeTimeout");st(this,"_connectTimeout");st(this,"_shouldReconnect",!0);st(this,"_connectLock",!1);st(this,"_binaryType","blob");st(this,"_closeCalled",!1);st(this,"_messageQueue",[]);st(this,"_url");st(this,"_protocols");st(this,"_options");st(this,"onclose",null);st(this,"onerror",null);st(this,"onmessage",null);st(this,"onopen",null);st(this,"_handleOpen",n=>{this._debug("open event");const{minUptime:i=ca.minUptime}=this._options;clearTimeout(this._connectTimeout),this._uptimeTimeout=setTimeout(()=>this._acceptOpen(),i),i2(this._ws,"WebSocket is not defined"),this._ws.binaryType=this._binaryType,this._messageQueue.forEach(s=>{var o;return(o=this._ws)==null?void 0:o.send(s)}),this._messageQueue=[],this.onopen&&this.onopen(n),this.dispatchEvent(Du(n))});st(this,"_handleMessage",n=>{this._debug("message event"),this.onmessage&&this.onmessage(n),this.dispatchEvent(Du(n))});st(this,"_handleError",n=>{this._debug("error event",n.message),this._disconnect(void 0,n.message==="TIMEOUT"?"timeout":void 0),this.onerror&&this.onerror(n),this._debug("exec error listeners"),this.dispatchEvent(Du(n)),this._connect()});st(this,"_handleClose",n=>{this._debug("close event"),this._clearTimeouts(),this._shouldReconnect&&this._connect(),this.onclose&&this.onclose(n),this.dispatchEvent(Du(n))});this._url=n,this._protocols=i,this._options=s,this._options.startClosed&&(this._shouldReconnect=!1),this._connect()}static get CONNECTING(){return 0}static get OPEN(){return 1}static get CLOSING(){return 2}static get CLOSED(){return 3}get CONNECTING(){return ha.CONNECTING}get OPEN(){return ha.OPEN}get CLOSING(){return ha.CLOSING}get CLOSED(){return ha.CLOSED}get binaryType(){return this._ws?this._ws.binaryType:this._binaryType}set binaryType(n){this._binaryType=n,this._ws&&(this._ws.binaryType=n)}get retryCount(){return Math.max(this._retryCount,0)}get bufferedAmount(){return this._messageQueue.reduce((i,s)=>(typeof s=="string"?i+=s.length:s instanceof Blob?i+=s.size:i+=s.byteLength,i),0)+(this._ws?this._ws.bufferedAmount:0)}get extensions(){return this._ws?this._ws.extensions:""}get protocol(){return this._ws?this._ws.protocol:""}get readyState(){return this._ws?this._ws.readyState:this._options.startClosed?ha.CLOSED:ha.CONNECTING}get url(){return this._ws?this._ws.url:""}get shouldReconnect(){return this._shouldReconnect}close(n=1e3,i){if(this._closeCalled=!0,this._shouldReconnect=!1,this._clearTimeouts(),!this._ws){this._debug("close enqueued: no ws instance");return}if(this._ws.readyState===this.CLOSED){this._debug("close: already closed");return}this._ws.close(n,i)}reconnect(n,i){this._shouldReconnect=!0,this._closeCalled=!1,this._retryCount=-1,!this._ws||this._ws.readyState===this.CLOSED?this._connect():(this._disconnect(n,i),this._connect())}send(n){if(this._ws&&this._ws.readyState===this.OPEN)this._debug("send",n),this._ws.send(n);else{const{maxEnqueuedMessages:i=ca.maxEnqueuedMessages}=this._options;this._messageQueue.length<i&&(this._debug("enqueue",n),this._messageQueue.push(n))}}_debug(...n){this._options.debug&&console.log.apply(console,["RWS>",...n])}_getNextDelay(){const{reconnectionDelayGrowFactor:n=ca.reconnectionDelayGrowFactor,minReconnectionDelay:i=ca.minReconnectionDelay,maxReconnectionDelay:s=ca.maxReconnectionDelay}=this._options;let o=0;return this._retryCount>0&&(o=i*Math.pow(n,this._retryCount-1),o>s&&(o=s)),this._debug("next delay",o),o}_wait(){return new Promise(n=>{setTimeout(n,this._getNextDelay())})}_getNextProtocols(n){if(!n)return Promise.resolve(null);if(typeof n=="string"||Array.isArray(n))return Promise.resolve(n);if(typeof n=="function"){const i=n();if(!i)return Promise.resolve(null);if(typeof i=="string"||Array.isArray(i))return Promise.resolve(i);if(i.then)return i}throw Error("Invalid protocols")}_getNextUrl(n){if(typeof n=="string")return Promise.resolve(n);if(typeof n=="function"){const i=n();if(typeof i=="string")return Promise.resolve(i);if(i.then)return i}throw Error("Invalid URL")}_connect(){if(this._connectLock||!this._shouldReconnect)return;this._connectLock=!0;
vendor: 4,382 bytes, lines 274-292
274const{maxRetries:n=ca.maxRetries,connectionTimeout:i=ca.connectionTimeout}=this._options;if(this._retryCount>=n){this._debug("max retries reached",this._retryCount,">=",n);return}this._retryCount++,this._debug("connect",this._retryCount),this._removeListeners(),this._wait().then(()=>Promise.all([this._getNextUrl(this._url),this._getNextProtocols(this._protocols||null)])).then(([s,o])=>{if(this._closeCalled){this._connectLock=!1;return}!this._options.WebSocket&&typeof WebSocket>"u"&&!Iy&&(console.error(`â¼ï¸ No WebSocket implementation available. You should define options.WebSocket. 275 276For example, if you're using node.js, run \`npm install ws\`, and then in your code: 277 278import PartySocket from 'partysocket'; 279import WS from 'ws'; 280 281const partysocket = new PartySocket({ 282 host: "127.0.0.1:1999", 283 room: "test-room", 284 WebSocket: WS 285}); 286 287`),Iy=!0);const u=this._options.WebSocket||WebSocket;this._debug("connect",{url:s,protocols:o}),this._ws=o?new u(s,o):new u(s),this._ws.binaryType=this._binaryType,this._connectLock=!1,this._addListeners(),this._connectTimeout=setTimeout(()=>this._handleTimeout(),i)}).catch(s=>{this._connectLock=!1,this._handleError(new zh.ErrorEvent(Error(s.message),this))})}_handleTimeout(){this._debug("timeout event"),this._handleError(new zh.ErrorEvent(Error("TIMEOUT"),this))}_disconnect(n=1e3,i){if(this._clearTimeouts(),!!this._ws){this._removeListeners();try{this._ws.close(n,i),this._handleClose(new zh.CloseEvent(n,i,this))}catch{}}}_acceptOpen(){this._debug("accept open"),this._retryCount=0}_removeListeners(){this._ws&&(this._debug("removeListeners"),this._ws.removeEventListener("open",this._handleOpen),this._ws.removeEventListener("close",this._handleClose),this._ws.removeEventListener("message",this._handleMessage),this._ws.removeEventListener("error",this._handleError))}_addListeners(){this._ws&&(this._debug("addListeners"),this._ws.addEventListener("open",this._handleOpen),this._ws.addEventListener("close",this._handleClose),this._ws.addEventListener("message",this._handleMessage),this._ws.addEventListener("error",this._handleError))}_clearTimeouts(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)}};/*! 288 * Reconnecting WebSocket 289 * by Pedro Ladaria <[email protected]> 290 * https://github.com/pladaria/reconnecting-websocket 291 * License MIT 292 */var u2=t=>t[1]!==null&&t[1]!==void 0;function c2(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();let t=new Date().getTime(),e=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){let i=Math.random()*16;return t>0?(i=(t+i)%16|0,t=Math.floor(t/16)):(i=(e+i)%16|0,e=Math.floor(e/16)),(n==="x"?i:i&3|8).toString(16)})}function a0(t,e,n={}){const{host:i,path:s,protocol:o,room:u,party:c,query:p}=t;let v=i.replace(/^(http|https|ws|wss):\/\//,"");if(v.endsWith("/")&&(v=v.slice(0,-1)),s&&s.startsWith("/"))throw new Error("path must not start with a slash");const b=c??"main",h=s?`/${s}`:"",m=o||(v.startsWith("localhost:")||v.startsWith("127.0.0.1:")||v.startsWith("192.168.")||v.startsWith("10.")||v.startsWith("172.")&&v.split(".")[1]>="16"&&v.split(".")[1]<="31"||v.startsWith("[::ffff:7f00:1]:")?e:e+"s"),f=`${m}://${v}/${c?`parties/${c}`:"party"}/${u}${h}`,E=(k={})=>`${f}?${new URLSearchParams([...Object.entries(n),...Object.entries(k).filter(u2)])}`,w=typeof p=="function"?async()=>E(await p()):E(p);return{host:v,path:h,room:u,name:b,protocol:m,partyUrl:f,urlProvider:w}}var d2=class extends l2{constructor(e){const n=My(e);super(n.urlProvider,n.protocols,n.socketOptions);st(this,"_pk");st(this,"_pkurl");st(this,"name");st(this,"room");st(this,"host");st(this,"path");this.partySocketOptions=e,this.setWSProperties(n)}updateProperties(e){const n=My({...e,host:e.host??this.host,room:e.room??this.room,path:e.path??this.path});this._url=n.urlProvider,this._protocols=n.protocols,this._options=n.socketOptions,this.setWSProperties(n)}setWSProperties(e){const{_pk:n,_pkurl:i,name:s,room:o,host:u,path:c}=e;this._pk=n,this._pkurl=i,this.name=s,this.room=o,this.host=u,this.path=c}reconnect(e,n){if(!this.room||!this.host)throw new Error("The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.");super.reconnect(e,n)}get id(){return this._pk}get roomUrl(){return this._pkurl}
292static async fetch(e,n){const i=a0(e,"http"),s=typeof i.urlProvider=="string"?i.urlProvider:await i.urlProvider();return(e.fetch??fetch)(s,n)}};function My(t){const{id:e,host:n,path:i,party:s,room:o,protocol:u,query:c,protocols:p,...v}=t,b=e||c2(),h=a0(t,"ws",{_pk:b});return{_pk:b,_pkurl:h.partyUrl,name:h.name,room:h.room,host:h.host,path:h.path,protocols:p,socketOptions:v,urlProvider:h.urlProvider}}const h2=1e3,f2=3e3;class m2{constructor(e,n,i,s,o){var u;this.onClose=o,this.listeners=new Set,this.heartbeat=null,this.id=(u=s==null?void 0:s.id)!==null&&u!==void 0?u:crypto.randomUUID();const c=new d2({host:i.host,party:e,room:n,id:this.id,query:()=>{const b=i.getAuthToken();return{app_id:i.appId,handler:e,...b?{token:b}:{},...i.functionsVersion?{fv:i.functionsVersion}:{}}}});this.ws=c;let p=Date.now();const v=()=>{p=Date.now()};c.addEventListener("open",v),c.addEventListener("message",b=>{v();let h;try{h=JSON.parse(b.data)}catch{return}if((h&&typeof h=="object"?h.type:void 0)!=="__pong")for(const f of this.listeners)f(h)}),this.heartbeat=setInterval(()=>{if(Date.now()-p>f2){v(),c.reconnect();return}try{c.send(JSON.stringify({type:"__ping"}))}catch{}},h2)}subscribe(e){return this.listeners.add(e),{unsubscribe:()=>{this.listeners.delete(e)}}}send(e){this.ws.send(JSON.stringify(e))}close(){this.heartbeat&&(clearInterval(this.heartbeat),this.heartbeat=null),this.listeners.clear(),this.ws.close(),this.onClose()}}function g2(t,e,n,i){let s=null;return{connect(o){if(s)return s;const u=new m2(t,e,n,o,()=>{i.delete(u),s===u&&(s=null)});return s=u,i.add(u),u}}}function p2(t,e){return t&&!t.startsWith("/")?t:e??t}function b2(t){const e=new Set;return{module:new Proxy({},{get(i,s){if(!(typeof s!="string"||s==="then"))return o=>g2(s,o,t,e)}}),closeAll:()=>{for(const i of[...e])i.close()}}}function v2(t){var e,n,i;const{serverUrl:s="https://base44.app",appId:o,token:u,serviceToken:c,requiresAuth:p=!1,appBaseUrl:v,options:b,functionsVersion:h,headers:m}=t,f=typeof v=="string"?v:"",E={serverUrl:s,mountPath:"/ws-user-apps/socket.io/",transports:["websocket"],appId:o,token:u};let w=null;const k=()=>(w||(w=r2({config:E})),w),y={...m,"X-App-Id":String(o)},A=h?{...y,"Base44-Functions-Version":h}:y,S=qo({baseURL:`${s}/api`,headers:y,token:u,onError:b==null?void 0:b.onError}),x=qo({baseURL:`${s}/api`,headers:A,token:u,interceptResponses:!1,onError:b==null?void 0:b.onError}),T={...y,...u?{"on-behalf-of":`Bearer ${u}`}:{}},R=qo({baseURL:`${s}/api`,headers:T,token:c,onError:b==null?void 0:b.onError}),z=qo({baseURL:`${s}/api`,headers:A,token:c,interceptResponses:!1}),D=rz(S,x,o,{appBaseUrl:f,token:u});if(typeof window<"u"){const L=u||_a();L&&D.setToken(L)}const F=b2({appId:o,host:p2(s,typeof window<"u"?(e=window.location)===null||e===void 0?void 0:e.origin:void 0),functionsVersion:h,getAuthToken:()=>u||_a()}),P={entities:Ey({axios:S,appId:o,getSocket:k}),integrations:Sy(S,o),connectors:sz(S,o),auth:D,functions:_y(x,o,{getAuthHeaders:()=>{const L={},W=u||_a();return W&&(L.Authorization=`Bearer ${W}`),L},baseURL:(n=x.defaults)===null||n===void 0?void 0:n.baseURL}),agents:Ty({axios:S,getSocket:k,appId:o,serverUrl:s,token:u}),aiGateway:Oy({serverUrl:s,token:u,appId:o}),appLogs:Ny(S,o),users:lz(S,o),analytics:WD({axiosClient:S,serverUrl:s,appId:o,userAuthModule:D}),actors:F.module,cleanup:()=>{P.analytics.cleanup(),F.closeAll(),w&&w.disconnect()}},C={entities:Ey({axios:R,appId:o,getSocket:k}),integrations:Sy(R,o),sso:iz(R,o),connectors:az(R,o),functions:_y(z,o,{getAuthHeaders:()=>{const L={};return c&&(L.Authorization=`Bearer ${c}`),L},baseURL:(i=z.defaults)===null||i===void 0?void 0:i.baseURL}),agents:Ty({axios:R,getSocket:k,appId:o,serverUrl:s,token:u}),aiGateway:Oy({serverUrl:s,token:c,appId:o}),appLogs:Ny(R,o),cleanup:()=>{w&&w.disconnect()}};return p&&typeof window<"u"&&setTimeout(async()=>{try{await P.auth.isAuthenticated()||P.auth.redirectToLogin(window.location.href)}catch(L){console.error("Authentication check failed:",L),P.auth.redirectToLogin(window.location.href)}},0),{...P,setToken(L){P.auth.setToken(L),w&&w.updateConfig({token:L}),E.token=L},getConfig(){return{serverUrl:s,appId:o,requiresAuth:p}},get asServiceRole(){if(!c)throw new Error("Service token is required to use asServiceRole. Please provide a serviceToken when creating the client.");return C}}}const s0=typeof window>"u",Ly=()=>{const t={};return{getItem:e=>
292e in t?t[e]:null,setItem:(e,n)=>{t[e]=String(n)},removeItem:e=>{delete t[e]}}};let Li;if(s0)Li=Ly();else try{Li=window.localStorage}catch{Li=Ly()}const y2=t=>t.replace(/([A-Z])/g,"_$1").toLowerCase(),cs=(t,{defaultValue:e=void 0,removeFromUrl:n=!1}={})=>{if(s0)return e;const i=`base44_${y2(t)}`,s=new URLSearchParams(window.location.search),o=s.get(t);if(n){s.delete(t);const c=`${window.location.pathname}${s.toString()?`?${s.toString()}`:""}${window.location.hash}`;window.history.replaceState({},document.title,c)}if(o)return Li.setItem(i,o),o;if(e)return Li.setItem(i,e),e;const u=Li.getItem(i);return u||null},w2=()=>(cs("clear_access_token")==="true"&&(Li.removeItem("base44_access_token"),Li.removeItem("token")),{appId:cs("app_id",{defaultValue:"6a4ffb1e5e2f33d33be7b8a6"}),token:cs("access_token",{removeFromUrl:!0}),fromUrl:cs("from_url",{defaultValue:window.location.href}),functionsVersion:cs("functions_version",{defaultValue:"prod"}),appBaseUrl:cs("app_base_url",{defaultValue:void 0})}),Wo={...w2()},{appId:k2,token:x2,functionsVersion:A2,appBaseUrl:E2}=Wo,un=v2({appId:k2,token:x2,functionsVersion:A2,serverUrl:"",requiresAuth:!1,appBaseUrl:E2});function S2({}){var s;const e=qi().pathname.substring(1),{data:n,isFetched:i}=AO({queryKey:["user"],queryFn:async()=>{try{return{user:await un.auth.me(),isAuthenticated:!0}}catch{return{user:null,isAuthenticated:!1}}}});return d.jsx("div",{className:"min-h-screen flex items-center justify-center p-6 bg-slate-50",children:d.jsx("div",{className:"max-w-md w-full",children:d.jsxs("div",{className:"text-center space-y-6",children:[d.jsxs("div",{className:"space-y-2",children:[d.jsx("h1",{className:"text-7xl font-light text-slate-300",children:"404"}),d.jsx("div",{className:"h-0.5 w-16 bg-slate-200 mx-auto"})]}),d.jsxs("div",{className:"space-y-3",children:[d.jsx("h2",{className:"text-2xl font-medium text-slate-800",children:"Page Not Found"}),d.jsxs("p",{className:"text-slate-600 leading-relaxed",children:["The page ",d.jsxs("span",{className:"font-medium text-slate-700",children:['"',e,'"']})," could not be found in this application."]})]}),i&&n.isAuthenticated&&((s=n.user)==null?void 0:s.role)==="admin"&&d.jsx("div",{className:"mt-8 p-4 bg-slate-100 rounded-lg border border-slate-200",children:d.jsxs("div",{className:"flex items-start space-x-3",children:[d.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-orange-100 flex items-center justify-center mt-0.5",children:d.jsx("div",{className:"w-2 h-2 rounded-full bg-orange-400"})}),d.jsxs("div",{className:"text-left space-y-1",children:[d.jsx("p",{className:"text-sm font-medium text-slate-700",children:"Admin Note"}),d.jsx("p",{className:"text-sm text-slate-600 leading-relaxed",children:"This could mean that the AI hasn't implemented this page yet. Ask it to implement it in the chat."})]})]})}),d.jsx("div",{className:"pt-6",children:d.jsxs("button",{onClick:()=>window.location.href="/",className:"inline-flex items-center px-4 py-2 text-sm font-medium text-slate-700 bg-white border border-slate-200 rounded-lg hover:bg-slate-50 hover:border-slate-300 transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-slate-500",children:[d.jsx("svg",{className:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"})}),"Go Home"]})})]})})})}const o0=I.createContext(),_2=({children:t})=>{const[e,n]=I.useState(null),[i,s]=I.useState(!1),[o,u]=I.useState(!0),[c,p]=I.useState(!0),[v,b]=I.useState(null),[h,m]=I.useState(!1),[f,E]=I.useState(null);I.useEffect(()=>{w()},[]);const w=async()=>{var S,x;try{p(!0),b(null);const T=qo({baseURL:"/api/apps/public",headers:{"X-App-Id":Wo.appId},token:Wo.token,interceptResponses:!0});try{const R=await T.get(`/prod/public-settings/by-id/${Wo.appId}`);E(R),Wo.token?await k():(u(!1),s(!1),m(!0)),p(!1)}catch(R){if(console.error("App state check failed:",R),R.status===403&&((x=(S=R.data)==null?void 0:S.extra_data)!=null&&x.reason)){const z=R.data.extra_data.reason;b(z==="auth_required"?{type:"auth_required",message:"Authentication required"}:z==="user_not_registered"?{type:"user_not_registered",message:"User not registered for this app"}:{type:z,message:R.message})}else b({type:"unknown",message:R.message||"Failed to load app"});p(!1),u(!1)}}catch(T){console.error("Unexpected error:",T),b({type:"unknown",message:T.message||"An unexpected error occurred"}),p(!1),u(!1)}},k=async()=>{try{u(!0);const S=await un.auth.me();n(S),s(!0),u(!1),m(!0)}catch(S){console.error("User auth check failed:",S),u(!1),s(!1),m(!0),(S.status===401||S.status===403)&&b({type:"auth_required",message:"Authentication required"})}},y=(S=!0)=>{n(null),s(!1),S?un.auth.logout(window.location.href):un.auth.logout()},A=()=>{un.auth.redirectToLogin(window.location.href)};return d.jsx(o0.Provider,{value:{user:e,isAuthenticated:i,isLoadingAuth:o,isLoadingPublicSettings:c,authError:v,appPublicSettings:f,authChecked:h,logout:y,navigateToLogin:A,checkUserAuth:k,checkAppState:w},children:t})},l0=()=>{const t=I.useContext(o0);if(!t)throw new Error("useAuth must be used within an AuthProvider");return t},u0=()=>d.jsx("div",{className:"flex flex-col items-center justify-center min-h-screen bg-gradient-to-b from-white to-slate-50",children:d.jsx("div",{className:"max-w-md w-full p-8 bg-white rounded-lg shadow-lg border border-slate-100",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 mb-6 rounded-full bg-orange-100",children:d.jsx("svg",{className:"w-8 h-8 text-orange-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),d.jsx("h1",{className:"text-3xl font-bold text-slate-900 mb-4",children:"Access Restricted"}),d.jsx("p",{className:"text-slate-600 mb-8",children:"You are not registered to use this application. Please contact the app administrator to request access."}),d.jsxs("div",{className:"p-4 bg-slate-50 rounded-md text-sm text-slate-600",children:[d.jsx("p",{children:"If you believe this is an error, you can:"}),d.jsxs("ul",{className:"list-disc list-inside mt-2 space-y-1",children:[d.jsx("li",{children:"Verify you are logged in with the correct account"}),d.jsx("li",{children:"Contact the app administrator for access"}),d.jsx("li",{children:"Try logging out and back in again"})]})]})]})})}),T2=t=>{const e=t.slice(1);try{return decodeURIComponent(e)}catch{return e}};function O2(){const{pathname:t,hash:e}=qi(),n=tN(),i=I.useRef(!0);return I.useEffect(()=>{if(i.current)i.current=!1;else try{const s=localStorage.getItem("attrixus-consent");s&&JSON.parse(s).analytics&&typeof window.gtag=="function"&&window.gtag("event","page_view",{page_title:document.title,page_location:window.location.href,send_to:"G-P0WM9LYKSE"})}catch{}if(n!=="POP"){if(e){const s=T2(e);let o=-1,u=0,c=0;const p=()=>{const v=document.getElementById(s);if(v){const b=v.getBoundingClientRect().top+window.scrollY;if(Math.abs(b-o)<2?u++:u=0,o=b,u>=3||c>50){v.scrollIntoView({behavior:"smooth"});return}}c++,c<80&&requestAnimationFrame(p)};requestAnimationFrame(p);return}window.scrollTo({top:0,left:0,behavior:"instant"})}},[t,e,n]),null}const N2="modulepreload",C2=function(t){return"/"+t},By={},bn=function(e,n,i){let s=Promise.resolve();if(n&&n.length>0){let u=function(v){return Promise.all(v.map(b=>Promise.resolve(b).then(h=>({status:"fulfilled",value:h}),h=>
vendor: 18,307 bytes, line 292
292({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),p=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));s=u(n.map(v=>{if(v=C2(v),v in By)return;By[v]=!0;const b=v.endsWith(".css"),h=b?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${v}"]${h}`))return;const m=document.createElement("link");if(m.rel=b?"stylesheet":N2,b||(m.as="script"),m.crossOrigin="",m.href=v,p&&m.setAttribute("nonce",p),document.head.appendChild(m),b)return new Promise((f,E)=>{m.addEventListener("load",f),m.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${v}`)))})}))}function o(u){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=u,window.dispatchEvent(c),!c.defaultPrevented)throw u}return s.then(u=>{for(const c of u||[])c.status==="rejected"&&o(c.reason);return e().catch(o)})};function _r(t,e,{checkForDefaultPrevented:n=!0}={}){return function(s){if(t==null||t(s),n===!1||!s.defaultPrevented)return e==null?void 0:e(s)}}function Fy(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function fl(...t){return e=>{let n=!1;const i=t.map(s=>{const o=Fy(s,e);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let s=0;s<i.length;s++){const o=i[s];typeof o=="function"?o():Fy(t[s],null)}}}}function sr(...t){return I.useCallback(fl(...t),t)}function D2(t,e){const n=I.createContext(e),i=o=>{const{children:u,...c}=o,p=I.useMemo(()=>c,Object.values(c));return d.jsx(n.Provider,{value:p,children:u})};i.displayName=t+"Provider";function s(o){const u=I.useContext(n);if(u)return u;if(e!==void 0)return e;throw new Error(`\`${o}\` must be used within \`${t}\``)}return[i,s]}function vc(t,e=[]){let n=[];function i(o,u){const c=I.createContext(u),p=n.length;n=[...n,u];const v=h=>{var y;const{scope:m,children:f,...E}=h,w=((y=m==null?void 0:m[t])==null?void 0:y[p])||c,k=I.useMemo(()=>E,Object.values(E));return d.jsx(w.Provider,{value:k,children:f})};v.displayName=o+"Provider";function b(h,m){var w;const f=((w=m==null?void 0:m[t])==null?void 0:w[p])||c,E=I.useContext(f);if(E)return E;if(u!==void 0)return u;throw new Error(`\`${h}\` must be used within \`${o}\``)}return[v,b]}const s=()=>{const o=n.map(u=>I.createContext(u));return function(c){const p=(c==null?void 0:c[t])||o;return I.useMemo(()=>({[`__scope${t}`]:{...c,[t]:p}}),[c,p])}};return s.scopeName=t,[i,z2(s,...e)]}function z2(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const i=t.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(o){const u=i.reduce((c,{useScope:p,scopeName:v})=>{const h=p(o)[`__scope${v}`];return{...c,...h}},{});return I.useMemo(()=>({[`__scope${e.scopeName}`]:u}),[u])}};return n.scopeName=e.scopeName,n}var Ps=globalThis!=null&&globalThis.document?I.useLayoutEffect:()=>{},R2=dc[" useId ".trim().toString()]||(()=>{}),P2=0;function $o(t){const[e,n]=I.useState(R2());return Ps(()=>{n(i=>i??String(P2++))},[t]),e?`radix-${e}`:""}var j2=dc[" useInsertionEffect ".trim().toString()]||Ps;function yc({prop:t,defaultProp:e,onChange:n=()=>{},caller:i}){const[s,o,u]=I2({defaultProp:e,onChange:n}),c=t!==void 0,p=c?t:s;{const b=I.useRef(t!==void 0);I.useEffect(()=>{const h=b.current;h!==c&&console.warn(`${i} is changing from ${h?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),b.current=c},[c,i])}const v=I.useCallback(b=>{var h;if(c){const m=M2(b)?b(t):b;m!==t&&((h=u.current)==null||h.call(u,m))}else o(b)},[c,t,o,u]);return[p,v]}function I2({defaultProp:t,onChange:e}){const[n,i]=I.useState(t),s=I.useRef(n),o=I.useRef(e);return j2(()=>{o.current=e},[e]),I.useEffect(()=>{var u;s.current!==n&&((u=o.current)==null||u.call(o,n),s.current=n)},[n,s]),[n,i,o]}function M2(t){return typeof t=="function"}function L2(t){const e=B2(t),n=I.forwardRef((i,s)=>{const{children:o,...u}=i,c=I.Children.toArray(o),p=c.find(q2);if(p){const v=p.props.children,b=c.map(h=>h===p?I.Children.count(v)>1?I.Children.only(null):I.isValidElement(v)?v.props.children:null:h);return d.jsx(e,{...u,ref:s,children:I.isValidElement(v)?I.cloneElement(v,void 0,b):null})}return d.jsx(e,{...u,ref:s,children:o})});return n.displayName=`${t}.Slot`,n}function B2(t){const e=I.forwardRef((n,i)=>{const{children:s,...o}=n;if(I.isValidElement(s)){const u=W2(s),c=U2(o,s.props);return s.type!==I.Fragment&&(c.ref=i?fl(i,u):u),I.cloneElement(s,c)}return I.Children.count(s)>1?I.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var F2=Symbol("radix.slottable");function q2(t){return I.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===F2}function U2(t,e){const n={...e};for(const i in e){const s=t[i],o=e[i];/^on[A-Z]/.test(i)?s&&o?n[i]=(...c)=>{const p=o(...c);return s(...c),p}:s&&(n[i]=s):i==="style"?n[i]={...s,...o}:i==="className"&&(n[i]=[s,o].filter(Boolean).join(" "))}return{...t,...n}}function W2(t){var i,s;let e=(i=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:i.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(s=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:s.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var K2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Dn=K2.reduce((t,e)=>{const n=L2(`Primitive.${e}`),i=I.forwardRef((s,o)=>{const{asChild:u,...c}=s,p=u?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(p,{...c,ref:o})});return i.displayName=`Primitive.${e}`,{...t,[e]:i}},{});function G2(t,e){t&&a1.flushSync(()=>t.dispatchEvent(e))}function el(t){const e=I.useRef(t);return I.useEffect(()=>{e.current=t}),I.useMemo(()=>(...n)=>{var i;return(i=e.current)==null?void 0:i.call(e,...n)},[])}function V2(t,e=globalThis==null?void 0:globalThis.document){const n=el(t);I.useEffect(()=>{const i=s=>{s.key==="Escape"&&n(s)};return e.addEventListener("keydown",i,{capture:!0}),()=>e.removeEventListener("keydown",i,{capture:!0})},[n,e])}var H2="DismissableLayer",ng="dismissableLayer.update",$2="dismissableLayer.pointerDownOutside",X2="dismissableLayer.focusOutside",qy,c0=I.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),d0=I.forwardRef((t,e)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:o,onInteractOutside:u,onDismiss:c,...p}=t,v=I.useContext(c0),[b,h]=I.useState(null),m=(b==null?void 0:b.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,f]=I.useState({}),E=sr(e,z=>h(z)),w=Array.from(v.layers),[k]=[...v.layersWithOutsidePointerEventsDisabled].slice(-1),y=w.indexOf(k),A=b?w.indexOf(b):-1,S=v.layersWithOutsidePointerEventsDisabled.size>0,x=A>=y,T=Y2(z=>{const D=z.target,F=[...v.branches].some(P=>P.contains(D));!x||F||(s==null||s(z),u==null||u(z),z.defaultPrevented||c==null||c())},m),R=Z2(z=>{const D=z.target;[...v.branches].some(P=>P.contains(D))||(o==null||o(z),u==null||u(z),z.defaultPrevented||c==null||c())},m);return V2(z=>{A===v.layers.size-1&&(i==null||i(z),!z.defaultPrevented&&c&&(z.preventDefault(),c()))},m),I.useEffect(()=>{if(b)return n&&(v.layersWithOutsidePointerEventsDisabled.size===0&&(qy=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),v.layersWithOutsidePointerEventsDisabled.add(b)),v.layers.add(b),Uy(),()=>{n&&v.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=qy)}},[b,m,n,v]),I.useEffect(()=>()=>{b&&(v.layers.delete(b),v.layersWithOutsidePointerEventsDisabled.delete(b),Uy())},[b,v]),I.useEffect(()=>{const z=()=>f({});return document.addEventListener(ng,z),()=>document.removeEventListener(ng,z)},[]),d.jsx(Dn.div,{...p,ref:E,style:{pointerEvents:S?x?"auto":"none":void 0,...t.style},onFocusCapture:_r(t.onFocusCapture,R.onFocusCapture),onBlurCapture:_r(t.onBlurCapture,R.onBlurCapture),onPointerDownCapture:_r(t.onPointerDownCapture,T.onPointerDownCapture)})});d0.displayName=H2;var J2="DismissableLayerBranch",Q2=I.forwardRef((t,e)=>{const n=I.useContext(c0),i=I.useRef(null),s=sr(e,i);return I.useEffect(()=>{const o=i.current;if(o)return n.branches.add(o),()=>{n.branches.delete(o)}},[n.branches]),d.jsx(Dn.div,{...t,ref:s})});Q2.displayName=J2;function Y2(t,e=globalThis==null?void 0:globalThis.document){const n=el(t),i=I.useRef(!1),s=I.useRef(()=>{});return I.useEffect(()=>{const o=c=>{if(c.target&&!i.current){let p=function(){h0($2,n,v,{discrete:!0})};const v={originalEvent:c};c.pointerType==="touch"?(e.removeEventListener("click",s.current),s.current=p,e.addEventListener("click",s.current,{once:!0})):p()}else e.removeEventListener("click",s.current);i.current=!1},u=window.setTimeout(()=>{e.addEventListener("pointerdown",o)},0);return()=>{window.clearTimeout(u),e.removeEventListener("pointerdown",o),e.removeEventListener("click",s.current)}},[e,n]),{onPointerDownCapture:()=>i.current=!0}}function Z2(t,e=globalThis==null?void 0:globalThis.document){const n=el(t),i=I.useRef(!1);return I.useEffect(()=>{const s=o=>{o.target&&!i.current&&h0(X2,n,{originalEvent:o},{discrete:!1})};return e.addEventListener("focusin",s),()=>e.removeEventListener("focusin",s)},[e,n]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Uy(){const t=new CustomEvent(ng);document.dispatchEvent(t)}function h0(t,e,n,{discrete:i}){const s=n.originalEvent.target,o=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&s.addEventListener(t,e,{once:!0}),i?G2(s,o):s.dispatchEvent(o)}var Rh="focusScope.autoFocusOnMount",Ph="focusScope.autoFocusOnUnmount",Wy={bubbles:!1,cancelable:!0},eR="FocusScope",f0=I.forwardRef((t,e)=>{const{loop:n=!1,trapped:i=!1,onMountAutoFocus:s,onUnmountAutoFocus:o,...u}=t,[c,p]=I.useState(null),v=el(s),b=el(o),h=I.useRef(null),m=sr(e,w=>p(w)),f=I.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;I.useEffect(()=>{if(i){let w=function(S){if(f.paused||!c)return;const x=S.target;c.contains(x)?h.current=x:Ei(h.current,{select:!0})},k=function(S){if(f.paused||!c)return;const x=S.relatedTarget;x!==null&&(c.contains(x)||Ei(h.current,{select:!0}))},y=function(S){if(document.activeElement===document.body)for(const T of S)T.removedNodes.length>0&&Ei(c)};document.addEventListener("focusin",w),document.addEventListener("focusout",k);const A=new MutationObserver(y);return c&&A.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",k),A.disconnect()}}},[i,c,f.paused]),I.useEffect(()=>{if(c){Gy.add(f);const w=document.activeElement;if(!c.contains(w)){const y=new CustomEvent(Rh,Wy);c.addEventListener(Rh,v),c.dispatchEvent(y),y.defaultPrevented||(tR(sR(m0(c)),{select:!0}),document.activeElement===w&&Ei(c))}return()=>{c.removeEventListener(Rh,v),setTimeout(()=>{const y=new CustomEvent(Ph,Wy);c.addEventListener(Ph,b),c.dispatchEvent(y),y.defaultPrevented||Ei(w??document.body,{select:!0}),c.removeEventListener(Ph,b),Gy.remove(f)},0)}}},[c,v,b,f]);const E=I.useCallback(w=>{if(!n&&!i||f.paused)return;const k=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,y=document.activeElement;if(k&&y){const A=w.currentTarget,[S,x]=nR(A);S&&x?!w.shiftKey&&y===x?(w.preventDefault(),n&&Ei(S,{select:!0})):w.shiftKey&&y===S&&(w.preventDefault(),n&&Ei(x,{select:!0})):y===A&&w.preventDefault()}},[n,i,f.paused]);return d.jsx(Dn.div,{tabIndex:-1,...u,ref:m,onKeyDown:E})});f0.displayName=eR;function tR(t,{select:e=!1}={}){const n=document.activeElement;for(const i of t)if(Ei(i,{select:e}),document.activeElement!==n)return}function nR(t){const e=m0(t),n=Ky(e,t),i=Ky(e.reverse(),t);return[n,i]}function m0(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function Ky(t,e){for(const n of t)if(!rR(n,{upTo:e}))return n}function rR(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function iR(t){return t instanceof HTMLInputElement&&"select"in t}function Ei(t,{select:e=!1}={}){if(t&&t.focus){const n=document.activeElement;t.focus({preventScroll:!0}),t!==n&&iR(t)&&e&&t.select()}}var Gy=aR();function aR(){let t=[];return{add(e){const n=t[0];e!==n&&(n==null||n.pause()),t=Vy(t,e),t.unshift(e)},remove(e){var n;t=Vy(t,e),(n=t[0])==null||n.resume()}}}function Vy(t,e){const n=[...t],i=n.indexOf(e);return i!==-1&&n.splice(i,1),n}function sR(t){return t.filter(e=>e.tagName!=="A")}var oR="Portal",g0=I.forwardRef((t,e)=>{var c;const{container:n,...i}=t,[s,o]=I.useState(!1);Ps(()=>o(!0),[]);const u=n||s&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return u?SO.createPortal(d.jsx(Dn.div,{...i,ref:e}),u):null});g0.displayName=oR;function lR(t,e){return I.useReducer((n,i)=>e[n][i]??n,t)}var ml=t=>{const{present:e,children:n}=t,i=uR(e),s=typeof n=="function"?n({present:i.isPresent}):I.Children.only(n),o=sr(i.ref,cR(s));return typeof n=="function"||i.isPresent?I.cloneElement(s,{ref:o}):null};ml.displayName="Presence";function uR(t){const[e,n]=I.useState(),i=I.useRef(null),s=I.useRef(t),o=I.useRef("none"),u=t?"mounted":"unmounted",[c,p]=lR(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return I.useEffect(()=>{const v=zu(i.current);o.current=c==="mounted"?v:"none"},[c]),Ps(()=>{const v=i.current,b=s.current;if(b!==t){const m=o.current,f=zu(v);t?p("MOUNT"):f==="none"||(v==null?void 0:v.display)==="none"?p("UNMOUNT"):p(b&&m!==f?"ANIMATION_OUT":"UNMOUNT"),s.current=t}},[t,p]),Ps(()=>{if(e){let v;const b=e.ownerDocument.defaultView??window,h=f=>{const w=zu(i.current).includes(CSS.escape(f.animationName));if(f.target===e&&w&&(p("ANIMATION_END"),!s.current)){const k=e.style.animationFillMode;e.style.animationFillMode="forwards",v=b.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=k)})}},m=f=>{f.target===e&&(o.current=zu(i.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",h),e.addEventListener("animationend",h),()=>{b.clearTimeout(v),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",h),e.removeEventListener("animationend",h)}}else p("ANIMATION_END")},[e,p]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:I.useCallback(v=>{i.current=v?getComputedStyle(v):null,n(v)},[])}}function zu(t){return(t==null?void 0:t.animationName)||"none"}function cR(t){var i,s;let e=(i=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:i.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(s=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:s.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var jh=0;function dR(){I.useEffect(()=>{const t=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",t[0]??Hy()),document.body.insertAdjacentElement("beforeend",t[1]??Hy()),jh++,()=>{jh===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),jh--}},[])}function Hy(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var xr=function(){return xr=Object.assign||function(e){for(var n,i=1,s=arguments.length;i<s;i++){n=arguments[i];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},xr.apply(this,arguments)};function p0(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(t);s<i.length;s++)e.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(t,i[s])&&(n[i[s]]=t[i[s]]);return n}function hR(t,e,n){if(n||arguments.length===2)for(var i=0,s=e.length,o;i<s;i++)(o||!(i in e))&&(o||(o=Array.prototype.slice.call(e,0,i)),o[i]=e[i]);return t.concat(o||Array.prototype.slice.call(e))}var $u="right-scroll-bar-position",Xu="width-before-scroll-bar",fR="with-scroll-bars-hidden",mR="--removed-body-scroll-bar-size";function Ih(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}function gR(t,e){var n=I.useState(function(){return{value:t,callback:e,facade:{get current(){return n.value},set current(i){var s=n.value;s!==i&&(n.value=i,n.callback(i,s))}}}})[0];return n.callback=e,n.facade}var pR=typeof window<"u"?I.useLayoutEffect:I.useEffect,$y=new WeakMap;function bR(t,e){var n=gR(null,function(i){return t.forEach(function(s){return Ih(s,i)})});return pR(function(){var i=$y.get(n);if(i){var s=new Set(i),o=new Set(t),u=n.current;s.forEach(function(c){o.has(c)||Ih(c,null)}),o.forEach(function(c){s.has(c)||Ih(c,u)})}$y.set(n,t)},[t]),n}function vR(t){return t}function yR(t,e){e===void 0&&(e=vR);var n=[],i=!1,s={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:t},useMedium:function(o){var u=e(o,i);return n.push(u),function(){n=n.filter(function(c){return c!==u})}},assignSyncMedium:function(o){for(i=!0;n.length;){var u=n;n=[],u.forEach(o)}n={push:function(c){return o(c)},filter:function(){return n}}},assignMedium:function(o){i=!0;var u=[];if(n.length){var c=n;n=[],c.forEach(o),u=n}var p=function(){var b=u;u=[],b.forEach(o)},v=function(){return Promise.resolve().then(p)};v(),n={push:function(b){u.push(b),v()},filter:function(b){return u=u.filter(b),n}}}};return s}function wR(t){t===void 0&&(t={});var e=yR(null);return e.options=xr({async:!0,ssr:!1},t),e}var b0=function(t){var e=t.sideCar,n=p0(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=e.read();if(!i)throw new Error("Sidecar medium not found");return I.createElement(i,xr({},n))};
vendor: 4,539 bytes, lines 292-329
292b0.isSideCarExport=!0;function kR(t,e){return t.useMedium(e),b0}var v0=wR(),Mh=function(){},wc=I.forwardRef(function(t,e){var n=I.useRef(null),i=I.useState({onScrollCapture:Mh,onWheelCapture:Mh,onTouchMoveCapture:Mh}),s=i[0],o=i[1],u=t.forwardProps,c=t.children,p=t.className,v=t.removeScrollBar,b=t.enabled,h=t.shards,m=t.sideCar,f=t.noRelative,E=t.noIsolation,w=t.inert,k=t.allowPinchZoom,y=t.as,A=y===void 0?"div":y,S=t.gapMode,x=p0(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),T=m,R=bR([n,e]),z=xr(xr({},x),s);return I.createElement(I.Fragment,null,b&&I.createElement(T,{sideCar:v0,removeScrollBar:v,shards:h,noRelative:f,noIsolation:E,inert:w,setCallbacks:o,allowPinchZoom:!!k,lockRef:n,gapMode:S}),u?I.cloneElement(I.Children.only(c),xr(xr({},z),{ref:R})):I.createElement(A,xr({},z,{className:p,ref:R}),c))});wc.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};wc.classNames={fullWidth:Xu,zeroRight:$u};var xR=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function AR(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=xR();return e&&t.setAttribute("nonce",e),t}function ER(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function SR(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var _R=function(){var t=0,e=null;return{add:function(n){t==0&&(e=AR())&&(ER(e,n),SR(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}},TR=function(){var t=_R();return function(e,n){I.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&n])}},y0=function(){var t=TR(),e=function(n){var i=n.styles,s=n.dynamic;return t(i,s),null};return e},OR={left:0,top:0,right:0,gap:0},Lh=function(t){return parseInt(t||"",10)||0},NR=function(t){var e=window.getComputedStyle(document.body),n=e[t==="padding"?"paddingLeft":"marginLeft"],i=e[t==="padding"?"paddingTop":"marginTop"],s=e[t==="padding"?"paddingRight":"marginRight"];return[Lh(n),Lh(i),Lh(s)]},CR=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return OR;var e=NR(t),n=document.documentElement.clientWidth,i=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,i-n+e[2]-e[0])}},DR=y0(),bs="data-scroll-locked",zR=function(t,e,n,i){var s=t.left,o=t.top,u=t.right,c=t.gap;return n===void 0&&(n="margin"),` 293 .`.concat(fR,` { 294 overflow: hidden `).concat(i,`; 295 padding-right: `).concat(c,"px ").concat(i,`; 296 } 297 body[`).concat(bs,`] { 298 overflow: hidden `).concat(i,`; 299 overscroll-behavior: contain; 300 `).concat([e&&"position: relative ".concat(i,";"),n==="margin"&&` 301 padding-left: `.concat(s,`px; 302 padding-top: `).concat(o,`px; 303 padding-right: `).concat(u,`px; 304 margin-left:0; 305 margin-top:0; 306 margin-right: `).concat(c,"px ").concat(i,`; 307 `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(i,";")].filter(Boolean).join(""),` 308 } 309 310 .`).concat($u,` { 311 right: `).concat(c,"px ").concat(i,`; 312 } 313 314 .`).concat(Xu,` { 315 margin-right: `).concat(c,"px ").concat(i,`; 316 } 317 318 .`).concat($u," .").concat($u,` { 319 right: 0 `).concat(i,`; 320 } 321 322 .`).concat(Xu," .").concat(Xu,` { 323 margin-right: 0 `).concat(i,`; 324 } 325 326 body[`).concat(bs,`] { 327 `).concat(mR,": ").concat(c,`px; 328 } 329`)},Xy=function(){var t=parseInt(document.body.getAttribute(bs)||"0",10);return isFinite(t)?t:0},RR=function(){I.useEffect(function(){return document.body.setAttribute(bs,(Xy()+1).toString()),function(){var t=Xy()-1;t<=0?document.body.removeAttribute(bs):document.body.setAttribute(bs,t.toString())}},[])},PR=function(t){var e=t.noRelative,n=t.noImportant,i=t.gapMode,s=i===void 0?"margin":i;RR();var o=I.useMemo(function(){return CR(s)},[s]);return I.createElement(DR,{styles:zR(o,!e,s,n?"":"!important")})},rg=!1;if(typeof window<"u")try{var Ru=Object.defineProperty({},"passive",{get:function(){return rg=!0,!0}});window.addEventListener("test",Ru,Ru),window.removeEventListener("test",Ru,Ru)}catch{rg=!1}var ds=rg?{passive:!1}:!1,jR=function(t){return t.tagName==="TEXTAREA"},w0=function(t,e){if(!(t instanceof Element))return!1;var n=window.getComputedStyle(t);return n[e]!=="hidden"&&!(n.overflowY===n.overflowX&&!jR(t)&&n[e]==="visible")},IR=function(t){return w0(t,"overflowY")},MR=function(t){return w0(t,"overflowX")},Jy=function(t,e){var n=e.ownerDocument,i=e;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var s=k0(t,i);
vendor: 1,708 bytes, lines 329-332
329if(s){var o=x0(t,i),u=o[1],c=o[2];if(u>c)return!0}i=i.parentNode}while(i&&i!==n.body);return!1},LR=function(t){var e=t.scrollTop,n=t.scrollHeight,i=t.clientHeight;return[e,n,i]},BR=function(t){var e=t.scrollLeft,n=t.scrollWidth,i=t.clientWidth;return[e,n,i]},k0=function(t,e){return t==="v"?IR(e):MR(e)},x0=function(t,e){return t==="v"?LR(e):BR(e)},FR=function(t,e){return t==="h"&&e==="rtl"?-1:1},qR=function(t,e,n,i,s){var o=FR(t,window.getComputedStyle(e).direction),u=o*i,c=n.target,p=e.contains(c),v=!1,b=u>0,h=0,m=0;do{if(!c)break;var f=x0(t,c),E=f[0],w=f[1],k=f[2],y=w-k-o*E;(E||y)&&k0(t,c)&&(h+=y,m+=E);var A=c.parentNode;c=A&&A.nodeType===Node.DOCUMENT_FRAGMENT_NODE?A.host:A}while(!p&&c!==document.body||p&&(e.contains(c)||e===c));return(b&&Math.abs(h)<1||!b&&Math.abs(m)<1)&&(v=!0),v},Pu=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},Qy=function(t){return[t.deltaX,t.deltaY]},Yy=function(t){return t&&"current"in t?t.current:t},UR=function(t,e){return t[0]===e[0]&&t[1]===e[1]},WR=function(t){return` 330 .block-interactivity-`.concat(t,` {pointer-events: none;} 331 .allow-interactivity-`).concat(t,` {pointer-events: all;} 332`)},KR=0,hs=[];function GR(t){var e=I.useRef([]),n=I.useRef([0,0]),i=I.useRef(),s=I.useState(KR++)[0],o=I.useState(y0)[0],u=I.useRef(t);I.useEffect(function(){u.current=t},[t]),I.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(s));var w=hR([t.lockRef.current],(t.shards||[]).map(Yy),!0).filter(Boolean);return w.forEach(function(k){return k.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),w.forEac
vendor: 4,117 bytes, line 332
332h(function(k){return k.classList.remove("allow-interactivity-".concat(s))})}}},[t.inert,t.lockRef.current,t.shards]);var c=I.useCallback(function(w,k){if("touches"in w&&w.touches.length===2||w.type==="wheel"&&w.ctrlKey)return!u.current.allowPinchZoom;var y=Pu(w),A=n.current,S="deltaX"in w?w.deltaX:A[0]-y[0],x="deltaY"in w?w.deltaY:A[1]-y[1],T,R=w.target,z=Math.abs(S)>Math.abs(x)?"h":"v";if("touches"in w&&z==="h"&&R.type==="range")return!1;var D=window.getSelection(),F=D&&D.anchorNode,P=F?F===R||F.contains(R):!1;if(P)return!1;var C=Jy(z,R);if(!C)return!0;if(C?T=z:(T=z==="v"?"h":"v",C=Jy(z,R)),!C)return!1;if(!i.current&&"changedTouches"in w&&(S||x)&&(i.current=T),!T)return!0;var j=i.current||T;return qR(j,k,w,j==="h"?S:x)},[]),p=I.useCallback(function(w){var k=w;if(!(!hs.length||hs[hs.length-1]!==o)){var y="deltaY"in k?Qy(k):Pu(k),A=e.current.filter(function(T){return T.name===k.type&&(T.target===k.target||k.target===T.shadowParent)&&UR(T.delta,y)})[0];if(A&&A.should){k.cancelable&&k.preventDefault();return}if(!A){var S=(u.current.shards||[]).map(Yy).filter(Boolean).filter(function(T){return T.contains(k.target)}),x=S.length>0?c(k,S[0]):!u.current.noIsolation;x&&k.cancelable&&k.preventDefault()}}},[]),v=I.useCallback(function(w,k,y,A){var S={name:w,delta:k,target:y,should:A,shadowParent:VR(y)};e.current.push(S),setTimeout(function(){e.current=e.current.filter(function(x){return x!==S})},1)},[]),b=I.useCallback(function(w){n.current=Pu(w),i.current=void 0},[]),h=I.useCallback(function(w){v(w.type,Qy(w),w.target,c(w,t.lockRef.current))},[]),m=I.useCallback(function(w){v(w.type,Pu(w),w.target,c(w,t.lockRef.current))},[]);I.useEffect(function(){return hs.push(o),t.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:m}),document.addEventListener("wheel",p,ds),document.addEventListener("touchmove",p,ds),document.addEventListener("touchstart",b,ds),function(){hs=hs.filter(function(w){return w!==o}),document.removeEventListener("wheel",p,ds),document.removeEventListener("touchmove",p,ds),document.removeEventListener("touchstart",b,ds)}},[]);var f=t.removeScrollBar,E=t.inert;return I.createElement(I.Fragment,null,E?I.createElement(o,{styles:WR(s)}):null,f?I.createElement(PR,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function VR(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}const HR=kR(v0,GR);var A0=I.forwardRef(function(t,e){return I.createElement(wc,xr({},t,{ref:e,sideCar:HR}))});A0.classNames=wc.classNames;var $R=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},fs=new WeakMap,ju=new WeakMap,Iu={},Bh=0,E0=function(t){return t&&(t.host||E0(t.parentNode))},XR=function(t,e){return e.map(function(n){if(t.contains(n))return n;var i=E0(n);return i&&t.contains(i)?i:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},JR=function(t,e,n,i){var s=XR(e,Array.isArray(t)?t:[t]);Iu[n]||(Iu[n]=new WeakMap);var o=Iu[n],u=[],c=new Set,p=new Set(s),v=function(h){!h||c.has(h)||(c.add(h),v(h.parentNode))};s.forEach(v);var b=function(h){!h||p.has(h)||Array.prototype.forEach.call(h.children,function(m){if(c.has(m))b(m);else try{var f=m.getAttribute(i),E=f!==null&&f!=="false",w=(fs.get(m)||0)+1,k=(o.get(m)||0)+1;fs.set(m,w),o.set(m,k),u.push(m),w===1&&E&&ju.set(m,!0),k===1&&m.setAttribute(n,"true"),E||m.setAttribute(i,"true")}catch(y){console.error("aria-hidden: cannot operate on ",m,y)}})};return b(e),c.clear(),Bh++,function(){u.forEach(function(h){var m=fs.get(h)-1,f=o.get(h)-1;fs.set(h,m),o.set(h,f),m||(ju.has(h)||h.removeAttribute(i),ju.delete(h)),f||h.removeAttribute(n)}),Bh--,Bh||(fs=new WeakMap,fs=new WeakMap,ju=new WeakMap,Iu={})}},QR=function(t,e,n){n===void 0&&(n="data-aria-hidden");var i=Array.from(Array.isArray(t)?t:[t]),s=$R(t);return s?(i.push.apply(i,Array.from(s.querySelectorAll("[aria-live], script"))),JR(i,s,n,"aria-hidden")):function(){return null}};function YR(t){const e=ZR(t),n=I.forwardRef((i,s)=>{const{children:o,...u}=i,c=I.Children.toArray(o),p=c.find(tP);
vendor: 7,396 bytes, lines 332-336
332if(p){const v=p.props.children,b=c.map(h=>h===p?I.Children.count(v)>1?I.Children.only(null):I.isValidElement(v)?v.props.children:null:h);return d.jsx(e,{...u,ref:s,children:I.isValidElement(v)?I.cloneElement(v,void 0,b):null})}return d.jsx(e,{...u,ref:s,children:o})});return n.displayName=`${t}.Slot`,n}function ZR(t){const e=I.forwardRef((n,i)=>{const{children:s,...o}=n;if(I.isValidElement(s)){const u=rP(s),c=nP(o,s.props);return s.type!==I.Fragment&&(c.ref=i?fl(i,u):u),I.cloneElement(s,c)}return I.Children.count(s)>1?I.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var eP=Symbol("radix.slottable");function tP(t){return I.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===eP}function nP(t,e){const n={...e};for(const i in e){const s=t[i],o=e[i];/^on[A-Z]/.test(i)?s&&o?n[i]=(...c)=>{const p=o(...c);return s(...c),p}:s&&(n[i]=s):i==="style"?n[i]={...s,...o}:i==="className"&&(n[i]=[s,o].filter(Boolean).join(" "))}return{...t,...n}}function rP(t){var i,s;let e=(i=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:i.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(s=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:s.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var kc="Dialog",[S0]=vc(kc),[iP,lr]=S0(kc),_0=t=>{const{__scopeDialog:e,children:n,open:i,defaultOpen:s,onOpenChange:o,modal:u=!0}=t,c=I.useRef(null),p=I.useRef(null),[v,b]=yc({prop:i,defaultProp:s??!1,onChange:o,caller:kc});return d.jsx(iP,{scope:e,triggerRef:c,contentRef:p,contentId:$o(),titleId:$o(),descriptionId:$o(),open:v,onOpenChange:b,onOpenToggle:I.useCallback(()=>b(h=>!h),[b]),modal:u,children:n})};_0.displayName=kc;var T0="DialogTrigger",aP=I.forwardRef((t,e)=>{const{__scopeDialog:n,...i}=t,s=lr(T0,n),o=sr(e,s.triggerRef);return d.jsx(Dn.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":qg(s.open),...i,ref:o,onClick:_r(t.onClick,s.onOpenToggle)})});aP.displayName=T0;var Bg="DialogPortal",[sP,O0]=S0(Bg,{forceMount:void 0}),N0=t=>{const{__scopeDialog:e,forceMount:n,children:i,container:s}=t,o=lr(Bg,e);return d.jsx(sP,{scope:e,forceMount:n,children:I.Children.map(i,u=>d.jsx(ml,{present:n||o.open,children:d.jsx(g0,{asChild:!0,container:s,children:u})}))})};N0.displayName=Bg;var ac="DialogOverlay",C0=I.forwardRef((t,e)=>{const n=O0(ac,t.__scopeDialog),{forceMount:i=n.forceMount,...s}=t,o=lr(ac,t.__scopeDialog);return o.modal?d.jsx(ml,{present:i||o.open,children:d.jsx(lP,{...s,ref:e})}):null});C0.displayName=ac;var oP=YR("DialogOverlay.RemoveScroll"),lP=I.forwardRef((t,e)=>{const{__scopeDialog:n,...i}=t,s=lr(ac,n);return d.jsx(A0,{as:oP,allowPinchZoom:!0,shards:[s.contentRef],children:d.jsx(Dn.div,{"data-state":qg(s.open),...i,ref:e,style:{pointerEvents:"auto",...i.style}})})}),Ca="DialogContent",D0=I.forwardRef((t,e)=>{const n=O0(Ca,t.__scopeDialog),{forceMount:i=n.forceMount,...s}=t,o=lr(Ca,t.__scopeDialog);return d.jsx(ml,{present:i||o.open,children:o.modal?d.jsx(uP,{...s,ref:e}):d.jsx(cP,{...s,ref:e})})});D0.displayName=Ca;var uP=I.forwardRef((t,e)=>{const n=lr(Ca,t.__scopeDialog),i=I.useRef(null),s=sr(e,n.contentRef,i);return I.useEffect(()=>{const o=i.current;if(o)return QR(o)},[]),d.jsx(z0,{...t,ref:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:_r(t.onCloseAutoFocus,o=>{var u;o.preventDefault(),(u=n.triggerRef.current)==null||u.focus()}),onPointerDownOutside:_r(t.onPointerDownOutside,o=>{const u=o.detail.originalEvent,c=u.button===0&&u.ctrlKey===!0;(u.button===2||c)&&o.preventDefault()}),onFocusOutside:_r(t.onFocusOutside,o=>o.preventDefault())})}),cP=I.forwardRef((t,e)=>{const n=lr(Ca,t.__scopeDialog),i=I.useRef(!1),s=I.useRef(!1);return d.jsx(z0,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var u,c;(u=t.onCloseAutoFocus)==null||u.call(t,o),o.defaultPrevented||(i.current||(c=n.triggerRef.current)==null||c.focus(),o.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:o=>{var p,v;(p=t.onInteractOutside)==null||p.call(t,o),o.defaultPrevented||(i.current=!0,o.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const u=o.target;((v=n.triggerRef.current)==null?void 0:v.contains(u))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&s.current&&o.preventDefault()}})}),z0=I.forwardRef((t,e)=>{const{__scopeDialog:n,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:o,...u}=t,c=lr(Ca,n),p=I.useRef(null),v=sr(e,p);return dR(),d.jsxs(d.Fragment,{children:[d.jsx(f0,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:o,children:d.jsx(d0,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":qg(c.open),...u,ref:v,onDismiss:()=>c.onOpenChange(!1)})}),d.jsxs(d.Fragment,{children:[d.jsx(dP,{titleId:c.titleId}),d.jsx(fP,{contentRef:p,descriptionId:c.descriptionId})]})]})}),Fg="DialogTitle",R0=I.forwardRef((t,e)=>{const{__scopeDialog:n,...i}=t,s=lr(Fg,n);return d.jsx(Dn.h2,{id:s.titleId,...i,ref:e})});R0.displayName=Fg;var P0="DialogDescription",j0=I.forwardRef((t,e)=>{const{__scopeDialog:n,...i}=t,s=lr(P0,n);return d.jsx(Dn.p,{id:s.descriptionId,...i,ref:e})});j0.displayName=P0;var I0="DialogClose",M0=I.forwardRef((t,e)=>{const{__scopeDialog:n,...i}=t,s=lr(I0,n);return d.jsx(Dn.button,{type:"button",...i,ref:e,onClick:_r(t.onClick,()=>s.onOpenChange(!1))})});M0.displayName=I0;function qg(t){return t?"open":"closed"}var L0="DialogTitleWarning",[o3,B0]=D2(L0,{contentName:Ca,titleName:Fg,docsSlug:"dialog"}),dP=({titleId:t})=>{const e=B0(L0),n=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users. 333 334If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component. 335 336For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return I.useEffect(()=>{t&&(document.getElementById(t)||console.error(n))},[n,t]),null},hP="DialogDescriptionWarning",fP=({contentRef:t,descriptionId:e})=>{const i=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${B0(hP).contentName}}.`;return I.useEffect(()=>{var o;const s=(o=t.current)==null?void 0:o.getAttribute("aria-describedby");e&&s&&(document.getElementById(e)||console.warn(i))},[i,t,e]),null},mP=_0,gP=N0,F0=C0,q0=D0,U0=R0,W0=j0,pP=M0;const bP=mP,vP=gP,K0=I.forwardRef(({className:t,...e},n)=>d.jsx(F0,{ref:n,className:dn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e}));K0.displayName=F0.displayName;const G0=I.forwardRef(({className:t,children:e,...n},i)=>d.jsxs(vP,{children:[d.jsx(K0,{}),d.jsxs(q0,{ref:i,className:dn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] max-h-[90vh] overflow-y-auto sm:rounded-lg",t),...n,children:[e,d.jsxs(pP,{className:"absolute right-4 top-4 roun
336ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[d.jsx(hc,{className:"h-4 w-4"}),d.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));G0.displayName=q0.displayName;const V0=({className:t,...e})=>d.jsx("div",{className:dn("flex flex-col space-y-1.5 text-center sm:text-left",t),...e});V0.displayName="DialogHeader";const H0=I.forwardRef(({className:t,...e},n)=>d.jsx(U0,{ref:n,className:dn("text-lg font-semibold leading-none tracking-tight",t),...e}));H0.displayName=U0.displayName;const $0=I.forwardRef(({className:t,...e},n)=>d.jsx(W0,{ref:n,className:dn("text-sm text-muted-foreground",t),...e}));$0.displayName=W0.displayName;const vs=[{code:"de",label:"Deutsch",flag:"ð©ðª"},{code:"en",label:"English",flag:"ð¬ð§"}],Zy="de",ew="attrixus-lang",X0=I.createContext();function yP({children:t}){const[e,n]=I.useState(()=>{const i=localStorage.getItem(ew);if(i&&vs.some(o=>o.code===i))return i;const s=(navigator.language||Zy).slice(0,2).toLowerCase();return vs.some(o=>o.code===s)?s:Zy});return I.useEffect(()=>{localStorage.setItem(ew,e),document.documentElement.lang=e},[e]),d.jsx(X0.Provider,{value:{lang:e,setLang:n,supported:vs},children:t})}function Wt(){return I.useContext(X0)}const wP=[Ex,j_,B_];function J0({open:t,onOpenChange:e}){const{lang:n}=Wt(),i={de:{title:"Preise? Erst analysieren, dann empfehlen.",desc:"attriXus ist keine Standard-Software mit festen Paketpreisen. Warum? Weil jeder Marketing-Mix anders ist. Erst nach einer kurzen Analyse wissen wir, welcher Rahmen für dich passt.",reasons:[{title:"Individuelle Analyse",text:"Jedes Unternehmen hat andere Kanäle, Volumina und Ziele. Erst wenn wir diese kennen, können wir den passenden Rahmen empfehlen."},{title:"Keine Standardpakete",text:"attriXus wird auf deinen konkreten Use Case zugeschnitten â nicht umgekehrt. Das würde ein Pauschalpreis nicht gerecht werden."},{title:"Transparent nach Demo",text:"In der Demo zeigen wir dir, was attriXus für dich leisten kann. Danach erhältst du ein faires, nachvollziehbares Angebot."}],footer:"Buche jetzt eine kostenlose Demo. Wir analysieren gemeinsam deinen Status quo und zeigen dir, wo dein Marketingbudget wirkt â und wo es verpufft.",btn:"Kostenlose Demo buchen"},en:{title:"Pricing? Analyze first, then recommend.",desc:"attriXus is not standard software with fixed package prices. Why? Because every marketing mix is different. Only after a short analysis do we know which setup fits you.",reasons:[{title:"Individual analysis",text:"Every company has different channels, volumes and goals. Only once we know them can we recommend the right setup."},{title:"No standard packages",text:"attriXus is tailored to your concrete use case â not the other way around. A flat price wouldnât do that justice."},{title:"Transparent after the demo",text:"In the demo we show you what attriXus can do for you. After that you receive a fair, transparent quote."}],footer:"Book a free demo now. Weâll analyze your status quo together and show you where your marketing budget works â and where it evaporates.",btn:"Book a free demo"}}[n];return d.jsx(bP,{open:t,onOpenChange:e,children:d.jsxs(G0,{className:"sm:max-w-lg",children:[d.jsxs(V0,{children:[d.jsx(H0,{className:"text-2xl font-bold text-[#1A1A1A]",children:i.title}),d.jsx($0,{className:"text-[#666] leading-relaxed pt-2",children:i.desc})]}),d.jsx("div",{className:"space-y-4 py-4",children:i.reasons.map((s,o)=>{const u=wP[o];return d.jsxs("div",{className:"flex gap-3",children:[d.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-[#FC9224]/10 flex items-center justify-center",children:d.jsx(u,{className:"w-5 h-5 text-[#FC9224]"})}),d.jsxs("div",{children:[d.jsx("p",{className:"text-sm font-semibold text-[#1A1A1A] mb-0.5",children:s.title}),d.jsx("p",{className:"text-sm text-[#666] leading-relaxed",children:s.text})]})]},s.title)})}),d.jsxs("div",{className:"bg-[#0A0A0A] rounded-xl p-5 -mx-1",children:[d.jsx("p",{className:"text-sm text-white/70 mb-4 leading-relaxed",children:i.footer}),d.jsxs("a",{href:"#demo",onClick:()=>e(!1),className:"inline-flex items-center justify-center gap-2 bg-[#FC9224] hover:bg-[#e8821a] text-[#1A1A1A] font-semibold text-sm px-5 py-3 rounded-lg transition-colors w-full min-h-[48px]",children:[i.btn," ",d.jsx(ar,{className:"w-4 h-4"})]})]})]})})}function kP({light:t=!1,solid:e=!1}){const{lang:n,setLang:i}=Wt(),[s,o]=I.useState(!1),u=I.useRef(null);I.useEffect(()=>{const v=b=>{u.current&&!u.current.contains(b.target)&&o(!1)};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]);const c=vs.find(v=>v.code===n)||vs[0],p=e?"text-[#1A1A1A] hover:text-[#FC9224]":"text-white/80 hover:text-[#FC9224]";return d.jsxs("div",{className:"relative",ref:u,children:[d.jsxs("button",{onClick:()=>o(v=>!v),className:`inline-flex items-center gap-1.5 text-sm font-medium transition-colors ${p}`,"aria-label":"Sprache wählen","aria-expanded":s,children:[d.jsx(u_,{className:"w-4 h-4"}),d.jsx("span",{className:"hidden sm:inline uppercase tracking-wide",children:c.code}),d.jsx(gg,{className:`w-3 h-3 transition-transform ${s?"rotate-180":""}`})]}),s&&d.jsx("div",{className:"absolute right-0 top-full mt-2 w-40 bg-white rounded-lg shadow-xl border border-black/5 py-1 z-50",children:vs.map(v=>d.jsxs("button",{onClick:()=>{i(v.code),o(!1)},className:`w-full flex items-center justify-between px-3 py-2.5 text-sm transition-colors hover:bg-[#FC9224]/10 ${n===v.code?"text-[#FC9224] font-semibold":"text-[#1A1A1A]"}`,children:[d.jsxs("span",{className:"flex items-center gap-2",children:[d.jsx("span",{className:"text-base",children:v.flag}),v.label]}),n===v.code&&d.jsx(ZS,{className:"w-4 h-4"})]},v.code))})]})}const xP=[{key:"plattform",href:"/#plattform"},{key:"losungen",href:"/#losung"},{key:"kunden",href:"/#kunden"},{key:"preise",href:"#demo",isPricing:!0}
336,{key:"wissen",href:"/#wissen"},{key:"ueber",href:"/ueber-uns",isRoute:!0}];function Ui(){const{lang:t}=Wt(),e={de:{plattform:"Plattform",losungen:"Lösungen",kunden:"Kunden",preise:"Preise",wissen:"Wissen",ueber:"Ãber uns",magazin:"Magazin",glossar:"Glossar",login:"Login",demoBuchen:"Demo buchen"},en:{plattform:"Platform",losungen:"Solutions",kunden:"Customers",preise:"Pricing",wissen:"Knowledge",ueber:"About us",magazin:"Magazine",glossar:"Glossary",login:"Login",demoBuchen:"Book demo"}}[t],[n,i]=I.useState(!1),[s,o]=I.useState(!1),[u,c]=I.useState(!1),p=qi();I.useEffect(()=>{const E=()=>i(window.scrollY>20);return window.addEventListener("scroll",E),()=>window.removeEventListener("scroll",E)},[]);const b=["/impressum","/datenschutz","/magazin","/glossar","/ueber-uns"].some(E=>p.pathname===E||p.pathname.startsWith(E+"/")),h=n||b,m=E=>{E.preventDefault(),o(!1),c(!0)},f=xP.map(E=>({...E,label:e[E.key]}));return d.jsxs(d.Fragment,{children:[d.jsxs("header",{className:`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ${h?"bg-white/90 backdrop-blur-md border-b border-black/5":"bg-transparent"}`,children:[d.jsxs("nav",{className:"max-w-7xl mx-auto px-5 md:px-8 h-16 md:h-[72px] flex items-center justify-between",children:[d.jsxs(lt,{to:"/",className:"flex items-center h-9",children:[d.jsx("img",{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/6b7b55595_attrixus_logo_4000x1594-wei.png",alt:"attriXus",className:`h-8 md:h-9 object-contain transition-opacity ${h?"opacity-0 absolute":"opacity-100"}`}),d.jsx("img",{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/dd4106cc8_image.png",alt:"attriXus",className:`h-8 md:h-9 object-contain transition-opacity ${h?"opacity-100":"opacity-0 absolute"}`})]}),d.jsxs("div",{className:"hidden lg:flex items-center gap-8",children:[f.map(E=>E.isPricing?d.jsx("a",{href:E.href,onClick:m,className:`text-sm transition-colors cursor-pointer ${h?"text-[#666] hover:text-[#1A1A1A]":"text-white/70 hover:text-white"}`,children:E.label},E.label):E.isRoute?d.jsx(lt,{to:E.href,className:`text-sm transition-colors ${h?"text-[#666] hover:text-[#1A1A1A]":"text-white/70 hover:text-white"}`,children:E.label},E.label):d.jsx("a",{href:E.href,className:`text-sm transition-colors ${h?"text-[#666] hover:text-[#1A1A1A]":"text-white/70 hover:text-white"}`,children:E.label},E.href)),d.jsx(lt,{to:"/magazin",className:`text-sm transition-colors ${h?"text-[#666] hover:text-[#1A1A1A]":"text-white/70 hover:text-white"}`,children:e.magazin}),d.jsx(lt,{to:"/glossar",className:`text-sm transition-colors ${h?"text-[#666] hover:text-[#1A1A1A]":"text-white/70 hover:text-white"}`,children:e.glossar})]}),d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx(kP,{solid:h}),d.jsxs("a",{href:"https://dashboard.attrixus.de/",target:"_blank",rel:"noopener noreferrer",className:`hidden sm:inline-flex items-center gap-2 text-sm font-medium transition-colors ${h?"text-[#1A1A1A] hover:text-[#FC9224]":"text-white/80 hover:text-[#FC9224]"}`,children:[d.jsx(Tm,{className:"w-4 h-4"})," ",e.login]}),d.jsxs("a",{href:"#demo",className:"hidden sm:inline-flex items-center gap-2 bg-[#FC9224] hover:bg-[#e8821a] text-[#1A1A1A] font-semibold text-sm px-5 py-2.5 rounded-lg transition-colors min-h-[44px]",children:[e.demoBuchen," ",d.jsx(ar,{className:"w-4 h-4"})]}),d.jsx("button",{onClick:()=>o(!s),className:`lg:hidden flex items-center justify-center min-w-[44px] min-h-[44px] -mr-2 ${h?"text-[#1A1A1A]":"text-white"}`,"aria-label":"Menü","aria-expanded":s,children:s?d.jsx(hc,{className:"w-6 h-6"}):d.jsx(w_,{className:"w-6 h-6"})})]})]}),s&&d.jsxs("div",{className:"lg:hidden bg-white border-t border-black/5 px-5 py-4 space-y-1 max-h-[calc(100vh-64px)] overflow-y-auto",children:[f.map(E=>E.isPricing?d.jsx("a",{href:E.href,onClick:m,className:"block text-[#1A1A1A] text-base py-3.5 min-h-[52px] flex items-center border-b border-black/5",children:E.label},E.label):E.isRoute?d.jsx(lt,{to:E.href,onClick:()=>o(!1),className:"block text-[#1A1A1A] text-base py-3.5 min-h-[52px] flex items-center border-b border-black/5",children:E.label},E.label):d.jsx("a",{href:E.href,onClick:()=>o(!1),className:"block text-[#1A1A1A] text-base py-3.5 min-h-[52px] flex items-center border-b border-black/5",children:E.label},E.href)),d.jsx(lt,{to:"/magazin",onClick:()=>o(!1),className:"block text-[#1A1A1A] text-base py-3.5 min-h-[52px] flex items-center border-b border-black/5",children:e.magazin}),d.jsx(lt,{to:"/glossar",onClick:()=>o(!1),className:"block text-[#1A1A1A] text-base py-3.5 min-h-[52px] flex items-center border-b border-black/5",children:e.glossar}),d.jsxs("a",{href:"https://dashboard.attrixus.de/",target:"_blank",rel:"noopener noreferrer",onClick:()=>o(!1),className:"block text-[#1A1A1A] text-base py-3.5 min-h-[52px] flex items-center gap-2 border-b border-black/5",children:[d.jsx(Tm,{className:"w-4 h-4"})," ",e.login]}),d.jsx("a",{href:"#demo",onClick:()=>o(!1),className:"block bg-[#FC9224] text-[#1A1A1A] font-semibold text-base px-5 py-3.5 rounded-lg text-center min-h-[52px] flex items-center justify-center mt-3",children:e.demoBuchen})]})]}),d.jsx(J0,{open:u,onOpenChange:c})]})}function AP(){return d.jsx("div",{className:"relative",children:d.jsxs("div",{className:"bg-[#1a1a1a] rounded-2xl border border-white/10 shadow-2xl overflow-hidden glow-orange",children:[d.jsxs("div",{className:"flex items-center gap-1.5 px-4 py-3 border-b border-white/5",children:[d.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-white/20"}),d.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-white/20"}),d.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-white/20"}),d.jsx("span",{className:"ml-2 text-[10px] text-white/30",children:"app.attrixus.de/overview"})]}),d.jsx("div",{className:"bg-white",children:d.jsx("img",{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/d14a43d46_image.png",alt:"attriXus Overview Dashboard",width:1280,height:800,className:"w-full h-auto block",loading:"eager",fetchPriority:"high"})})]})})}const EP={shield:M_,server:R_,target:Tx};function SP(){const{lang:t}=Wt(),e={de:{badge:"Seit 2018 im Einsatz · Ãber 1 Mio. Customer Journeys pro Jahr",h1Pre:"Welche Online-Werbung bringt wirklich ",h1Accent:"Kunden?",p:"attriXus zeigt dir, welche Kampagnen, Kanäle und Kontakte wirklich zu Anfragen, Leads und Verkäufen beitragen â und wo dein Marketingbudget jeden Tag verpufft. Persönlich und individuell.",demo:"Demo buchen",mehr:"Mehr erfahren",trustStats:["Seit 2018 im Einsatz","Ãber 100 analysierte Online-Shops","4,8 / 5 Sterne bei OMR Reviews","Ãber 1 Mio. Customer Journeys / Jahr"],badges:[{text:"DSGVO-konform",icon:"shield"},{text:"Serverstandort DE",icon:"server"},{text:"First-Party-Tracking",icon:"target"}]},en:{badge:"In use since 2018 · Over 1M customer journeys per year",h1Pre:"Which online advertising really brings ",h1Accent:"customers?",p:"attriXus shows you which campaigns, channels and contacts actually contribute to inquiries, leads and sales â and where your marketing budget evaporates every day.",demo:"Book demo",mehr:"Learn more",trustStats:["In use since 2018","Over 100 analyzed online shops","4.8 / 5 stars on OMR Reviews","Over 1M customer journeys / year"],badges:[{text:"GDPR compliant",icon:"shield"},{text:"EU server location",icon:"server"},{text:"First-party tracking",icon:"target"}]}}[t],n=[{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/a1fd28561_image.png",alt:"OMR Reviews Top Rated Marketing Attribution",href:"https://omr.com/de/reviews/product/attrixus"},{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/fcb1c9e50_image.png",alt:"OMR Reviews 4,8 Sterne",href:"https://omr.com/de/reviews/product/attrixus"},{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/fbbfd26a2_image.png",alt:"Google Sterne Bewertung"},{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/0a7cde5b3_image.png",alt:"AI ACT geprüft"},{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/6e998dcb3_image.png",alt:"BVDW"},{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/313f48bdc_
336image.png",alt:"MDL TOP 100 Experten 2026",href:"https://mdl-magazin.de/author/dominik_feike/"},...e.badges];return d.jsxs("section",{id:"hero",className:"relative bg-[#0A0A0A] overflow-hidden pt-28 md:pt-32 pb-16 md:pb-24",children:[d.jsx("div",{className:"absolute top-0 right-0 w-[600px] h-[600px] bg-[#FC9224]/10 rounded-full blur-[120px]"}),d.jsx("div",{className:"absolute bottom-0 left-0 w-[400px] h-[400px] bg-[#FC9224]/5 rounded-full blur-[100px]"}),d.jsxs("div",{className:"relative max-w-7xl mx-auto px-5 md:px-8 grid lg:grid-cols-2 gap-12 lg:gap-8 items-center",children:[d.jsxs("div",{children:[d.jsxs("div",{className:"inline-flex items-center gap-2 bg-white/5 border border-white/10 rounded-full px-4 py-1.5 text-xs text-white/70 mb-6",children:[d.jsx("span",{className:"w-2 h-2 bg-[#FC9224] rounded-full animate-pulse"}),e.badge]}),d.jsxs("h1",{className:"text-4xl md:text-5xl lg:text-[3.5rem] font-bold text-white leading-[1.05] tracking-tight mb-6",children:[e.h1Pre,d.jsx("span",{className:"text-[#FC9224]",children:e.h1Accent})]}),d.jsx("p",{className:"text-lg text-white/60 leading-relaxed mb-8 max-w-xl",children:e.p}),d.jsxs("div",{className:"flex flex-wrap gap-4 mb-10",children:[d.jsxs("a",{href:"#demo",className:"inline-flex items-center gap-2 bg-[#FC9224] hover:bg-[#e8821a] text-[#1A1A1A] font-semibold px-7 py-3.5 rounded-lg transition-colors min-h-[48px]",children:[e.demo," ",d.jsx(ar,{className:"w-4 h-4"})]}),d.jsx("a",{href:"#problem",className:"inline-flex items-center gap-2 border border-white/20 hover:bg-white/5 text-white font-semibold px-7 py-3.5 rounded-lg transition-colors min-h-[48px]",children:e.mehr})]}),d.jsxs("div",{className:"border-t border-white/10 pt-6",children:[d.jsx("div",{className:"flex flex-wrap gap-x-6 gap-y-2 mb-4",children:e.trustStats.map(i=>d.jsxs("span",{className:"text-xs text-white/50 flex items-center gap-1.5",children:[d.jsx("span",{className:"w-1 h-1 bg-[#FC9224] rounded-full"})," ",i]},i))}),d.jsx("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 mb-3",children:n.filter(i=>i.src).map((i,s)=>i.href?d.jsx("a",{href:i.href,target:"_blank",rel:"noopener noreferrer",className:"bg-white rounded-lg p-1.5 border border-black/5 h-14 md:h-16 flex items-center justify-center hover:border-[#FC9224]/40 transition-colors",children:d.jsx("img",{src:i.src,alt:i.alt,className:"h-full max-w-full object-contain",loading:"lazy"})},s):d.jsx("div",{className:"bg-white rounded-lg p-1.5 border border-black/5 h-14 md:h-16 flex items-center justify-center",children:d.jsx("img",{src:i.src,alt:i.alt,className:"h-full max-w-full object-contain",loading:"lazy"})},s))}),d.jsx("div",{className:"flex flex-wrap gap-2 items-center",children:n.filter(i=>i.text).map((i,s)=>d.jsxs("span",{className:"text-[10px] text-white/60 bg-white/5 border border-white/10 rounded px-2.5 py-1 flex items-center gap-1.5",children:[i.icon&&(()=>{const o=EP[i.icon];return d.jsx(o,{className:"w-3 h-3 text-[#FC9224]"})})(),i.text]},s))})]})]}),d.jsx("div",{className:"relative",children:d.jsx(AP,{})})]})]})}const tw=["https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/924671d3c_s4r.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/3e63b9bcb_lks.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/c274cac7f_kw.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/e03824c92_jon.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/703987e9e_gepps.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/e547708b7_fitstore.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/d9c20d242_kase.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/414b75b48_utry_ex.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/e946e8deb_pb.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/b1fe7ea65_sport.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/eba176d10_wood.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/4f5a4ee2f_neptun.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/06cdd455a_vetri.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/c56eeb9be_sh.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/20570b559_dfs.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/dc1bcbe4b_porz.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/11930dc38_espressissimo.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/39cc3eb16_dpe.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/d57990ce2_bsw.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/8332e32ef_street_ex.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/c0ab904da_ergolutions.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/b17ddd2b1_travel.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/51c36ea2d_pettex_ex.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/ca8a6ae75_konektra.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/3f2d50176_sabro.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/58aeb214f_rc.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/3a62ef2c9_ola.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/b2e215981_monster.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/548f3ad24_medi.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/28a5798bd_knuffel.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/68dd50c6b_golf.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/46410d2ef_hund.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/5f5d8c485_egle.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/f04e39672_choc.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/1dddba667_chair.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/818965cb4_bremer.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/dd84f61fc_affe.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/bf09c6d22_ge.png","https://base44.app/api/apps/6a4ffb1e5e2f33d33be7b8a6/files/mp/public/6a4ffb1e5e2f33d33be7b8a6/271b0affb_bannerstop.png","https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/22085a013_image.png","https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/c37bb2fde_image.png","https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/e0ee92fcd_image.png","https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/6a50cddb0_image.png","https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/645989694_image.png","https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/19cf485f0_image.png"];function _P(){const{lang:t}=Wt(),e=t==="en"?"Trusted by over 200 companies":"Vertraut von über 200 Unternehmen";return d.jsxs("section",{className:"bg-white py-12 md:py-16 overflow-hidden",children:[d.jsx("div",{className:"max-w-7xl mx-auto px-5 md:px-8 text-center mb-8",children:d.jsx("p",{className:"text-sm font-semibold tracking-wider up
336percase text-[#999]",children:e})}),d.jsx("div",{className:"relative overflow-hidden",children:d.jsx("div",{className:"flex marquee-track",children:[...tw,...tw].map((n,i)=>d.jsx("div",{className:"flex-shrink-0 mx-6 md:mx-8 flex items-center justify-center h-16 md:h-20",children:d.jsx("img",{src:n,alt:"",width:140,height:64,loading:"eager",decoding:"async",onError:s=>{const o=s.currentTarget;o.style.visibility="hidden"},className:"max-h-16 md:max-h-20 max-w-[140px] object-contain opacity-50 grayscale hover:grayscale-0 hover:opacity-100 transition-all duration-300"})},i))})})]})}function TP(){const{lang:t}=Wt(),e={de:{main:"Stell dir vor, du könntest bei jedem Lead und jedem Verkauf ",accent:"zurückspulen",main2:" und sehen, welche Online-Werbung wirklich dazu beigetragen hat. Genau das macht attriXus.",sub:"So steuerst du dein Marketing nicht mehr nach Bauchgefühl oder Kanalreporting, sondern nach tatsächlicher Wirkung."},en:{main:"Imagine you could ",accent:"rewind",main2:" every lead and every sale and see which online advertising really contributed to it. Thatâs exactly what attriXus does.",sub:"This way you steer your marketing no longer by gut feeling or channel reporting, but by actual impact."}}[t];return d.jsx("section",{className:"bg-white py-20 md:py-28",children:d.jsxs("div",{className:"max-w-4xl mx-auto px-5 md:px-8 text-center",children:[d.jsxs("p",{className:"text-2xl md:text-3xl lg:text-[2.5rem] font-bold leading-[1.3] text-[#1A1A1A] tracking-tight",children:[e.main,d.jsx("span",{className:"text-[#FC9224]",children:e.accent}),e.main2]}),d.jsx("p",{className:"text-base md:text-lg text-[#666] mt-6 max-w-2xl mx-auto leading-relaxed",children:e.sub})]})})}function Wi(){const{lang:t}=Wt(),[e,n]=I.useState(!1),i={de:{desc:"attriXus zeigt Unternehmen, welche Online-Werbung wirklich Anfragen, Leads und Verkäufe bringt â und wo Marketingbudget verpufft.",kontakt:"Kontakt",ueber:"Ãber uns",preise:"Preise",magazin:"Magazin",glossar:"Glossar",datenschutz:"Datenschutz",impressum:"Impressum",links:["Plattform","Lösungen","Kunden","Demo buchen"],rights:"Alle Rechte vorbehalten.",aiNote:"Texte, Bilder, Videos, Audios und Grafiken, die hier bereitgestellt werden, können teilweise mit Künstlicher Intelligenz (KI) erstellt worden sein. Jeder generierte Inhalt wurde sorgfältig überprüft, um Qualität und Genauigkeit sicherzustellen. Mit diesem Hinweis erfüllen wir unsere Transparenzpflicht."},en:{desc:"attriXus shows companies which online advertising really generates inquiries, leads and sales â and where marketing budget is wasted.",kontakt:"Contact",ueber:"About us",preise:"Pricing",magazin:"Magazine",glossar:"Glossary",datenschutz:"Privacy",impressum:"Imprint",links:["Platform","Solutions","Customers","Book demo"],rights:"All rights reserved.",aiNote:"Texts, images, videos, audio and graphics provided here may have been partially created with artificial intelligence (AI). Every generated piece of content was carefully reviewed to ensure quality and accuracy. With this notice we fulfil our transparency obligation."}}[t];return d.jsxs("footer",{className:"bg-[#0A0A0A] border-t border-white/5 py-14",children:[d.jsxs("div",{className:"max-w-7xl mx-auto px-5 md:px-8",children:[d.jsxs("div",{className:"grid md:grid-cols-2 gap-10 mb-10",children:[d.jsxs("div",{className:"max-w-md",children:[d.jsx(lt,{to:"/",children:d.jsx("img",{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/6b7b55595_attrixus_logo_4000x1594-wei.png",alt:"attriXus",className:"h-9 object-contain rounded mb-4"})}),d.jsx("p",{className:"text-sm text-white/50 leading-relaxed",children:i.desc})]}),d.jsxs("div",{className:"md:text-right",children:[d.jsx("h4",{className:"text-sm font-bold text-white mb-3",children:i.kontakt}),d.jsxs("div",{className:"text-sm text-white/50 space-y-1",children:[d.jsx("p",{children:"attriXus GmbH"}),d.jsx("p",{children:"SiechenstraÃe 14"}),d.jsx("p",{children:"96052 Bamberg"}),d.jsx("p",{className:"pt-2",children:d.jsx("a",{href:"mailto:[email protected]",className:"hover:text-[#FC9224] transition-colors",children:"[email protected]"})}),d.jsx("p",{children:d.jsx("a",{href:"https://www.attrixus.de",className:"hover:text-[#FC9224] transition-colors",children:"www.attrixus.de"})})]})]})]}),d.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 border-t border-white/5 pt-8",children:[i.links.map(s=>d.jsx("a",{href:"#demo",className:"text-xs text-white/40 hover:text-[#FC9224] transition-colors",children:s},s)),d.jsx(lt,{to:"/ueber-uns",className:"text-xs text-white/40 hover:text-[#FC9224] transition-colors",children:i.ueber}),d.jsx("button",{onClick:()=>n(!0),className:"text-xs text-white/40 hover:text-[#FC9224] transition-colors",children:i.preise}),d.jsx(lt,{to:"/magazin",className:"text-xs text-white/40 hover:text-[#FC9224] transition-colors",children:i.magazin}),d.jsx(lt,{to:"/glossar",className:"text-xs text-white/40 hover:text-[#FC9224] transition-colors",children:i.glossar}),d.jsx("a",{href:"https://dashboard.attrixus.de/",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-white/40 hover:text-[#FC9224] transition-colors",children:"Login"}),d.jsx(lt,{to:"/datenschutz",className:"text-xs text-white/40 hover:text-[#FC9224] transition-colors",children:i.datenschutz}),d.jsx(lt,{to:"/impressum",className:"text-xs text-white/40 hover:text-[#FC9224] transition-colors",children:i.impressum})]}),d.jsxs("p",{className:"text-xs text-white/30 mt-6",children:["© ",new Date().getFullYear()," attriXus GmbH. ",i.rights]}),d.jsx("p",{className:"text-xs text-white/25 mt-4 leading-relaxed max-w-3xl",children:i.aiNote})]}),d.jsx(J0,{open:e,onOpenChange:n})]})}function Nn({id:t,data:e}){return I.useEffect(()=>{const n=document.getElementById(t);n&&n.remove();const i=document.createElement("script");return i.type="application/ld+json",i.id=t,i.textContent=JSON.stringify(e),document.head.appendChild(i),()=>{const s=document.getElementById(t);s&&s.remove()}},[t,e]),null}function mn({component:t,fallback:e,rootMargin:n="600px",sectionId:i}){const[s,o]=I.useState(!1),u=I.useRef(null);I.useEffect(()=>{if(!i)return;const p=()=>{window.location.hash&&o(!0)};return p(),window.addEventListener("hashchange",p),()=>window.removeEventListener("hashchange",p)},[i]),I.useEffect(()=>{if(s||!u.current)return;const p=new IntersectionObserver(([v])=>{v.isIntersecting&&(o(!0),p.disconnect())},{rootMargin:n});return p.observe(u.current),()=>p.disconnect()},[n,s]);const c=e||d.jsx("div",{className:"min-h-[300px]"});return d.jsx("div",{ref:u,className:"min-h-[300px]",children:s?d.jsx(I.Suspense,{fallback:c,children:d.jsx(t,{})}):c})}const nw={de:[{q:"Ist attriXus nur für Onlineshops?",a:"Nein. attriXus ist für alle Unternehmen interessant, die online messbare Ergebnisse erzielen â also Anfragen, Leads, Termine, Buchungen oder Verkäufe."},{q:"Was macht attriXus anders als Google Analytics oder Plattform-Reports?",a:"Plattformen betrachten meist ihren eigenen Kanal. attriXus betrachtet den gesamten Weg bis zur Anfrage oder zum Verkauf und zeigt, welche Kontakte wirklich beteiligt waren."},{q:"Welche Kanäle kann attriXus analysieren?",a:"Zum Beispiel Google Ads, Meta Ads, Affiliate, SEO, Newsletter, Display, Portale, Preisvergleiche, Social Media, Direktzugriffe, Referral und weitere Online-Kanäle."},{q:"Brauche ich einen Onlineshop?",a:"Nein. Eine Website, Landingpage oder Leadstrecke mit messbarem Abschluss reicht grundsätzlich aus. Das kann ein Kontaktformular, eine Demo-Buchung, eine Angebotsanfrage oder ein Verkauf sein."},{q:"Ist attriXus DSGVO-konform?",a:"Ja. attriXus arbeitet mit Fokus auf Datenschutz, First-Party-Tracking und Serverstandort Deutschland."},{q:"Bekomme ich nur Software?",a:"Nein. attriXus kombiniert Software, Analyse und persönliche Betreuung. Die Daten werden nicht nur gesammelt, sondern auch gemeinsam ausgewertet."},{q:"Ab wann lohnt sich attriXus?",a:"attriXus lohnt sich besonders für Unternehmen, die regelmäÃig Online-Werbung schalten und genug Anfragen, Leads oder Verkäufe generieren, damit datenbasierte Optimierung wirtschaftlich relevant ist."}],en:[{q:"Is attriXus only for online shops?",a:"No. attriXus is interesting for any company that achieves measurable results online â i.e. inquiries, leads, appointments, bookings or sales."},{q:"What makes attriXus different from Google Analytics or platform reports?",a:"Platforms mostly look at their own channel. attriXus looks at the entire path up to the inquiry or sale and shows which contacts were really involved."},{q:"Which channels can attriXus analyze?",a:"For example Google Ads, Meta Ads, affiliate, SEO, newsletter, display, portals, price comparison sites, social media, direct traffic, referral and other online channels."},{q:"Do I need an online shop?",a:"No. A website, landing page or lead funnel with a measurable conversion is basically enough. That can be a contact form, a demo booking, a quote request or a sale."},{q:"Is attriXus GDPR compliant?",a:"Yes. attriXus works with a focus on privacy, first-party tracking and a German server location."},{q:"Do I just get software?",a:"No. attriXus combines software, analysis and personal support. The data is not only collected but also evaluated together."},{q:"From when is attriXus worth it?",a:"attriXus is particularly worthwhile for companies that regularly run online advertising and generate enough inquiries, leads or sales for data-based optimization to be economically relevant."}]},OP=I.lazy(()=>bn(()=>import("./ProblemSection-BQxjHdRA.js"),__vite__mapDeps([0,1]))),NP=I.lazy(()=>bn(()=>import("./SolutionSection-BpESVbSY.js"),[])),CP=I.lazy(()=>bn(()=>import("./BenefitsSection-DOLSQVWx.js"),__vite__mapDeps([2,3,1]))),DP=I.lazy(()=>bn(()=>import("./AudienceSection-T4cZeLaB.js"),__vite__mapDeps([4,5]))),zP=I.lazy(()=>bn(()=>import("./FeatureSection-CqU3N3fv.js"),__vite__mapDeps([6,1,3]))),RP=I.lazy(()=>bn(()=>import("./DashboardShowcase-C5vj44t_.js"),[])),PP=I.lazy(()=>bn(()=>import("./TrustSection-CnFv5sb8.js"),[])),jP=I.lazy(()=>bn(()=>import("./ProcessSection-DZgcvOfu.js"),__vite__mapDeps([7,8]))),IP=I.lazy(()=>bn(()=>import("./ExampleSection-CyX6b4mI.js"),[])),MP=I.lazy(()=>bn(()=>import("./AgencySection-DDicRVcU.js"),[])),LP=I.lazy(()=>bn(()=>import("./FounderNote-CRbAQ1mB.js"),[])),BP=I.lazy(()=>bn(()=>import("./IndividualSection-C3PYG9vO.js"),[])),FP=I.lazy(()=>bn(()=>
336import("./PersonalSupport-DSLxRo1A.js"),__vite__mapDeps([9,5,8]))),qP=I.lazy(()=>bn(()=>import("./FaqSection-hsz8Q-kz.js"),[])),UP=I.lazy(()=>bn(()=>Promise.resolve().then(()=>U4),void 0)),rw="https://www.attrixus.de";function WP(){const{lang:t}=Wt(),e=nw[t]||nw.de,n={"@context":"https://schema.org","@type":"SoftwareApplication",name:"attriXus",applicationCategory:"MarketingApplication",operatingSystem:"Web",description:"attriXus zeigt Unternehmen, welche Online-Werbung wirklich Anfragen, Leads und Verkäufe bringt â und wo Marketingbudget verpufft. Mit Multi-Touch Attribution, Customer Journey Tracking und First-Party-Tracking.",url:rw,offers:{"@type":"Offer",price:"0",priceCurrency:"EUR",description:"Preis auf Anfrage nach individueller Analyse. Kostenlose Demo verfügbar."},publisher:{"@type":"Organization",name:"attriXus GmbH",url:rw},aggregateRating:{"@type":"AggregateRating",ratingValue:"4.8",reviewCount:"23"}},i={"@context":"https://schema.org","@type":"FAQPage",mainEntity:e.map(s=>({"@type":"Question",name:s.q,acceptedA
vendor: 5,193 bytes, line 336
336nswer:{"@type":"Answer",text:s.a}}))};return d.jsxs("div",{className:"min-h-screen bg-white text-[#1A1A1A]",children:[d.jsx(Nn,{id:"schema-service",data:n}),d.jsx(Nn,{id:"schema-faq-home",data:i}),d.jsx(Ui,{}),d.jsx(SP,{}),d.jsx(_P,{}),d.jsx(TP,{}),d.jsx(mn,{component:OP,sectionId:"problem"}),d.jsx(mn,{component:PP,sectionId:"kunden"}),d.jsx(mn,{component:NP,sectionId:"losung"}),d.jsx(mn,{component:CP,sectionId:"nutzen"}),d.jsx(mn,{component:DP,sectionId:"zielgruppen"}),d.jsx(mn,{component:zP,sectionId:"plattform"}),d.jsx(mn,{component:RP,sectionId:"dashboard"}),d.jsx(mn,{component:jP,sectionId:"prozess"}),d.jsx(mn,{component:IP,sectionId:"beispiel"}),d.jsx(mn,{component:MP,sectionId:"agentur"}),d.jsx(mn,{component:LP,sectionId:"grunder"}),d.jsx(mn,{component:BP,sectionId:"individuell"}),d.jsx(mn,{component:FP,sectionId:"betreuung"}),d.jsx(mn,{component:qP,sectionId:"wissen"}),d.jsx(mn,{component:UP,sectionId:"demo"}),d.jsx(Wi,{})]})}var KP=Symbol.for("react.lazy"),sc=dc[" use ".trim().toString()];function GP(t){return typeof t=="object"&&t!==null&&"then"in t}function Q0(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===KP&&"_payload"in t&&GP(t._payload)}function Y0(t){const e=HP(t),n=I.forwardRef((i,s)=>{let{children:o,...u}=i;Q0(o)&&typeof sc=="function"&&(o=sc(o._payload));const c=I.Children.toArray(o),p=c.find(XP);if(p){const v=p.props.children,b=c.map(h=>h===p?I.Children.count(v)>1?I.Children.only(null):I.isValidElement(v)?v.props.children:null:h);return d.jsx(e,{...u,ref:s,children:I.isValidElement(v)?I.cloneElement(v,void 0,b):null})}return d.jsx(e,{...u,ref:s,children:o})});return n.displayName=`${t}.Slot`,n}var VP=Y0("Slot");function HP(t){const e=I.forwardRef((n,i)=>{let{children:s,...o}=n;if(Q0(s)&&typeof sc=="function"&&(s=sc(s._payload)),I.isValidElement(s)){const u=QP(s),c=JP(o,s.props);return s.type!==I.Fragment&&(c.ref=i?fl(i,u):u),I.cloneElement(s,c)}return I.Children.count(s)>1?I.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var $P=Symbol("radix.slottable");function XP(t){return I.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===$P}function JP(t,e){const n={...e};for(const i in e){const s=t[i],o=e[i];/^on[A-Z]/.test(i)?s&&o?n[i]=(...c)=>{const p=o(...c);return s(...c),p}:s&&(n[i]=s):i==="style"?n[i]={...s,...o}:i==="className"&&(n[i]=[s,o].filter(Boolean).join(" "))}return{...t,...n}}function QP(t){var i,s;let e=(i=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:i.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(s=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:s.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}const YP=fg("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),ig=I.forwardRef(({className:t,variant:e,size:n,asChild:i=!1,...s},o)=>{const u=i?VP:"button";return d.jsx(u,{className:dn(YP({variant:e,size:n,className:t})),ref:o,...s})});ig.displayName="Button";const ag=I.forwardRef(({className:t,type:e,...n},i)=>d.jsx("input",{type:e,className:dn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:i,...n}));ag.displayName="Input";var ZP=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],e4=ZP.reduce((t,e)=>{const n=Y0(`Primitive.${e}`),i=I.forwardRef((s,o)=>{const{asChild:u,...c}=s,p=u?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(p,{...c,ref:o})});return i.displayName=`Primitive.${e}`,{...t,[e]:i}},{}),t4="Label",Z0=I.forwardRef((t,e)=>d.jsx(e4.label,{...t,ref:e,onMouseDown:n=>{var s;n.target.closest("button, input, select, textarea")||((s=t.onMouseDown)==null||s.call(t,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));Z0.displayName=t4;var eA=Z0;const n4=fg("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),sg=I.forwardRef(({className:t,...e},n)=>d.jsx(eA,{ref:n,className:dn(n4(),t),...e}));sg.displayName=eA.displayName;
336function r4({icon:t,title:e,subtitle:n,footer:i,children:s}){return d.jsx("div",{className:"min-h-screen flex items-center justify-center bg-background px-4",children:d.jsxs("div",{className:"w-full max-w-md",children:[d.jsxs("div",{className:"text-center mb-10",children:[d.jsx("div",{className:"inline-flex items-center justify-center w-14 h-14 rounded-2xl bg-primary mb-4",children:d.jsx(t,{className:"w-7 h-7 text-primary-foreground","aria-hidden":"true"})}),d.jsx("h1",{className:"text-3xl font-bold tracking-tight text-foreground",children:e}),n&&d.jsx("p",{className:"text-muted-foreground mt-2",children:n})]}),d.jsx("div",{className:"bg-card rounded-2xl shadow-sm border border-border p-8",children:s}),i&&d.jsx("p",{className:"text-center text-sm text-muted-foreground mt-6",children:i})]})})}function i4({className:t="w-5 h-5"}){return d.jsxs("svg",{className:t,viewBox:"0 0 24 24","aria-hidden":"true",children:[d.jsx("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 01-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z",fill:"#4285F4"}),d.jsx("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",fill:"#34A853"}),d.jsx("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",fill:"#FBBC05"}),d.jsx("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",fill:"#EA4335"})]})}function a4(){const[t,e]=I.useState(""),[n,i]=I.useState(""),[s,o]=I.useState(""),[u,c]=I.useState(!1);I.useEffect(()=>{let b=document.querySelector('meta[name="robots"]');const h=!b;h&&(b=document.createElement("meta"),b.setAttribute("name","robots"),document.head.appendChild(b));const m=b.getAttribute("content");return b.setAttribute("content","noindex, nofollow"),()=>{h?b.remove():m!==null&&b.setAttribute("content",m)}},[]);const p=async b=>{b.preventDefault(),o(""),c(!0);try{await un.auth.loginViaEmailPassword(t,n),window.location.href="/"}catch(h){o(h.message||"Invalid email or password")}finally{c(!1)}},v=()=>{un.auth.loginWithProvider("google","/")};return d.jsxs(r4,{icon:Tm,title:"Welcome back",subtitle:"Log in to your account",footer:d.jsx("p",{className:"text-xs text-muted-foreground",children:"Zugang nur für eingeladene Nutzer."}),children:[d.jsxs(ig,{variant:"outline",className:"w-full h-12 text-sm font-medium mb-6",onClick:v,children:[d.jsx(i4,{className:"w-5 h-5 mr-2"}),"Continue with Google"]}),d.jsxs("div",{className:"relative mb-6",children:[d.jsx("div",{className:"absolute inset-0 flex items-center",children:d.jsx("div",{className:"w-full border-t border-border"})}),d.jsx("div",{className:"relative flex justify-center text-xs uppercase",children:d.jsx("span",{className:"bg-card px-3 text-muted-foreground",children:"or"})})]}),s&&d.jsx("div",{className:"mb-4 p-3 rounded-lg bg-destructive/10 text-destructive text-sm",children:s}),d.jsxs("form",{onSubmit:p,className:"space-y-4",children:[d.jsxs("div",{className:"space-y-2",children:[d.jsx(sg,{htmlFor:"email",children:"Email"}),d.jsxs("div",{className:"relative",children:[d.jsx(v_,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground","aria-hidden":"true"}),d.jsx(ag,{id:"email",type:"email",autoComplete:"email",autoFocus:!0,placeholder:"[email protected]",value:t,onChange:b=>e(b.target.value),className:"pl-10 h-12",required:!0})]})]}),d.jsxs("div",{className:"space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx(sg,{htmlFor:"password",children:"Password"}),d.jsx(lt,{to:"/forgot-password",className:"text-xs text-primary hover:underline",children:"Forgot password?"})]}),d.jsxs("div",{className:"relative",children:[d.jsx(g_,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground","aria-hidden":"true"}),d.jsx(ag,{id:"password",type:"password",autoComplete:"current-password",placeholder:"â¢â¢â¢â¢â¢â¢â¢â¢",value:n,onChange:b=>i(b.target.value),className:"pl-10 h-12",required:!0})]})]}),d.jsx(ig,{type:"submit",className:"w-full h-12 font-medium",disabled:u,children:u?d.jsxs(d.Fragment,{children:[d.jsx(f_,{className:"w-4 h-4 mr-2 animate-spin"}),"Logging in..."]}):"Log in"})]})]})}const s4={attribution:{definition:"Attribution is the evaluation and assignment of marketing impact. It answers the question of which advertising measures contributed to a conversion. A conversion can be a purchase, an inquiry, a demo booking, a form completion or another measurable success.",detailedExplanation:`In online marketing, users rarely come into contact with a company through just a single touchpoint. A potential customer might first see a Google ad, later revisit the website, click on a newsletter a few days later, and only buy on the fourth visit. Without attribution, often only the last contact is counted. This can lead to preparatory measures being underestimated and closing channels being overestimated. 337 338Attribution helps to better understand these relationships. It shows which channels and campaigns stand at the beginning of the customer journey, which bring the user back, and which contribute to the closing. This creates a significantly better basis for marketing budget decisions. Companies not only recognise where leads or sales originate, but also which online advertising really played a role on the way there. 339 340Attribution becomes particularly important when several channels are involved, such as Google Ads, Meta Ads, affiliate marketing, SEO, newsletter and display advertising. Each platform often evaluates its own performance from its own perspective. Google shows Googleâs successes, Meta shows Metaâs successes and affiliate networks show affiliate successes. Attribution creates a cross-channel view of the entire journey up to the inquiry or sale.`,importance:`Attribution is important because otherwise marketing budgets are quickly distributed based on incomplete data. If only the last click is considered, channels at the end of the customer journey often receive too much credit. Channels that generate attention or bring users into the decision process early, by contrast, appear weak even though they play an important role. 341 342For companies this means: without clean attribution, budget can flow into measures that look good in reporting but do not deliver the actual contribution. At the same time, valuable campaigns may be cut because their influence is not visible. Attribution helps to avoid such misjudgements and to evaluate online advertising by its actual impact.`,practicalExample:"A company runs Google Ads, Meta Ads and newsletter campaigns. A user first sees a Meta ad and visits the website. Two days later they search for the company on Google and click on a search ad. A week later they receive a newsletter, click back to the website and submit an inquiry. If only the last click counted, the newsletter would receive all the credit. In reality, several contacts were involved. Attribution makes these contacts visible and helps to better assess their contribution.",attrixusRole:`attriXus uses attribution to make visible which online advertising really contributes to inquiries, leads or sales. Instead of just looking at individual platform reports, attriXus shows the path all the way to the closing. Companies can rewind every lead and sale and see which channels, campaigns and contacts were involved. 343 344This makes it visible where marketing budget works and where it may evaporate. Attribution is therefore a central part of attriXus, because it turns pure numbers into a concrete basis for marketing budget, campaign steering and channel evaluation.`,faqs:[{q:"What is attribution in simple terms?",a:"Attribution means that a lead, sale or other success is assigned to the marketing measures involved. The goal is to understand which online advertising really contributed to the result."},{q:"Why is last click attribution often not enough?",a:"Last click attribution only evaluates the last contact before a conversion. Earlier contacts that generated attention or built trust are not considered. This can distort the actual impact of individual channels."},{q:"What is the difference between attribution and tracking?",a:"Tracking collects data about user contacts and actions. Attribution evaluates this data and assigns the contribution of individual channels, campaigns or contacts to a conversion."},{q:"Which channels can be included in attribution?",a:"Typical channels are Google Ads, Meta Ads, affiliate marketing, SEO, newsletter, display advertising, social ads, referral traffic, direct traffic and other online advertising channels."}]},"multi-touch-attribution":{definition:"Multi-touch attribution is an attribution model that considers all marketing touchpoints on the path to a conversion. Instead of only counting the first or last click, it distributes the success across several touchpoints and thus delivers a more realistic evaluation of the channels involved.",detailedExplanation:`In online marketing, users frequently pass through several touchpoints before completing a conversion. A user might first see a display ad, click on a Google search ad days later, return via a newsletter and finally buy on the fourth visit. Traditional models such as last click would only count the last contact and thus deliver an incomplete picture. 345 346Multi-touch attribution solves this problem by capturing and evaluating every touchpoint on the path to conversion. There are different variants: linear distributes the value evenly, time decay gives later contacts more weight, and data-driven models calculate the contribution based on historical data. What they all have in common is that they recognise the complexity of the customer journey and do not view a single touchpoint as the sole success factor. 347 348The advantage of multi-touch attribution lies in the more balanced channel evaluation. Channels that stand at the beginning of the journey and generate attention receive appropriate value, just like channels that bring the user back or lead to the closing. This leads to better budget decisions, because the marketing budget is distributed according to actual impact rather than random positioning at the end of the journey. 349 350Multi-touch attribution is indispensable, especially for complex B2B purchasing processes or high-priced products where users need many contacts. It shows which combinations of channels work together particularly well and where budget is used most efficiently.`,importance:`Multi-touch attribution is important because it reflects the reality of the customer journey. In practice, conversions rarely arise from a single contact, but from the interplay of several channels over days or weeks. Models that only count one contact distort the view of performance and can lead to wrong budget decisions. 351 352With multi-touch attribution, companies recognise which channels are important at the beginning, in the middle and at the end of the journey. This makes it possible to direct budget specifically into measures that actually contribute to the conversion, instead of into channels that only look good in reporting because they happen to be at the end.`,practicalExample:"A B2B company runs display ads, Google Ads, Meta Ads and a newsletter. A prospect first sees a display ad, clicks on a Google search ad a week later, follows the company on social media and submits an inquiry after the third newsletter contact. With last click, the newsletter would receive all the credit. Multi-touch attribution distributes the value across all four contacts and shows that display and social played an important preparatory role that would have remained invisible with last click.",attrixusRole:`attriXus uses multi-touch attribution to make the complete path to every lead and sale visible. Instead of relying on platform reports that only show their own performance, attriXus links all contacts across all channels. Companies see exactly which combinations of measures lead to success and where budget works or evaporates. 353 354This makes multi-touch attribution a core piece of attriXus: it provides the data basis to distribute marketing budget not by gut feeling or individual reports, but by actual impact.`,faqs:[{q:"What is the difference between multi-touch and last click attribution?",a:"Last click only counts the last contact before a conversion. Multi-touch considers all contacts and distributes the value, which leads to a more realistic channel evaluation."},{q:"Which multi-touch models are there?",a:"Well-known models are linear (even distribution), time decay (more weight for later contacts) and data-driven models that calculate the contribution based on historical data."},{q:"For which companies is multi-touch attribution particularly important?",a:"Especially for complex purchasing processes with many contacts, for example in B2B or for high-priced products, multi-touch attribution is indispensable because conversions rarely arise from a single contact there."},{q:"Why is multi-touch attribution better than platform reports?",a:"Platform reports only show the performance of the respective platform. Multi-touch attribution considers all channels together and avoids double counting."}]},"last-click-attribution":{definition:"Last click attribution credits the entire success of a conversion to the last marketing touchpoint that took place before the closing. It is the simplest and most widespread attribution model, but can underestimate preparatory channels and lead to distorted budget allocation.",detailedExplanation:`Last click attribution is the traditional standard model in online marketing. It works simply: the last contact a user had before a conversion receives full credit for the success. If the last contact was a Google ad, Google Ads gets the full value. If it was a newsletter, email marketing gets the credit. 355 356The popularity of this model lies in its simplicity. It is easy to understand, available in almost all platforms and requires no complex calculations. For many companies, last click was the standard for a long time because platforms like Google Ads use it by default. 357 358The problem: in reality, users often pass through several touchpoints before they convert. A user first sees a Meta ad, visits the website, later returns via Google, receives a newsletter and finally buys on the last visit. Last click would credit the entire success to the last channel â for example direct traffic or newsletter. The previous contacts that generated attention and built trust are not considered. 359 360This can have far-reaching consequences. Channels that stand at the end of the customer journey appear significantly stronger in reporting than they actually are. Channels at the beginning that bring users into the system for the first time appear weak and could be cut. The result is a distorted budget allocation in which budget flows into measures that look good but do not deliver the best contribution. 361 362Last click attribution is still not fundamentally wrong. In certain scenarios, such as very short customer journeys or impulse-driven purchases, the last contact c
362an actually be the decisive one. In most cases, however, last click delivers an incomplete picture and should be supplemented by multi-touch models.`,importance:`Last click attribution is important to understand because it is the basis of many standard reports. Anyone who does not know that their reporting is based on last click could draw false conclusions about the performance of their channels. Knowing the limits of last click is a prerequisite for switching to more balanced models such as multi-touch attribution. 363 364For budget control, last click is problematic because it favours channels that happen to be at the end of the journey. This can lead to valuable preparatory channels being cut even though they contribute significantly to the success.`,practicalExample:"An online shop runs Meta Ads and Google Ads. A user clicks on a Meta ad, visits the shop, returns via a Google search three days later and buys. With last click attribution, Google Ads gets the full credit and Meta Ads goes away empty. Yet the Meta ad first made the user aware of the shop. Without multi-touch attribution, the advertiser might cut the Meta budget even though it played an important role.",attrixusRole:`attriXus goes beyond last click attribution by making all contacts on the path to a conversion visible. Instead of only counting the last click, attriXus shows the complete path and the contribution of each channel. Companies recognise which measures really contribute to the success and where last click distorts the picture. 365 366This helps to avoid wrong decisions in the marketing budget and to distribute budget according to actual impact rather than random positioning at the end of the journey.`,faqs:[{q:"Why is last click attribution problematic?",a:"It only considers the last contact and ignores preparatory channels. This can lead to a distorted channel evaluation and wrong budget decisions."},{q:"When is last click useful?",a:"With very short customer journeys or impulse-driven purchases, the last contact can actually be the decisive one. In most cases, however, multi-touch attribution is more meaningful."},{q:"Why is last click still used so often?",a:"It is simple, available in almost all platforms and requires no complex calculations. Many platforms use it as the default model."},{q:"How does last click differ from first click?",a:"Last click credits the success to the last contact, first click to the first. Both models only consider a single contact and ignore the rest of the journey."}]},"first-click-attribution":{definition:"First click attribution credits the entire success of a conversion to the first marketing touchpoint a user had. It values channels that bring new users into the system, but can underestimate later contacts that led to the closing.",detailedExplanation:`First click attribution is the counterpart to last click attribution. Instead of evaluating the last contact before a conversion, it credits the entire success to the first contact a user had with the company. If the first contact was a Meta ad, Meta Ads gets the full value, regardless of which channels followed afterwards. 367 368This model has a clear strength: it makes visible which channels and campaigns ensure that users even enter the customer journey in the first place. In companies that are strongly focused on new customer acquisition, this perspective can be valuable. First click shows which measures generate attention and trigger the first step in the purchasing process. 369 370The weakness is obvious: first click ignores all contacts that follow the first. A user might first see a display ad, click on a Google search ad days later, return via a newsletter and buy. First click would credit the entire success to the display ad, even though Google and the newsletter contributed significantly to the closing. 371 372This can lead to closing-oriented channels such as brand campaigns or retargeting being underestimated. These channels are often close to the conversion and have high conversion rates, but are not valued accordingly in first-click models because they were not the first contact. 373 374In practice, first click is rarely used as the sole model. It is useful, however, as a supplement to last click or multi-touch models in order to obtain a more complete picture. The comparison between first click and last click already shows how strongly the channel evaluation depends on the chosen model and why multi-touch attribution is often the most balanced solution.`,importance:`First click attribution is important because it makes the role of channels visible that stand at the beginning of the customer journey. Without this perspective, marketing teams could believe that certain channels have no impact, even though they deliver the first contact and thus the entry into the purchasing journey. 375 376Knowing about first click helps companies understand where their users come from and which measures drive new customer acquisition. This is particularly valuable in growth phases where the acquisition of new users is the focus.`,practicalExample:"A company runs display ads and Google brand campaigns. A user first sees a display ad, remembers the brand, searches for the brand name days later and buys via the brand campaign. With first click, the display ad would receive the entire success. The brand campaign, which brought the user to the closing, would go away empty. Both channels were important, but first click only evaluates the first contact.",attrixusRole:`attriXus uses first click attribution as one of several perspectives to make the contribution of individual channels visible. In combination with last click and multi-touch models, a complete picture of the customer journey emerges. Companies not only recognise which channels stand at the beginning, but also which bring the user back and lead to the closing. 377 378This helps to distribute budget in a balanced way and to evaluate both new customer acquisition and closing-oriented channels appropriately.`,faqs:[{q:"What is the difference between first click and last click?",a:"First click credits the success to the first contact, last click to the last. Both only consider one contact and ignore the rest of the journey."},{q:"When is first click useful?",a:"When new customer acquisition is the focus and you want to understand which channels bring users into the system for the first time. As a sole model, it is usually too incomplete."},{q:"Why is first click rarely used on its own?",a:"It ignores all contacts after the first, which leads to an underestimation of closing-oriented channels such as brand campaigns or retargeting."},{q:"How does comparing first and last click help?",a:"The comparison shows how strongly the channel evaluation depends on the model and why multi-touch attribution is often the most balanced solution."}]},"customer-journey-tracking":{definition:"Customer journey tracking records a userâs entire touchpoint sequence from the first ad to the conversion. It makes visible which channels worked when and in what order and is the basis for multi-touch attribution and cross-channel budget control.",detailedExplanation:`Customer journey tracking is the prerequisite for any serious attribution model that goes beyond the last click. It does not just capture individual contacts, but the complete path a user takes from the first ad impression to the purchase or inquiry. Every touchpoint is captured and placed in a temporal and cross-channel context. 379 380In practice, this is demanding. Users come into contact with a company through different channels â Google Ads, Meta Ads, SEO, newsletter, affiliate, direct â and through different devices â smartphone, tablet, desktop. Without customer journey tracking, the advertiser only sees individual visits or clicks, but not the connected path. This leads to a fragmented view in which each channel reports its own success without it being clear how the channels work together. 381 382Customer journey tracking solves this problem by linking all contacts of a user or a user group in a connected journey. This requires several technical prerequisites: consistent tracking across all channels, an assignment of contacts to users (for example via first-party identifiers) and storage of the touchpoint sequence beyond the time of the conversion. 383 384With this data basis, companies can analyse typical journeys, recognise recurring patterns and understand which channel combinations lead to conversions particularly often. This is not only important for attribution, but also for campaign planning, retargeting strategies and funnel optimisation. 385 386Customer journey tracking becomes particularly valuable in combination with cross device tracking. Since users today frequently switch between devices, capturing the journey on a
386single device is often incomplete. Only the cross-device link gives a complete picture of the touchpoint sequence.`,importance:`Customer journey tracking is important because it provides the basis for an evaluation of marketing impact that corresponds to reality. Without journey tracking, companies remain dependent on individual platform reports that cannot avoid double counting and incomplete assignment. 387 388With customer journey tracking, companies recognise which channels stand at the beginning of the journey, which bring the user back and which lead to the closing. This enables a budget distribution according to actual impact and prevents budget from flowing into channels that only look good in reporting.`,practicalExample:"A company runs Google Ads, Meta Ads and a newsletter. A user sees a Meta ad, visits the website, returns via Google two days later, receives a newsletter a week later and then submits an inquiry. Without customer journey tracking, each platform would claim the success for itself or only the last contact would be counted. With journey tracking, the complete path becomes visible: Meta delivered the first contact, Google brought the user back and the newsletter led to the closing.",attrixusRole:`attriXus makes customer journey tracking the core of how it works. Every lead and sale can be rewound, so that the complete path to the conversion becomes visible. Companies see which channels, campaigns and contacts were involved in which order. 389 390This distinguishes attriXus from platform reports that only show their own performance. With attriXus, a cross-channel picture emerges that avoids double counting and enables a budget distribution according to actual impact. Where marketing budget works and where it evaporates becomes visible through customer journey tracking.`,faqs:[{q:"What is the difference between customer journey tracking and normal tracking?",a:"Normal tracking records individual contacts or actions. Customer journey tracking links all contacts into a connected path and makes the relationship between channels visible."},{q:"Why is customer journey tracking across devices important?",a:"Users frequently switch between smartphone, tablet and desktop. Without cross-device tracking, the journey remains incomplete and contacts are lost."},{q:"What is technically needed for customer journey tracking?",a:"Consistent tracking across all channels, an assignment of contacts to users and storage of the touchpoint sequence beyond the time of the conversion."},{q:"How does customer journey tracking help with budget distribution?",a:"It shows which channels are important in which phase of the journey, so that budget can be distributed according to actual impact rather than individual reports."}]},"cross-device-tracking":{definition:"Cross device tracking follows users across multiple devices, such as smartphone, tablet and desktop. It makes it possible to reconstruct customer journeys that cross device boundaries and is important for complete attribution and cross-channel evaluation.",detailedExplanation:`Cross device tracking is one of the greatest challenges in modern online marketing. Users constantly switch between devices: they see an ad on their smartphone in the morning, visit the website on their laptop in the evening and finally buy on a tablet. Without cross device tracking, these contacts appear as separate users and the connection between them is lost. 391 392The problem: traditional tracking is often based on cookies that are tied to a single device and a single browser. A user who clicks on the smartphone and buys on the laptop is recorded as two different users. The result is an incomplete customer journey in which important contacts are missing and attribution is distorted. 393 394Cross device tracking solves this problem by linking contacts across devices. There are different approaches: login-based tracking links contacts as soon as a user logs in on a device. Probabilistic methods use statistical features such as device type, location and behaviour patterns to assign devices to the same user with high probability. First-party tracking and server-side tracking facilitate cross device tracking because they use more robust identifiers than third-party cookies. 395 396The importance of cross device tracking is growing because a large part of internet usage takes place on mobile and user expectations are cross-device. Companies that do not master cross device tracking risk important parts of the customer journey remaining invisible. This can lead to mobile channels, which often stand at the beginning of the journey, being underestimated, while desktop channels, which are closer to the closing, are overestimated. 397 398With increasing privacy requirements and the end of third-party cookies, first-party-based cross device tracking is becoming ever more important. Companies must build their own identifiers, for example through logins, registrations or consent-based tracking, in order to capture the cross-device journey.`,importance:`Cross device tracking is important because the reality of internet usage is cross-device. Without cross device tracking, important parts of the customer journey remain invisible, which leads to distorted attribution and wrong budget decisions. Mobile channels in particular, which often deliver the first contact, are underestimated without cross device tracking. 399 400For budget control, cross device tracking is indispensable because it is the only thing that makes the complete journey and thus the true contribution of each channel visible.`,practicalExample:"A user sees a Meta ad on their smartphone in the morning, visits the website and remembers the product. In the evening they search for the company on their laptop, click on a Google ad and buy. Without cross device tracking, the smartphone and desktop contacts appear as two different users. Meta Ads seems to bring no success, Google Ads gets the entire purchase credited. With cross device tracking it becomes visible that both contacts belong to the same user and both channels contributed to the success.",attrixusRole:`attriXus uses cross device tracking to fully capture customer journeys, even when users switch between devices. Through first-party tracking and robust identifiers, contacts can be linked across smartphone, tablet and desktop. 401 402This ensures that no parts of the journey are lost and that attribution reflects the true contribution of each channel. Companies recognise which channels work on which devices and can optimise budget across devices.`,faqs:[{q:"Why is cross device tracking difficult?",a:"Traditional cookies are tied to a device and a browser. Without additional identifiers, contacts on different devices cannot be assigned to the same user."},{q:"Which methods are there for cross device tracking?",a:"Login-based tracking, probabilistic methods and first-party tracking with own identifiers are the most common approaches."},{q:"What is x-device tracking?",a:"X-device tracking is an alternative term for cross device tracking. The more common term is cross device tracking."},{q:"Why does cross device tracking become more important with privacy?",a:"With the end of third-party cookies, companies must build their own identifiers, for example through logins or consent-based tracking, in order to capture cross-device journeys."}]},"conversion-tracking":{definition:"Conversion tracking records when a user reaches a defined goal, such as a purchase or an inquiry. It links the conversion to preceding marketing contacts and is the basis for evaluating campaigns and calculating ROAS and ROI.",detailedExplanation:`Conversion tracking is one of the most fundamental components in online marketing. It records when a user completes a defined action â a purchase, an inquiry, a registration, a download â and links this action to the marketing contacts that preceded it. Without conversion tracking, it would be impossible to assess whether campaigns are successful and how the marketing budget is being used effectively. 403 404Technically, conversion tracking usually works via tracking pixels, JavaScript tags or server-side implementations. When a user completes a conversion, a signal is sent that links the conversion to the preceding contacts. This can happen via co
404okies, first-party identifiers or consent-based methods. 405 406The challenge in modern conversion tracking lies in the increasing restrictions. Browsers like Safari and Firefox block third-party cookies, ad blockers prevent tracking scripts from loading, and privacy requirements such as the GDPR demand explicit consent. The consequence is that traditional conversion tracking becomes incomplete and conversions are lost. 407 408To counter this problem, companies increasingly rely on server-side tracking and first-party tracking. Server-side tracking moves data collection to the companyâs own server and is more robust against ad blockers and browser restrictions. First-party tracking uses its own identifiers instead of third-party cookies and is more privacy-friendly. Enhanced Conversions from Google enrich conversion data with hashed user data to improve capture even without cookies. 409 410Conversion tracking alone, however, only answers the question of whether a conversion took place. Only in combination with attribution does it become visible which channels and contacts contributed to it. Conversion tracking is the basis, attribution the evaluation.`,importance:`Conversion tracking is important because it provides the success metric for all marketing measures. Without conversion tracking, companies cannot assess whether campaigns lead to purchases, inquiries or registrations. This makes every budget decision arbitrary. 411 412In combination with attribution, conversion tracking becomes a tool that not only measures whether conversions occur, but also which channels and campaigns triggered them. This is the basis for ROAS, ROI and every form of budget control.`,practicalExample:"An online shop runs Google Ads and Meta Ads. A user clicks on a Google ad, visits the shop but abandons. Days later they click on a Meta ad, return and buy. Conversion tracking records the purchase and links it to the Meta contact. Only in combination with multi-touch attribution does the Google contact, which first brought the user to the shop, also become visible.",attrixusRole:`attriXus uses conversion tracking as a basis, but goes beyond it by not only recording the conversion but the complete path to it. Every purchase and every inquiry is linked to all preceding contacts, so that it becomes visible which channels and campaigns really contributed to the success. 413 414This turns conversion tracking at attriXus into more than a pure count: it becomes the basis for attribution, budget control and the recognition of where marketing budget works and where it evaporates.`,faqs:[{q:"What is the difference between conversion tracking and attribution?",a:"Conversion tracking records whether a conversion took place. Attribution evaluates which channels and contacts contributed to it."},{q:"Why is conversion tracking becoming more difficult?",a:"Browsers block third-party cookies, ad blockers prevent tracking scripts, and privacy requirements demand consent. Server-side and first-party tracking are the answer."},{q:"What are Enhanced Conversions?",a:"A Google Ads feature that enriches conversion data with hashed user data to make tracking more robust even without cookies."},{q:"Which conversions should you track?",a:"At least the main conversions such as purchases and inquiries. Micro-conversions such as newsletter sign-ups additionally help to evaluate preparatory measures."}]},"first-party-tracking":{definition:"First-party tracking collects user data through the company itself, instead of relying on third-party cookies. It is more privacy-friendly, more robust against browser restrictions and a basis for reliable attribution and customer journey tracking.",detailedExplanation:`First-party tracking is becoming increasingly important in online marketing. The background: traditional tracking was long based on third-party cookies that were set by external providers and tracked user behaviour across different websites. This method is now severely restricted. Browsers like Safari and Firefox block third-party cookies, Chrome has initiated the phase-out, and privacy requirements such as the GDPR demand more privacy-friendly data collection. 415 416First-party tracking solves this problem by having the company collect the data itself. Instead of trusting external
416cookies, the company uses its own identifiers, such as first-party cookies, logins, registrations or consent-based methods. Because the data lies with the company and not with a third party, it is more privacy-friendly and more robust against browser restrictions. 417 418The advantages of first-party tracking are diverse. First, it is more reliable: since first-party cookies are not blocked by browsers, tracking remains functional even when third-party cookies are no longer available. Second, it is more privacy-friendly: user data lies with the company that has the direct relationship with the user and can use it within the scope of the granted consent. Third, it is a prerequisite for customer journey tracking and attribution that go beyond individual sessions. 419 420In practice, first-party tracking comprises several elements: a proprietary tracking infrastructure, often in combination with server-side tracking, consent management for obtaining consent, and own identifiers that can link users across visits and devices. Enhanced Conversions from Google and similar functions complement first-party tracking by enriching conversion data with hashed user data. 421 422For attribution, first-party tracking is a basic prerequisite. Only with own data can a complete customer journey be captured and the contribution of individual channels be evaluated cleanly. Platform reports based on third-party cookies increasingly deliver incomplete data and cannot reflect the cross-channel reality.`,importance:`First-party tracking is important because it secures the data basis for reliable online marketing. With the end of third-party cookies, traditional tracking is no longer sufficient. Companies that do not build first-party tracking risk tracking becoming incomplete and attribution as well as budget control being based on unreliable data. 423 424For GDPR compliance, first-party tracking is also of central importance because it enables more privacy-friendly data collection and leaves control over user data with the company.`,practicalExample:"An online shop uses traditional tracking via third-party cookies. A user visits the shop via Safari, whose browser blocks third-party cookies. The visit is not recorded, the attribution is incomplete. With first-party tracking via own cookies and server-side capture, the visit is reliably recorded and integrated into the customer journey, even when the browser blocks third-party cookies.",attrixusRole:`attriXus is based on first-party tracking to capture reliable and complete data about the customer journey. Instead of relying on platform reports that are increasingly incomplete, attriXus uses its own tracking infrastructure that is robust against browser restrictions and privacy-compliant. 425 426This ensures that attribution and budget control are based on a solid data foundation. Companies recognise which online advertising really works, even when traditional tracking fails.`,faqs:[{q:"What is the difference between first-party and third-party tracking?",a:"First-party tracking collects data through the company itself. Third-party tracking uses external providers and third-party cookies that are increasingly blocked."},{q:"Why is first-party tracking becoming more important?",a:"Browsers block third-party cookies, and privacy requirements demand more privacy-friendly data collection. First-party tracking is more robust and privacy-compliant."},{q:"Is first-party tracking GDPR-compliant?",a:"Yes, when implemented with consent management and data minimisation. First-party tracking is more privacy-friendly than third-party tracking but still requires consent."},{q:"How does first-party tracking relate to server-side tracking?",a:"Server-side tracking is a method to collect first-party data by moving data collection to the companyâs own server. Both complement each other."}]},"server-side-tracking":{definition:"Server-side tracking moves data collection from the browser to the server. It is more robust against ad blockers and browser restrictions, more privacy-friendly and a basis for reliable attribution and first-party tracking.",detailedExplanation:`Server-side tracking is one of the most important developments in modern tracking. Traditional tracking runs client-side: tracking scripts and pixels are loaded in the userâs browser and send data directly to analytics or advertising platforms. This approach is increasingly restricted because ad blockers block the scripts, browsers prevent third-party cookies and privacy requirements make data collection more difficult. 427 428Server-side tracking solves this problem by moving data collection to the companyâs own server. Instead of sending data directly from the browser to external platforms, the browser sends the data to the companyâs server, which then processes it and forwards it to the appropriate tools. This has several advantages. 429 430First, server-side tracking is more robust against ad blockers. Because the data is sent to the companyâs own domain and not to external tracking endpoints, it is not captured by ad blockers. Second, it is more privacy-friendly. The data lies with the company that has the direct relationship with the user and can be used within the scope of the granted consent. Third, it enables better control over the data. The company can decide which data is forwarded to which tools, which facilitates GDPR compliance. 431 432In practice, server-side tracking usually comprises an own server that acts as a proxy or endpoint for tracking data, a consent management solution that ensures data is only collected after consent, and an integration with analytics and advertising platforms. Google Tag Manager offers a server-side function to implement this approach. 433 434For attribution, server-side tracking is a basic prerequisite for reliable data. Because ad blockers and browser restrictions make client-side tracking increasingly incomplete, server-side tracking delivers the data quality needed to fully capture customer journeys and evaluate the contribution of individual channels cleanly. 435 436In combination with first-party tracking and Enhanced Conversions, a tracking infrastru
436cture emerges that works reliably even under tightened privacy and browser conditions.`,importance:`Server-side tracking is important because it secures the data basis for reliable online marketing. With ad blockers and browser restrictions, client-side tracking is becoming increasingly incomplete. Companies that do not use server-side tracking risk conversions being lost and attribution being based on unreliable data. 437 438For GDPR compliance, server-side tracking is also advantageous because it leaves control over the data with the company and enables more privacy-friendly data collection.`,practicalExample:"An online shop uses client-side tracking. A user with an ad blocker visits the shop, clicks on an ad and buys. The purchase is not recorded because the ad blocker blocks the tracking script. With server-side tracking, the data is sent to the companyâs own server, the ad blocker does not apply, and the purchase is reliably recorded and included in attribution.",attrixusRole:`attriXus uses server-side tracking to create a reliable and complete data basis. Instead of relying on client-side tracking that is increasingly incomplete, attriXus captures data at server level and is thus robust against ad blockers and browser restrictions. 439 440This ensures that attribution and budget control are based on complete data. Companies recognise which online advertising really works, even when traditional tracking fails.`,faqs:[{q:"What is the difference between server-side and client-side tracking?",a:"Client-side tracking runs in the browser and sends data directly to external platforms. Server-side tracking moves collection to the companyâs own server and is more robust and privacy-friendly."},{q:"Why is server-side tracking more robust against ad blockers?",a:"Because the data is sent to the companyâs own domain and not to external tracking endpoints, it is not captured by ad blockers."},{q:"Is server-side tracking GDPR-compliant?",a:"Yes, when implemented with consent management. It is more privacy-friendly than client-side tracking because the data lies with the company."},{q:"How does server-side tracking relate to first-party tracking?",a:"Server-side tracking is a method to collect first-party data. Both complement each other and together form a reliable, privacy-friendly tracking infrastructure."}]},roas:{definition:"ROAS (return on ad spend) indicates the ratio of revenue to ad costs. It is a central metric in performance marketing and helps assess whether campaigns and channels are profitable and where budget works.",detailedExplanation:`ROAS is one of the most important metrics in performance marketing. It measures how much revenue an advertising measure generates in relation to its costs. The calculation is simple: revenue divided by ad costs. A ROAS of 4 means that for every euro of ad costs, four euros of revenue were generated. 441 442ROAS is closely related to ROI but not identical. ROI refers to profit in relation to investment, while ROAS looks at revenue in relation to ad costs. ROAS is easier to calculate because no margins or fixed costs are included, but it also says less about actual profitability. A high ROAS does not necessarily mean high profit if the margins are low. 443 444In online marketing, ROAS is used at different levels: per campaign, per channel, per ad group or per keyword. This helps to recognise where ad spend brings the most revenue and where budget may be wasted. A ROAS of 2 on Google Ads and a ROAS of 5 on Meta Ads would mean that Meta Ads delivers more revenue in relation to costs. 445 446The challenge with ROAS lies in the correct assignment of revenue to channels. If only the last click is considered, the ROAS of individual channels can be distorted. A channel that often stands at the end of the journey gets a high ROAS, while preparatory channels appear low. Only with multi-touch attribution does the ROAS become realistic, because revenue is distributed according to the actual contribution of the channels. 447 448ROAS alone is also not sufficient for budget decisions. A channel with a high ROAS can still deliver low absolute revenue if the volume is small. Conversely, a channel with a lower ROAS can still be valuable if it delivers large volumes. ROAS should therefore always be considered together with absolute revenue, margins and the contribution to the customer journey.`,importance:`ROAS is important because it provides a quick and understandable metric for whether ad spend is profitable. Without ROAS, companies cannot assess whether they receive sufficient revenue for their ad costs. This makes every budget decision arbitrary. 449 450In combination with attribution, ROAS becomes a tool that not only measures whether campaigns bring revenue, but also which channels make the greatest contribution. This is the basis for budget distribution and campaign optimisation.`,practicalExample:"An online shop spends 1,000 euros on Google Ads and generates 4,000 euros of revenue from it. The ROAS is 4. For Meta Ads it spends 500 euros and generates 3,000 euros of revenue, which corresponds to a ROAS of 6. Without attribution, Meta Ads would appear more efficient. With multi-touch attribution, however, it turns out that Meta Ads often deliver the first contact and Google Ads the closing â both channels are important, and ROAS alone is not enough to distribute the budget.",attrixusRole:`attriXus uses ROAS as a central metric but goes beyond it by distributing revenue according to the actual contribution of the channels. Instead of calculating ROAS only on the basis of the last click, attriXus shows which channel really delivered which revenue contribution. 451 452This makes ROAS at attriXus a reliable figure for budget decisions. Companies recognise where ad costs are used profitably and where budget evaporates.`,faqs:[{q:"What is the difference between ROAS and ROI?",a:"ROAS puts revenue in relation to ad costs. ROI refers to profit in relation to investment and is more meaningful for actual profitability."},{q:"What is a good ROAS?",a:"That depends on industry, margins and goals. A ROAS of 4 means that for every euro of ad costs, four euros of revenue are generated. Whether that is profitable depends on the margins."},{q:"Why can ROAS be misleading without attribution?",a:"Without attribution, revenue is often credited to the last click. This can favour channels at the end of the journey and underestimate preparatory channels."},{q:"Is ROAS alone enough for budget decisions?",a:"No, ROAS should be considered together with absolute revenue, margins and the contribution to the customer journey."}]},"performance-marketing":{definition:"Performance marketing includes all measures aimed at measurable results such as clicks, leads or sales. It is based on data, tracking and attribution and aims to use marketing budget efficiently and transparently.",detailedExplanation:`Performance marketing is a data-driven approach in online marketing in which every measure is aligned to measurable results. In contrast to branding, which aims at awareness and perception, performance marketing focuses on the direct measurability of clicks, leads, conversions and revenue. Every advertising euro is evaluated by the measurable success it delivers. 453 454The core channels of performance marketing are search ads (SEA), social ads, affiliate marketing, display advertising and email marketing. These
454channels can be tracked precisely, so that performance marketers see exactly how many clicks, conversions and how much revenue each campaign delivers. Billing is often performance-based, for example via CPC, CPL or CPA. 455 456The basis of performance marketing is data. Without tracking, conversion tracking and attribution, performance marketing would not be possible. Only through the capture and evaluation of contacts and conversions can companies assess which campaigns work and which do not. ROAS, ROI, CPL and CPA are the central metrics by which success is measured. 457 458The greatest challenge in performance marketing is correct attribution. Because users often reach a conversion via several channels and contacts, it is not enough to only look at the last click. Multi-touch attribution delivers a more realistic picture and helps to distribute the marketing budget according to actual impact. Companies that only trust platform reports risk double counting and a distorted view of performance. 459 460Another trend in performance marketing is the increasing importance of first-party data and server-side tracking. With the end of third-party cookies and tightened privacy requirements, companies must build their own data foundations in order to continue operating performance marketing reliably. Attribution and customer journey tracking are the tools that turn raw data into actionable knowledge.`,importance:`Performance marketing is important because it makes marketing budget transparent and efficient. Instead of distributing spend by gut feeling or reach, companies can decide on the basis of data which measures bring the most success. This is particularly advantageous in economically uncertain times when every advertising euro must be justified. 461 462Without performance marketing and the underlying attribution, marketing budget waste is pre-programmed. Companies would not know which campaigns deliver leads and sales and where budget evaporates.`,practicalExample:"A company operates performance marketing via Google Ads, Meta Ads and affiliate. Without attribution, each platform report sees its own successes â Google reports 100 conversions, Meta 80, affiliate 60. In reality there are only 120 real conversions, because many are counted twice. With multi-touch attribution, double counting is resolved and the company recognises which channel really delivered which contribution. The marketing budget can then be distributed according to actual impact.",attrixusRole:`attriXus is a tool for performance marketing that closes the gap between platform reports and actual impact. Through attribution and customer journey tracking, attriXus shows which campaigns, channels and contacts really contribute to leads and sales. 463 464This makes performance marketing more transparent and efficient. Companies recognise where budget works and where it evaporates, and can distribute their marketing budget according to actual impact rather than individual reports.`,faqs:[{q:"What is the difference between performance marketing and branding?",a:"Performance marketing aims at measurable results such as clicks, leads and sales. Branding focuses on awareness and perception, which are harder to measure."},{q:"Which channels belong to performance marketing?",a:"Typical channels are SEA, social ads, affiliate marketing, display advertising and email marketing, because they can be tracked precisely."},{q:"Why is attribution important in performance marketing?",a:"Without attribution, conversions are often counted twice or credited to the wrong channel. Multi-touch attribution delivers a realistic picture and enables a budget distribution according to actual impact."},{q:"Which metrics are central in performance marketing?",a:"ROAS, ROI, CPL and CPA are the most important metrics. They measure whether campaigns work profitably and how efficiently leads and customers are acquired."}]},leadgenerierung:{definition:"Lead generation includes all measures to gain new contacts and inquiries. It is particularly central in B2B and is run via search ads, content, social and email. Attribution helps to recognise which measures really bring leads.",detailedExplanation:`Lead generation is one of the most important processes in B2B marketing and many B2C areas. A lead is a potential customer who has made contact or left the
464ir data, for example through a form, an inquiry or a download. Generating leads is often the first step in the sales process and is directly linked to marketing budget and attribution. 465 466The methods of lead generation are diverse. Search ads (SEA) capture users who are actively looking for solutions. Content marketing attracts users who are looking for information and converts them into leads via forms. Social ads reach target groups on platforms like Meta or LinkedIn. Email marketing and newsletters maintain contact with existing prospects and gradually convert them into leads. Affiliate marketing uses partners to generate leads via third-party sites. 467 468The challenge in lead generation lies not only in volume but in quality and traceability. A lead is only valuable if it actually becomes a customer. Lead quality is determined by criteria such as company size, industry, role or behaviour. Qualified leads are those that have a high probability of leading to a closing. 469 470For the evaluation of lead generation, attribution is decisive. Because users often reach an inquiry via several channels and contacts, it is not enough to only look at the last click. Multi-touch attribution shows which channels stand at the beginning of the journey, which bring the user back and which finally lead to the inquiry. This is the basis for the distribution of the marketing budget and the optimisation of lead generation. 471 472Lead tracking and lead attribution are the technical prerequisites to link leads with marketing contacts. They record when and from where a lead came and assign it to the measures involved. Without lead tracking and attribution, it would be impossible to assess which campaigns really deliver leads and where budget is wasted.`,importance:`Lead generation is important because it lays the foundation for the sales process. Without leads no inquiries, without inquiries no customers. For B2B companies, lead generation is often the central success factor in marketing. 473 474With attribution, lead generation becomes measurable and controllable. Companies recognise which channels and campaigns deliver the most valuable leads and can align their budget accordingly. This prevents budget from flowing into measures that bring clicks but no qualified inquiries.`,practicalExample:"A B2B company runs Google Ads, LinkedIn Ads and operates content marketing. A prospect finds a blog article via Google, downloads a whitepaper, later sees a LinkedIn ad and finally submits an inquiry. Without attribution, the inquiry would be credited to the last contact. With multi-touch attribution it becomes visible that content and Google Ads played an important preparatory role. The company can align the budget with all involved channels instead of only promoting the last contact.",attrixusRole:`attriXus makes lead generation transparent by rewinding every lead and making visible which channels, campaigns and contacts contributed to the inquiry. Companies recognise which measures really deliver leads and where budget evaporates. 475 476This helps to distribute the marketing budget according to actual impact and to concentrate lead generation on the channels that bring the most valuable inquiries. Where marketing budget works and where it evaporates becomes visible through attribution.`,faqs:[{q:"What is a lead?",a:"A lead is a potential customer who has made contact or left the
476ir data, for example through a form, an inquiry or a download."},{q:"What is the difference between lead generation and new customer acquisition?",a:"Lead generation delivers contacts and inquiries. New customer acquisition encompasses the entire process up to the actual customer closing."},{q:"Why is attribution important in lead generation?",a:"Because users often reach an inquiry via several channels, attribution shows which measures really contributed to the leadâs creation. This is the basis for budget decisions."},{q:"What is a qualified lead?",a:"A qualified lead is a lead that meets certain criteria that classify it as promising for a closing, such as company size, industry or role."}]},seo:{definition:"SEO (search engine optimisation) includes measures to improve visibility in unpaid search results. It is an important channel for organic traffic and is compared with paid channels within attribution.",detailedExplanation:`SEO is one of the most important channels in online marketing. It includes all measures aimed at improving a websiteâs visibility in the unpaid search results of search engines like Google. The goal: when users search for relevant terms, the website should appear as high up as possible and receive organic traffic. 477 478SEO is divided into several areas. On-page optimisation includes content, meta tags, structure and technical aspects of the website. Off-page optimisation focuses on external factors, especially backlinks. Technical SEO ensures that the website is fast, crawlable and mobile-friendly. Keyword research identifies the search terms on which content is aligned. 479 480The special feature of SEO compared to paid channels like SEA is that no direct ad costs per click are incurred. The traffic is organic, which can make SEO cost-efficient in the long term. However, SEO requires time and continuous work because search engine algorithms evaluate complex factors and rankings are not achieved overnight. 481 482Within attribution, SEO plays an important role. Organic traffic is often a channel that appears in the customer journey, especially in the middle and at the end, when users specifically search for solutions or brands. Because organic traffic causes no direct ad costs, its ROAS is formally infinitely high â but that is misleading, because SEO causes indirect costs through content creation, technical maintenance and tools. 483 484The challenge in attributing SEO is that organic traffic often appears as direct traffic or without a clear source, especially when users enter the URL directly or come via bookmarks. Multi-touch attribution helps to make the contribution of SEO in the customer journey visible, even when the last contact was elsewhere. 485 486SEO and SEA should not be viewed in isolation. Both channels complement each other: SEA delivers quick visibility and can provide data for SEO, while SEO brings cost-efficient traffic in the long term. Attribution shows how both channels work together and where budget is best used.`,importance:`SEO is important because it delivers cost-efficient traffic in the long term and secures a websiteâs visibility in search engines. Without SEO, companies would be dependent on paid channels and would have no organic presence in the search results. 487 488In attribution, SEO helps to understand what contribution organic traffic makes to the customer journey. Because organic traffic has no direct ad costs, its contribution is often underestimated, especially when the last contact was elsewhere.`,practicalExample:"A company operates SEO and SEA. A user finds the website via an organic search, visits it, returns via a Google ad days later and buys. Without attribution, the Google ad would receive the entire credit. With multi-touch attribution it becomes visible that the organic search delivered the first contact and thus played an important role. The company can evaluate SEO and SEA in a balanced way.",attrixusRole:`attriXus captures organic traffic as part of the customer journey and makes its contribution to the conversion visible. Instead of viewing SEO only in isolation, attriXus shows how organic traffic works together with paid channels and where the true contribution lies. 489 490This helps companies to evaluate SEO appropriately and to distribute the marketing budget in a balanced way between organic and paid channels.`,faqs:[{q:"What is the difference between SEO and SEA?",a:"SEO optimises visibility in unpaid search results. SEA includes paid search ads. Both complement each other and should be considered together in attribution."},{q:"Is SEO free?",a:"SEO causes no direct ad costs per click, but indirect costs through content creation, technical maintenance and tools. In the long term, SEO is often more cost-efficient than SEA."},{q:"How is SEO evaluated in attribution?",a:"Organic traffic is captured as a channel in the customer journey. Multi-touch attribution shows its contribution, even when the last contact was elsewhere."},{q:"How long does SEO take to work?",a:"SEO is a long-term process. First results can become visible after weeks, stable rankings often require months of continuous work."}]},sea:{definition:"SEA (search engine advertising) includes paid search ads, mostly via Google Ads. It is a central channel in online marketing and provides data for attribution, conversion tracking and campaign analysis.",detailedExplanation:`SEA is one of the most important channels in online marketing. It includes paid ads in search engines that appear when users search for certain keywords. The largest platform for SEA is Google Ads, but Microsoft Advertising (Bing Ads) also plays a role. Ads are shown in an auction system in which advertisers bid per click (CPC). 491 492The way SEA works is relatively simple: the advertiser selects keywords on which their ads should appear, writes ad texts and sets bids and budgets. When a user searches for one of the keywords, an auction takes place that decides the position and cost of the ad. The quality factor, calculated from click rate, ad relevance and landing page quality, influences the position alongside the bid. 493 494SEA is divided into different campaign types. Brand campaigns target search terms with the brand name and usually have high conversion rates and low costs. Generic campaigns target general terms without brand reference and reach new audiences, but often have higher costs and lower conversion rates. High-intent keywords signal strong purchase intent and are particularly valuable. 495 496Within attribution, SEA plays a central role. Search ads are often close to the conversion because users who search actively have a high purchase intent. In last-click models, SEA therefore often appears as a strong channel. In multi-touch models, however, it turns out that SEA also plays a preparatory role, especially in generic campaigns that bring users into the system for the first time. 497 498The challenge with SEA is the increasing complexity and cost intensity. With automated bidding strategies, smart bidding and broad match keywords, SEA has become highly professionalised. At the same time, costs per click are rising in many industries, which makes precise control and attribution indispensable. Enhanced Conversions help to make conversion tracking more robust in a privacy-compl
498iant way. 499 500SEA and SEO should be considered together. SEA delivers quick visibility and can provide data for SEO, while SEO brings cost-efficient traffic in the long term. Attribution shows how both channels work together and where budget is best used.`,importance:`SEA is important because it delivers quick and precise visibility in search engines. Companies can capture users who are actively looking for solutions and generate leads or sales. Without SEA, companies would be dependent on SEO, which needs time to work. 501 502In attribution, SEA helps to understand what contribution search ads make to the customer journey. Because SEA is often close to the conversion, it can be overestimated in last-click models. Multi-touch attribution delivers a more balanced picture.`,practicalExample:"A company runs brand and generic campaigns on Google Ads. A user sees a generic ad, visits the website, returns via a brand search days later and buys. Without attribution, the brand campaign would receive the entire credit. With multi-touch attribution it becomes visible that the generic campaign brought the user into the system for the first time. The company can evaluate both campaign types appropriately.",attrixusRole:`attriXus captures SEA as part of the customer journey and makes its contribution to the conversion visible. Instead of only looking at platform reports from Google Ads, attriXus shows how search ads work together with other channels and where the true contribution lies. 503 504This helps companies to evaluate SEA appropriately and to distribute the marketing budget according to actual impact, instead of only trusting the data provided by Google.`,faqs:[{q:"What is the difference between SEA and SEO?",a:"SEA includes paid search ads that offer immediate visibility. SEO optimises organic visibility and takes longer, but works cost-efficiently in the long term."},{q:"What does SEA cost?",a:"SEA is usually billed via CPC. The costs per click depend on industry, keyword competition and quality factor and can vary strongly."},{q:"What is the difference between brand and generic campaigns?",a:"Brand campaigns target search terms with the brand name and have high conversion rates. Generic campaigns target general terms and reach new audiences."},{q:"How is SEA evaluated in attribution?",a:"SEA is captured as a channel in the customer journey. In last-click models it is often overestimated because it is close to the conversion. Multi-touch attribution delivers a more balanced picture."}]},"social-ads":{definition:"Social ads are ads on social media platforms such as Meta, Instagram or TikTok. They serve reach, retargeting and lead generation and are an important channel in attribution and the customer journey.",detailedExplanation:`Social ads are no longer to be imagined away from modern online marketing. They include ads on social media platforms such as Facebook, Instagram (both Meta), TikTok, LinkedIn or X. Social ads serve different goals: reach, brand awareness, retargeting and lead generation. They are characterised by detailed targeting options based on demographic data, interests and behaviour. 505 506The strength of social ads lies in the precision of targeting. Platforms like Meta know their users very well through years of data collection and allow advertisers to precisely define who should see their ads. This ranges from basic demographic features to fine behaviour patterns and custom audiences formed from the companyâs own customer data. Retargeting is also a central part of social ads, in which users who have already interacted with the website are addressed again. 507 508Within attribution, social ads play a diverse role. They often stand at the beginning of the customer journey because they generate attention and make users aware of a company for the first time. But they can also work in the middle of the journey, when users are retargeted and brought back to the website. At the end of the journey they are less common, because the final conversion often takes place via search ads or direct traffic. 509 510The challenge with social ads in attribution is that their contribution is often underestimated. In last-click models, social ads rarely appear as the channel that brought the conversion, because they are usually not the last contact. Multi-touch attribution, however, shows that social ads play an important preparatory role that remains invisible with last click. 511 512Another topic is view-through conversions. Social ads are often seen without users clicking immediately. When these users convert later, the contribution of social ads is hard to measure. View-through tracking helps here but is error-prone and can lead to double counting. Attribution with multi-touch models delivers a more balanced evaluation. 513 514With the increasing importance of privacy and the end of third-party cookies, social ads are changing. Platforms increasingly have to rely on first-party data and consent-based tracking, which influences measurability. Server-side tracking and Enhanced Conversions help to keep the data basis robust.`,importance:`Social ads are important because they offer reach, targeting precision and retargeting options that only social media platforms can deliver in this form. Without social ads, many companies lack a central channel for new customer acquisition and return visits. 515 516In attribution, social ads help to understand what contribution social media makes to the customer journey. Because social ads often stand at the beginning or in the middle of the journey, their contribution is often underestimated without multi-touch attribution.`,practicalExample:"A company runs Meta Ads and Google Ads. A user sees a Meta ad, visits the website, returns via a Google search days later and buys. Without attribution, Google Ads would receive the entire credit and Meta Ads would go away empty. With multi-touch attribution it becomes visible that the Meta ad first made the user aware of the company and thus played an important role. The company can align the budget with both channels.",attrixusRole:`attriXus captures social ads as part of the customer journey and makes their contribution to the conversion visible. Instead of only looking at platform reports from Meta or TikTok, attriXus shows how social ads work together with other channels and where the true contribution lies. 517 518This helps companies to evaluate social ads appropriately and to distribute the marketing budget according to actual impact, instead of judging social ads only by last click.`,faqs:[{q:"On which platforms can you run social ads?",a:"The most important platforms are Meta (Facebook and Instagram), TikTok, LinkedIn and X. Each platform has its own strengths and target groups."},{q:"What is retargeting in social ads?",a:"Retargeting in social ads addresses users again who had already interacted with the website. It helps to bring users back and is an important part of the customer journey."},{q:"Why are social ads often underestimated in attribution?",a:"Social ads often stand at the beginning or in the middle of the journey and are rarely the last contact. In last-click models their contribution is lost. Multi-touch attribution shows their true role."},{q:"What are view-through conversions?",a:"View-through conversions occur when users convert after seeing a social ad without clicking. They are hard to measure and can lead to double counting."}]},"affiliate-marketing":{definition:"Affiliate marketing is a performance-based sales model in
518which partners promote a companyâs products or services and receive a commission on success. It often runs via price comparison portals or content sites and is a core part of performance-driven online marketing.",detailedExplanation:`Affiliate marketing is one of the most established channels in online marketing. It is based on a simple principle: a company (merchant) offers partners (affiliates) a commission for the mediation of leads or sales. The partners promote the products on their own websites, for example via price comparison portals, content sites, cashback systems or blogs, and receive a remuneration on success. 519 520Billing in affiliate marketing is performance-based. Typical models are cost per lead (CPL), cost per sale (CPS) or cost per acquisition (CPA). Because affiliates are only paid on success, affiliate marketing is low-risk from the companyâs perspective â at least at first glance. The commission is only due when a lead or sale actually materialises. 521 522The challenge in affiliate marketing lies in attribution. Affiliates often stand at the end of the customer journey, especially with price comparison portals that capture users shortly before the purchase. In last-click models, affiliates therefore often receive the full credit, although previous channels such as display ads or social ads first made the user aware of the product. This can lead to a distorted budget allocation in which affiliate marketing is overestimated and preparatory channels are underestimated. 523 524Another problem is double counting. When a user buys via an affiliate link, the affiliate claims the success. At the same time, Google Ads or Meta Ads can count the sale if the user had previously seen an ad. Without cross-channel attribution, the same sale is counted multiple times, which falsifies the reports. 525 526Multi-touch attribution solves this problem by making the contribution of all involved channels visible and resolving double counting. Affiliates receive the value that corresponds to their actual contribution, and preparatory channels are evaluated appropriately. This leads to a more balanced budget allocation and prevents affiliate marketing from being promoted disproportionately. 527 528Affiliate marketing is particularly strongly represented in e-commerce, but is also relevant in B2B and for services. With increasing professionalisation and privacy requirements, the channel is changing, but it remains an important part of performance marketing.`,importance:`Affiliate marketing is important because it is performance-based and therefore low-risk. Companies only pay when a lead or sale materialises. This makes affiliate marketing attractive, especially for e-commerce companies. 529 530In attribution, affiliate marketing is a challenge because affiliates often stand at the end of the journey and are overestimated in last-click models. Multi-touch attribution delivers a more balanced evaluation and prevents budget from being distributed in a distorted way.`,practicalExample:"An online shop operates affiliate marketing via a price comparison portal as well as Google Ads and Meta Ads. A user sees a Meta ad, visits the shop, compares prices via the affiliate portal days later and buys. Without attribution, the affiliate portal would receive the entire credit. With multi-touch attribution it becomes visible that Meta Ads brought the user first and the affiliate portal helped with the closing. The company can align the budget with both channels.",attrixusRole:`attriXus captures affiliate marketing as part of the customer journey and makes its contribution visible without overestimating it. Instead of only looking at the affiliate report, attriXus shows how affiliate works together with other channels and where double counting exists. 531 532This helps companies to evaluate affiliate marketing appropriately and to distribute the marketing budget according to actual impact, instead of only trusting the last-click view of the affiliate networks.`,faqs:[{q:"How is affiliate marketing billed?",a:"Typical models are cost per lead, cost per sale and cost per acquisition. Billing is performance-based â affiliates only receive a commission on success."},{q:"Why is affiliate marketing often overestimated in attribution?",a:"Affiliates often stand at the end of the journey, for example with price comparison portals. In last-click models they receive the full credit, although previous channels were important."},{q:"What is double counting in affiliate marketing?",a:"When a user buys via an affiliate link but had also seen ads before, the same sale can be counted by multiple systems. Attribution solves this problem."},{q:"For which companies is affiliate marketing relevant?",a:"Especially in e-commerce, but also in B2B and for services. Affiliate marketing is performance-based and therefore attractive for many companies."}]},roi:{definition:"ROI (return on investment) measures the ratio of profit to investment. In online marketing it helps to assess whether marketing spend is overall profitable and how different channels and campaigns compare economically.",detailedExplanation:`ROI is one of the central metrics in marketing and in business administration. It measures how much profit an investment has generated in relation to its costs. The calculation is basically simple: profit minus investment, divided by investment. An ROI of 1 (or 100%) means that the profit is equal to the investment â the investment has thus doubled. 533 534In online marketing, ROI is used to assess whether marketing spend is profitable. In contrast to ROAS, which puts revenue in relation to ad costs, ROI includes profit. This is an important difference: a channel with a high ROAS can have a low ROI if the margins are low. An online shop with a margin of 10% needs a ROAS of at least 10 to break even â at a ROAS of 5 it would make a loss despite a positive revenue-to-ad-cost ratio. 535 536Calculating ROI in online marketing is more demanding than calculating ROAS because it requires knowledge of the margins. Companies must know how much profit a product or a lead actually brings in order to calculate ROI. This is particularly possible in e-commerce, where margins are known, but more difficult in B2B, where the value of a lead only becomes visible in the sales process. 537 538Within attribution, ROI plays a central role. Because profit should be distributed according to the actual contribution of the channels, multi-touch attribution provides the basis for a correct ROI calculation. Last-click models can distort the ROI of individual channels because they credit revenue and thus profit to the last contact. With multi-touch attribution, ROI is distributed according to the actual contribution. 539 540ROI alone is not sufficient for budget decisions. A channel with a high ROI can have a low volume, while a channel with a lower ROI can deliver large volumes. ROI should therefore always be considered together with absolute profit, volume and the contribution to the customer journey. 541 542For budget control, ROI is more important than ROAS because it measures actual profitability. Companies that only look at ROAS risk directing budget into channels that bring high revenue but low profit. ROI prevents this misjudgement.`,importance:`ROI is important because it measures the actual profitability of marketing spend. Without ROI, companies cannot assess whether their marketing is working economically. ROAS alone is not enough because it does not take margins into account. 543 544In combination with attribution, ROI becomes a tool that not only measures whether campaigns are profitable, but also which channels make the greatest profit contribution. This is the basis for budget distribution and campaign optimisation.`,practicalExample:"An online shop spends 1,000 euros on Google Ads and generates 5,000 euros of revenue. At a margin of 20%, that corresponds to 1,000 euros of profit. The ROI is 0 (profit minus investment divided by investment). Although the ROAS is 5, the ROI is zero â the campaign has just not paid off. With this insight, the company can optimise the campaign or redistribute the budget.",attrixusRole:`attriXus uses ROI as a central metric and, through attribution, provides the basis for a correct calculation. Instead of distributing profit by last click, attriXus shows which channel really delivered which profit contribution. 545 546This makes ROI at attriXus a reliable figure for budget decisions. Companies recognise where marketing spend is actually profitable and where budget evaporates, even when the ROAS looks good.`,faqs:[{q:"What is the difference between ROI and ROAS?",a:"ROAS puts revenue in relation to ad costs. ROI includes profit and is more meaningful for actual profitability."},{q:"Why can a high ROAS still mean a loss?",a:"When the margins are low, a high ROAS may not be enough to cover the costs. A shop with a 10% margin needs a ROAS of at least 10 to break even."},{q:"How is ROI calculated in attribution?",a:"Profit is distributed according to the actual contribution of the channels. Multi-touch attribution provides the basis, while last-click models can distort the ROI."},{q:"Is ROI alone enough for budget decisions?",a:"No, ROI should be considered together with absolute profit, volume and the contribution to the customer journey."}]},"marketing-attribution":{definition:"Marketing attribution is the umbrella term for assigning marketing impact to conversions. It encompasses various models and approaches and aims to make the contribution of individual channels, campaigns and contacts visible and controllable.",detailedExplanation:`Marketing attribution is the umbrella term for all efforts to make the impact of marketing measures on conversions visible. It answers the central question: which advertising really contributed to a lead, sale or inquiry? Because users in online marketing rarely reach a conversion through only a single contact, this question is more complex than it appears at first glance. 547 548Marketing attribution encompasses various models and approaches. The simplest are first click and last click, which credit the success to the first or last contact respectively. More complex models such as linear, time decay and multi-touch distribute the value across several contacts. Data-driven models use machine learning to calculate the contribution of individual contacts based on historical data. Hybrid models comb
548ine different approaches. 549 550The choice of model has a direct influence on channel evaluation and budget distribution. In last-click models, channels at the end of the journey appear strong, while preparatory channels appear weak. In multi-touch models the contribution is distributed more evenly. This can mean that the apparent performance of a channel changes drastically depending on the model. 551 552The basis of every marketing attribution is data. Without tracking, conversion tracking and customer journey tracking, attribution is not possible. The quality of the data determines the quality of the attribution. With increasing restrictions from ad blockers, browser blocking of third-party cookies and privacy requirements, first-party tracking and server-side tracking are becoming prerequisites for reliable attribution. 553 554The greatest challenge of marketing attribution is double counting. Each platform â Google Ads, Meta Ads, affiliate â evaluates its own performance from its perspective and claims conversions for itself. Without cross-channel attribution, the same success is counted multiple times, which falsifies the reports and leads to wrong budget decisions. Marketing attribution solves this problem by offering a cross-channel view of the entire customer journey. 555 556For companies, marketing attribution is the key to data-driven budget control. Instead of distributing the marketing budget by gut feeling or individual reports, they can decide on the basis of attribution which channels and campaigns make the greatest contribution to leads, sales and revenue.`,importance:`Marketing attribution is important because it provides the basis for data-driven budget control. Without attribution it remains unclear which advertising really contributes to conversions. This makes budget decisions arbitrary and risks budget flowing into measures that look good in reporting but do not deliver the actual contribution. 557 558With attribution, marketing becomes measurable and controllable. Companies recognise which channels, campaigns and contacts really work and where budget evaporates. This is the basis for efficient performance marketing.`,practicalExample:"A company runs Google Ads, Meta Ads and affiliate. Each platform reports 100 conversions. Without marketing attribution, the company would believe it had achieved 300 conversions. In reality there are 120, because many were counted twice. With attribution, double counting is resolved and the company recognises which channel really delivered which contribution. The marketing budget can be distributed according to actual impact.",attrixusRole:`attriXus is a tool for marketing attribution that closes the gap between platform reports and actual impact. Through cross-channel attribution and customer journey tracking, attriXus shows which campaigns, channels and contacts really contribute to leads, sales and revenue. 559 560This makes marketing transparent and controllable. Companies recognise where marketing budget works and where it evaporates, and can distribute their budget according to actual impact rather than individual reports.`,faqs:[{q:"What is marketing attribution in simple terms?",a:"Marketing attribution assigns conversions to the marketing measures that contributed to them. It makes visible which advertising really worked."},{q:"Which attribution models are there?",a:"Well-known models are last click, first click, linear, time decay, multi-touch and data-driven models. Each has strengths and weaknesses."},{q:"What is double counting?",a:"Double counting arises when several platforms claim the same success for themselves. Attribution solves this problem through a cross-channel view."},{q:"Why is the choice of model important?",a:"The choice of model influences which channels appear strong or weak in reporting. This has a direct effect on budget distribution."}]}},tA=[{slug:"ad-click",title:"Ad Click",letter:"A",shortDescription:"Ein Ad Click bezeichnet die Aktion eines Nutzers, der auf eine Online-Werbung klickt und zur Zielseite gelangt. Ad Clicks sind eine grundlegende Kennzahl im Online-Marketing und Basis für Klickraten, Kostenberechnung und die weitere Nutzerreise entlang der Customer Journey.",shortDe
560scriptionEn:"An ad click is the action of a user who clicks on an online ad and reaches the landing page. Ad clicks are a fundamental metric in online marketing and the basis for click rates, cost calculation and the userâs onward journey along the customer journey.",related:["ad-impression","conversion-tracking","click-path","tracking"]},{slug:"ad-impression",title:"Ad Impression",letter:"A",shortDescription:"Eine Ad Impression entsteht, wenn eine Online-Werbung auf einem Bildschirm angezeigt wird, unabhängig davon, ob der Nutzer sie wahrnimmt oder klickt. Impressions dienen als Basis für Reichweitenmessung, Frequenzsteuerung und die Bewertung von Display- und Social-Kampagnen.",shortDescriptionEn:"An ad impression occurs when an online ad is displayed on a screen, regardless of whether the user notices or clicks it. Impressions serve as the basis for reach measurement, frequency control and the evaluation of display and social campaigns.",related:["ad-click","display-advertising","impression-tracking","view-through-conversion"]},{slug:"affiliate-marketing",title:"Affiliate Marketing",letter:"A",shortDescription:"Affiliate Marketing ist ein erfolgsbasiertes Vertriebsmodell, bei dem Partner Produkte oder Dienstleistungen eines Unternehmens bewerben und im Erfolgsfall eine Provision erhalten. Es läuft häufig über Preisvergleichsportale oder Content-Seiten und ist fester Bestandteil des performance-orientierten Online-Marketings.",shortDescriptionEn:"Affiliate marketing is a performance-based sales model in which partners promote a companyâs products or services and receive a commission on success. It often runs via price comparison portals or content sites and is a core part of performance-driven online marketing.",related:["performance-marketing","cost-per-sale","conversion-tracking","online-marketing"]},{slug:"assisted-conversion",title:"Assisted Conversion",letter:"A",shortDescription:"Eine Assisted Conversion liegt vor, wenn ein Marketingkanal auf dem Weg zum Abschluss eine Rolle spielt, ohne der letzte Kontakt zu sein. Sie macht sichtbar, welche Kanäle vorbereitend wirken, und hilft, den Beitrag einzelner MaÃnahmen besser zu bewerten als reine Last-Click-Modelle.",shortDescriptionEn:"An assisted conversion occurs when a marketing channel plays a role on the path to conversion without being the last touchpoint. It reveals which channels have a preparatory effect and helps evaluate the contribution of individual measures better than pure last-click models.",related:["attribution","last-click-attribution","multi-touch-attribution","conversion"]},{slug:"attribution",title:"Attribution",letter:"A",shortDescription:"Attribution beschreibt, wie Leads, Verkäufe oder andere Conversions den beteiligten MarketingmaÃnahmen zugeordnet werden. Sie hilft Unternehmen zu verstehen, welche Online-Werbung wirklich zu Ergebnissen beiträgt und wo Marketingbudget möglicherweise falsch bewertet wird.",shortDescriptionEn:"Attribution describes how leads, sales or other conversions are assigned to the marketing measures involved. It helps companies understand which online advertising really contributes to results and where marketing budget may be misjudged.",related:["attributionsmodell","multi-touch-attribution","last-click-attribution","first-click-attribution","customer-journey-tracking","conversion-tracking","marketing-attribution","roas"]},{slug:"attributionsfenster",title:"Attributionsfenster",letter:"A",shortDescription:"Das Attributionsfenster (auch Lookback Window) ist der Zeitraum, in dem Kontakte vor einer Conversion berücksichtigt werden. Es bestimmt, wie weit zurückgeschaut wird, um Werbekontakte zu erfassen, und beeinflusst, welche Kanäle als beteiligt bewertet werden.",shortDescriptionEn:"The attribution window (also lookback window) is the period in which contacts before a conversion are taken into account. It determines how far back ad contacts are captured and influences which channels are evaluated as involved.",related:["attribution","lookback-window","attributionsmodell","conversion-tracking"]},{slug:"attributionsmodell",title:"Attributionsmodell",letter:"A",shortDe
560scription:"Ein Attributionsmodell ist die Regel, nach der der Wert einer Conversion auf beteiligte Marketingkontakte aufgeteilt wird. Bekannte Modelle sind Last Click, First Click, Linear und Time Decay. Die Modellwahl beeinflusst direkt, welche Kanäle stark oder schwach erscheinen.",shortDescriptionEn:"An attribution model is the rule by which the value of a conversion is distributed among the marketing touchpoints involved. Well-known models are last click, first click, linear and time decay. The choice of model directly affects which channels appear strong or weak.",related:["attribution","last-click-attribution","first-click-attribution","multi-touch-attribution","time-decay-attribution","linear-attribution","rule-based-attribution"]},{slug:"audience",title:"Audience",letter:"A",shortDescription:"Eine Audience ist eine Gruppe von Nutzern mit gemeinsamen Merkmalen, die mit Werbung angesprochen werden. Audiences können auf demografischen Daten, Interessen oder Verhalten basieren. Die richtige Zielgruppenauswahl ist entscheidend für Reichweite, Relevanz und Kosten.",shortDescriptionEn:"An audience is a group of users with shared characteristics who are addressed with ads. Audiences can be based on demographic data, interests or behavior. The right audience selection is crucial for reach, relevance and cost.",related:["zielgruppenanalyse","retargeting","social-ads","meta-ads"]},{slug:"average-order-value",title:"Average Order Value",letter:"A",shortDescription:"Der Average Order Value gibt an, wie viel ein Kunde durchschnittlich pro Bestellung ausgibt. Er ist eine zentrale Kennzahl im E-Commerce und beeinflusst direkt den Umsatz, die Rentabilität von Kampagnen und die Bewertung von Kanälen im Rahmen der Attribution.",shortDescriptionEn:"The average order value indicates how much a customer spends on average per order. It is a central metric in e-commerce and directly affects revenue, campaign profitability and the evaluation of channels within attribution.",related:["roas","roi","e-commerce-tracking","warenkorbwert"]},{slug:"bannerwerbung",title:"Bannerwerbung",letter:"B",shortDescription:"Bannerwerbung ist eine Form der Online-Werbung, bei der grafische Werbemittel auf Websites eingeblendet werden. Sie gehört zum Display Advertising und wird über Klicks, Impressionen oder Conversions abgerechnet. Bannerwerbung dient der Reichweite und Markenbekanntheit.",shortDescriptionEn:"Banner advertising is a form of online advertising in which graphical ad creatives are displayed on websites. It belongs to display advertising and is billed by clicks, impressions or conversions. Banner advertising serves reach and brand awareness.",related:["display-advertising","ad-impression","retargeting","view-through-conversion"]},{slug:"benchmarking",title:"Benchmarking",letter:"B",shortDescription:"Benchmarking ist der Vergleich eigener Kennzahlen mit externen Referenzwerten, etwa aus der Branche oder von Wettbewerbern. Es hilft, die eigene Performance einzuordnen, Schwachstellen zu erkennen und realistische Ziele für Kampagnen und Kanäle festzulegen.",shortDescriptionEn:"Benchmarking is the comparison of your own metrics with external reference values, such as industry or competitor figures. It helps classify your own performance, identify weaknesses and set realistic goals for campaigns and channels.",related:["kpi","performance-marketing","campaign-tracking","dashboard"]},{slug:"bid-management",title:"Bid Management",letter:"B",shortDescription:"Bid Management steuert die Gebote in Auktionsbasierten Werbesystemen wie Google Ads. Es bestimmt, wie viel ein Werbetreibender pro Klick oder Conversion maximal zahlen möchte. Automatisiertes Bid Management nutzt Algorithmen, um Gebote nach Leistung zu optimieren.",shortDescriptionEn:"Bid management controls bids in auction-based advertising systems like Google Ads. It determines how much an advertiser wants to pay at most per click or conversion. Automated bid management uses algorithms to optimize bids by performance.",related:["google-ads","paid-search","sea","cost-per-click"]}
560,{slug:"bounce-rate",title:"Bounce Rate",letter:"B",shortDescription:"Die Bounce Rate gibt den Anteil der Besuche an, bei denen ein Nutzer eine Website nach einer einzelnen Seite wieder verlässt. Eine hohe Bounce Rate kann auf mangelnde Relevanz oder technische Probleme hinweisen und ist eine wichtige Kennzahl für die Qualität von Traffic und Landingpages.",shortDescriptionEn:"The bounce rate indicates the share of visits where a user leaves a website after a single page. A high bounce rate can indicate a lack of relevance or technical issues and is an important metric for the quality of traffic and landing pages.",related:["landingpage","engagement","session","onsite-tracking"]},{slug:"brand-campaign",title:"Brand Campaign",letter:"B",shortDescription:"Eine Brand Campaign ist eine Kampagne, die auf Markenkeywords ausgerichtet ist, also Suchbegriffe, die den Markennamen enthalten. Sie zielt darauf ab, Nutzer abzuholen, die das Unternehmen bereits kennen. Brand Campaigns haben meist hohe Conversion Rates und niedrige Kosten.",shortDescriptionEn:"A brand campaign is a campaign targeted at brand keywords â search terms that contain the brand name. It aims to capture users who already know the company. Brand campaigns usually have high conversion rates and low costs.",related:["brand-keywords","non-brand-keyword","sea","google-ads"]},{slug:"brand-keywords",title:"Brand Keywords",letter:"B",shortDescription:"Brand Keywords sind Suchbegriffe, die den Namen einer Marke oder eines Unternehmens enthalten. Sie unterscheiden sich von Generic Keywords und haben meist höhere Conversion Rates, da die Suchenden bereits Markenbekanntheit aufweisen.",shortDescriptionEn:"Brand keywords are search terms that contain a brand or company name. They differ from generic keywords and usually have higher conversion rates because searchers already have brand awareness.",related:["brand-campaign","generic-keywords","non-brand-keyword","keyword"]},{slug:"budget-allocation",title:"Budget Allocation",letter:"B",shortDescription:"Budget Allocation beschreibt die Verteilung des Marketingbudgets auf verschiedene Kanäle, Kampagnen und MaÃnahmen. Sie sollte auf Basis von Attribution und Leistung erfolgen, damit Budget dorthin flieÃt, wo es die meisten Leads, Verkäufe oder den höchsten Return bringt.",shortDescriptionEn:"Budget allocation describes the distribution of the marketing budget across channels, campaigns and measures. It should be based on attribution and performance so that budget flows where it brings the most leads, sales or the highest return.",related:["marketingbudget","roas","roi","attribution","kanalbewertung"]},{slug:"buyer-journey",title:"Buyer Journey",letter:"B",shortDescription:"Die Buyer Journey beschreibt den Weg eines potenziellen Kunden vom ersten Kontakt bis zum Kauf. Sie umfasst Phasen wie Awareness, Consideration und Decision. Das Verständnis der Buyer Journey ist essenziell für die Zuordnung von Marketingwirkung und die Steuerung von Kampagnen.",shortDescriptionEn:"The buyer journey describes the path of a potential customer from first contact to purchase. It includes phases such as awareness, consideration and decision. Understanding the buyer journey is essential for assigning marketing impact and steering campaigns.",related:["customer-journey","customer-journey-tracking","buyer-journey","funnel"]},{slug:"campaign-tracking",title:"Campaign Tracking",letter:"C",shortDescription:"Campaign Tracking erfasst, welche Kampagnen, Anzeigengruppen und Anzeigen zu Klicks, Conversions oder anderen Aktionen führen. Es nutzt meist UTM-Parameter, um Kampagnen in Analytics-Systemen identifizierbar zu machen und ist die Grundlage für jede Attribution.",shortDescriptionEn:"Campaign tracking records which campaigns, ad groups and ads lead to clicks, conversions or other actions. It usually uses UTM parameters to make campaigns identifiable in analytics systems and is the basis for any attribution.",related:["utm-parameter","tracking","google-analytics","google-tag-manager"]}
560,{slug:"click-path",title:"Click Path",letter:"C",shortDescription:"Der Click Path (Klickpfad) ist die Abfolge von Seiten, die ein Nutzer während einer Website-Besuchs aufruft. Er gibt Hinweise auf Interessen, Navigation und Kaufbereitschaft und ist eine wichtige Grundlage für Funnel-Analyse und Conversion-Optimierung.",shortDescriptionEn:"The click path is the sequence of pages a user visits during a website session. It gives clues about interests, navigation and purchase intent and is an important basis for funnel analysis and conversion optimization.",related:["klickpfad","funnel-tracking","user-journey","session"]},{slug:"consent-management",title:"Consent Management",letter:"C",shortDescription:"Consent Management verwaltet die Einwilligung von Nutzern in die Verarbeitung ihrer Daten, insbesondere für Tracking und Werbung. Es stellt sicher, dass Tracking nur nach Zustimmung erfolgt, und ist eine zentrale Anforderung der DSGVO für datenschutzkonformes Online-Marketing.",shortDescriptionEn:"Consent management manages usersâ consent to the processing of their data, especially for tracking and advertising. It ensures tracking only takes place after consent and is a central GDPR requirement for privacy-compliant online marketing.",related:["dsgvo-konformes-tracking","opt-in","google-consent-mode","first-party-tracking"]},{slug:"conversion",title:"Conversion",letter:"C",shortDescription:"Eine Conversion ist das Erreichen eines definierten Ziels, etwa ein Kauf, eine Anfrage, eine Anmeldung oder ein Download. Conversions sind der zentrale ErfolgsmaÃstab im Performance Marketing und die Basis für Attribution, Conversion Tracking und ROI-Berechnung.",shortDescriptionEn:"A conversion is the achievement of a defined goal, such as a purchase, an inquiry, a registration or a download. Conversions are the central success metric in performance marketing and the basis for attribution, conversion tracking and ROI calculation.",related:["conversion-tracking","conversion-rate","conversion-attribution","micro-conversion"]},{slug:"conversion-attribution",title:"Conversion Attribution",letter:"C",shortDescription:"Conversion Attribution ordnet eine Conversion den MarketingmaÃnahmen zu, die dazu beigetragen haben. Sie geht über den letzten Klick hinaus und berücksichtigt mehrere Kontakte entlang der Customer Journey, um den Beitrag einzelner Kanäle sichtbar zu machen.",shortDescriptionEn:"Conversion attribution assigns a conversion to the marketing measures that contributed to it. It goes beyond the last click and considers multiple touchpoints along the customer journey to make the contribution of individual channels visible.",related:["attribution","conversion","conversion-tracking","multi-touch-attribution"]},{slug:"conversion-rate",title:"Conversion Rate",letter:"C",shortDescription:"Die Conversion Rate gibt den Anteil der Besucher an, die eine definierte Aktion abschlieÃen, im Verhältnis zu allen Besuchern. Sie ist eine zentrale Kennzahl zur Bewertung von Kampagnen, Landingpages und Kanälen und beeinflusst direkt die Wirtschaftlichkeit von MarketingmaÃnahmen.",shortDescriptionEn:"The conversion rate indicates the share of visitors who complete a defined action relative to all visitors. It is a central metric for evaluating campaigns, landing pages and channels and directly affects the profitability of marketing measures.",related:["conversion","conversion-tracking","landingpage","funnel"]},{slug:"conversion-tracking",title:"Conversion Tracking",letter:"C",shortDescription:"Conversion Tracking erfasst, wann ein Nutzer ein definiertes Ziel erreicht, etwa einen Kauf oder eine Anfrage. Es verknüpft die Conversion mit vorangegangenen Marketingkontakten und ist die Grundlage für die Bewertung von Kampagnen und die Berechnung von ROAS und ROI.",shortDescriptionEn:"Conversion tracking records when a user reaches a defined goal, such as a purchase or an inquiry. It links the conversion to preceding marketing contacts and is the basis for evaluating campaigns and calculating ROAS and ROI.",related:["attribution","conversion","tracking","conversion-rate","google-ads","pixel-tracking"]},{slug:"cookie-tracking",title:"Cookie Tracking",letter:"C",shortDe
560scription:"Cookie Tracking nutzt kleine Textdateien im Browser, um Nutzer über mehrere Besuche hinweg zu erkennen und Verhalten zu erfassen. Es ist die traditionelle Basis für Tracking und Attribution, unterliegt jedoch zunehmend datenschutzrechtlichen Einschränkungen und technischen Begrenzungen.",shortDescriptionEn:"Cookie tracking uses small text files in the browser to recognize users across multiple visits and record behavior. It is the traditional basis for tracking and attribution, but is increasingly subject to privacy restrictions and technical limitations.",related:["tracking","first-party-tracking","server-side-tracking","consent-management","dsgvo-konformes-tracking"]},{slug:"cost-per-acquisition",title:"Cost per Acquisition",letter:"C",shortDescription:"Cost per Acquisition (CPA) gibt die Kosten an, die durchschnittlich entstehen, um einen neuen Kunden oder Abschluss zu gewinnen. CPA ist eine zentrale Kennzahl im Performance Marketing und hilft zu beurteilen, ob Kanäle und Kampagnen wirtschaftlich arbeiten.",shortDescriptionEn:"Cost per acquisition (CPA) indicates the costs incurred on average to win a new customer or conversion. CPA is a central metric in performance marketing and helps assess whether channels and campaigns are profitable.",related:["cost-per-lead","cost-per-click","cost-per-sale","roas","performance-marketing"]},{slug:"cost-per-click",title:"Cost per Click",letter:"C",shortDescription:"Cost per Click (CPC) gibt an, wie viel ein Werbetreibender im Durchschnitt pro Klick auf seine Anzeige zahlt. CPC ist das Standardabrechnungsmodell bei Google Ads und anderen Auktionsplattformen und beeinflusst direkt die Kosten von Such- und Display-Kampagnen.",shortDescriptionEn:"Cost per click (CPC) indicates how much an advertiser pays on average per click on their ad. CPC is the standard billing model at Google Ads and other auction platforms and directly affects the cost of search and display campaigns.",related:["cost-per-lead","cost-per-acquisition","sea","google-ads","paid-search"]},{slug:"cost-per-lead",title:"Cost per Lead",letter:"C",shortDescription:"Cost per Lead (CPL) gibt die durchschnittlichen Kosten an, um einen Lead zu generieren. CPL ist eine zentrale Kennzahl für Leadgenerierung und B2B-Marketing und hilft zu beurteilen, welche Kanäle und Kampagnen effizient neue Kontakte liefern.",shortDescriptionEn:"Cost per lead (CPL) indicates the average cost to generate a lead. CPL is a central metric for lead generation and B2B marketing and helps assess which channels and campaigns efficiently deliver new contacts.",related:["lead","leadgenerierung","cost-per-acquisition","cost-per-click","performance-marketing"]},{slug:"cost-per-sale",title:"Cost per Sale",letter:"C",shortDescription:"Cost per Sale (CPS) gibt die durchschnittlichen Kosten an, die entstehen, um einen Verkauf zu erzielen. CPS ist besonders im E-Commerce und Affiliate Marketing relevant und hilft zu beurteilen, ob Kampagnen rentabel arbeiten.",shortDescriptionEn:"Cost per sale (CPS) indicates the average cost incurred to achieve a sale. CPS is particularly relevant in e-commerce and affiliate marketing and helps assess whether campaigns are profitable.",related:["cost-per-lead","cost-per-acquisition","roas","affiliate-marketing","e-commerce-tracking"]},{slug:"cross-device-tracking",title:"Cross Device Tracking",letter:"C",shortDescription:"Cross Device Tracking verfolgt Nutzer über mehrere Geräte hinweg, etwa Smartphone, Tablet und Desktop. Es ermöglicht, Customer Journeys zu rekonstruieren, die über Gerätegrenzen gehen, und ist wichtig für eine vollständige Attribution und kanalübergreifende Bewertung.",shortDescriptionEn:"Cross device tracking follows users across multiple devices, such as smartphone, tablet and desktop. It makes it possible to reconstruct customer journeys that cross device boundaries and is important for complete attribution and cross-channel evaluation.",related:["customer-journey-tracking","user-journey","first-party-tracking","server-side-tracking","conversion-tracking","tracking"]},{slug:"customer-journey",title:"Customer Journey",letter:"C",shortDe
560scription:"Die Customer Journey beschreibt den gesamten Weg eines Nutzers vom ersten Kontakt mit einer Marke bis zum Kauf und darüber hinaus. Sie umfasst alle Touchpoints über verschiedene Kanäle und Geräte und ist die Grundlage für Attribution und Marketingbudget-Steuerung.",shortDescriptionEn:"The customer journey describes the entire path of a user from first contact with a brand through to purchase and beyond. It includes all touchpoints across channels and devices and is the basis for attribution and marketing budget control.",related:["customer-journey-tracking","customer-journey-analyse","customer-journey-mapping","buyer-journey","touchpoint"]},{slug:"customer-journey-analyse",title:"Customer Journey Analyse",letter:"C",shortDescription:"Die Customer Journey Analyse untersucht die Pfade, die Nutzer bis zu einer Conversion nehmen. Sie identifiziert typische Kontaktfolgen, Engpässe und einflussreiche Kanäle und liefert Erkenntnisse für Kampagnenoptimierung, Budgetverteilung und Attribution.",shortDescriptionEn:"Customer journey analysis examines the paths users take to a conversion. It identifies typical touchpoint sequences, bottlenecks and influential channels and provides insights for campaign optimization, budget allocation and attribution.",related:["customer-journey","customer-journey-tracking","attribution","multi-touch-attribution","dashboard"]},{slug:"customer-journey-mapping",title:"Customer Journey Mapping",letter:"C",shortDescription:"Customer Journey Mapping ist die visuelle Darstellung der Kontaktpunkte eines Kunden mit einem Unternehmen. Es hilft, den Nutzerweg zu verstehen, Lücken zu erkennen und MarketingmaÃnahmen an den jeweiligen Phasen der Journey auszurichten.",shortDescriptionEn:"Customer journey mapping is the visual representation of a customerâs touchpoints with a company. It helps understand the userâs path, identify gaps and align marketing measures with the respective phases of the journey.",related:["customer-journey","customer-journey-analyse","touchpoint","funnel"]},{slug:"customer-journey-tracking",title:"Customer Journey Tracking",letter:"C",shortDescription:"Customer Journey Tracking erfasst die gesamte Kontaktfolge eines Nutzers von der ersten Werbung bis zur Conversion. Es macht sichtbar, welche Kanäle wann und in welcher Reihenfolge wirkten, und ist die Grundlage für Multi-Touch Attribution und kanalübergreifende Budgetsteuerung.",shortDescriptionEn:"Customer journey tracking records a userâs entire touchpoint sequence from first ad to conversion. It shows which channels worked when and in what order and is the basis for multi-touch attribution and cross-channel budget control.",related:["attribution","multi-touch-attribution","cross-device-tracking","conversion-tracking","customer-journey","touchpoint","tracking","first-party-tracking"]},{slug:"dashboard",title:"Dashboard",letter:"D",shortDescription:"Ein Dashboard ist eine visuelle Oberfläche, die zentrale Kennzahlen und Daten übersichtlich darstellt. Im Online-Marketing zeigt es Performance, Conversions, Kanalbeiträge und Trends auf einen Blick und unterstützt datengetriebene Entscheidungen.",shortDescriptionEn:"A dashboard is a visual interface that clearly presents key metrics and data. In online marketing it shows performance, conversions, channel contributions and trends at a glance and supports data-driven decisions.",related:["kpi","campaign-tracking","executive-summary","google-analytics"]},{slug:"data-layer",title:"Data Layer",letter:"D",shortDescription:"Ein Data Layer ist eine strukturierte Datenebene auf einer Website, die Informationen über Nutzeraktionen an Tag-Management-Systeme und Analytics-Tools übergibt. Er ermöglicht sauberes, flexibles Tracking ohne direkten Codeeingriff und ist Standard im modernen Conversion Tracking.",shortDescriptionEn:"A data layer is a structured data layer on a website that passes information about user actions to tag management systems and analytics tools. It enables clean, flexible tracking without direct code changes and is standard in modern conversion tracking.",related:["google-tag-manager","event-tracking","tracking","conversion-tracking"]},{slug:"datengetriebene-attribution",title:"Datengetriebene Attribution",letter:"D",shortDe
560scription:"Datengetriebene Attribution nutzt maschinelles Lernen, um den Beitrag einzelner Kontakte zu einer Conversion auf Basis historischer Daten zu berechnen. Sie geht über starre Regelmodelle hinaus und passt sich an tatsächliche Muster in den Daten an.",shortDescriptionEn:"Data-driven attribution uses machine learning to calculate the contribution of individual touchpoints to a conversion based on historical data. It goes beyond rigid rule-based models and adapts to actual patterns in the data.",related:["attribution","attributionsmodell","rule-based-attribution","multi-touch-attribution"]},{slug:"direct-traffic",title:"Direct Traffic",letter:"D",shortDescription:"Direct Traffic umfasst Besuche, bei denen keine erkennbare verweisende Quelle vorhanden ist, etwa bei direkter URL-Eingabe oder Lesezeichen. Im Attribution-Kontext ist Direct Traffic oft schwer zu bewerten, da der ursprüngliche Ausgangskanal unbekannt bleibt.",shortDescriptionEn:"Direct traffic includes visits where no identifiable referring source exists, such as direct URL entry or bookmarks. In an attribution context, direct traffic is often hard to evaluate because the original source channel remains unknown.",related:["traffic-source","referral-traffic","organic-traffic","attribution"]},{slug:"display-advertising",title:"Display Advertising",letter:"D",shortDescription:"Display Advertising umfasst grafische Online-Werbung wie Banner, Videos und native Ads auf Websites und Apps. Es dient vor allem Reichweite, Branding und Retargeting und wird über Impressionen oder Klicks abgerechnet.",shortDescriptionEn:"Display advertising includes graphical online advertising such as banners, videos and native ads on websites and apps. It mainly serves reach, branding and retargeting and is billed by impressions or clicks.",related:["bannerwerbung","ad-impression","retargeting","view-through-conversion"]},{slug:"double-counting",title:"Double Counting",letter:"D",shortDescription:"Double Counting entsteht, wenn derselbe Erfolg von mehreren Systemen oder Kanälen gezählt wird, etwa wenn Google, Meta und Affiliate jeweils denselben Verkauf beanspruchen. Es führt zu verzerrten Reports und ist ein zentrales Problem, das Attribution lösen soll.",shortDescriptionEn:"Double counting occurs when the same success is counted by multiple systems or channels, for example when Google, Meta and affiliate each claim the same sale. It leads to distorted reports and is a central problem that attribution solves.",related:["attribution","conversion-tracking","assisted-conversion","last-click-attribution"]},{slug:"dsgvo-konformes-tracking",title:"DSGVO-konformes Tracking",letter:"D",shortDescription:"DSGVO-konformes Tracking stellt sicher, dass die Datenerhebung im Einklang mit der Datenschutz-Grundverordnung steht. Es erfordert Einwilligung, Datenminimierung und transparente Informationen. First-Party-Tracking und Server-Side-Tracking sind gängige MaÃnahmen zur Umsetzung.",shortDescriptionEn:"GDPR-compliant tracking ensures data collection complies with the General Data Protection Regulation. It requires consent, data minimization and transparent information. First-party tracking and server-side tracking are common measures for implementation.",related:["consent-management","first-party-tracking","server-side-tracking","cookie-tracking","google-consent-mode"]},{slug:"e-commerce-tracking",title:"E-Commerce Tracking",letter:"E",shortDe
560scription:"E-Commerce Tracking erfasst Transaktionen, Bestellwerte, Produkte und Kaufpfade in Online-Shops. Es verknüpft Verkäufe mit Marketingkontakten und ist die Grundlage für ROAS, ROI und die Attribution von Kampagnen im E-Commerce.",shortDescriptionEn:"E-commerce tracking records transactions, order values, products and purchase paths in online shops. It links sales to marketing contacts and is the basis for ROAS, ROI and the attribution of campaigns in e-commerce.",related:["conversion-tracking","tracking","roas","average-order-value","warenkorbwert"]},{slug:"engagement",title:"Engagement",letter:"E",shortDescription:"Engagement misst, wie intensiv Nutzer mit Inhalten oder einer Website interagieren, etwa durch Klicks, Scrollen, Verweildauer oder Videostarts. Es ist ein Frühindikator für Kaufbereitschaft und hilft, die Qualität von Traffic und Kampagnen zu bewerten.",shortDescriptionEn:"Engagement measures how intensely users interact with content or a website, such as through clicks, scrolling, dwell time or video starts. It is an early indicator of purchase intent and helps evaluate the quality of traffic and campaigns.",related:["bounce-rate","verweildauer","event-tracking","session"]},{slug:"event-tracking",title:"Event Tracking",letter:"E",shortDe
560scription:"Event Tracking erfasst spezifische Nutzeraktionen wie Klicks, Formularausfüllungen oder Videowiedergaben. Es geht über Seitenaufrufe hinaus und liefert detaillierte Einblicke in das Nutzerverhalten, die für Conversion-Optimierung und Funnel-Analyse wichtig sind.",shortDescriptionEn:"Event tracking records specific user actions such as clicks, form completions or video plays. It goes beyond page views and provides detailed insights into user behavior that are important for conversion optimization and funnel analysis.",related:["conversion-tracking","google-tag-manager","data-layer","tracking"]},{slug:"executive-summary",title:"Executive Summary",letter:"E",shortDescription:"Eine Executive Summary fasst die wichtigsten Erkenntnisse aus Daten und Reports in komprimierter Form zusammen. Sie richtet sich an Entscheidungsträger und stellt Kernkennzahlen, Trends und Handlungsempfehlungen auf einen Blick dar.",shortDescriptionEn:"An executive summary condenses the most important insights from data and reports. It is aimed at decision-makers and presents key metrics, trends and recommendations at a glance.",related:["dashboard","kpi","kampagnenanalyse","performance-marketing"]},{slug:"e-mail-marketing",title:"E-Mail Marketing",letter:"E",shortDe
560scription:"E-Mail Marketing umfasst die gezielte Ansprache von Nutzern per E-Mail, etwa durch Newsletter, Automatisierung oder Trigger-Mails. Es ist ein kostenbarer Kanal für Kundenbindung und Wiederbesuche und spielt in vielen Customer Journeys eine vorbereitende Rolle.",shortDescriptionEn:"Email marketing includes targeted outreach to users via email, such as newsletters, automation or trigger emails. It is a cost-effective channel for customer retention and return visits and plays a preparatory role in many customer journeys.",related:["newsletter-tracking","marketing-automation","retargeting","conversion-tracking"]},{slug:"erstkontakt",title:"Erstkontakt",letter:"E",shortDescription:"Der Erstkontakt ist der erste Berührungspunkt eines Nutzers mit einem Unternehmen oder einer Marke. Im Attribution-Kontext ist er besonders wichtig, da First-Click-Modelle ihm den vollen oder einen groÃen Teil des Erfolgs zuschreiben.",shortDescriptionEn:"The first contact is a userâs first touchpoint with a company or brand. In an attribution context it is particularly important because first-click models credit it with all or a large share of the success.",related:["first-click-attribution","customer-journey","touchpoint","attribution"]},{slug:"enhanced-conversions",title:"Enhanced Conversions",letter:"E",shortDe
560scription:"Enhanced Conversions sind eine Funktion von Google Ads, die Conversion-Daten durch gehashte Nutzerdaten anreichert, um Tracking auch ohne Cookies zu verbessern. Sie helfen, Conversion-Erfassung datenschutzkonform robuster zu machen.",shortDescriptionEn:"Enhanced Conversions is a Google Ads feature that enriches conversion data with hashed user data to improve tracking even without cookies. They help make conversion capture more robust in a privacy-compliant way.",related:["conversion-tracking","google-ads","server-side-tracking","first-party-tracking"]},{slug:"first-click-attribution",title:"First Click Attribution",letter:"F",shortDescription:"First Click Attribution schreibt den gesamten Erfolg einer Conversion dem ersten Marketingkontakt zu. Es bewertet Kanäle, die neue Nutzer ins System bringen, kann aber spätere Kontakte unterschätzen, die zum Abschluss geführt haben.",shortDescriptionEn:"First click attribution credits the entire success of a conversion to the first marketing touchpoint. It values channels that bring new users into the system but can underestimate later touchpoints that led to the conversion.",related:["attribution","last-click-attribution","multi-touch-attribution","attributionsmodell","erstkontakt"]},{slug:"first-party-tracking",title:"First-Party-Tracking",letter:"F",shortDescription:"First-Party-Tracking erfasst Nutzerdaten durch das Unternehmen selbst, statt auf Drittanbieter-Cookies zurückzugreifen. Es ist datenschutzfreundlicher, robuster gegenüber Browser-Einschränkungen und eine Grundlage für zuverlässige Attribution und Customer Journey Tracking.",shortDescriptionEn:"First-party tracking collects user data through the company itself rather than relying on third-party cookies. It is more privacy-friendly, more robust against browser restrictions and a basis for reliable attribution and customer journey tracking.",related:["server-side-tracking","cookie-tracking","dsgvo-konformes-tracking","tracking","conversion-tracking","cross-device-tracking"]},{slug:"frequency",title:"Frequency",letter:"F",shortDescription:"Frequency gibt an, wie oft ein Nutzer eine Werbeanzeige innerhalb eines Zeitraums sieht. Sie ist wichtig für Reichweitensteuerung und die Vermeidung von Werbemüdigkeit. Eine zu hohe Frequency kann Kosten erhöhen, ohne zusätzliche Wirkung zu erzielen.",shortDescriptionEn:"Frequency indicates how often a user sees an ad within a period. It is important for reach control and avoiding ad fatigue. Too high a frequency can increase costs without additional effect.",related:["ad-impression","retargeting","display-advertising","social-ads"]},{slug:"funnel",title:"Funnel",letter:"F",shortDescription:"Ein Funnel beschreibt den schrittweisen Prozess vom ersten Kontakt bis zur Conversion. Er visualisiert, in welcher Phase Nutzer abbrechen und wo Optimierung ansetzen muss. Funnel-Analyse ist Grundlage für Conversion-Optimierung und Budgetsteuerung.",shortDescriptionEn:"A funnel describes the step-by-step process from first contact to conversion. It visualizes in which phase users drop off and where optimization must start. Funnel analysis is the basis for conversion optimization and budget control.",related:["funnel-tracking","conversion-rate","customer-journey","landingpage"]},{slug:"funnel-tracking",title:"Funnel Tracking",letter:"F",shortDescription:"Funnel Tracking erfasst, wie Nutzer sich durch die verschiedenen Stufen eines Funnels bewegen, etwa vom ersten Besuch bis zum Kauf. Es macht sichtbar, wo Nutzer abbrechen und liefert Ansatzpunkte für Conversion-Optimierung und UX-Verbesserungen.",shortDescriptionEn:"Funnel tracking records how users move through the various stages of a funnel, from first visit to purchase. It shows where users drop off and provides starting points for conversion optimization and UX improvements.",related:["funnel","conversion-tracking","click-path","event-tracking"]},{slug:"formulartracking",title:"Formulartracking",letter:"F",shortDescription:"Formulartracking erfasst, wie Nutzer mit Formularen interagieren, etwa welche Felder ausgefüllt oder abgebrochen werden. Es hilft, Hürden im Lead-Prozess zu erkennen und die Conversion Rate von Formularen zu verbessern.",shortDe
560scriptionEn:"Form tracking records how users interact with forms, such as which fields are filled in or abandoned. It helps identify hurdles in the lead process and improve a formâs conversion rate.",related:["conversion-tracking","event-tracking","lead-tracking","funnel-tracking"]},{slug:"generic-keywords",title:"Generic Keywords",letter:"G",shortDescription:"Generic Keywords sind Suchbegriffe, die keinen Markennamen enthalten, sondern allgemeine Begriffe wie Produkte oder Dienstleistungen. Sie haben oft höhere Kosten und niedrigere Conversion Rates als Brand Keywords, erreichen aber neue Zielgruppen.",shortDescriptionEn:"Generic keywords are search terms that contain no brand name but general terms such as products or services. They often have higher costs and lower conversion rates than brand keywords but reach new audiences.",related:["brand-keywords","non-brand-keyword","keyword","sea"]},{slug:"google-ads",title:"Google Ads",letter:"G",shortDescription:"Google Ads ist das Werbeplatform von Google für Such-, Display-, Video- und Shopping-Anzeigen. Es ist einer der wichtigsten Kanäle im Online-Marketing und liefert Daten für Attribution, Conversion Tracking und Kampagnenanalyse.",shortDescriptionEn:"Google Ads is Googleâs advertising platform for search, display, video and shopping ads. It is one of the most important channels in online marketing and provides data for attribution, conversion tracking and campaign analysis.",related:["sea","paid-search","conversion-tracking","enhanced-conversions","bid-management"]},{slug:"google-analytics",title:"Google Analytics",letter:"G",shortDescription:"Google Analytics ist ein Webanalyse-Tool, das Traffic, Nutzerverhalten und Conversions erfasst. Es ist eine der wichtigsten Datenquellen für Online-Marketing und liefert Grundlagen für Attribution, Audience-Bildung und Conversion-Optimierung.",shortDescriptionEn:"Google Analytics is a web analytics tool that records traffic, user behavior and conversions. It is one of the most important data sources for online marketing and provides the basis for attribution, audience building and conversion optimization.",related:["tracking","conversion-tracking","dashboard","campaign-tracking","google-tag-manager"]},{slug:"google-tag-manager",title:"Google Tag Manager",letter:"G",shortDescription:"Der Google Tag Manager verwaltet Tracking-Tags und Pixels zentral, ohne Codeänderungen auf der Website. Er ermöglicht flexibles Event Tracking, Conversion Tracking und die Integration verschiedener Tools über eine Data Layer.",shortDescriptionEn:"Google Tag Manager centrally manages tracking tags and pixels without code changes on the website. It enables flexible event tracking, conversion tracking and the integration of various tools via a data layer.",related:["data-layer","event-tracking","tracking","google-analytics","tag-management"]},{slug:"goal-tracking",title:"Goal Tracking",letter:"G",shortDescription:"Goal Tracking erfasst das Erreichen definierter Ziele, etwa Formularabschlüsse, Downloads oder Seitenbesuche. Es ist grundlegend für die Erfolgsmessung von Kampagnen und die Berechnung von Conversion Rates und ROI.",shortDescriptionEn:"Goal tracking records the achievement of defined goals, such as form completions, downloads or page visits. It is fundamental for measuring campaign success and calculating conversion rates and ROI.",related:["conversion-tracking","conversion","kpi","event-tracking"]},{slug:"google-consent-mode",title:"Google Consent Mode",letter:"G",shortDescription:"Google Consent Mode passt das Verhalten von Google-Tags an die Einwilligung der Nutzer an. Es ermöglicht datenschutzkonformes Tracking, modelliert fehlende Daten und ist eine Voraussetzung für DSGVO-konformes Tracking mit Google-Tools.",shortDescriptionEn:"Google Consent Mode adapts the behavior of Google tags to user consent. It enables privacy-compliant tracking, models missing data and is a prerequisite for GDPR-compliant tracking with Google tools.",related:["consent-management","dsgvo-konformes-tracking","first-party-tracking","google-ads"]}
560,{slug:"heatmap",title:"Heatmap",letter:"H",shortDescription:"Eine Heatmap visualisiert, wo Nutzer klicken, scrollen oder verweilen. Sie hilft, Engpässe und Stärken im Seitenlayout zu erkennen und ist ein wertvolles Werkzeug für Conversion-Optimierung und UX-Verbesserungen.",shortDescriptionEn:"A heatmap visualizes where users click, scroll or linger. It helps identify bottlenecks and strengths in the page layout and is a valuable tool for conversion optimization and UX improvements.",related:["engagement","conversion-rate","onsite-tracking","funnel"]},{slug:"high-intent-keyword",title:"High Intent Keyword",letter:"H",shortDescription:'High Intent Keywords sind Suchbegriffe, die eine starke Kauf- oder Handlungsabsicht signalisieren, etwa âkaufen" oder âbuchen". Sie haben meist höhere Conversion Rates und Kosten und sind besonders wertvoll im Performance Marketing.',shortDescriptionEn:"High intent keywords are search terms that signal strong purchase or action intent, such as âbuyâ or âbookâ. They usually have higher conversion rates and costs and are particularly valuable in performance marketing.",related:["keyword","intent","generic-keywords","sea"]},{slug:"hybrid-attribution",title:"Hybrid Attribution",letter:"H",shortDescription:"Hybrid Attribution kombiniert verschiedene Attributionsansätze, etwa regelbasierte und datengetriebene Modelle. Sie zielt darauf ab, die Schwächen einzelner Modelle auszugleichen und eine ausgewogenere Bewertung von Kanälen zu erreichen.",shortDescriptionEn:"Hybrid attribution combines different attribution approaches, such as rule-based and data-driven models. It aims to balance the weaknesses of individual models and achieve a more balanced evaluation of channels.",related:["attribution","attributionsmodell","rule-based-attribution","datengetriebene-attribution"]},{slug:"header-tag",title:"Header Tag",letter:"H",shortDescription:"Ein Header Tag ist ein Code-Snippet im Kopfbereich einer Website, das Tracking- oder Marketing-Tools einbindet. Er ist Teil der technischen Tracking-Infrastruktur und muss im Hinblick auf Performance und Datenschutz korrekt konfiguriert sein.",shortDescriptionEn:"A header tag is a code snippet in a websiteâs head section that integrates tracking or marketing tools. It is part of the technical tracking infrastructure and must be configured correctly with regard to performance and privacy.",related:["tracking","google-tag-manager","tag-management","pixel-tracking"]},{slug:"holdout-test",title:"Holdout Test",letter:"H",shortDescription:"Ein Holdout Test vergleicht eine Gruppe, die Werbung sieht, mit einer Kontrollgruppe ohne Werbung. Er misst die tatsächliche Incrementality einer Kampagne und hilft zu beurteilen, ob WerbemaÃnahmen wirklich zusätzlichen Erfolg bringen.",shortDescriptionEn:"A holdout test compares a group that sees ads with a control group without ads. It measures a campaignâs actual incrementality and helps assess whether advertising measures really bring additional success.",related:["incrementality","performance-marketing","attribution","benchmarking"]},{slug:"impression",title:"Impression",letter:"I",shortDescription:"Eine Impression entsteht, wenn eine Werbeanzeige oder Website einem Nutzer angezeigt wird. Sie ist eine Basis-Kennzahl für Reichweite und Frequenz und Grundlage für Klickraten und View-Through-Conversions.",shortDescriptionEn:"An impression occurs when an ad or website is displayed to a user. It is a basic metric for reach and frequency and the basis for click rates and view-through conversions.",related:["ad-impression","impression-tracking","ad-click","frequency"]},{slug:"impression-tracking",title:"Impression Tracking",letter:"I",shortDescription:"Impression Tracking erfasst, wie oft und wo Werbeanzeigen ausgespielt werden. Es liefert Daten für Reichweitenanalyse, Frequenzsteuerung und View-Through-Attribution und ist wichtig für Display- und Social-Kampagnen.",shortDescriptionEn:"Impression tracking records how often and where ads are displayed. It provides data for reach analysis, frequency control and view-through attribution and is important for display and social campaigns.",related:["impression","ad-impression","view-through-conversion","display-advertising"]},{slug:"incrementality",title:"Incrementality",letter:"I",shortDe
560scription:"Incrementality misst, welchen zusätzlichen Erfolg eine MarketingmaÃnahme über das hinaus bringt, was ohnehin passiert wäre. Sie hilft zu beurteilen, ob Werbung wirklich Ursache für Conversions ist oder ob Conversions auch ohne sie entstanden wären.",shortDescriptionEn:"Incrementality measures the additional success a marketing measure brings beyond what would have happened anyway. It helps assess whether advertising is really the cause of conversions or whether conversions would have occurred without it.",related:["holdout-test","attribution","performance-marketing","roi"]},{slug:"intent",title:"Intent",letter:"I",shortDescription:"Intent beschreibt die Absicht eines Nutzers, etwa zu kaufen, sich zu informieren oder zu vergleichen. Die Erkennung von Intent ist wichtig für die Auswahl von Keywords, Targeting und die Bewertung von Traffic-Qualität.",shortDescriptionEn:"Intent describes a userâs intention, such as to buy, inform themselves or compare. Recognizing intent is important for selecting keywords, targeting and evaluating traffic quality.",related:["high-intent-keyword","keyword","audience","conversion-rate"]},{slug:"integration",title:"Integration",letter:"I",shortDescription:"Integration bezeichnet die Verbindung verschiedener Systeme und Datenquellen, etwa Werbung, CRM und Analytics. Sie ist Voraussetzung für eine einheitliche Datengrundlage und kanalübergreifende Attribution.",shortDescriptionEn:"Integration describes the connection of different systems and data sources, such as advertising, CRM and analytics. It is a prerequisite for a unified data basis and cross-channel attribution.",related:["tracking","google-tag-manager","data-layer","dashboard"]},{slug:"javascript-tracking",title:"JavaScript Tracking",letter:"J",shortDescription:"JavaScript Tracking nutzt clientseitige Skripte, um Nutzeraktionen auf einer Website zu erfassen. Es ist die gängigste Methode für Webanalyse und Event Tracking, unterliegt aber Einschränkungen durch Browser-Einstellungen und Ad-Blocker.",shortDescriptionEn:"JavaScript tracking uses client-side scripts to record user actions on a website. It is the most common method for web analytics and event tracking but is subject to restrictions from browser settings and ad blockers.",related:["tracking","pixel-tracking","google-analytics","event-tracking"]},{slug:"journey",title:"Journey",letter:"J",shortDescription:"Journey ist der englische Begriff für den Nutzerweg vom ersten Kontakt bis zur Conversion. Sie umfasst alle Touchpoints über Kanäle und Geräte hinweg und ist die Grundlage für Attribution und Customer Journey Tracking.",shortDescriptionEn:"Journey is the term for the userâs path from first contact to conversion. It includes all touchpoints across channels and devices and is the basis for attribution and customer journey tracking.",related:["customer-journey","customer-journey-tracking","touchpoint","user-journey"]},{slug:"journey-length",title:"Journey Length",letter:"J",shortDescription:"Journey Length beschreibt die Anzahl der Kontakte oder die Zeitspanne vom ersten bis zum letzten Kontakt vor einer Conversion. Sie gibt Hinweise auf die Komplexität des Kaufprozesses und die Bedeutung einzelner Kanäle.",shortDescriptionEn:"Journey length describes the number of touchpoints or the time span from first to last contact before a conversion. It gives clues about the complexity of the purchase process and the importance of individual channels.",related:["customer-journey","touchpoint","lookback-window","attribution"]},{slug:"journey-mapping",title:"Journey Mapping",letter:"J",shortDescription:"Journey Mapping ist die visuelle Darstellung typischer Nutzerpfade durch den Marketing-Funnel. Es hilft, Touchpoints zu verstehen, Lücken zu erkennen und MaÃnahmen entlang der Customer Journey zu optimieren.",shortDescriptionEn:"Journey mapping is the visual representation of typical user paths through the marketing funnel. It helps understand touchpoints, identify gaps and optimize measures along the customer journey.",related:["customer-journey-mapping","customer-journey","funnel","touchpoint"]}
560,{slug:"journey-stage",title:"Journey Stage",letter:"J",shortDescription:"Eine Journey Stage ist eine Phase innerhalb der Customer Journey, etwa Awareness, Consideration oder Decision. Die Zuordnung von Kontakten zu Phasen hilft, die Wirkung von MaÃnahmen in unterschiedlichen Kaufphasen zu bewerten.",shortDescriptionEn:"A journey stage is a phase within the customer journey, such as awareness, consideration or decision. Assigning touchpoints to phases helps evaluate the impact of measures in different purchase phases.",related:["customer-journey","funnel","buyer-journey","touchpoint"]},{slug:"kampagnenanalyse",title:"Kampagnenanalyse",letter:"K",shortDescription:"Kampagnenanalyse untersucht die Leistung von Marketingkampagnen anhand von Klicks, Conversions, Kosten und ROI. Sie hilft zu erkennen, welche Kampagnen funktionieren, wo Budget wirkt und wo Anpassungen nötig sind.",shortDescriptionEn:"Campaign analysis examines the performance of marketing campaigns based on clicks, conversions, costs and ROI. It helps identify which campaigns work, where budget has an effect and where adjustments are needed.",related:["campaign-tracking","performance-marketing","attribution","roi","kpi"]},{slug:"kanalbewertung",title:"Kanalbewertung",letter:"K",shortDescription:"Kanalbewertung vergleicht die Leistung verschiedener Marketingkanäle anhand von Kosten, Conversions und Beitrag zum Erfolg. Sie ist Grundlage für Budget Allocation und hilft, Kanäle nach tatsächlicher Wirkung statt nach Einzel-Reports zu bewerten.",shortDescriptionEn:"Channel evaluation compares the performance of different marketing channels based on cost, conversions and contribution to success. It is the basis for budget allocation and helps evaluate channels by actual impact rather than individual reports.",related:["attribution","budget-allocation","roas","marketingbudget"]},{slug:"keyword",title:"Keyword",letter:"K",shortDescription:"Ein Keyword ist ein Suchbegriff, auf den Werbung oder Inhalte ausgerichtet werden. Keywords bestimmen, bei welchen Suchanfragen Anzeigen erscheinen, und sind zentral für SEA, SEO und die Bewertung von Suchkampagnen.",shortDescriptionEn:"A keyword is a search term on which ads or content are targeted. Keywords determine which search queries trigger ads and are central to SEA, SEO and the evaluation of search campaigns.",related:["sea","seo","generic-keywords","brand-keywords","high-intent-keyword"]},{slug:"klickpfad",title:"Klickpfad",letter:"K",shortDescription:"Der Klickpfad ist die Abfolge von Klicks und Seitenaufrufen eines Nutzers während eines Besuchs. Er gibt Aufschluss über Interessen und Navigation und ist Grundlage für Funnel-Analyse und Conversion-Optimierung.",shortDescriptionEn:"The click path is the sequence of a userâs clicks and page views during a visit. It provides information about interests and navigation and is the basis for funnel analysis and conversion optimization.",related:["click-path","funnel-tracking","user-journey","session"]},{slug:"kpi",title:"KPI",letter:"K",shortDescription:"KPI (Key Performance Indicator) ist eine Kennzahl, die den Erfolg einer MaÃnahme oder eines Kanals misst. Typische KPIs im Online-Marketing sind Conversion Rate, ROAS, CPL und CPA. KPIs sind Grundlage für Steuerung und Budgetentscheidungen.",shortDescriptionEn:"A KPI (key performance indicator) is a metric that measures the success of a measure or channel. Typical KPIs in online marketing are conversion rate, ROAS, CPL and CPA. KPIs are the basis for steering and budget decisions.",related:["performance-marketing","roas","roi","conversion-rate","dashboard"]},{slug:"kostenimport",title:"Kostenimport",letter:"K",shortDescription:"Kostenimport ist die Ãbertragung von Werbekosten aus verschiedenen Plattformen in ein zentrales Analytics- oder Attributionssystem. Er ist Voraussetzung für die Berechnung von ROAS, ROI und kanalübergreifender Wirtschaftlichkeit.",shortDescriptionEn:"Cost import is the transfer of ad costs from various platforms into a central analytics or attribution system. It is a prerequisite for calculating ROAS, ROI and cross-channel profitability.",related:["roas","roi","google-analytics","attribution"]},{slug:"kundengewinnung",title:"Kundengewinnung",letter:"K",shortDe
560scription:"Kundengewinnung umfasst alle MaÃnahmen, um neue Kunden zu gewinnen, von Werbung über Leadgenerierung bis zum Verkauf. Sie ist ein zentrales Ziel im Online-Marketing und steht in direktem Zusammenhang mit Attribution und Budgetsteuerung.",shortDescriptionEn:"Customer acquisition includes all measures to win new customers, from advertising and lead generation to sale. It is a central goal in online marketing and is directly linked to attribution and budget control.",related:["leadgenerierung","neukundengewinnung","conversion","performance-marketing"]},{slug:"landingpage",title:"Landingpage",letter:"L",shortDescription:"Eine Landingpage ist die Seite, auf der ein Nutzer nach einem Klick auf eine Anzeige landet. Sie ist entscheidend für die Conversion Rate und sollte in Inhalt, Design und Ladezeit optimal auf die Kampagne abgestimmt sein.",shortDescriptionEn:"A landing page is the page a user reaches after clicking an ad. It is crucial for the conversion rate and should be optimally matched to the campaign in content, design and loading time.",related:["conversion-rate","bounce-rate","funnel","ad-click"]},{slug:"last-click-attribution",title:"Last Click Attribution",letter:"L",shortDe
560scription:"Last Click Attribution schreibt den gesamten Erfolg einer Conversion dem letzten Marketingkontakt zu. Es ist das einfachste und am weitesten verbreitete Modell, unterschätzt aber vorbereitende Kanäle und kann zu verzerrter Budgetverteilung führen.",shortDescriptionEn:"Last click attribution credits the entire success of a conversion to the last marketing touchpoint. It is the simplest and most widespread model but underestimates preparatory channels and can lead to distorted budget allocation.",related:["attribution","first-click-attribution","multi-touch-attribution","attributionsmodell","conversion-attribution"]},{slug:"lead",title:"Lead",letter:"L",shortDescription:"Ein Lead ist ein potenzieller Kunde, der Kontakt aufgenommen oder seine Daten hinterlassen hat. Leads sind das Ziel vieler B2B-Kampagnen und stehen im Zentrum von Leadgenerierung, Lead Tracking und Cost-per-Lead-Berechnungen.",shortDescriptionEn:"A lead is a potential customer who has made contact or left their data. Leads are the goal of many B2B campaigns and are at the center of lead generation, lead tracking and cost-per-lead calculations.",related:["leadgenerierung","lead-tracking","cost-per-lead","qualified-lead","conversion"]},{slug:"lead-attribution",title:"Lead Attribution",letter:"L",shortDe
560scription:"Lead Attribution ordnet einen Lead den MarketingmaÃnahmen zu, die zu seiner Entstehung beigetragen haben. Sie geht über den letzten Klick hinaus und berücksichtigt die gesamte Kontaktfolge bis zur Anfrage oder Anmeldung.",shortDescriptionEn:"Lead attribution assigns a lead to the marketing measures that contributed to its creation. It goes beyond the last click and considers the entire touchpoint sequence up to the inquiry or registration.",related:["attribution","lead","leadgenerierung","conversion-attribution","multi-touch-attribution"]},{slug:"leadgenerierung",title:"Leadgenerierung",letter:"L",shortDescription:"Leadgenerierung umfasst alle MaÃnahmen, um neue Kontakte und Anfragen zu gewinnen. Sie ist besonders im B2B-Bereich zentral und wird über Suchanzeigen, Content, Social und E-Mail betrieben. Attribution hilft zu erkennen, welche MaÃnahmen wirklich Leads bringen.",shortDescriptionEn:"Lead generation includes all measures to gain new contacts and inquiries. It is particularly central in B2B and is run via search ads, content, social and email. Attribution helps identify which measures really bring leads.",related:["lead","lead-tracking","cost-per-lead","performance-marketing","conversion-tracking"]}
560,{slug:"leadqualitat",title:"Leadqualität",letter:"L",shortDescription:"Leadqualität bewertet, wie wahrscheinlich ein Lead ist, zum Kunden zu werden. Sie wird anhand von Kriterien wie UnternehmensgröÃe, Branche oder Verhalten bestimmt und ist entscheidend für die Wirtschaftlichkeit von Leadgenerierung.",shortDescriptionEn:"Lead quality assesses how likely a lead is to become a customer. It is determined by criteria such as company size, industry or behavior and is crucial for the profitability of lead generation.",related:["lead","qualified-lead","leadgenerierung","cost-per-lead"]},{slug:"lead-tracking",title:"Lead Tracking",letter:"L",shortDescription:"Lead Tracking erfasst die Entstehung und den Verlauf von Leads von der ersten Werbung bis zur Anfrage. Es verknüpft Leads mit Kampagnen und Kanälen und ist Grundlage für Lead Attribution und die Bewertung der Leadgenerierung.",shortDescriptionEn:"Lead tracking records the creation and progress of leads from first ad to inquiry. It links leads to campaigns and channels and is the basis for lead attribution and the evaluation of lead generation.",related:["lead","leadgenerierung","conversion-tracking","lead-attribution","formulartracking"]},{slug:"linear-attribution",title:"Linear Attribution",letter:"L",shortDe
560scription:"Linear Attribution verteilt den Wert einer Conversion gleichmäÃig auf alle beteiligten Marketingkontakte. Es ist ein einfaches Multi-Touch-Modell, das alle Kontakte berücksichtigt, aber keine Unterscheidung nach deren Wichtigkeit vornimmt.",shortDescriptionEn:"Linear attribution distributes the value of a conversion evenly across all marketing touchpoints involved. It is a simple multi-touch model that considers all touchpoints but makes no distinction by their importance.",related:["attribution","attributionsmodell","multi-touch-attribution","time-decay-attribution"]},{slug:"lookback-window",title:"Lookback Window",letter:"L",shortDescription:"Das Lookback Window (auch Attributionsfenster) ist der Zeitraum, in dem Kontakte vor einer Conversion berücksichtigt werden. Es bestimmt, wie weit das System zurückblickt, und beeinflusst, welche Kanäle als beteiligt erfasst werden.",shortDescriptionEn:"The lookback window (also attribution window) is the period in which contacts before a conversion are taken into account. It determines how far the system looks back and influences which channels are recorded as involved.",related:["attributionsfenster","attribution","conversion-tracking","journey-length"]},{slug:"marketing-attribution",title:"Marketing Attribution",letter:"M",shortDescription:"Marketing Attribution ist der Ãberbegriff für die Zuordnung von Marketingwirkung zu Conversions. Sie umfasst verschiedene Modelle und Ansätze und zielt darauf ab, den Beitrag einzelner Kanäle, Kampagnen und Kontakte sichtbar und steuerbar zu machen.",shortDescriptionEn:"Marketing attribution is the umbrella term for assigning marketing impact to conversions. It encompasses various models and approaches and aims to make the contribution of individual channels, campaigns and touchpoints visible and controllable.",related:["attribution","multi-touch-attribution","attributionsmodell","conversion-attribution","budget-allocation"]},{slug:"marketing-automation",title:"Marketing Automation",letter:"M",shortDescription:"Marketing Automation automatisiert wiederkehrende Marketingaufgaben wie E-Mail-Versand, Lead-Nurturing oder Kampagnen-Steuerung. Sie hilft, Nutzer gezielt durch die Customer Journey zu führen und ist eng mit Tracking und Attribution verbunden.",shortDescriptionEn:"Marketing automation automates recurring marketing tasks such as email sending, lead nurturing or campaign steering. It helps guide users through the customer journey in a targeted way and is closely linked to tracking and attribution.",related:["e-mail-marketing","leadgenerierung","customer-journey","funnel"]},{slug:"marketingbudget",title:"Marketingbudget",letter:"M",shortDescription:"Das Marketingbudget ist die Summe, die ein Unternehmen für Marketingausgaben zur Verfügung hat. Seine Verteilung sollte auf Attribution und Leistung basieren, damit Budget dorthin flieÃt, wo es die meisten Leads, Verkäufe oder den höchsten Return bringt.",shortDescriptionEn:"The marketing budget is the amount a company has available for marketing spend. Its distribution should be based on attribution and performance so that budget flows where it brings the most leads, sales or the highest return.",related:["budget-allocation","roas","roi","kanalbewertung","performance-marketing"]},{slug:"meta-ads",title:"Meta Ads",letter:"M",shortDescription:"Meta Ads sind Werbeanzeigen auf den Plattformen von Meta, also Facebook und Instagram. Sie sind ein zentraler Kanal im Online-Marketing und liefern Daten für Attribution, Conversion Tracking und Kampagnenanalyse im Social-Bereich.",shortDescriptionEn:"Meta Ads are ads on Metaâs platforms, i.e. Facebook and Instagram. They are a central channel in online marketing and provide data for attribution, conversion tracking and campaign analysis in the social space.",related:["social-ads","display-advertising","conversion-tracking","retargeting"]},{slug:"micro-conversion",title:"Micro Conversion",letter:"M",shortDescription:"Eine Micro Conversion ist eine kleinere Aktion auf dem Weg zur Haupt-Conversion, etwa ein Newsletter-Abo oder ein Download. Sie hilft, Kaufbereitschaft früh zu erkennen und den Beitrag vorbereitender MaÃnahmen in der Attribution zu bewerten.",shortDe
560scriptionEn:"A micro conversion is a smaller action on the way to the main conversion, such as a newsletter subscription or a download. It helps recognize purchase intent early and evaluate the contribution of preparatory measures in attribution.",related:["conversion","conversion-tracking","assisted-conversion","funnel"]},{slug:"multi-channel-tracking",title:"Multi-Channel Tracking",letter:"M",shortDescription:"Multi-Channel Tracking erfasst Nutzerkontakte über verschiedene Marketingkanäle hinweg. Es ist Voraussetzung für kanalübergreifende Attribution und hilft zu verstehen, wie Kanäle zusammenwirken, um Conversions zu erzeugen.",shortDescriptionEn:"Multi-channel tracking records user touchpoints across different marketing channels. It is a prerequisite for cross-channel attribution and helps understand how channels work together to generate conversions.",related:["multi-touch-attribution","attribution","customer-journey-tracking","conversion-tracking"]},{slug:"multi-touch-attribution",title:"Multi-Touch Attribution",letter:"M",shortDescription:"Multi-Touch Attribution berücksichtigt alle Marketingkontakte auf dem Weg zu einer Conversion, nicht nur den ersten oder letzten. Sie verteilt den Erfolg auf mehrere Touchpoints und liefert eine realistischere Bewertung der Kanäle als Ein-Klick-Modelle.",shortDescriptionEn:"Multi-touch attribution considers all marketing touchpoints on the path to a conversion, not just the first or last. It distributes success across multiple touchpoints and provides a more realistic evaluation of channels than single-click models.",related:["attribution","attributionsmodell","last-click-attribution","first-click-attribution","linear-attribution","time-decay-attribution","customer-journey-tracking","marketing-attribution"]},{slug:"neukundengewinnung",title:"Neukundengewinnung",letter:"N",shortDescription:"Neukundengewinnung umfasst alle MaÃnahmen, um neue Kunden zu akquirieren. Sie ist ein zentrales Ziel im Online-Marketing und steht in direktem Zusammenhang mit Attribution, Leadgenerierung und Budgetsteuerung.",shortDescriptionEn:"New customer acquisition includes all measures to acquire new customers. It is a central goal in online marketing and is directly linked to attribution, lead generation and budget control.",related:["kundengewinnung","leadgenerierung","performance-marketing","conversion"]},{slug:"newsletter-tracking",title:"Newsletter Tracking",letter:"N",shortDescription:"Newsletter Tracking erfasst Ãffnungen, Klicks und Conversions aus E-Mail-Kampagnen. Es zeigt, wie der Newsletter zur Customer Journey beiträgt und ist wichtig für die Bewertung von E-Mail Marketing im Rahmen der Attribution.",shortDescriptionEn:"Newsletter tracking records opens, clicks and conversions from email campaigns. It shows how the newsletter contributes to the customer journey and is important for evaluating email marketing within attribution.",related:["e-mail-marketing","conversion-tracking","multi-channel-tracking","attribution"]},{slug:"non-brand-keyword",title:"Non-Brand Keyword",letter:"N",shortDescription:"Non-Brand Keywords sind Suchbegriffe, die keinen Markennamen enthalten. Sie erreichen neue Zielgruppen, haben aber oft höhere Kosten und niedrigere Conversion Rates als Brand Keywords und sind wichtig für Neukundengewinnung.",shortDescriptionEn:"Non-brand keywords are search terms that contain no brand name. They reach new audiences but often have higher costs and lower conversion rates than brand keywords and are important for new customer acquisition.",related:["brand-keywords","generic-keywords","keyword","sea"]},{slug:"nutzerpfad",title:"Nutzerpfad",letter:"N",shortDescription:"Der Nutzerpfad ist die Abfolge von Kontakten und Aktionen eines Nutzers vom ersten Besuch bis zur Conversion. Er ist die Grundlage für Customer Journey Tracking und Attribution und macht sichtbar, welche Kanäle in welcher Reihenfolge wirkten.",shortDescriptionEn:"The user path is the sequence of a userâs touchpoints and actions from first visit to conversion. It is the basis for customer journey tracking and attribution and shows which channels worked in what order.",related:["user-journey","customer-journey","click-path","touchpoint"]}
560,{slug:"omnichannel",title:"Omnichannel",letter:"O",shortDescription:"Omnichannel beschreibt eine Strategie, bei der Kanäle nahtlos miteinander verknüpft sind, sodass Nutzer überall ein konsistentes Erlebnis haben. Es erfordert kanalübergreifendes Tracking und Attribution, um die Wirkung aller Touchpoints zu erfassen.",shortDescriptionEn:"Omnichannel describes a strategy in which channels are seamlessly linked so that users have a consistent experience everywhere. It requires cross-channel tracking and attribution to capture the impact of all touchpoints.",related:["multi-channel-tracking","cross-device-tracking","customer-journey","attribution"]},{slug:"online-marketing",title:"Online-Marketing",letter:"O",shortDescription:"Online-Marketing umfasst alle MarketingmaÃnahmen im digitalen Raum, von Such- und Social-Werbung über E-Mail bis Affiliate. Es ist der Ãberbegriff für die Kanäle und MaÃnahmen, deren Wirkung durch Attribution sichtbar gemacht wird.",shortDescriptionEn:"Online marketing includes all marketing measures in the digital space, from search and s
560ocial advertising to email and affiliate. It is the umbrella term for the channels and measures whose impact is made visible by attribution.",related:["performance-marketing","sea","seo","social-ads","affiliate-marketing"]},{slug:"onsite-tracking",title:"Onsite Tracking",letter:"O",shortDescription:"Onsite Tracking erfasst das Verhalten von Nutzern auf der Website, etwa Seitenaufrufe, Klicks und Verweildauer. Es liefert Daten für Conversion-Optimierung, Funnel-Analyse und die Bewertung von Traffic-Qualität.",shortDescriptionEn:"Onsite tracking records user behavior on the website, such as page views, clicks and dwell time. It provides data for conversion optimization, funnel analysis and the evaluation of traffic quality.",related:["tracking","event-tracking","heatmap","engagement"]},{slug:"opt-in",title:"Opt-in",letter:"O",shortDescription:"Opt-in ist die Einwilligung eines Nutzers in die Verarbeitung seiner Daten, etwa für Tracking oder E-Mail-Marketing. Es ist eine zentrale Anforderung der DSGVO und Voraussetzung für datenschutzkonformes Tracking im Online-Marketing.",shortDescriptionEn:"An opt-in is a userâs consent to the processing of their data, for example for tracking or email marketing. It is a central GDPR requirement and a prerequisite for privacy-compliant tracking in online marketing.",related:["consent-management","dsgvo-konformes-tracking","e-mail-marketing","google-consent-mode"]},{slug:"organic-traffic",title:"Organic Traffic",letter:"O",shortDescription:"Organic Traffic umfasst Besuche, die über unbezahlte Suchergebnisse kommen. Er ist das Ergebnis von SEO-MaÃnahmen und ein wichtiger Kanal im Online-Marketing, der im Rahmen der Attribution mit bezahlten Kanälen abgeglichen wird.",shortDescriptionEn:"Organic traffic includes visits that come via unpaid search results. It is the result of SEO measures and an important channel in online marketing that is compared with paid channels within attribution.",related:["seo","traffic-source","direct-traffic","attribution"]},{slug:"outbound-marketing",title:"Outbound Marketing",letter:"O",shortDescription:"Outbound Marketing umfasst aktive MaÃnahmen, um Nutzer anzusprechen, etwa Display-Werbung oder Direktwerbung. Es unterscheidet sich von Inbound-Ansätzen und wird im Online-Marketing oft mit Performance-Kampagnen kombiniert.",shortDescriptionEn:"Outbound marketing includes active measures to address users, such as display advertising or direct advertising. It differs from inbound approaches and is often combined with performance campaigns in online marketing.",related:["display-advertising","online-marketing","retargeting","social-ads"]},{slug:"paid-search",title:"Paid Search",letter:"P",shortDescription:"Paid Search umfasst bezahlte Suchanzeigen, etwa über Google Ads. Es ist ein zentraler Kanal im Performance Marketing und liefert Daten für Attribution, Conversion Tracking und Kampagnenanalyse.",shortDescriptionEn:"Paid search includes paid search ads, such as via Google Ads. It is a central channel in performance marketing and provides data for attribution, conversion tracking and campaign analysis.",related:["sea","google-ads","cost-per-click","performance-marketing"]},{slug:"performance-marketing",title:"Performance Marketing",letter:"P",shortDescription:"Performance Marketing umfasst alle MaÃnahmen, die auf messbare Ergebnisse wie Klicks, Leads oder Verkäufe ausgerichtet sind. Es basiert auf Daten, Tracking und Attribution und zielt darauf ab, Marketingbudget effizient und transparent einzusetzen.",shortDescriptionEn:"Performance marketing includes all measures aimed at measurable results such as clicks, leads or sales. It is based on data, tracking and attribution and aims to use marketing budget efficiently and transparently.",related:["online-marketing","roas","roi","conversion-tracking","attribution","leadgenerierung","affiliate-marketing"]},{slug:"pixel-tracking",title:"Pixel Tracking",letter:"P",shortDescription:"Pixel Tracking nutzt kleine Grafiken oder Skripte, um Nutzeraktionen wie Conversions zu erfassen. Es ist eine gängige Methode in Google Ads, Meta und anderen Plattformen, unterliegt aber Einschränkungen durch Browser und Ad-Blocker.",shortDe
560scriptionEn:"Pixel tracking uses small graphics or scripts to record user actions such as conversions. It is a common method in Google Ads, Meta and other platforms but is subject to restrictions from browsers and ad blockers.",related:["tracking","conversion-tracking","javascript-tracking","header-tag"]},{slug:"post-click-tracking",title:"Post-Click Tracking",letter:"P",shortDescription:"Post-Click Tracking erfasst, was nach einem Klick auf eine Anzeige passiert, etwa Besuche, Conversions oder Verkäufe. Es verknüpft Klicks mit Ergebnissen und ist Grundlage für Conversion Tracking und Attribution.",shortDescriptionEn:"Post-click tracking records what happens after a click on an ad, such as visits, conversions or sales. It links clicks to outcomes and is the basis for conversion tracking and attribution.",related:["conversion-tracking","ad-click","attribution","campaign-tracking"]},{slug:"post-view-tracking",title:"Post-View Tracking",letter:"P",shortDescription:"Post-View Tracking erfasst Conversions, die nach dem Sehen einer Anzeige ohne Klick entstehen. Es ist wichtig für Display- und Social-Kampagnen, aber anspruchsvoll in der Messung und kann zu Double Counting führen.",shortDescriptionEn:"Post-view tracking records conversions that occur after an ad was seen without a click. It is important for display and social campaigns but demanding to measure and can lead to double counting.",related:["view-through-conversion","impression-tracking","display-advertising","attribution"]},{slug:"produktanalyse",title:"Produktanalyse",letter:"P",shortDescription:"Produktanalyse untersucht die Leistung einzelner Produkte in Marketing und Verkauf. Sie zeigt, welche Produkte Leads oder Verkäufe treiben und hilft, Kampagnen und Budget auf die richtigen Produkte auszurichten.",shortDescriptionEn:"Product analysis examines the performance of individual products in marketing and sales. It shows which products drive leads or sales and helps align campaigns and budget with the right products.",related:["e-commerce-tracking","kampagnenanalyse","conversion-tracking","dashboard"]},{slug:"qualified-lead",title:"Qualified Lead",letter:"Q",shortDescription:"Ein Qualified Lead ist ein Lead, der bestimmte Kriterien erfüllt, die ihn als vielversprechend für einen Abschluss einstufen. Die Qualifizierung hilft, Ressourcen gezielt einzusetzen und die Wirtschaftlichkeit der Leadgenerierung zu verbessern.",shortDescriptionEn:"A qualified lead is a lead that meets certain criteria that classify it as promising for a conversion. Qualification helps deploy resources in a targeted way and improve the profitability of lead generation.",related:["lead","leadqualitat","leadgenerierung","cost-per-lead"]},{slug:"qualitatsfaktor",title:"Qualitätsfaktor",letter:"Q",shortDescription:"Der Qualitätsfaktor ist eine Metrik in Google Ads, die die Qualität von Anzeigen, Keywords und Landingpages bewertet. Er beeinflusst Position und Kosten pro Klick und ist wichtig für die Effizienz von Suchkampagnen.",shortDescriptionEn:"The quality factor is a metric in Google Ads that evaluates the quality of ads, keywords and landing pages. It affects position and cost per click and is important for the efficiency of search campaigns.",related:["google-ads","sea","keyword","landingpage"]},{slug:"query",title:"Query",letter:"Q",shortDescription:"Eine Query ist die konkrete Suchanfrage eines Nutzers in einer Suchmaschine. Sie unterscheidet sich vom gebuchten Keyword und liefert wichtige Informationen über Intent und Relevanz für Kampagnen.",shortDescriptionEn:"A query is a userâs actual search term in a search engine. It differs from the booked keyword and provides important information about intent and relevance for campaigns.",related:["keyword","sea","seo","intent"]},{slug:"quellanalyse",title:"Quellanalyse",letter:"Q",shortDescription:"Quellanalyse untersucht, aus welchen Quellen Traffic und Conversions kommen. Sie ist Grundlage für Attribution und Kanalbewertung und hilft zu erkennen, welche Quellen die wertvollsten Nutzer liefern.",shortDescriptionEn:"Source analysis examines which sources traffic and conversions come from. It is the basis for attribution and channel evaluation and helps identify which sources deliver the most valuable users.",related:["traffic-source","attribution","kanalbewertung","multi-channel-tracking"]}
560,{slug:"referral-traffic",title:"Referral Traffic",letter:"R",shortDescription:"Referral Traffic umfasst Besuche, die über Links von anderen Websites kommen. Er ist ein eigener Kanal in der Attribution und kann wertvolle Nutzer liefern, etwa von Preisvergleichsportalen oder Content-Seiten.",shortDescriptionEn:"Referral traffic includes visits that come via links from other websites. It is its own channel in attribution and can deliver valuable users, for example from price comparison portals or content sites.",related:["traffic-source","direct-traffic","organic-traffic","attribution"]},{slug:"retargeting",title:"Retargeting",letter:"R",shortDescription:"Retargeting ist eine Strategie, bei der Nutzer erneut angesprochen werden, die bereits mit der Website interagiert haben. Es zielt darauf ab, Nutzer zurückzuholen und ist ein wichtiger Kanal in vielen Customer Journeys.",shortDescriptionEn:"Retargeting is a strategy in which users who have already interacted with the website are addressed again. It aims to bring users back and is an important channel in many customer journeys.",related:["display-advertising","social-ads","meta-ads","conversion-tracking"]},{slug:"revenue-attribution",title:"Revenue Attribution",letter:"R",shortDescription:"Revenue Attribution ordnet den Umsatz einer Conversion den beteiligten MarketingmaÃnahmen zu. Sie geht über die reine Conversion-Zählung hinaus und bewertet Kanäle nach ihrem tatsächlichen Umsatzbeitrag.",shortDescriptionEn:"Revenue attribution assigns the revenue of a conversion to the marketing measures involved. It goes beyond pure conversion counting and evaluates channels by their actual revenue contribution.",related:["attribution","roas","roi","umsatzbeitrag","conversion-attribution"]},{slug:"roas",title:"ROAS",letter:"R",shortDescription:"ROAS (Return on Ad Spend) gibt das Verhältnis von Umsatz zu Werbekosten an. Er ist eine zentrale Kennzahl im Performance Marketing und hilft zu beurteilen, ob Kampagnen und Kanäle rentabel arbeiten und wo Budget wirkt.",shortDescriptionEn:"ROAS (return on ad spend) indicates the ratio of revenue to ad costs. It is a central metric in performance marketing and helps assess whether campaigns and channels are profitable and where budget works.",related:["roi","performance-marketing","marketingbudget","cost-per-acquisition","revenue-attribution","attribution"]},{slug:"roi",title:"ROI",letter:"R",shortDescription:"ROI (Return on Investment) misst das Verhältnis von Gewinn zu Investition. Im Online-Marketing hilft er zu beurteilen, ob Marketingausgaben insgesamt rentabel sind und wie sich verschiedene Kanäle und Kampagnen wirtschaftlich vergleichen lassen.",shortDescriptionEn:"ROI (return on investment) measures the ratio of profit to investment. In online marketing it helps assess whether marketing spend is overall profitable and how different channels and campaigns compare economically.",related:["roas","performance-marketing","marketingbudget","kpi","revenue-attribution"]},{slug:"rule-based-attribution",title:"Rule-Based Attribution",letter:"R",shortDescription:"Rule-Based Attribution nutzt feste Regeln, um den Wert einer Conversion auf Kontakte zu verteilen, etwa Last Click oder Linear. Sie ist einfach anwendbar, berücksichtigt aber keine individuellen Datenmuster wie datengetriebene Modelle.",shortDescriptionEn:"Rule-based attribution uses fixed rules to distribute the value of a conversion across touchpoints, such as last click or linear. It is easy to apply but does not account for individual data patterns like data-driven models.",related:["attribution","attributionsmodell","datengetriebene-attribution","last-click-attribution","linear-attribution"]},{slug:"sales-tracking",title:"Sales Tracking",letter:"S",shortDescription:"Sales Tracking erfasst Verkäufe und verknüpft sie mit Marketingkontakten. Es ist die Grundlage für Revenue Attribution, ROAS und die Bewertung, welche Kampagnen und Kanäle wirklich zu Umsatz beitragen.",shortDescriptionEn:"Sales tracking records sales and links them to marketing contacts. It is the basis for revenue attribution, ROAS and the evaluation of which campaigns and channels really contribute to revenue.",related:["conversion-tracking","revenue-attribution","roas","e-commerce-tracking"]}
560,{slug:"sea",title:"SEA",letter:"S",shortDescription:"SEA (Search Engine Advertising) umfasst bezahlte Suchanzeigen, meist über Google Ads. Es ist ein zentraler Kanal im Online-Marketing und liefert Daten für Attribution, Conversion Tracking und Kampagnenanalyse.",shortDescriptionEn:"SEA (search engine advertising) includes paid search ads, mostly via Google Ads. It is a central channel in online marketing and provides data for attribution, conversion tracking and campaign analysis.",related:["seo","google-ads","paid-search","cost-per-click","online-marketing"]},{slug:"seo",title:"SEO",letter:"S",shortDescription:"SEO (Search Engine Optimization) umfasst MaÃnahmen zur Verbesserung der Sichtbarkeit in unbezahlten Suchergebnissen. Es ist ein wichtiger Kanal für Organic Traffic und wird im Rahmen der Attribution mit bezahlten Kanälen abgeglichen.",shortDescriptionEn:"SEO (search engine optimization) includes measures to improve visibility in unpaid search results. It is an important channel for organic traffic and is compared with paid channels within attribution.",related:["sea","organic-traffic","keyword","online-marketing"]},{slug:"server-side-tracking",title:"Server-Side Tracking",letter:"S",shortDescription:"Server-Side Tracking verlagert die Datenerfassung vom Browser auf den Server. Es ist robuster gegen Ad-Blocker und Browser-Einschränkungen, datenschutzfreundlicher und eine Grundlage für zuverlässige Attribution und First-Party-Tracking.",shortDescriptionEn:"Server-side tracking moves data collection from the browser to the server. It is more robust against ad blockers and browser restrictions, more privacy-friendly and a basis for reliable attribution and first-party tracking.",related:["first-party-tracking","tracking","cookie-tracking","dsgvo-konformes-tracking","conversion-tracking","enhanced-conversions"]},{slug:"session",title:"Session",letter:"S",shortDescription:"Eine Session ist ein zusammenhängender Besuch auf einer Website. Sie umfasst alle Seitenaufrufe und Aktionen innerhalb eines Zeitraums und ist eine grundlegende Einheit in Webanalyse und Tracking.",shortDescriptionEn:"A session is a connected visit to a website. It includes all page views and actions within a period and is a basic unit in web analytics and tracking.",related:["tracking","bounce-rate","engagement","onsite-tracking"]},{slug:"social-ads",title:"Social Ads",letter:"S",shortDescription:"Social Ads sind Werbeanzeigen auf Social-Media-Plattformen wie Meta, Instagram oder TikTok. Sie dienen Reichweite, Retargeting und Leadgenerierung und sind ein wichtiger Kanal in der Attribution und Customer Journey.",shortDescriptionEn:"Social ads are ads on social media platforms such as Meta, Instagram or TikTok. They serve reach, retargeting and lead generation and are an important channel in attribution and the customer journey.",related:["meta-ads","display-advertising","retargeting","conversion-tracking","online-marketing"]},{slug:"streuverlust",title:"Streuverlust",letter:"S",shortDescription:"Streuverlust bezeichnet Werbeausgaben, die Nutzer erreichen, die nicht zur Zielgruppe gehören oder nicht reagieren. Attribution hilft, Streuverluste zu erkennen und Budget in MaÃnahmen zu lenken, die tatsächlich wirken.",shortDescriptionEn:"Wastage describes ad spend that reaches users who do not belong to the target group or do not respond. Attribution helps identify wastage and direct budget into measures that actually work.",related:["marketingbudget","audience","roas","attribution"]},{slug:"tag-management",title:"Tag Management",letter:"T",shortDescription:"Tag Management verwaltet Tracking-Tags und Pixels zentral, ohne Codeänderungen. Es ermöglicht flexibles Tracking und die Integration verschiedener Tools und ist Grundlage für saubere Datenerfassung im Online-Marketing.",shortDescriptionEn:"Tag management centrally manages tracking tags and pixels without code changes. It enables flexible tracking and the integration of various tools and is the basis for clean data collection in online marketing.",related:["google-tag-manager","data-layer","tracking","event-tracking"]},{slug:"time-decay-attribution",title:"Time Decay Attribution",letter:"T",shortDe
560scription:"Time Decay Attribution gibt Kontakten, die näher an der Conversion liegen, mehr Gewicht als früheren. Es ist ein Multi-Touch-Modell, das den zeitlichen Abstand zum Abschluss berücksichtigt und eine mittlere Position zwischen Last Click und Linear einnimmt.",shortDescriptionEn:"Time decay attribution gives more weight to touchpoints closer to the conversion than earlier ones. It is a multi-touch model that takes the time distance to the conversion into account and sits between last click and linear.",related:["attribution","attributionsmodell","multi-touch-attribution","linear-attribution","last-click-attribution"]},{slug:"touchpoint",title:"Touchpoint",letter:"T",shortDescription:"Ein Touchpoint ist ein Kontaktpunkt zwischen Nutzer und Marke, etwa eine Anzeige, ein Besuch oder eine E-Mail. Touchpoints sind die Bausteine der Customer Journey und die Grundlage für jede Attribution.",shortDescriptionEn:"A touchpoint is a point of contact between user and brand, such as an ad, a visit or an email. Touchpoints are the building blocks of the customer journey and the basis for any attribution.",related:["customer-journey","customer-journey-tracking","multi-touch-attribution","journey-stage"]},{slug:"tracking",title:"Tracking",letter:"T",shortDescription:"Tracking erfasst Daten über Nutzer, ihre Aktionen und Kontakte mit MarketingmaÃnahmen. Es ist die Grundlage für Attribution, Conversion Tracking und Kampagnenanalyse und umfasst verschiedene Methoden wie Cookies, Pixels und Server-Side.",shortDescriptionEn:"Tracking records data about users, their actions and touchpoints with marketing measures. It is the basis for attribution, conversion tracking and campaign analysis and includes various methods such as cookies, pixels and server-side.",related:["conversion-tracking","attribution","cookie-tracking","first-party-tracking","server-side-tracking","pixel-tracking","campaign-tracking"]},{slug:"tracking-pixel",title:"Tracking Pixel",letter:"T",shortDescription:"Ein Tracking Pixel ist ein kleines Skript oder Bild, das auf einer Website eingebettet wird, um Nutzeraktionen zu erfassen. Es ist die Grundlage für Conversion Tracking in Plattformen wie Google Ads und Meta.",shortDescriptionEn:"A tracking pixel is a small script or image embedded on a website to record user actions. It is the basis for conversion tracking in platforms such as Google Ads and Meta.",related:["pixel-tracking","tracking","conversion-tracking","header-tag"]},{slug:"trackingweiche",title:"Trackingweiche",letter:"T",shortDescription:"Eine Trackingweiche ist eine Methode, um je nach Quelle oder Gerät unterschiedliche Tracking-Setups zu nutzen. Sie hilft, Datenqualität zu sichern und kanalspezifische Einschränkungen im Tracking zu umgehen.",shortDescriptionEn:"A tracking switch is a method for using different tracking setups depending on source or device. It helps secure data quality and work around channel-specific tracking limitations.",related:["tracking","multi-channel-tracking","cross-device-tracking","server-side-tracking"]},{slug:"traffic-source",title:"Traffic Source",letter:"T",shortDescription:"Traffic Source bezeichnet die Quelle eines Website-Besuchs, etwa Suchanzeigen, Organic, Social oder Direct. Die Erfassung von Traffic Sources ist Grundlage für Attribution und Kanalbewertung.",shortDescriptionEn:"A traffic source denotes the origin of a website visit, such as search ads, organic, social or direct. Capturing traffic sources is the basis for attribution and channel evaluation.",related:["organic-traffic","direct-traffic","referral-traffic","attribution","quellanalyse"]},{slug:"unique-visitor",title:"Unique Visitor",letter:"U",shortDescription:"Ein Unique Visitor ist ein einzelner Nutzer, der innerhalb eines Zeitraums eine Website besucht. Die Kennzahl hilft, Reichweite von reinen Klicks zu unterscheiden und ist eine BasisgröÃe in der Webanalyse.",shortDescriptionEn:"A unique visitor is a single user who visits a website within a period. The metric helps distinguish reach from pure clicks and is a basic figure in web analytics.",related:["session","traffic-source","tracking","audience"]}
560,{slug:"user-journey",title:"User Journey",letter:"U",shortDescription:"Die User Journey beschreibt den Weg eines Nutzers vom ersten Kontakt bis zur Conversion. Sie ist weitgehend synonym zur Customer Journey und umfasst alle Touchpoints über Kanäle und Geräte hinweg.",shortDescriptionEn:"The user journey describes a userâs path from first contact to conversion. It is largely synonymous with the customer journey and includes all touchpoints across channels and devices.",related:["customer-journey","customer-journey-tracking","touchpoint","nutzerpfad","cross-device-tracking"]},{slug:"umsatzbeitrag",title:"Umsatzbeitrag",letter:"U",shortDescription:"Der Umsatzbeitrag eines Kanals oder einer Kampagne gibt an, wie viel Umsatz durch diese MaÃnahme entstanden ist. Er ist eine zentrale GröÃe in der Revenue Attribution und Grundlage für Budgetentscheidungen.",shortDescriptionEn:"The revenue contribution of a channel or campaign indicates how much revenue was generated by that measure. It is a central figure in revenue attribution and the basis for budget decisions.",related:["revenue-attribution","roas","roi","attribution","kanalbewertung"]},{slug:"utm-parameter",title:"UTM-Parameter",letter:"U",shortDescription:"UTM-Parameter sind Zusätze in URLs, die Traffic-Quelle, Kampagne und Medium kennzeichnen. Sie sind die Standardmethode für Campaign Tracking und Voraussetzung für saubere Attribution in Analytics-Systemen.",shortDescriptionEn:"UTM parameters are additions in URLs that mark traffic source, campaign and medium. They are the standard method for campaign tracking and a prerequisite for clean attribution in analytics systems.",related:["campaign-tracking","tracking","google-analytics","traffic-source"]},{slug:"verkaufszuordnung",title:"Verkaufszuordnung",letter:"V",shortDescription:"Verkaufszuordnung ordnet einen Verkauf den MarketingmaÃnahmen zu, die dazu beigetragen haben. Sie ist ein zentraler Bestandteil der Attribution und Grundlage für die Bewertung von Kanälen nach Umsatzbeitrag.",shortDescriptionEn:"Sale assignment assigns a sale to the marketing measures that contributed to it. It is a central part of attribution and the basis for evaluating channels by revenue contribution.",related:["attribution","revenue-attribution","sales-tracking","conversion-attribution"]},{slug:"verweildauer",title:"Verweildauer",letter:"V",shortDescription:"Die Verweildauer misst, wie lange ein Nutzer auf einer Seite oder Website verbringt. Sie ist ein Indikator für Engagement und Relevanz und liefert Hinweise auf die Qualität von Traffic und Inhalten.",shortDescriptionEn:"Dwell time measures how long a user spends on a page or website. It is an indicator of engagement and relevance and provides clues about the quality of traffic and content.",related:["engagement","bounce-rate","onsite-tracking","session"]},{slug:"view-through-conversion",title:"View-Through Conversion",letter:"V",shortDescription:"Eine View-Through Conversion entsteht, wenn ein Nutzer nach dem Sehen einer Anzeige ohne Klick konvertiert. Sie ist wichtig für Display- und Social-Kampagnen, aber schwierig zu messen und kann zu Double Counting führen.",shortDescriptionEn:"A view-through conversion occurs when a user converts after seeing an ad without clicking. It is important for display and social campaigns but difficult to measure and can lead to double counting.",related:["post-view-tracking","impression-tracking","attribution","display-advertising"]},{slug:"visibility",title:"Visibility",letter:"V",shortDescription:"Visibility bezeichnet die Sichtbarkeit von Anzeigen, etwa ob und wie lange sie im sichtbaren Bereich der Seite ausgespielt werden. Sie ist wichtig für die Bewertung von Display-Kampagnen und die Qualität von Impressions.",shortDescriptionEn:"Visibility denotes the visibility of ads, such as whether and how long they are displayed in the visible area of the page. It is important for evaluating display campaigns and the quality of impressions.",related:["ad-impression","display-advertising","impression-tracking","view-through-conversion"]}
560,{slug:"warenkorbwert",title:"Warenkorbwert",letter:"W",shortDescription:"Der Warenkorbwert gibt an, wie viel ein Nutzer im Warenkorb ablegt. Er ist eine wichtige Kennzahl im E-Commerce und beeinflusst Average Order Value, ROAS und die Bewertung von Kampagnen.",shortDescriptionEn:"The cart value indicates how much a user puts in the shopping cart. It is an important metric in e-commerce and affects average order value, ROAS and the evaluation of campaigns.",related:["average-order-value","e-commerce-tracking","roas","conversion-tracking"]},{slug:"website-tracking",title:"Website Tracking",letter:"W",shortDescription:"Website Tracking erfasst das Verhalten von Nutzern auf einer Website, etwa Seitenaufrufe, Klicks und Conversions. Es ist die Grundlage für Webanalyse, Attribution und Conversion-Optimierung.",shortDescriptionEn:"Website tracking records user behavior on a website, such as page views, clicks and conversions. It is the basis for web analytics, attribution and conversion optimization.",related:["tracking","onsite-tracking","event-tracking","conversion-tracking"]},{slug:"werbekosten",title:"Werbekosten",letter:"W",shortDescription:"Werbekosten umfassen alle Ausgaben für Online-Werbung, etwa CPC, CPM oder Pauschalen. Sie sind eine zentrale GröÃe für ROAS, ROI und die Wirtschaftlichkeit von Kampagnen und müssen im Rahmen der Attribution erfasst werden.",shortDescriptionEn:"Ad costs include all spend on online advertising, such as CPC, CPM or flat rates. They are a central figure for ROAS, ROI and campaign profitability and must be captured within attribution.",related:["cost-per-click","cost-per-lead","roas","roi","marketingbudget"]},{slug:"werbewirkung",title:"Werbewirkung",letter:"W",shortDescription:"Werbewirkung beschreibt, welche Effekte Werbung auf Nutzer hat, etwa Klicks, Conversions oder Markenerinnerung. Die Messung und Zuordnung von Werbewirkung ist das Kernziel von Attribution und Kampagnenanalyse.",shortDescriptionEn:"Ad impact describes the effects advertising has on users, such as clicks, conversions or brand recall. Measuring and assigning ad impact is the core goal of attribution and campaign analysis.",related:["attribution","incrementality","view-through-conversion","performance-marketing"]},{slug:"wiederbesuch",title:"Wiederbesuch",letter:"W",shortDescription:"Ein Wiederbesuch ist ein erneuter Besuch eines Nutzers auf der Website. Wiederbesuche sind wichtig in der Customer Journey, da sie zeigen, dass vorbereitende Kanäle gewirkt haben, auch wenn der Abschluss woanders stattfindet.",shortDescriptionEn:"A return visit is a userâs renewed visit to the website. Return visits are important in the customer journey because they show that preparatory channels worked, even if the conversion takes place elsewhere.",related:["retargeting","customer-journey","assisted-conversion","session"]},{slug:"x-device-tracking",title:"X-Device Tracking",letter:"X",shortDescription:"X-Device Tracking wird gelegentlich als alternative Bezeichnung für Cross Device Tracking verwendet. Der geläufigere und fachlich üblichere Begriff ist Cross Device Tracking. Gemeint ist die Analyse von Nutzerwegen über mehrere Geräte hinweg.",shortDescriptionEn:"X-device tracking is occasionally used as an alternative term for cross device tracking. The more common and technically standard term is cross device tracking. It means the analysis of user paths across multiple devices.",related:["cross-device-tracking","customer-journey-tracking","first-party-tracking","server-side-tracking"]},{slug:"yield-optimization",title:"Yield Optimization",letter:"Y",shortDescription:"Yield Optimization bezeichnet die Maximierung des Ertrags aus Werbeinventar oder Marketingausgaben. Sie nutzt Daten und Algorithmen, um Budget in die effizientesten MaÃnahmen zu lenken und ROAS sowie ROI zu verbessern.",shortDescriptionEn:"Yield optimization describes maximizing the return from ad inventory or marketing spend. It uses data and algorithms to direct budget into the most efficient measures and improve ROAS and ROI.",related:["roas","roi","budget-allocation","performance-marketing"]}
560,{slug:"youtube-ads",title:"YouTube Ads",letter:"Y",shortDescription:"YouTube Ads sind Werbeanzeigen auf YouTube, etwa als Pre-Roll oder In-Stream. Sie dienen Reichweite, Branding und Performance und liefern Daten für Attribution und Kampagnenanalyse im Video-Bereich.",shortDescriptionEn:"YouTube Ads are ads on YouTube, such as pre-roll or in-stream. They serve reach, branding and performance and provide data for attribution and campaign analysis in the video space.",related:["display-advertising","social-ads","google-ads","view-through-conversion"]},{slug:"year-over-year-vergleich",title:"Year-over-Year Vergleich",letter:"Y",shortDescription:"Der Year-over-Year Vergleich vergleicht Kennzahlen desselben Zeitraums in verschiedenen Jahren. Er hilft, Saisonalität zu berücksichtigen und langfristige Trends in der Performance von Kampagnen und Kanälen zu erkennen.",shortDescriptionEn:"The year-over-year comparison compares metrics from the same period in different years. It helps account for seasonality and identify long-term trends in the performance of campaigns and channels.",related:["benchmarking","kpi","performance-marketing","kampagnenanalyse"]},{slug:"zero-party-daten",title:"Zero-Party-Daten",letter:"Z",shortDescription:"Zero-Party-Daten sind Informationen, die Nutzer aktiv und freiwillig teilen, etwa Präferenzen in Formularen. Sie sind datenschutzfreundlich und wertvoll für Personalisierung, Targeting und die Qualifizierung von Leads.",shortDescriptionEn:"Zero-party data is information that users actively and voluntarily share, such as preferences in forms. It is privacy-friendly and valuable for personalization, targeting and qualifying leads.",related:["first-party-tracking","consent-management","qualified-lead","audience"]},{slug:"zielgruppenanalyse",title:"Zielgruppenanalyse",letter:"Z",shortDescription:"Zielgruppenanalyse untersucht Merkmale und Verhalten von Zielgruppen. Sie ist Grundlage für Targeting, Kampagnenausrichtung und die Bewertung, welche MaÃnahmen welche Nutzergruppen ansprechen und konvertieren.",shortDescriptionEn:"Audience analysis examines the characteristics and behavior of target groups. It is the basis for targeting, campaign alignment and the evaluation of which measures address and convert which user groups.",related:["audience","intent","kampagnenanalyse","performance-marketing"]},{slug:"zielvorhaben",title:"Zielvorhaben",letter:"Z",shortDescription:"Zielvorhaben sind definierte Marketing- oder Business-Ziele, etwa eine bestimmte Anzahl an Leads oder Umsatz. Sie steuern die Auswahl von KPIs, Kampagnen und Budget und sind der MaÃstab für die Erfolgsmessung.",shortDescriptionEn:"Objectives are defined marketing or business goals, such as a certain number of leads or revenue. They steer the selection of KPIs, campaigns and budget and are the benchmark for measuring success.",related:["kpi","goal-tracking","performance-marketing","marketingbudget"]},{slug:"zuordnungsmodell",title:"Zuordnungsmodell",letter:"Z",shortDescription:"Ein Zuordnungsmodell ist die Regel, nach der der Wert einer Conversion auf beteiligte Marketingkontakte aufgeteilt wird. Es ist synonym zu Attributionsmodell und bestimmt, welche Kanäle im Reporting stark oder schwach erscheinen.",shortDescriptionEn:"An allocation model is the rule by which the value of a conversion is distributed among the marketing touchpoints involved. It is synonymous with attribution model and determines which channels appear strong or weak in reporting.",related:["attributionsmodell","attribution","last-click-attribution","multi-touch-attribution"]},{slug:"zwischenkontakt",title:"Zwischenkontakt",letter:"Z",shortDescription:"Ein Zwischenkontakt ist ein Marketingkontakt zwischen dem ersten und letzten Touchpoint in einer Customer Journey. Er wird in Multi-Touch-Attribution-Modellen berücksichtigt und macht den Beitrag vorbereitender Kanäle sichtbar.",shortDescriptionEn:"An intermediate touchpoint is a marketing contact between the first and last touchpoint in a customer journey. It is considered in multi-touch attribution models and makes the contribution of preparatory channels visible.",related:["assisted-conversion","multi-touch-attribution","customer-journey","touchpoint"]}
560],o4=tA.map(({shortDescription:t,shortDescriptionEn:e,...n})=>({...n,shortDescription:t})),nA={de:o4,en:tA.map(({shortDescriptionEn:t,...e})=>({...e,shortDescription:t}))},l4={attribution:{definition:"Attribution ist die Bewertung und Zuordnung von Marketingwirkung. Sie beantwortet die Frage, welche WerbemaÃnahmen zu einer Conversion beigetragen haben. Eine Conversion kann ein Kauf, eine Anfrage, eine Demo-Buchung, ein Formularabschluss oder ein anderer messbarer Erfolg sein.",detailedExplanation:`Im Online-Marketing kommen Nutzer selten nur über einen einzigen Kontaktpunkt mit einem Unternehmen in Berührung. Ein potenzieller Kunde sieht vielleicht zuerst eine Google-Anzeige, besucht später die Website erneut, klickt einige Tage danach auf einen Newsletter und kauft erst beim vierten Besuch. Ohne Attribution würde häufig nur der letzte Kontakt gezählt. Das kann dazu führen, dass vorbereitende MaÃnahmen unterschätzt und abschlieÃende Kanäle überschätzt werden. 561 562Attribution hilft dabei, diese Zusammenhänge besser zu verstehen. Sie zeigt, welche Kanäle und Kampagnen am Anfang der Kundenreise stehen, welche den Nutzer zurückholen und welche am Ende zum Abschluss beitragen. Dadurch entsteht eine deutlich bessere Grundlage für Entscheidungen im Marketingbudget. Unternehmen erkennen nicht nur, wo Leads oder Verkäufe entstehen, sondern auch, welche Online-Werbung auf dem Weg dorthin wirklich eine Rolle gespielt hat. 563 564Gerade bei mehreren Kanälen wie Google Ads, Meta Ads, Affiliate Marketing, SEO, Newsletter und Display Advertising wird Attribution besonders wichtig. Jede Plattform bewertet ihre eigene Leistung oft aus ihrer Perspektive. Google zeigt Google-Erfolge, Meta zeigt Meta-Erfolge und Affiliate-Netzwerke zeigen Affiliate-Erfolge. Attribution schafft einen übergreifenden Blick auf die gesamte Strecke bis zur Anfrage oder zum Verkauf.`,importance:`Attribution ist wichtig, weil Marketingbudgets sonst schnell nach unvollständigen Daten verteilt werden. Wenn nur der letzte Klick betrachtet wird, bekommen Kanäle am Ende der Customer Journey oft zu viel Wert. Kanäle, die Aufmerksamkeit erzeugen oder Nutzer früh in den Entscheidungsprozess bringen, wirken dagegen schwach, obwohl sie eine wichtige Rolle spielen. 565 566Für Unternehmen bedeutet das: Ohne saubere Attribution kann Budget in MaÃnahmen flieÃen, die im Reporting gut aussehen, aber nicht den tatsächlichen Beitrag leisten. Gleichzeitig können wertvolle Kampagnen gekürzt werden, weil ihr Einfluss nicht sichtbar ist. Attribution hilft, solche Fehleinschätzungen zu vermeiden und Online-Werbung nach tatsächlicher Wirkung zu bewerten.`,practicalExample:"Ein Unternehmen schaltet Google Ads, Meta Ads und Newsletter-Kampagnen. Ein Nutzer sieht zuerst eine Meta-Anzeige und besucht die Website. Zwei Tage später sucht er bei Google nach dem Unternehmen und klickt auf eine Suchanzeige. Eine Woche später erhält er einen Newsletter, klickt erneut auf die Website und stellt eine Anfrage. Wenn nur der letzte Klick zählt, würde der Newsletter den gesamten Erfolg bekommen. Tatsächlich waren aber mehrere Kontakte beteiligt. Attribution macht diese Kontakte sichtbar und hilft, ihren Beitrag besser einzuordnen.",attrixusRole:`attriXus nutzt Attribution, um sichtbar zu machen, welche Online-Werbung wirklich zu Anfragen, Leads oder Verkäufen beiträgt. Statt nur einzelne Plattformberichte zu betrachten, zeigt attriXus den Weg bis zum Abschluss. Unternehmen können jeden Lead und Verkauf zurückspulen und erkennen, welche Kanäle, Kampagnen und Kontakte beteiligt waren. 567 568Dadurch wird sichtbar, wo Marketingbudget wirkt und wo es möglicherweise verpufft. Attribution ist damit ein zentraler Bestandteil von attriXus, weil sie aus reinen Zahlen eine konkrete Entscheidungsgrundlage für Marketingbudget, Kampagnensteuerung und Kanalbewertung macht.`,faqs:[{q:"Was bedeutet Attribution einfach erklärt?",a:"Attribution bedeutet, dass ein Lead, Verkauf oder anderer Erfolg den beteiligten MarketingmaÃnahmen zugeordnet wird. Ziel ist es zu verstehen, welche Online-Werbung wirklich zum Ergebnis beigetragen hat."},{q:"Warum reicht Last Click Attribution oft nicht aus?",a:"Last Click Attribution bewertet nur den letzten Kontakt vor einer Conversion. Frühere Kontakte, die Aufmerksamkeit erzeugt oder Vertrauen aufgebaut haben, bleiben unberücksichtigt. Dadurch kann die tatsächliche Wirkung einzelner Kanäle verzerrt werden."},{q:"Was ist der Unterschied zwischen Attribution und Tracking?",a:"Tracking sammelt Daten über Nutzerkontakte und Aktionen. Attribution bewertet diese Daten und ordnet den Beitrag einzelner Kanäle, Kampagnen oder Kontakte einer Conversion zu."},{q:"Welche Kanäle können in Attribution einbezogen werden?",a:"Typische Kanäle sind Google Ads, Meta Ads, Affiliate Marketing, SEO, Newsletter, Display Advert
568ising, Social Ads, Referral Traffic, Direct Traffic und weitere Online-Werbekanäle."}]},"multi-touch-attribution":{definition:"Multi-Touch Attribution ist ein Attributionsmodell, das alle Marketingkontakte auf dem Weg zu einer Conversion berücksichtigt. Statt nur den ersten oder letzten Klick zu zählen, verteilt es den Erfolg auf mehrere Touchpoints und liefert so eine realistischere Bewertung der beteiligten Kanäle.",detailedExplanation:`Im Online-Marketing durchlaufen Nutzer häufig mehrere Kontaktpunkte, bevor sie eine Conversion abschlieÃen. Ein Nutzer sieht vielleicht zuerst eine Display-Anzeige, klickt Tage später auf eine Google-Suchanzeige, kehrt über einen Newsletter zurück und kauft schlieÃlich beim vierten Besuch. Traditionelle Modelle wie Last Click würden nur den letzten Kontakt zählen und damit ein unvollständiges Bild liefern. 569 570Multi-Touch Attribution löst dieses Problem, indem sie jeden Kontakt auf dem Weg zur Conversion erfasst und bewertet. Es gibt verschiedene Varianten: Linear verteilt den Wert gleichmäÃig, Time Decay gibt späteren Kontakten mehr Gewicht, und datengetriebene Modelle berechnen den Beitrag auf Basis historischer Daten. Gemeinsam ist allen, dass sie die Komplexität der Customer Journey anerkennen und nicht nur einen einzelnen Touchpoint als alleinigen Erfolgsfaktor betrachten. 571 572Der Vorteil von Multi-Touch Attribution liegt in der ausgeglicheneren Kanalbewertung. Kanäle, die am Anfang der Journey stehen und Aufmerksamkeit erzeugen, erhalten angemessenen Wert, ebenso wie Kanäle, die den Nutzer zurückholen oder zum Abschluss führen. Das führt zu besseren Budgetentscheidungen, da das Marketingbudget nach tatsächlicher Wirkung und nicht nach zufälliger Positionierung am Ende der Journey verteilt wird. 573 574Besonders bei komplexen B2B-Kaufprozessen oder hochpreisigen Produkten, bei denen Nutzer viele Kontakte benötigen, ist Multi-Touch Attribution unverzichtbar. Sie zeigt, welche Kombinationen von Kanälen besonders gut zusammenwirken und wo Budget am effizientesten eingesetzt wird.`,importance:`Multi-Touch Attribution ist wichtig, weil sie die Realität der Customer Journey abbildet. In der Praxis entstehen Conversions selten durch einen einzigen Kontakt, sondern durch das Zusammenspiel mehrerer Kanäle über Tage oder Wochen. Modelle, die nur einen Kontakt zählen, verzerren die Sicht auf die Leistung und können zu falschen Budgetentscheidungen führen. 575 576Mit Multi-Touch Attribution erkennen Unternehmen, welche Kanäle am Anfang, in der Mitte und am Ende der Journey wichtig sind. Das ermöglicht es, Budget gezielt in MaÃnahmen zu lenken, die tatsächlich zur Conversion beitragen, statt in Kanäle, die nur im Reporting gut aussehen, weil sie zufällig am Ende stehen.`,practicalExample:"Ein B2B-Unternehmen schaltet Display Ads, Google Ads, Meta Ads und Newsletter. Ein Interessent sieht zuerst eine Display-Anzeige, klickt eine Woche später auf eine Google-Suchanzeige, folgt dem Unternehmen auf Social Media und stellt nach dem dritten Newsletter-Kontakt eine Anfrage. Mit Last Click würde der Newsletter den gesamten Erfolg erhalten. Multi-Touch Attribution verteilt den Wert auf alle vier Kontakte und zeigt, dass Display und Social eine wichtige vorbereitende Rolle spielten, die bei Last Click unsichtbar geblieben wäre.",attrixusRole:`attriXus setzt Multi-Touch Attribution ein, um den vollständigen Weg bis zu jedem Lead und Verkauf sichtbar zu machen. Statt sich auf Plattform-Reports zu verlassen, die nur ihre eigene Leistung zeigen, verknüpft attriXus alle Kontakte über alle Kanäle hinweg. Unternehmen sehen genau, welche Kombinationen von MaÃnahmen zum Erfolg führen und wo Budget wirkt oder verpufft. 577 578Das macht Multi-Touch Attribution zu einem Kernstück von attriXus: Sie liefert die Datenbasis, um Marketingbudget nicht nach Gefühl oder Einzel-Reports, sondern nach tatsächlicher Wirkung zu verteilen.`,faqs:[{q:"Was ist der Unterschied zwischen Multi-Touch und Last Click Attribution?",a:"Last Click zählt nur den letzten Kontakt vor einer Conversion. Multi-Touch berücksichtigt alle Kontakte und verteilt den Wert, was zu einer realistischeren Kanalbewertung führt."},{q:"Welche Multi-Touch Modelle gibt es?",a:"Bekannte Modelle sind Linear (gleichmäÃige Verteilung), Time Decay (mehr Gewicht für spätere Kontakte) und datengetriebene Modelle, die den Beitrag auf Basis historischer Daten berechnen."},{q:"Für welche Unternehmen ist Multi-Touch Attribution besonders wichtig?",a:"Besonders bei komplexen Kaufprozessen mit vielen Kontakten, etwa im B2B oder bei hochpreisigen Produkten, ist Multi-Touch Attribution unverzichtbar, da hier Conversions selten über einen einzigen Kontakt entstehen."},{q:"Warum ist Multi-Touch Attribution besser als Plattform-Reports?",a:"Plattform-Reports zeigen nur die Leistung der jeweiligen Plattform. Multi-Touch Attribution betrachtet alle Kanäle zusammen und vermeidet Double Counting."}]},"last-click-attribution":{definition:"Last Click Attribution schreibt den gesamten Erfolg einer Conversion dem letzten Marketingkontakt zu, der vor dem Absc
578hluss stattfand. Es ist das einfachste und am weitesten verbreitete Attributionsmodell, kann aber vorbereitende Kanäle unterschätzen und zu verzerrter Budgetverteilung führen.",detailedExplanation:`Last Click Attribution ist das traditionelle Standardmodell im Online-Marketing. Es funktioniert einfach: Der letzte Kontakt, den ein Nutzer vor einer Conversion hatte, erhält die volle Anerkennung für den Erfolg. War der letzte Kontakt eine Google-Anzeige, bekommt Google Ads den gesamten Wert. War es ein Newsletter, bekommt das E-Mail Marketing den Erfolg. 579 580Die Popularität dieses Modells liegt in seiner Einfachheit. Es ist leicht zu verstehen, in fast allen Plattformen verfügbar und erfordert keine komplexen Berechnungen. Für viele Unternehmen war Last Click lange Zeit der Standard, weil Plattformen wie Google Ads es standardmäÃig verwenden. 581 582Das Problem: In der Realität durchlaufen Nutzer oft mehrere Kontaktpunkte, bevor sie konvertieren. Ein Nutzer sieht zuerst eine Meta-Anzeige, besucht die Website, kommt später über Google zurück, erhält einen Newsletter und kauft schlieÃlich beim letzten Besuch. Last Click würde dem letzten Kanal â etwa Direct Traffic oder Newsletter â den gesamten Erfolg zuschreiben. Die vorherigen Kontakte, die Aufmerksamkeit erzeugt und Vertrauen aufgebaut haben, bleiben unberücksichtigt. 583 584Das kann weitreichende Folgen haben. Kanäle, die am Ende der Customer Journey stehen, erscheinen im Reporting deutlich stärker, als sie tatsächlich sind. Kanäle, die am Anfang stehen und Nutzer erstmals ins System bringen, wirken schwach und könnten gekürzt werden. Die Folge ist eine verzerrte Budgetverteilung, bei der Budget in MaÃnahmen flieÃt, die gut aussehen, aber nicht den besten Beitrag leisten. 585 586Last Click Attribution ist trotzdem nicht grundsätzlich falsch. In bestimmten Szenarien, etwa bei sehr kurzen Customer Journeys oder bei impulsgetriebenen Käufen, kann der letzte Kontakt tatsächlich der entscheidende sein. In den meisten Fällen liefert Last Click aber ein unvollständiges Bild und sollte durch Multi-Touch-Modelle ergänzt werden.`,importance:`Last Click Attribution ist wichtig zu verstehen, weil sie die Basis vieler Standard-Reports ist. Wer nicht weiÃ, dass sein Reporting auf Last Click basiert, könnte Fehlschlüsse über die Leistung seiner Kanäle ziehen. Die Kenntnis der Grenzen von Last Click ist Voraussetzung für den Wechsel zu ausgeglicheneren Modellen wie Multi-Touch Attribution. 587 588Für die Budgetsteuerung ist Last Click problematisch, weil es Kanäle bevorzugt, die zufällig am Ende der Journey stehen. Das kann dazu führen, dass wertvolle vorbereitende Kanäle gekürzt werden, obwohl sie maÃgeblich zum Erfolg beitragen.`,practicalExample:"Ein Online-Shop schaltet Meta Ads und Google Ads. Ein Nutzer klickt auf eine Meta-Anzeige, besucht den Shop, kommt drei Tage später über eine Google-Suche zurück und kauft. Mit Last Click Attribution erhält Google Ads den vollen Erfolg, Meta Ads geht leer aus. Dabei hat die Meta-Anzeige den Nutzer erstmals auf den Shop aufmerksam gemacht. Ohne Multi-Touch Attribution würde der Werbetreibende das Meta-Budget möglicherweise kürzen, obwohl es eine wichtige Rolle spielte.",attrixusRole:`attriXus geht über Last Click Attribution hinaus, indem es alle Kontakte auf dem Weg zu einer Conversion sichtbar macht. Statt nur den letzten Klick zu zählen, zeigt attriXus den vollständigen Pfad und den Beitrag jedes Kanals. Unternehmen erkennen, welche MaÃnahmen wirklich zum Erfolg beitragen und wo Last Click das Bild verzerrt. 589 590Das hilft, Fehlentscheidungen im Marketingbudget zu vermeiden und Budget nach tatsächlicher Wirkung statt nach zufälliger Positionierung am Ende der Journey zu verteilen.`,faqs:[{q:"Warum ist Last Click Attribution problematisch?",a:"Es berücksichtigt nur den letzten Kontakt und ignoriert vorbereitende Kanäle. Das kann zu einer verzerrten Kanalbewertung und falschen Budgetentscheidungen führen."},{q:"Wann ist Last Click sinnvoll?",a:"Bei sehr kurzen Customer Journeys oder impulsgetriebenen Käufen kann der letzte Kontakt tatsächlich der entscheidende sein. In den meisten Fällen ist Multi-Touch Attribution jedoch aussagekräftiger."},{q:"Warum wird Last Click trotzdem so häufig verwendet?",a:"Es ist einfach, in fast allen Plattformen verfügbar und erfordert keine komplexen Berechnungen. Viele Plattformen verwenden es als Standardmodell."},{q:"Wie unterscheidet sich Last Click von First Click?",a:"Last Click schreibt den Erfolg dem letzten Kontakt zu, First Click dem ersten. Beide Modelle berücksichtigen nur einen einzigen Kontakt und ignorieren die restliche Journey."}]},"first-click-attribution":{definition:"First Click Attribution schreibt den gesamten Erfolg einer Conversion dem ersten Marketingkontakt zu, den ein Nutzer hatte. Es bewertet Kanäle, die neue Nutzer ins System bringen, kann aber spätere Kontakte unterschÃ
590¤tzen, die zum Abschluss geführt haben.",detailedExplanation:`First Click Attribution ist das Gegenstück zu Last Click Attribution. Anstatt den letzten Kontakt vor einer Conversion zu bewerten, schreibt es den gesamten Erfolg dem ersten Kontakt zu, den ein Nutzer mit dem Unternehmen hatte. War der erste Kontakt eine Meta-Anzeige, bekommt Meta Ads den vollen Wert, unabhängig davon, welche Kanäle danach folgten. 591 592Dieses Modell hat eine klare Stärke: Es macht sichtbar, welche Kanäle und Kampagnen dafür sorgen, dass Nutzer überhaupt erst in die Customer Journey einsteigen. In Unternehmen, die stark auf Neukundengewinnung ausgerichtet sind, kann diese Perspektive wertvoll sein. First Click zeigt, welche MaÃnahmen Aufmerksamkeit erzeugen und den ersten Schritt im Kaufprozess auslösen. 593 594Die Schwäche liegt auf der Hand: First Click ignoriert alle Kontakte, die nach dem ersten folgen. Ein Nutzer sieht vielleicht zuerst eine Display-Anzeige, klickt Tage später auf eine Google-Suchanzeige, kehrt über einen Newsletter zurück und kauft. First Click würde der Display-Anzeige den gesamten Erfolg zuschreiben, obwohl Google und Newsletter maÃgeblich zum Abschluss beigetragen haben. 595 596Das kann dazu führen, dass Abschluss-orientierte Kanäle wie Brand-Kampagnen oder Retargeting unterschätzt werden. Diese Kanäle sind oft nah an der Conversion und haben hohe Conversion Rates, werden aber in First-Click-Modellen nicht entsprechend bewertet, weil sie nicht der erste Kontakt waren. 597 598In der Praxis wird First Click selten als alleiniges Modell verwendet. Es ist aber nützlich als Ergänzung zu Last Click oder Multi-Touch Modellen, um ein vollständigeres Bild zu erhalten. Der Vergleich zwischen First Click und Last Click zeigt bereits, wie stark die Kanalbewertung vom gewählten Modell abhängt und warum Multi-Touch Attribution oft die ausgewogenste Lösung ist.`,importance:`First Click Attribution ist wichtig, weil sie die Rolle von Kanälen sichtbar macht, die am Anfang der Customer Journey stehen. Ohne diese Perspektive könnten Marketingteams glauben, dass bestimmte Kanäle keine Wirkung haben, obwohl sie den ersten Kontakt und damit den Einstieg in die Kaufreise liefern. 599 600Die Kenntnis von First Click hilft Unternehmen zu verstehen, woher ihre Nutzer kommen und welche MaÃnahmen Neukundengewinnung treiben. Das ist besonders wertvoll in Wachstumsphasen, in denen die Gewinnung neuer Nutzer im Fokus steht.`,practicalExample:"Ein Unternehmen schaltet Display Ads und Google Brand-Kampagnen. Ein Nutzer sieht zuerst eine Display-Anzeige, merkt sich die Marke, sucht Tage später nach dem Markennamen und kauft über die Brand-Kampagne. Mit First Click würde die Display-Anzeige den gesamten Erfolg erhalten. Die Brand-Kampagne, die den Nutzer zum Abschluss gebracht hat, würde leer ausgehen. Beide Kanäle waren wichtig, aber First Click bewertet nur den ersten Kontakt.",attrixusRole:`attriXus nutzt First Click Attribution als eine von mehreren Perspektiven, um den Beitrag einzelner Kanäle sichtbar zu machen. In Kombination mit Last Click und Multi-Touch Modellen entsteht ein vollständiges Bild der Customer Journey. Unternehmen erkennen nicht nur, welche Kanäle am Anfang stehen, sondern auch, welche den Nutzer zurückholen und zum Abschluss führen. 601 602Das hilft, Budget ausgewogen zu verteilen und sowohl Neukundengewinnung als auch Abschluss-orientierte Kanäle angemessen zu bewerten.`,faqs:[{q:"Was ist der Unterschied zwischen First Click und Last Click?",a:"First Click schreibt den Erfolg dem ersten Kontakt zu, Last Click dem letzten. Beide berücksichtigen nur einen Kontakt und ignorieren die restliche Journey."},{q:"Wann ist First Click sinnvoll?",a:"Wenn Neukundengewinnung im Fokus steht und man verstehen will, welche Kanäle Nutzer erstmals ins System bringen. Als alleiniges Modell ist es meist zu unvollständig."},{q:"Warum wird First Click selten allein verwendet?",a:"Es ignoriert alle Kontakte nach dem ersten, was zu einer Unterschätzung abschlussorientierter Kanäle wie Brand-Kampagnen oder Retargeting führt."},{q:"Wie hilft der Vergleich von First und Last Click?",a:"Der Vergleich zeigt, wie stark die Kanalbewertung vom Modell abhängt und warum Multi-Touch Attribution oft die ausgewogenste Lösung ist."}]},"customer-journey-tracking":{definition:"Customer Journey Tracking erfasst die gesamte Kontaktfolge eines Nutzers von der ersten Werbung bis zur C
602onversion. Es macht sichtbar, welche Kanäle wann und in welcher Reihenfolge wirkten, und ist die Grundlage für Multi-Touch Attribution und kanalübergreifende Budgetsteuerung.",detailedExplanation:`Customer Journey Tracking ist die Voraussetzung für jedes ernsthafte Attribution-Modell, das über den letzten Klick hinausgeht. Es erfasst nicht nur einzelne Kontakte, sondern den vollständigen Pfad, den ein Nutzer von der ersten Werbeimpression bis zum Kauf oder der Anfrage durchläuft. Jeder Touchpoint wird dabei erfasst und in einen zeitlichen und kanalübergreifenden Zusammenhang gestellt. 603 604In der Praxis ist das anspruchsvoll. Nutzer kommen über verschiedene Kanäle â Google Ads, Meta Ads, SEO, Newsletter, Affiliate, Direct â und über verschiedene Geräte â Smartphone, Tablet, Desktop â mit einem Unternehmen in Berührung. Ohne Customer Journey Tracking sieht der Werbetreibende nur einzelne Besuche oder Klicks, aber nicht den zusammenhängenden Weg. Das führt zu einer fragmentierten Sicht, bei der jeder Kanal seinen eigenen Erfolg meldet, ohne dass klar ist, wie die Kanäle zusammenwirken. 605 606Customer Journey Tracking löst dieses Problem, indem es alle Kontakte eines Nutzers oder einer Nutzergruppe in einer zusammenhängenden Journey verknüpft. Dafür sind mehrere technische Voraussetzungen nötig: ein konsistentes Tracking über alle Kanäle hinweg, eine Zuordnung von Kontakten zu Nutzern (etwa über First-Party-Identifikatoren) und eine Speicherung der Kontaktfolge über den Zeitpunkt der Conversion hinaus. 607 608Mit dieser Datengrundlage können Unternehmen typische Journeys analysieren, wiederkehrende Muster erkennen und verstehen, welche Kanalkombinationen besonders oft zu Conversions führen. Das ist nicht nur für Attribution wichtig, sondern auch für Kampagnenplanung, Retargeting-Strategien und die Optimierung des Funnel. 609 610Besonders wertvoll wird Customer Journey Tracking in Kombination mit Cross Device Tracking. Da Nutzer heute häufig zwischen Geräten wechseln, ist die Erfassung der Journey über ein einzelnes Gerät oft unvollständig. Erst die geräteübergreifende Verknüpfung ergibt ein vollständiges Bild der Kontaktfolge.`,importance:`Customer Journey Tracking ist wichtig, weil es die Grundlage für eine Bewertung von Marketingwirkung liefert, die der Realität entspricht. Ohne Journey-Tracking bleiben Unternehmen auf Einzelberichte der Plattformen angewiesen, die Double Counting und unvollständige Zuordnung nicht vermeiden können. 611 612Mit Customer Journey Tracking erkennen Unternehmen, welche Kanäle am Anfang der Journey stehen, welche den Nutzer zurückholen und welche zum Abschluss führen. Das ermöglicht eine Budgetverteilung nach tatsächlicher Wirkung und verhindert, dass Budget in Kanäle flieÃt, die nur im Reporting gut aussehen.`,practicalExample:"Ein Unternehmen schaltet Google Ads, Meta Ads und Newsletter. Ein Nutzer sieht eine Meta-Anzeige, besucht die Website, kommt zwei Tage später über Google zurück, erhält eine Woche später einen Newsletter und stellt dann eine Anfrage. Ohne Customer Journey Tracking würde jede Plattform den Erfolg für sich beanspruchen oder nur der letzte Kontakt gezählt. Mit Journey-Tracking wird der vollständige Pfad sichtbar: Meta hat den ersten Kontakt geliefert, Google den Nutzer zurückgeholt und der Newsletter zum Abschluss geführt.",attrixusRole:`attriXus macht Customer Journey Tracking zum Kern seiner Funktionsweise. Jeder Lead und Verkauf kann zurückgespult werden, sodass der vollständige Pfad bis zur Conversion sichtbar wird. Unternehmen sehen, welche Kanäle, Kampagnen und Kontakte in welcher Reihenfolge beteiligt waren. 613 614Das unterscheidet attriXus von Plattform-Reports, die nur ihre eigene Leistung zeigen. Mit attriXus entsteht ein übergreifendes Bild, das Double Counting vermeidet und eine Budgetverteilung nach tatsächlicher Wirkung ermöglicht. Wo Marketingbudget wirkt und wo es verpufft, wird durch Customer Journey Tracking sichtbar.`,faqs:[{q:"Was ist der Unterschied zwischen Customer Journey Tracking und normalem Tracking?",a:"Normales Tracking erfasst einzelne Kontakte oder Aktionen. Customer Journey Tracking verknüpft alle Kontakte zu einem zusammenhängenden Pfad und macht die Beziehung zwischen Kanälen sichtbar."},{q:"Warum ist Customer Journey Tracking über Geräte hinweg wichtig?",a:"Nutzer wechseln häufig zwischen Smartphone, Tablet und De
614sktop. Ohne geräteübergreifendes Tracking bleibt die Journey unvollständig und Kontakte gehen verloren."},{q:"Was braucht man technisch für Customer Journey Tracking?",a:"Konsistentes Tracking über alle Kanäle, eine Zuordnung von Kontakten zu Nutzern und eine Speicherung der Kontaktfolge über den Zeitpunkt der Conversion hinaus."},{q:"Wie hilft Customer Journey Tracking bei der Budgetverteilung?",a:"Es zeigt, welche Kanäle in welcher Phase der Journey wichtig sind, sodass Budget nach tatsächlicher Wirkung statt nach Einzel-Reports verteilt werden kann."}]},"cross-device-tracking":{definition:"Cross Device Tracking verfolgt Nutzer über mehrere Geräte hinweg, etwa Smartphone, Tablet und Desktop. Es ermöglicht, Customer Journeys zu rekonstruieren, die über Gerätegrenzen gehen, und ist wichtig für eine vollständige Attribution und kanalübergreifende Bewertung.",detailedExplanation:`Cross Device Tracking ist eine der gröÃten Herausforderungen im modernen Online-Marketing. Nutzer wechseln ständig zwischen Geräten: Sie sehen morgens eine Anzeige auf dem Smartphone, besuchen abends die Website auf dem Laptop und kaufen schlieÃlich am Tablet. Ohne Cross Device Tracking erscheinen diese Kontakte als separate Nutzer, und die Verbindung zwischen ihnen geht verloren. 615 616Das Problem: Traditionelles Tracking basiert oft auf Cookies, die an ein einzelnes Gerät und einen einzelnen Browser gebunden sind. Ein Nutzer, der auf dem Smartphone klickt und auf dem Laptop kauft, wird als zwei verschiedene Nutzer erfasst. Die Folge ist eine unvollständige Customer Journey, bei der wichtige Kontakte fehlen und die Attribution verzerrt wird. 617 618Cross Device Tracking löst dieses Problem, indem es Kontakte über Geräte hinweg verknüpft. Dafür gibt es verschiedene Ansätze: Login-basiertes Tracking verknüpft Kontakte, sobald sich ein Nutzer auf einem Gerät einloggt. Probabilistische Methoden nutzen statistische Merkmale wie Gerätetyp, Standort und Verhaltensmuster, um Geräte mit hoher Wahrscheinlichkeit demselben Nutzer zuzuordnen. First-Party-Tracking und Server-Side-Tracking erleichtern Cross Device Tracking, da sie robustere Identifikatoren nutzen als Drittanbieter-Cookies. 619 620Die Bedeutung von Cross Device Tracking wächst, da ein GroÃteil der Internetnutzung mobil stattfindet und Nutzererwartungen geräteübergreifend sind. Unternehmen, die Cross Device Tracking nicht beherrschen, riskieren, dass wichtige Teile der Customer Journey unsichtbar bleiben. Das kann dazu führen, dass mobile Kanäle, die oft am Anfang der Journey stehen, unterschätzt werden, während Desktop-Kanäle, die näher am Abschluss liegen, überschätzt werden. 621 622Mit zunehmenden Datenschutzanforderungen und dem Ende von Drittanbieter-Cookies wird First-Party-basiertes Cross Device Tracking immer wichtiger. Unternehmen müssen eigene Identifikatoren aufbauen, etwa durch Logins, Anmeldungen oder Consent-basiertes Tracking, um die Geräteübergreifende Journey erfassen zu können.`,importance:`Cross Device Tracking ist wichtig, weil die Realität der Internetnutzung geräteübergreifend ist. Ohne Cross Device Tracking bleiben wichtige Teile der Customer Journey unsichtbar, was zu verzerrter Attribution und falschen Budgetentscheidungen führt. Besonders mobile Kanäle, die oft den ersten Kontakt liefern, werden ohne Cross Device Tracking unterschätzt. 623 624Für die Budgetsteuerung ist Cross Device Tracking unerlässlich, da es erst die vollständige Journey und damit den wahren Beitrag jedes Kanals sichtbar macht.`,practicalExample:"Ein Nutzer sieht morgens auf dem Smartphone eine Meta-Anzeige, besucht die Website, merkt sich das Produkt. Abends sucht er auf dem Laptop nach dem Unternehmen, klickt auf eine Google-Anzeige und kauft. Ohne Cross Device Tracking erscheinen Smartphone- und Desktop-Kontakt als zwei verschiedene Nutzer. Meta Ads scheint keinen Erfolg zu bringen, Google Ads bekommt den gesamten Kauf zugeschrieben. Mit Cross Device Tracking wird sichtbar, dass beide Kontakte zum selben Nutzer gehören und beide Kanäle zum Erfolg beigetragen haben.",attrixusRole:`attriXus nutzt Cross Device Tracking, um Customer Journeys vollständig zu erfassen, auch wenn Nutzer zwischen Geräten wechseln. Durch First-Party-Tracking und robuste Identifikatoren können Kontakte über Smartphone, Tablet und De
624sktop hinweg verknüpft werden. 625 626Das stellt sicher, dass keine Teile der Journey verloren gehen und die Attribution den wahren Beitrag jedes Kanals widerspiegelt. Unternehmen erkennen, welche Kanäle auf welchen Geräten wirken und können Budget geräteübergreifend optimieren.`,faqs:[{q:"Warum ist Cross Device Tracking schwierig?",a:"Traditionelle Cookies sind an ein Gerät und einen Browser gebunden. Ohne zusätzliche Identifikatoren können Kontakte auf verschiedenen Geräten nicht demselben Nutzer zugeordnet werden."},{q:"Welche Methoden gibt es für Cross Device Tracking?",a:"Login-basiertes Tracking, probabilistische Methoden und First-Party-Tracking mit eigenen Identifikatoren sind die gängigsten Ansätze."},{q:"Was ist X-Device Tracking?",a:"X-Device Tracking ist eine alternative Bezeichnung für Cross Device Tracking. Der geläufigere Begriff ist Cross Device Tracking."},{q:"Warum wird Cross Device Tracking mit Datenschutz wichtiger?",a:"Mit dem Ende von Drittanbieter-Cookies müssen Unternehmen eigene Identifikatoren aufbauen, etwa durch Logins oder Consent-basiertes Tracking, um geräteübergreifende Journeys zu erfassen."}]},"conversion-tracking":{definition:"Conversion Tracking erfasst, wann ein Nutzer ein definiertes Ziel erreicht, etwa einen Kauf oder eine Anfrage. Es verknüpft die Conversion mit vorangegangenen Marketingkontakten und ist die Grundlage für die Bewertung von Kampagnen und die Berechnung von ROAS und ROI.",detailedExplanation:`Conversion Tracking ist eine der grundlegendsten Komponenten im Online-Marketing. Es erfasst, wann ein Nutzer eine definierte Aktion abschlieÃt â einen Kauf, eine Anfrage, eine Anmeldung, einen Download â und verknüpft diese Aktion mit den Marketingkontakten, die ihr vorausgingen. Ohne Conversion Tracking wäre es unmöglich zu beurteilen, ob Kampagnen erfolgreich sind und wie das Marketingbudget wirksam eingesetzt wird. 627 628Technisch funktioniert Conversion Tracking meist über Tracking-Pixels, JavaScript-Tags oder Server-Side-Implementierungen. Wenn ein Nutzer eine Conversion abschlieÃt, wird ein Signal gesendet, das die Conversion mit den vorangegangenen Kontakten verknüpft. Das kann über Cookies, First-Party-Identifikatoren oder Consent-basierte Methoden erfolgen. 629 630Die Herausforderung im modernen Conversion Tracking liegt in den zunehmenden Einschränkungen. Browser wie Safari und Firefox blockieren Drittanbieter-Cookies, Ad-Blocker verhindern das Laden von Tracking-Skripten, und Datenschutzanforderungen wie die DSGVO verlangen explizite Einwilligung. Das hat zur Folge, dass traditionelles Conversion Tracking unvollständig wird und Conversions verloren gehen. 631 632Um diesem Problem zu begegnen, setzen Unternehmen zunehmend auf Server-Side Tracking und First-Party-Tracking. Server-Side Tracking verlagert die Datenerfassung auf den eigenen Server und ist robuster gegen Ad-Blocker und Browser-Einschränkungen. First-Party-Tracking nutzt eigene Identifikatoren statt Drittanbieter-Cookies und ist datenschutzfreundlicher. Enhanced Conversions von Google reichern Conversion-Daten durch gehashte Nutzerdaten an, um die Erfassung auch ohne Cookies zu verbessern. 633 634Conversion Tracking allein liefert aber nur die Frage, ob eine Conversion stattfand. Erst in Kombination mit Attribution wird sichtbar, welche Kanäle und Kontakte dazu beigetragen haben. Conversion Tracking ist die Basis, Attribution die Bewertung.`,importance:`Conversion Tracking ist wichtig, weil es den ErfolgsmaÃstab für alle MarketingmaÃnahmen liefert. Ohne Conversion Tracking können Unternehmen nicht beurteilen, ob Kampagnen zu Käufen, Anfragen oder Anmeldungen führen. Das macht jede Budgetentscheidung willkürlich. 635 636In Kombination mit Attribution wird aus Conversion Tracking ein Werkzeug, das nicht nur misst, ob Conversions entstehen, sondern auch, welche Kanäle und Kampagnen sie ausgelöst haben. Das ist die Grundlage für ROAS, ROI und jede form von Budgetsteuerung.`,practicalExample:"Ein Online-Shop schaltet Google Ads und Meta Ads. Ein Nutzer klickt auf eine Google-Anzeige, besucht den Shop, bricht aber ab. Tage später klickt er auf eine Meta-Anzeige, kehrt zurück und kauft. Conversion Tracking erfasst den Kauf und verknüpft ihn mit dem Meta-Kontakt. Erst in Kombination mit Multi-Touch Attribution wird auch der Google-Kontakt sichtbar, der den Nutzer erstmals auf den Shop gebracht hat.",attrixusRole:`attriXus nutzt C
636onversion Tracking als Basis, geht aber darüber hinaus, indem es nicht nur die Conversion erfasst, sondern den vollständigen Weg dorthin. Jeder Kauf und jede Anfrage wird mit allen vorangegangenen Kontakten verknüpft, sodass sichtbar wird, welche Kanäle und Kampagnen wirklich zum Erfolg beigetragen haben. 637 638Dadurch wird Conversion Tracking bei attriXus zu mehr als einer reinen Zählung: Es wird zur Grundlage für Attribution, Budgetsteuerung und die Erkennung, wo Marketingbudget wirkt und wo es verpufft.`,faqs:[{q:"Was ist der Unterschied zwischen Conversion Tracking und Attribution?",a:"Conversion Tracking erfasst, ob eine Conversion stattfand. Attribution bewertet, welche Kanäle und Kontakte dazu beigetragen haben."},{q:"Warum wird Conversion Tracking schwieriger?",a:"Browser blockieren Drittanbieter-Cookies, Ad-Blocker verhindern Tracking-Skripte, und Datenschutzanforderungen verlangen Einwilligung. Server-Side und First-Party-Tracking sind die Antwort."},{q:"Was sind Enhanced Conversions?",a:"Eine Funktion von Google Ads, die Conversion-Daten durch gehashte Nutzerdaten anreichert, um Tracking auch ohne Cookies robuster zu machen."},{q:"Welche Conversions sollte man tracken?",a:"Mindestens die Haupt-Conversions wie Käufe und Anfragen. Micro-Conversions wie Newsletter-Anmeldungen helfen zusätzlich, vorbereitende MaÃnahmen zu bewerten."}]},"first-party-tracking":{definition:"First-Party-Tracking erfasst Nutzerdaten durch das Unternehmen selbst, statt auf Drittanbieter-Cookies zurückzugreifen. Es ist datenschutzfreundlicher, robuster gegenüber Browser-Einschränkungen und eine Grundlage für zuverlässige Attribution und Customer Journey Tracking.",detailedExplanation:`First-Party-Tracking gewinnt im Online-Marketing zunehmend an Bedeutung. Der Hintergrund: Traditionelles Tracking basierte lange Zeit auf Drittanbieter-Cookies, die von externen Anbietern gesetzt wurden und das Nutzerverhalten über verschiedene Websites hinweg verfolgten. Diese Methode ist heute stark eingeschränkt. Browser wie Safari und Firefox blockieren Drittanbieter-Cookies, Chrome hat den Ausstieg eingeleitet, und Datenschutzanforderungen wie die DSGVO fordern eine datenschutzfreundlichere Datenerhebung. 639 640First-Party-Tracking löst dieses Problem, indem das Unternehmen selbst die Daten erfasst. Statt auf externe Cookies zu vertrauen, nutzt das Unternehmen eigene Identifikatoren, etwa First-Party-Cookies, Logins, Anmeldungen oder Consent-basierte Methoden. Da die Daten beim Unternehmen selbst und nicht bei einem Dritten liegen, sind sie datenschutzfreundlicher und robuster gegenüber Browser-Einschränkungen. 641 642Die Vorteile von First-Party-Tracking sind vielfältig. Erstens ist es zuverlässiger: Da First-Party-Cookies nicht von Browsern blockiert werden, bleibt das Tracking auch dann funktionsfähig, wenn Drittanbieter-Cookies nicht mehr verfügbar sind. Zweitens ist es datenschutzfreundlicher: Nutzerdaten liegen beim Unternehmen, das die direkte Beziehung zum Nutzer hat, und können im Rahmen der erteilten Einwilligung verwendet werden. Drittens ist es eine Voraussetzung für Customer Journey Tracking und Attribution, die über einzelne Sitzungen hinausgehen. 643 644In der Praxis umfasst First-Party-Tracking mehrere Elemente: eine eigene Tracking-Infrastruktur, oft in Kombination mit Server-Side Tracking, Consent Management für die Einholung von Einwilligungen, und eigene Identifikatoren, die Nutzer über Besuche und Geräte hinweg verknüpfen können. Enhanced Conversions von Google und ähnliche Funktionen ergänzen First-Party-Tracking, indem sie Conversion-Daten durch gehashte Nutzerdaten anreichern. 645 646Für die Attribution ist First-Party-Tracking eine Grundvoraussetzung. Nur mit eigenen Daten kann eine vollständige Customer Journey erfasst und der Beitrag einzelner Kanäle sauber bewertet werden. Plattform-Reports, die auf Drittanbieter-Cookies basieren, liefern zunehmend unvollständige Daten und können die kanalübergreifende Wirklichkeit nicht abbilden.`,importance:`First-Party-Tracking ist wichtig, weil es die Datengrundlage für zuverlässiges Online-Marketing sichert. Mit dem Ende von Drittanbieter-Cookies reicht traditionelles Tracking nicht mehr aus. Unternehmen, die kein First-Party-Tracking aufbauen, riskieren, dass Tracking unvollständig wird und Attribution sowie Budgetsteuerung auf unzuverlässigen Daten basieren. 647 648Für die DSGVO-Konformität ist First-Party-Tracking ebenfalls von zentraler Bedeutung, da es eine datenschutzfreundlichere Datenerhebung ermöglicht und die Kontrolle über Nutzerdaten beim Unternehmen belässt.`,practicalExample:"Ein Online-Shop nutzt traditionelles Tracking über Drittanbieter-Cookies. Ein Nutzer besucht den Shop über Safari, dessen Browser Drittanbieter-Cookies blockiert. Der Besuch wird nicht erfasst, die Attribution ist unvollständig. Mit First-Party-Tracking über eigene Cookies und Server-Side-Erfassung wird der Besuch zuverlässig erfasst und in die Customer Journey integriert, auch wenn der Browser Drittanbieter-Cookies blockiert.",attrixusRole:`attriXus basiert auf First-Party-Tracking, um zuverlässige und vollständige Daten über die Customer Journey zu erfassen. Statt sich auf Plattform-Reports zu verlassen, die zunehmend unvollständig sind, nutzt attriXus eine eigene Tracking-Infrastruktur, die robust gegenüber Browser-Einschränkungen und datenschutzkonform ist. 649 650Das stellt sicher, dass Attribution und Budgetsteuerung auf einer soliden Datengrundlage basieren. Unternehmen erkennen, welche Online-Werbung wirklich wirkt, auch wenn traditionelles Tracking versagt.`,faqs:[{q:"Was ist der Unterschied zwischen First-Party und Third-Party Tracking?",a:"First-Party-Tracking erfasst Daten durch das Unternehmen selbst. Third-Party-Tracking nutzt externe Anbieter und Drittanbieter-Cookies, die zunehmend blockiert werden."},{q:"Warum wird First-Party-Tracking immer wichtiger?",a:"Browser blockieren Drittanbieter-Cookies, und Datenschutzanforderungen verlangen eine datenschutzfreundlichere Datenerhebung. First-Party-Tracking ist robuster und datenschutzkonform."},{q:"Ist First-Party-Tracking DSGVO-konform?",a:"Ja, wenn es mit Consent Management und Datenminimierung umgesetzt wird. First-Party-Tracking ist datenschutzfreundlicher als Third-Party-Tracking, erfordert aber weiterhin Einwilligung."},{q:"Wie hängt First-Party-Tracking mit Server-Side Tracking zusammen?",a:"Server-Side Tracking ist eine Methode, um First-Party-Daten zu erfassen, indem die Datenerfassung auf den eigenen Server verlagert wird. Beide ergänzen sich."}]},"server-side-tracking":{definition:"Server-Side Tracking verlagert die Datenerfassung vom Browser auf den Server. Es ist robuster gegen Ad-Blocker und Browser-Einschränkungen, datenschutzfreundlicher und eine Grundlage für zuverlässige Attribution und First-Party-Tracking.",detailedExplanation:`Server-Side Tracking ist eine der wichtigsten Entwicklungen im modernen Tracking. Traditionelles Tracking läuft clientseitig ab: Tracking-Skripte und Pixels werden im Browser des Nutzers geladen und senden Daten direkt an Analytics- oder Werbeplattformen. Dieser Ansatz ist zunehmend eingeschränkt, da Ad-Blocker die Skripte blockieren, Browser Drittanbieter-Cookies verhindern und Datenschutzanforderungen die Datenerhebung erschweren. 651 652Server-Side Tracking löst dieses Problem, indem es die Datenerfassung auf einen eigenen Server verlagert. Statt Daten direkt vom Browser an externe Plattformen zu senden, schickt der Browser die Daten an den Server des Unternehmens, der sie dann verarbeitet und an die entsprechenden Tools weiterleitet. Das hat mehrere Vorteile. 653 654Erstens ist Server-Side Tracking robuster gegen Ad-Blocker. Da die Daten an die eigene Domain gesendet werden und nicht an externe Tracking-Endpunkte, werden sie von Ad-Blockern nicht erfasst. Zweitens ist es datenschutzfreundlicher. Die Daten liegen beim Unternehmen, das die direkte Beziehung zum Nutzer hat, und können im Rahmen der erteilten Einwilligung verwendet werden. Drittens ermöglicht es eine bessere Kontrolle über die Daten. Das Unternehmen kann entscheiden, welche Daten an welche Tools weitergeleitet werden, was die DSGVO-Konformität erleichtert. 655 656In der Praxis umfasst Server-Side Tracking meist einen eigenen Server, der als Proxy oder Endpunkt für Tracking-Daten fungiert, eine Consent-Management-Lösung, die sicherstellt, dass nur nach Einwilligung Daten erfasst werden, und eine Integration mit Analytics- und Werbeplattformen. Der Google Tag Manager bietet mit seiner Server-Side-Funktion eine Möglichkeit, diesen Ansatz umzusetzen. 657 658Für die Attribution ist Server-Side Tracking eine Grundvoraussetzung für zuverlässige Daten. Da Ad-Blocker und Browser-Einschränkungen clientseitiges Tracking zunehmend unvollständig machen, liefert Server-Side Tracking die Datenqualität, die nötig ist, um Customer Journeys vollständig zu erfassen und den Beitrag einzelner Kanäle sauber zu bewerten. 659 660In Kombination mit First-Party-Tracking und Enhanced Conversions entsteht eine Tracking-Infrastruktur, die auch unter verschärften Datenschutz- und Browser-Bedingungen zuverlässig funktioniert.`,importance:`Server-Side Tracking ist wichtig, weil es die Datengrundlage für zuverlässiges Online-Marketing sichert. Mit Ad-Blockern und Browser-Einschränkungen wird clientseitiges Tracking zunehmend unvollständig. Unternehmen, die kein Server-Side Tracking einsetzen, riskieren, dass Conversions verloren gehen und Attribution auf unzuverlässigen Daten basiert. 661 662Für die DSGVO-Konformität ist Server-Side Tracking ebenfalls vorteilhaft, da es die Kontrolle über die Daten beim Unternehmen belässt und eine datenschutzfreundlichere Datenerhebung ermöglicht.`,practicalExample:"Ein Online-Shop nutzt clientseitiges Tracking. Ein Nutzer mit Ad-Blocker besucht den Shop, klickt auf eine Anzeige und kauft. Der Kauf wird nicht erfasst, weil der Ad-Blocker das Tracking-Skript blockiert. Mit Server-Side Tracking werden die Daten an den eigenen Server gesendet, der Ad-Blocker greift nicht, und der Kauf wird zuverlässig erfasst und in die Attribution einbezogen.",attrixusRole:`attriXus nutzt Server-Side Tracking, um eine zuverlässige und vollständige Datengrundlage zu schaffen. Statt sich auf clientseitiges Tracking zu verlassen, das zunehmend unvollständig ist, erfasst attriXus Daten auf Server-Ebene und ist damit robust gegen Ad-Blocker und Browser-Einschränkungen. 663 664Das stellt sicher, dass Attribution und Budgetsteuerung auf vollständigen Daten basieren. Unternehmen erkennen, welche Online-Werbung wirklich wirkt, auch wenn traditionelles Tracking versagt.`,faqs:[{q:"Was ist der Unterschied zwischen Server-Side und Client-Side Tracking?",a:"Client-Side Tracking läuft im Browser und sendet Daten direkt an externe Plattformen. Server-Side Tracking verlagert die Erfassung auf einen eigenen Server und ist robuster und datenschutzfreundlicher."},{q:"Warum ist Server-Side Tracking robuster gegen Ad-Blocker?",a:"Da die Daten an die eigene Domain gesendet werden und nicht an externe Tracking-Endpunkte, werden sie von Ad-Blockern nicht erfasst."},{q:"Ist Server-Side Tracking DSGVO-konform?",a:"Ja, wenn es mit Consent Management umgesetzt wird. Es ist datenschutzfreundlicher als Client-Side-Tracking, da die Daten beim Unternehmen liegen."},{q:"Wie hängt Server-Side Tracking mit First-Party-Tracking zusammen?",a:"Server-Side Tracking ist eine Methode, um First-Party-Daten zu erfassen. Beide ergänzen sich und bilden zusammen eine zuverlässige, datenschutzfreundliche Tracking-Infrastruktur."}]},roas:{definition:"ROAS (Return on Ad Spend) gibt das Verhältnis von Umsatz zu Werbekosten an. Er ist eine zentrale Kennzahl im Performance Marketing und hilft zu beurteilen, ob Kampagnen und Kanäle rentabel arbeiten und wo Budget wirkt.",detailedExplanation:`ROAS ist eine der wichtigsten Kennzahlen im Performance Marketing. Er misst, wie viel Umsatz eine WerbemaÃnahme im Verhältnis zu ihren Kosten erzeugt. Die Berechnung ist einfach: Umsatz geteilt durch Werbekosten. Ein ROAS von 4 bedeutet, dass für jeden Euro Werbekosten vier Euro Umsatz erzielt wurden. 665 666ROAS ist eng mit ROI verwandt, aber nicht identisch. ROI bezieht sich auf den Gewinn im Verhältnis zur Investition, während ROAS den Umsatz im Verhältnis zu den Werbekosten betrachtet. ROAS ist einfacher zu berechnen, da keine Margen- oder Fixkosten einbezogen werden, aber er sagt auch weniger über die tatsächliche Rentabilität aus. Ein hoher ROAS bedeutet nicht zwingend einen hohen Gewinn, wenn die Margen gering sind. 667 668Im Online-Marketing wird ROAS auf verschiedenen Ebenen eingesetzt: pro Kampagne, pro Kanal, pro Anzeigengruppe oder pro Keyword. Das hilft zu erkennen, wo Werbeausgaben den meisten Umsatz bringen und wo Budget möglicherweise verschwendet wird. Ein ROAS von 2 bei Google Ads und ein ROAS von 5 bei Meta Ads würde bedeuten, dass Meta Ads im Verhältnis zu den Kosten mehr Umsatz liefert. 669 670Die Herausforderung bei ROAS liegt in der korrekten Zuordnung von Umsatz zu Kanälen. Wenn nur der letzte Klick betrachtet wird, kann der ROAS einzelner Kanäle verzerrt sein. Ein Kanal, der oft am Ende der Journey steht, bekommt einen hohen ROAS, während vorbereitende Kanäle niedrig erscheinen. Erst mit Multi-Touch Attribution wird der ROAS realistisch, da der Umsatz entsprechend dem tatsächlichen Beitrag der Kanäle verteilt wird. 671 672ROAS allein ist auch nicht ausreichend für Budgetentscheidungen. Ein Kanal mit hohem ROAS kann trotzdem geringe absolute Umsätze liefern, wenn das Volumen klein ist. Umgekehrt kann ein Kanal mit niedrigerem ROAS dennoch wertvoll sein, wenn er groÃe Volumina liefert. ROAS sollte daher immer zusammen mit absoluten Umsätzen, Margen und dem Beitrag zur Customer Journey betrachtet werden.`,importance:`ROAS ist wichtig, weil er eine schnelle und verständliche Kennzahl dafür liefert, ob Werbeausgaben rentabel sind. Ohne ROAS können Unternehmen nicht beurteilen, ob sie für ihre Werbekosten ausreichend Umsatz erhalten. Das macht jede Budgetentscheidung willkürlich. 673 674In Kombination mit Attribution wird ROAS zu einem Werkzeug, das nicht nur misst, ob Kampagnen Umsatz bringen, sondern auch, welche Kanäle den gröÃten Beitrag leisten. Das ist die Grundlage für Budgetverteilung und Kampagnenoptimierung.`,practicalExample:"Ein Online-Shop gibt 1.000 Euro für Google Ads aus und erzielt darüber 4.000 Euro Umsatz. Der ROAS beträgt 4. Für Meta Ads gibt er 500 Euro aus und erzielt 3.000 Euro Umsatz, was einem ROAS von 6 entspricht. Ohne Attribution würde Meta Ads als effizienter erscheinen. Mit Multi-Touch Attribution stellt sich jedoch heraus, dass Meta Ads oft den ersten Kontakt liefert und Google Ads den Abschluss â beide Kanäle sind wichtig, und der ROAS allein reicht nicht aus, um das Budget zu verteilen.",attrixusRole:`attriXus nutzt ROAS als eine zentrale Kennzahl, geht aber darüber hinaus, indem es den Umsatz entsprechend dem tatsächlichen Beitrag der Kanäle verteilt. Statt ROAS nur auf Basis des letzten Klicks zu berechnen, zeigt attriXus, welcher Kanal welchen Umsatzbeitrag wirklich geleistet hat. 675 676Das macht ROAS bei attriXus zu einer zuverlässigen GröÃe für Budgetentscheidungen. Unternehmen erkennen, wo Werbekosten rentabel eingesetzt werden und wo Budget verpufft.`,faqs:[{q:"Was ist der Unterschied zwischen ROAS und ROI?",a:"ROAS setzt Umsatz zu Werbekosten ins Verhältnis. ROI bezieht sich auf den Gewinn im Verhältnis zur Investition und ist aussagekräftiger für die tatsächliche Rentabilität."},{q:"Was ist ein guter ROAS?",a:"Das hängt von Branche, Margen und Zielen ab. Ein ROAS von 4 bedeutet, dass für jeden Euro Werbekosten vier Euro Umsatz erzielt werden. Ob das rentabel ist, hängt von den Margen ab."},{q:"Warum kann ROAS ohne Attribution irreführend sein?",a:"Ohne Attribution wird der Umsatz oft dem letzten Klick zugeschrieben. Das kann Kanäle am Ende der Journey bevorzugen und vorbereitende Kanäle unterschÃ
676¤tzen."},{q:"Reicht ROAS allein für Budgetentscheidungen?",a:"Nein, ROAS sollte zusammen mit absoluten Umsätzen, Margen und dem Beitrag zur Customer Journey betrachtet werden."}]},"performance-marketing":{definition:"Performance Marketing umfasst alle MaÃnahmen, die auf messbare Ergebnisse wie Klicks, Leads oder Verkäufe ausgerichtet sind. Es basiert auf Daten, Tracking und Attribution und zielt darauf ab, Marketingbudget effizient und transparent einzusetzen.",detailedExplanation:`Performance Marketing ist ein datengetriebener Ansatz im Online-Marketing, bei dem jede MaÃnahme auf messbare Ergebnisse ausgerichtet ist. Im Gegensatz zum Branding, das auf Bekanntheit und Wahrnehmung abzielt, steht beim Performance Marketing die direkte Messbarkeit von Klicks, Leads, Conversions und Umsatz im Vordergrund. Jede Werbeeuro wird daraufhin bewertet, welchen messbaren Erfolg er liefert. 677 678Die Kernkanäle des Performance Marketing sind Suchanzeigen (SEA), Social Ads, Affiliate Marketing, Display Advertising und E-Mail-Marketing. Diese Kanäle lassen sich präzise tracken, sodass Performance-Marketer genau sehen können, wie viele Klicks, Conversions und welchen Umsatz jede Kampagne liefert. Die Abrechnung erfolgt oft erfolgsbasiert, etwa per CPC, CPL oder CPA. 679 680Die Basis des Performance Marketing ist Daten. Ohne Tracking, Conversion Tracking und Attribution wäre Performance Marketing nicht möglich. Erst durch die Erfassung und Bewertung von Kontakten und Conversions können Unternehmen beurteilen, welche Kampagnen funktionieren und welche nicht. ROAS, ROI, CPL und CPA sind die zentralen Kennzahlen, an denen der Erfolg gemessen wird. 681 682Die gröÃte Herausforderung im Performance Marketing ist die korrekte Attribution. Da Nutzer oft über mehrere Kanäle und Kontakte zu einer Conversion gelangen, reicht es nicht, nur den letzten Klick zu betrachten. Multi-Touch Attribution liefert ein realistischeres Bild und hilft, das Marketingbudget nach tatsächlicher Wirkung zu verteilen. Unternehmen, die nur auf Plattform-Reports vertrauen, riskieren Double Counting und eine verzerrte Sicht auf die Leistung. 683 684Ein weiterer Trend im Performance Marketing ist die zunehmende Bedeutung von First-Party-Daten und Server-Side Tracking. Mit dem Ende von Drittanbieter-Cookies und verschärften Datenschutzanforderungen müssen Unternehmen eigene Datengrundlagen aufbauen, um Performance Marketing weiterhin zuverlässig betreiben zu können. Attribution und Customer Journey Tracking sind dabei die Werkzeuge, die aus Rohdaten handlungsrelevantes Wissen machen.`,importance:`Performance Marketing ist wichtig, weil es Marketingbudget transparent und effizient macht. Statt Ausgaben nach Gefühl oder Reichweite zu verteilen, können Unternehmen auf Basis von Daten entscheiden, welche MaÃnahmen den meisten Erfolg bringen. Das ist besonders in wirtschaftlich unsicheren Zeiten von Vorteil, wenn jeder Werbeeuro gerechtfertigt werden muss. 685 686Ohne Performance Marketing und die zugrundeliegende Attribution wäre Marketingbudgetverschwendung vorprogrammiert. Unternehmen wüssten nicht, welche Kampagnen Leads und Verkäufe liefern und wo Budget verpufft.`,practicalExample:"Ein Unternehmen betreibt Performance Marketing über Google Ads, Meta Ads und Affiliate. Ohne Attribution sieht jedes Plattform-Report seine eigenen Erfolge â Google meldet 100 Conversions, Meta 80, Affiliate 60. Tatsächlich sind es nur 120 echte Conversions, da viele doppelt gezählt werden. Mit Multi-Touch Attribution und Attribution wird Double Counting aufgelöst, und das Unternehmen erkennt, welcher Kanal welchen Beitrag wirklich geleistet hat. Das Marketingbudget kann dann nach tatsächlicher Wirkung verteilt werden.",attrixusRole:`attriXus ist ein Werkzeug für Performance Marketing, das die Lücke zwischen Plattform-Reports und tatsächlicher Wirkung schlieÃt. Durch Attribution und Customer Journey Tracking zeigt attriXus, welche Kampagnen, Kanäle und Kontakte wirklich zu Leads und Verkäufen beitragen. 687 688Das macht Performance Marketing transparenter und effizienter. Unternehmen erkennen, wo Budget wirkt und wo es verpufft, und können ihr Marketingbudget nach tatsächlicher Wirkung statt nach Einzel-Reports verteilen.`,faqs:[{q:"Was ist der Unterschied zwischen Performance Marketing und Branding?",a:"Performance Marketing zielt auf messbare Ergebnisse wie Klicks, Leads und Verkäufe ab. Branding fokussiert auf Bekanntheit und Wahrnehmung, die schwerer zu messen sind."},{q:"Welche Kanäle gehören zum Performance Marketing?",a:"Typische Kanäle sind SEA, Social Ads, Affiliate Marketing, Display Advert
688ising und E-Mail-Marketing, da sie sich präzise tracken lassen."},{q:"Warum ist Attribution im Performance Marketing wichtig?",a:"Ohne Attribution werden Conversions oft doppelt gezählt oder dem falschen Kanal zugeschrieben. Multi-Touch Attribution liefert ein realistisches Bild und ermöglicht eine Budgetverteilung nach tatsächlicher Wirkung."},{q:"Welche Kennzahlen sind im Performance Marketing zentral?",a:"ROAS, ROI, CPL und CPA sind die wichtigsten Kennzahlen. Sie messen, ob Kampagnen rentabel arbeiten und wie effizient Leads und Kunden gewonnen werden."}]},leadgenerierung:{definition:"Leadgenerierung umfasst alle MaÃnahmen, um neue Kontakte und Anfragen zu gewinnen. Sie ist besonders im B2B-Bereich zentral und wird über Suchanzeigen, Content, Social und E-Mail betrieben. Attribution hilft zu erkennen, welche MaÃnahmen wirklich Leads bringen.",detailedExplanation:`Leadgenerierung ist einer der wichtigsten Prozesse im B2B-Marketing und vielen B2C-Bereichen. Ein Lead ist ein potenzieller Kunde, der Kontakt aufgenommen oder seine Daten hinterlassen hat, etwa durch ein Formular, eine Anfrage oder einen Download. Die Generierung von Leads ist oft der erste Schritt im Verkaufsprozess und steht in direktem Zusammenhang mit Marketingbudget und Attribution. 689 690Die Methoden der Leadgenerierung sind vielfältig. Suchanzeigen (SEA) fangen Nutzer ab, die aktiv nach Lösungen suchen. Content Marketing zieht Nutzer an, die nach Informationen suchen, und wandelt sie über Formulare in Leads um. Social Ads erreichen Zielgruppen auf Plattformen wie Meta oder LinkedIn. E-Mail-Marketing und Newsletter halten Kontakt zu bestehenden Interessenten und wandeln sie schrittweise in Leads um. Affiliate Marketing nutzt Partner, um Leads über Drittseiten zu generieren. 691 692Die Herausforderung bei der Leadgenerierung liegt nicht nur in der Menge, sondern in der Qualität und der Nachverfolgbarkeit. Ein Lead ist nur wertvoll, wenn er tatsächlich zum Kunden wird. Leadqualität wird anhand von Kriterien wie UnternehmensgröÃe, Branche, Rolle oder Verhalten bestimmt. Qualified Leads sind solche, die eine hohe Wahrscheinlichkeit haben, zum Abschluss zu führen. 693 694Für die Bewertung der Leadgenerierung ist Attribution entscheidend. Da Nutzer oft über mehrere Kanäle und Kontakte zu einer Anfrage gelangen, reicht es nicht, nur den letzten Klick zu betrachten. Multi-Touch Attribution zeigt, welche Kanäle am Anfang der Journey stehen, welche den Nutzer zurückholen und welche schlieÃlich zur Anfrage führen. Das ist die Grundlage für die Verteilung des Marketingbudgets und die Optimierung der Leadgenerierung. 695 696Lead Tracking und Lead Attribution sind die technischen Voraussetzungen, um Leads mit Marketingkontakten zu verknüpfen. Sie erfassen, wann und woher ein Lead kam, und ordnen ihn den beteiligten MaÃnahmen zu. Ohne Lead Tracking und Attribution wäre es unmöglich zu beurteilen, welche Kampagnen wirklich Leads liefern und wo Budget verschwendet wird.`,importance:`Leadgenerierung ist wichtig, weil sie die Grundlage für den Verkaufsprozess legt. Ohne Leads keine Anfragen, ohne Anfragen keine Kunden. Für B2B-Unternehmen ist die Leadgenerierung oft der zentrale Erfolgsfaktor im Marketing. 697 698Mit Attribution wird Leadgenerierung messbar und steuerbar. Unternehmen erkennen, welche Kanäle und Kampagnen die wertvollsten Leads liefern, und können ihr Budget entsprechend ausrichten. Das verhindert, dass Budget in MaÃnahmen flieÃt, die zwar Klicks, aber keine qualifizierten Anfragen bringen.`,practicalExample:"Ein B2B-Unternehmen schaltet Google Ads, LinkedIn Ads und betreibt Content Marketing. Ein Interessent findet einen Blogartikel über Google, lädt ein Whitepaper herunter, sieht später eine LinkedIn-Anzeige und stellt schlieÃlich eine Anfrage. Ohne Attribution würde die Anfrage dem letzten Kontakt zugeschrieben. Mit Multi-Touch Attribution wird sichtbar, dass Content und Google Ads eine wichtige vorbereitende Rolle spielten. Das Unternehmen kann das Budget auf alle beteiligten Kanäle ausrichten, statt nur den letzten Kontakt zu fördern.",attrixusRole:`attriXus macht Leadgenerierung transparent, indem es jeden Lead zurückspult und sichtbar macht, welche Kanäle, Kampagnen und Kontakte zur Anfrage beigetragen haben. Unternehmen erkennen, welche MaÃnahmen wirklich Leads liefern und wo Budget verpufft. 699 700Das hilft, das Marketingbudget nach tatsächlicher Wirkung zu verteilen und die Leadgenerierung auf die Kanäle zu konzentrieren, die die wertvollsten Anfragen bringen. Wo Marketingbudget wirkt und wo es verpufft, wird durch Attribution sichtbar.`,faqs:[{q:"Was ist ein Lead?",a:"Ein Lead ist ein potenzieller Kunde, der Kontakt aufgenommen oder seine Daten hinterlassen hat, etwa durch ein Formular, eine Anfrage oder einen Download."},{q:"Was ist der Unterschied zwischen Leadgenerierung und Neukundengewinnung?",a:"Leadgenerierung liefert Kontakte und Anfragen. Neukundengewinnung umfasst den gesamten Prozess bis zum tatsächlichen Kundenabschluss."},{q:"Warum ist Attribution bei der Leadgenerierung wichtig?",a:"Da Nutzer oft über mehrere Kanäle zu einer Anfrage gelangen, zeigt Attribution, welche MaÃnahmen wirklich zur Lead-Entstehung beigetragen haben. Das ist die Grundlage für Budgetentscheidungen."},{q:"Was ist ein Qualified Lead?",a:"Ein Qualified Lead ist ein Lead, der bestimmte Kriterien erfüllt, die ihn als vielversprechend für einen Abschluss einstufen, etwa UnternehmensgröÃe, Branche oder Rolle."}]},seo:{definition:"SEO (Search Engine Optimization) umfasst MaÃnahmen zur Verbesserung der Sichtbarkeit in unbezahlten Suchergebnissen. Es ist ein wichtiger Kanal für Organic Traffic und wird im Rahmen der Attribution mit bezahlten Kanälen abgeglichen.",detailedExplanation:`SEO ist einer der wichtigsten Kanäle im Online-Marketing. Es umfasst alle MaÃnahmen, die darauf abzielen, die Sichtbarkeit einer Website in den unbezahlten Suchergebnissen von Suchmaschinen wie Google zu verbessern. Das Ziel: Wenn Nutzer nach relevanten Begriffen suchen, soll die Website möglichst weit oben erscheinen und Organic Traffic erhalten. 701 702SEO gliedert sich in mehrere Bereiche. Die On-Page-Optimierung umfasst Inhalte, Meta-Tags, Struktur und technische Aspekte der Website. Die Off-Page-Optimierung fokussiert auf externe Faktoren, insbesondere Backlinks. Die technische SEO stellt sicher, dass die Website schnell, crawlbar und mobilfreundlich ist. Keyword-Recherche identifiziert die Suchbegriffe, auf die die Inhalte ausgerichtet werden. 703
704Die Besonderheit von SEO im Vergleich zu bezahlten Kanälen wie SEA ist, dass kein direkter Werbekosten pro Klick anfallen. Der Traffic ist organisch, was SEO langfristig kosteneffizient machen kann. Allerdings erfordert SEO Zeit und kontinuierliche Arbeit, da Suchmaschinen-Algorithmen komplexe Faktoren bewerten und Rankings nicht über Nacht erreicht werden. 705 706Im Rahmen der Attribution spielt SEO eine wichtige Rolle. Organic Traffic ist oft ein Kanal, der in der Customer Journey auftaucht, insbesondere in der Mitte und am Ende, wenn Nutzer gezielt nach Lösungen oder Marken suchen. Da Organic Traffic keine direkten Werbekosten verursacht, ist sein ROAS formal unendlich hoch â aber das ist irreführend, denn SEO verursacht indirekte Kosten durch Content-Erstellung, technische Pflege und Tools. 707 708Die Herausforderung bei der Attribution von SEO ist, dass Organic Traffic oft als Direct Traffic oder ohne klare Quelle erscheint, insbesondere wenn Nutzer die URL direkt eingeben oder über Lesezeichen kommen. Multi-Touch Attribution hilft, den Beitrag von SEO in der Customer Journey sichtbar zu machen, auch wenn der letzte Kontakt woanders lag. 709 710SEO und SEA sollten nicht isoliert betrachtet werden. Beide Kanäle ergänzen sich: SEA liefert schnelle Sichtbarkeit und kann Daten für SEO liefern, während SEO langfristig kosteneffizienten Traffic bringt. Attribution zeigt, wie beide Kanäle zusammenwirken und wo Budget am besten eingesetzt wird.`,importance:`SEO ist wichtig, weil es langfristig kosteneffizienten Traffic liefert und die Sichtbarkeit einer Website in Suchmaschinen sichert. Ohne SEO wären Unternehmen auf bezahlte Kanäle angewiesen und hätten keine organische Präsenz in den Suchergebnissen. 711 712In der Attribution hilft SEO zu verstehen, welchen Beitrag organic Traffic zur Customer Journey leistet. Da Organic Traffic keine direkten Werbekosten hat, ist sein Beitrag oft unterschätzt, insbesondere wenn der letzte Kontakt woanders lag.`,practicalExample:"Ein Unternehmen betreibt SEO und SEA. Ein Nutzer findet die Website über eine organische Suche, besucht sie, kehrt Tage später über eine Google-Anzeige zurück und kauft. Ohne Attribution würde die Google-Anzeige den gesamten Erfolg erhalten. Mit Multi-Touch Attribution wird sichtbar, dass die organische Suche den ersten Kontakt lieferte und damit eine wichtige Rolle spielte. Das Unternehmen kann SEO und SEA ausgewogen bewerten.",attrixusRole:`attriXus erfasst Organic Traffic al
712s Teil der Customer Journey und macht seinen Beitrag zur Conversion sichtbar. Statt SEO nur isoliert zu betrachten, zeigt attriXus, wie Organic Traffic mit bezahlten Kanälen zusammenwirkt und wo der wahre Beitrag liegt. 713 714Das hilft Unternehmen, SEO angemessen zu bewerten und das Marketingbudget ausgewogen zwischen organischen und bezahlten Kanälen zu verteilen.`,faqs:[{q:"Was ist der Unterschied zwischen SEO und SEA?",a:"SEO optimiert die Sichtbarkeit in unbezahlten Suchergebnissen. SEA umfasst bezahlte Suchanzeigen. Beide ergänzen sich und sollten in der Attribution gemeinsam betrachtet werden."},{q:"Ist SEO kostenlos?",a:"SEO verursacht keine direkten Werbekosten pro Klick, aber indirekte Kosten durch Content-Erstellung, technische Pflege und Tools. Langfristig ist SEO oft kosteneffizienter als SEA."},{q:"Wie wird SEO in der Attribution bewertet?",a:"Organic Traffic wird als Kanal in der Customer Journey erfasst. Multi-Touch Attribution zeigt seinen Beitrag, auch wenn der letzte Kontakt woanders lag."},{q:"Wie lange dauert SEO, bis es wirkt?",a:"SEO ist ein langfristiger Prozess. Erste Ergebnisse können nach Wochen sichtbar werden, stabile Rankings erfordern oft Monate kontinuierlicher Arbeit."}]},sea:{definition:"SEA (Search Engine Advertising) umfasst bezahlte Suchanzeigen, meist über Google Ads. Es ist ein zentraler Kanal im Online-Marketing und liefert Daten für Attribution, Conversion Tracking und Kampagnenanalyse.",detailedExplanation:`SEA ist einer der wichtigsten Kanäle im Online-Marketing. Es umfasst bezahlte Anzeigen in Suchmaschinen, die erscheinen, wenn Nutzer nach bestimmten Keywords suchen. Die gröÃte Plattform für SEA ist Google Ads, aber auch Microsoft Advertising (Bing Ads) spielt eine Rolle. Anzeigen werden in einem Auktionssystem ausgespielt, bei dem Werbetreibende Gebote pro Klick abgeben (CPC). 715 716Die Funktionsweise von SEA ist relativ einfach: Der Werbetreibende wählt Keywords, auf die seine Anzeigen erscheinen sollen, verfasst Anzeigentexte und legt Gebote und Budgets fest. Wenn ein Nutzer nach einem der Keywords sucht, findet eine Auktion statt, die über Position und Kosten der Anzeige entscheidet. Der Qualitätsfaktor, der aus Klickrate, Anzeigenrelevanz und Landingpage-Qualität berechnet wird, beeinflusst dabei neben dem Gebot die Position. 717 718SEA wird in verschiedene Kampagnentypen unterteilt. Brand-Kampagnen zielen auf Suchbegriffe mit dem Markennamen ab und haben meist hohe Conversion Rates und niedrige Kosten. Generic-Kampagnen richten sich auf allgemeine Begriffe ohne Markenbezug und erreichen neue Zielgruppen, haben aber oft höhere Kosten und niedrigere Conversion Rates. High-Intent-Keywords signalisieren starke Kaufabsicht und sind besonders wertvoll. 719 720Im Rahmen der Attribution spielt SEA eine zentrale Rolle. Suchanzeigen sind oft nah an der Conversion, da Nutzer, die aktiv suchen, eine hohe Kaufabsicht haben. In Last-Click-Modellen erscheint SEA daher oft als starker Kanal. In Multi-Touch-Modellen zeigt sich jedoch, dass SEA auch eine vorbereitende Rolle spielt, insbesondere bei Generic-Kampagnen, die Nutzer erstmals ins System bringen. 721 722Die Herausforderung bei SEA ist die zunehmende Komplexität und Kostenintensität. Mit automatisierten Gebotsstrategien, Smart Bidding und breit matchenden Keywords hat sich SEA stark professionalisiert. Gleichzeitig steigen die Kosten pro Klick in vielen Branchen, was eine präzise Steuerung und Attribution unerlässlich macht. Enhanced Conversions helfen, das Conversion Tracking datenschutzkonform robuster zu machen. 723 724SEA und SEO sollten gemeinsam betrachtet werden. SEA liefert schnelle Sichtbarkeit und kann Daten für SEO liefern, während SEO langfristig kosteneffizienten Traffic bringt. Attribution zeigt, wie beide Kanäle zusammenwirken und wo Budget am besten eingesetzt wird.`,importance:`SEA ist wichtig, weil es schnelle und präzise Sichtbarkeit in Suchmaschinen liefert. Unternehmen können Nutzer abfangen, die aktiv nach Lösungen suchen, und Leads oder Verkäufe generieren. Ohne SEA wären Unternehmen auf SEO angewiesen, das Zeit braucht, um zu wirken. 725
726In der Attribution hilft SEA zu verstehen, welchen Beitrag Suchanzeigen zur Customer Journey leisten. Da SEA oft nah an der Conversion liegt, kann es in Last-Click-Modellen überschätzt werden. Multi-Touch Attribution liefert ein ausgewogeneres Bild.`,practicalExample:"Ein Unternehmen schaltet Brand- und Generic-Kampagnen bei Google Ads. Ein Nutzer sieht eine Generic-Anzeige, besucht die Website, kommt Tage später über eine Brand-Suche zurück und kauft. Ohne Attribution würde die Brand-Kampagne den gesamten Erfolg erhalten. Mit Multi-Touch Attribution wird sichtbar, dass die Generic-Kampagne den Nutzer erstmals ins System gebracht hat. Das Unternehmen kann beide Kampagnentypen angemessen bewerten.",attrixusRole:`attriXus erfasst SEA als Teil der Customer Journey und macht seinen Beitrag zur Conversion sichtbar. Statt nur Plattform-Reports von Google Ads zu betrachten, zeigt attriXus, wie Suchanzeigen mit anderen Kanälen zusammenwirken und wo der wahre Beitrag liegt. 727 728Das hilft Unternehmen, SEA angemessen zu bewerten und das Marketingbudget nach tatsächlicher Wirkung zu verteilen, statt nur auf die von Google bereitgestellten Daten zu vertrauen.`,faqs:[{q:"Was ist der Unterschied zwischen SEA und SEO?",a:"SEA umfasst bezahlte Suchanzeigen, die sofortige Sichtbarkeit bieten. SEO optimiert die organische Sichtbarkeit und braucht länger, wirkt aber langfristig kosteneffizient."},{q:"Was kostet SEA?",a:"SEA wird meist per CPC abgerechnet. Die Kosten pro Klick hängen von Branche, Keyword-Wettbewerb und Qualitätsfaktor ab und können stark variieren."},{q:"Was ist der Unterschied zwischen Brand und Generic Kampagnen?",a:"Brand-Kampagnen zielen auf Suchbegriffe mit dem Markennamen ab und haben hohe Conversion Rates. Generic-Kampagnen richten sich auf allgemeine Begriffe und erreichen neue Zielgruppen."},{q:"Wie wird SEA in der Attribution bewertet?",a:"SEA wird als Kanal in der Customer Journey erfasst. In Last-Click-Modellen wird es oft überschätzt, da es nah an der Conversion liegt. Multi-Touch Attribution liefert ein ausgewogeneres Bild."}]},"social-ads":{definition:"Social Ads sind Werbeanzeigen auf Social-Media-Plattformen wie Meta, Instagram oder TikTok. Sie dienen Reichweite, Retargeting und Leadgenerierung und sind ein wichtiger Kanal in der Attribution und Customer Journey.",detailedExplanation:`Social Ads sind aus dem modernen Online-Marketing nicht mehr wegzudenken. Sie umfassen Werbeanzeigen auf Social-Media-Plattformen wie Facebook, Instagram (beides Meta), TikTok, LinkedIn oder X. Social Ads dienen verschiedenen Zielen: Reichweite, Markenbekanntheit, Retargeting und Leadgenerierung. Sie zeichnen sich durch detaillierte Targeting-Möglichkeiten aus, die auf demografischen Daten, Interessen und Verhalten basieren. 729 730Die Stärke von Social Ads liegt in der Präzision des Targetings. Plattformen wie Meta kennen ihre Nutzer durch jahrelange Datenerhebung sehr gut und ermöglichen Werbetreibenden, genau zu definieren, wer ihre Anzeigen sehen soll. Das reicht von grundlegenden demografischen Merkmalen bis hin zu feinen Verhaltensmustern und Custom Audiences, die aus eigenen Kundendaten gebildet werden. Retargeting ist ebenfalls ein zentraler Bestandteil von Social Ads, bei dem Nutzer erneut angesprochen werden, die bereits mit der Website interagiert haben. 731 732Im Rahmen der Attribution spielen Social Ads eine vielfältige Rolle. Sie stehen oft am Anfang der Customer Journey, da sie Aufmerksamkeit erzeugen und Nutzer erstmals auf ein Unternehmen aufmerksam machen. Sie können aber auch in der Mitte der Journey wirken, wenn Nutzer retargetet werden und zurück auf die Website geholt werden. Am Ende der Journey stehen sie seltener, da die finale Conversion oft über Suchanzeigen oder Direct Traffic erfolgt. 733 734Die Herausforderung bei Social Ads in der Attribution ist, dass ihr Beitrag oft unterschätzt wird. In Last-Click-Modellen erscheinen Social Ads selten als der Kanal, der die Conversion gebracht hat, da sie meist nicht der letzte Kontakt sind. Multi-Touch Attribution zeigt jedoch, dass Social Ads eine wichtige vorbereitende Rolle spielen, die bei Last Click unsichtbar bleibt. 735 736Ein weiteres Thema ist View-Through-Conversions. Social Ads werden oft gesehen, ohne dass Nutzer sofort klicken. Wenn diese Nutzer später konvertieren, ist der Beitrag der Social Ads schwer zu messen. View-Through-Tracking hilft hier, ist aber fehleranfällig und kann zu Double Counting führen. Attribution mit Multi-Touch-Modellen liefert eine ausgewogenere Bewertung. 737 738Mit der zunehmenden Bedeutung von Datenschutz und dem Ende von Drittanbieter-Cookies verändern sich Social Ads. Plattformen müssen zunehmend auf First-Party-Daten und Consent-basiertes Tracking setzen, was die Messbarkeit beeinflusst. Server-Side Tracking und Enhanced Conversions helfen, die Datengrundlage robust zu halten.`,importance:`Social Ads sind wichtig, weil sie Reichweite, Targeting-Präzision und Retargeting-Möglichkeiten bieten, die in dieser Form nur Social-Media-Plattformen liefern können. Ohne Social Ads fehlt vielen Unternehmen ein zentraler Kanal für Neukundengewinnung und Wiederbesuche. 739
740In der Attribution helfen Social Ads zu verstehen, welchen Beitrag Social Media zur Customer Journey leistet. Da Social Ads oft am Anfang oder in der Mitte der Journey stehen, wird ihr Beitrag ohne Multi-Touch Attribution oft unterschätzt.`,practicalExample:"Ein Unternehmen schaltet Meta Ads und Google Ads. Ein Nutzer sieht eine Meta-Anzeige, besucht die Website, kommt Tage später über eine Google-Suche zurück und kauft. Ohne Attribution würde Google Ads den gesamten Erfolg erhalten, Meta Ads ginge leer aus. Mit Multi-Touch Attribution wird sichtbar, dass die Meta-Anzeige den Nutzer erstmals auf das Unternehmen aufmerksam gemacht hat und damit eine wichtige Rolle spielte. Das Unternehmen kann das Budget auf beide Kanäle ausrichten.",attrixusRole:`attriXus erfasst Social Ads als Teil der Customer Journey und macht ihren Beitrag zur Conversion sichtbar. Statt nur Plattform-Reports von Meta oder TikTok zu betrachten, zeigt attriXus, wie Social Ads mit anderen Kanälen zusammenwirken und wo der wahre Beitrag liegt. 741 742Das hilft Unternehmen, Social Ads angemessen zu bewerten und das Marketingbudget nach tatsächlicher Wirkung zu verteilen, statt Social Ads nur nach Last Click zu beurteilen.`,faqs:[{q:"Auf welchen Plattformen kann man Social Ads schalten?",a:"Die wichtigsten Plattformen sind Meta (Facebook und Instagram), TikTok, LinkedIn und X. Jede Plattform hat eigene Stärken und Zielgruppen."},{q:"Was ist Retargeting bei Social Ads?",a:"Retargeting bei Social Ads spricht Nutzer erneut an, die bereits mit der Website interagiert haben. Es hilft, Nutzer zurückzuholen und ist ein wichtiger Bestandteil der Customer Journey."},{q:"Warum werden Social Ads in der Attribution oft unterschätzt?",a:"Social Ads stehen oft am Anfang oder in der Mitte der Journey und sind selten der letzte Kontakt. In Last-Click-Modellen geht ihr Beitrag verloren. Multi-Touch Attribution zeigt ihre wahre Rolle."},{q:"Was sind View-Through-Conversions?",a:"View-Through-Conversions entstehen, wenn Nutzer nach dem Sehen einer Social Ad ohne Klick konvertieren. Sie sind schwer zu messen und können zu Double Counting führen."}]},"affiliate-marketing":{definition:"Affiliate Marketing ist ein erfolgsbasiertes Vertriebsmodell, bei dem Partner Produkte oder Dienstleistungen eines Unternehmens bewerben und im Erfolgsfall eine Provision erhalten. Es läuft häufig über Preisvergleichsportale oder Content-Seiten und ist fester Bestandteil des performance-orientierten Online-Marketings.",detailedExplanation:`Affiliate Marketing ist einer der etabliertesten Kanäle im Online-Marketing. Es basiert auf einem einfachen Prinzip: Ein Unternehmen (Merchant) bietet Partnern (Affiliates) eine Provision für die Vermittlung von Leads oder Verkäufen. Die Partner bewerben die Produkte auf ihren eigenen Websites, etwa über Preisvergleichsportale, Content-Seiten, Cashback-Systeme oder Blogs, und erhalten im Erfolgsfall eine Vergütung. 743 744Die Abrechnung im Affiliate Marketing ist erfolgsbasiert. Typische Modelle sind Cost per Lead (CPL), Cost per Sale (CPS) oder Cost per Acquisition (CPA). Da Affiliates nur bei Erfolg bezahlt werden, ist Affiliate Marketing aus Sicht des Unternehmens risikoarm â zumindest auf den ersten Blick. Die Provision wird nur fällig, wenn ein Lead oder Verkauf tatsächlich zustande kommt. 745 746Die Herausforderung im Affiliate Marketing liegt in der Attribution. Affiliates stehen oft am Ende der Customer Journey, insbesondere bei Preisvergleichsportalen, die Nutzer kurz vor dem Kauf abfangen. In Last-Click-Modellen erhalten Affiliates daher oft den vollen Erfolg zugeschrieben, obwohl vorherige Kanäle wie Display Ads oder Social Ads den Nutzer erst auf das Produkt aufmerksam gemacht haben. Das kann zu einer verzerrten Budgetverteilung führen, bei der Affiliate Marketing überschätzt und vorbereitende Kanäle unterschätzt werden. 747 748Ein weiteres Problem ist Double Counting. Wenn ein Nutzer über einen Affiliate-Link kauft, beansprucht der Affiliate den Erfolg. Gleichzeitig kann Google Ads oder Meta Ads den Kauf zählen, wenn der Nutzer zuvor eine Anzeige gesehen hat. Ohne kanalübergreifende Attribution wird derselbe Verkauf mehrfach gezählt, was die Reports verfälscht. 749 750Multi-Touch Attribution löst dieses Problem, indem sie den Beitrag aller beteiligten Kanäle sichtbar macht und Double Counting auflöst. Affiliates erhalten den Wert, der ihrem tatsächlichen Beitrag entspricht, und vorbereitende Kanäle werden angemessen bewertet. Das führt zu einer ausgewogeneren Budgetverteilung und verhindert, dass Affiliate Marketing überproportional gefördert wird. 751 752Affiliate Marketing ist besonders im E-Commerce stark vertreten, aber auch im B2B-Bereich und bei Die
752nstleistungen relevant. Mit zunehmender Professionalisierung und datenschutzrechtlichen Anforderungen verändert sich der Kanal, bleibt aber ein wichtiger Bestandteil des Performance Marketing.`,importance:`Affiliate Marketing ist wichtig, weil es erfolgsbasiert und damit risikoarm ist. Unternehmen zahlen nur, wenn ein Lead oder Verkauf zustande kommt. Das macht Affiliate Marketing attraktiv, besonders für E-Commerce-Unternehmen. 753 754In der Attribution ist Affiliate Marketing eine Herausforderung, da Affiliates oft am Ende der Journey stehen und in Last-Click-Modellen überschätzt werden. Multi-Touch Attribution liefert eine ausgewogenere Bewertung und verhindert, dass Budget verzerrt verteilt wird.`,practicalExample:"Ein Online-Shop betreibt Affiliate Marketing über ein Preisvergleichsportal sowie Google Ads und Meta Ads. Ein Nutzer sieht eine Meta-Anzeige, besucht den Shop, vergleicht Tage später Preise über das Affiliate-Portal und kauft. Ohne Attribution würde das Affiliate-Portal den gesamten Erfolg erhalten. Mit Multi-Touch Attribution wird sichtbar, dass Meta Ads den Nutzer erstmals gebracht hat und das Affiliate-Portal beim Abschluss half. Das Unternehmen kann das Budget auf beide Kanäle ausrichten.",attrixusRole:`attriXus erfasst Affiliate Marketing als Teil der Customer Journey und macht seinen Beitrag sichtbar, ohne ihn zu überschätzen. Statt nur den Affiliate-Report zu betrachten, zeigt attriXus, wie Affiliate mit anderen Kanälen zusammenwirkt und wo Double Counting vorliegt. 755 756Das hilft Unternehmen, Affiliate Marketing angemessen zu bewerten und das Marketingbudget nach tatsächlicher Wirkung zu verteilen, statt nur der Last-Click-Sicht der Affiliate-Netzwerke zu vertrauen.`,faqs:[{q:"Wie wird Affiliate Marketing abgerechnet?",a:"Typische Modelle sind Cost per Lead, Cost per Sale und Cost per Acquisition. Die Abrechnung ist erfolgsbasiert â Affiliates erhalten nur bei Erfolg eine Provision."},{q:"Warum wird Affiliate Marketing in der Attribution oft überschätzt?",a:"Affiliates stehen oft am Ende der Journey, etwa bei Preisvergleichsportalen. In Last-Click-Modellen erhalten sie den vollen Erfolg, obwohl vorherige Kanäle wichtig waren."},{q:"Was ist Double Counting im Affiliate Marketing?",a:"Wenn ein Nutzer über einen Affiliate-Link kauft, aber zuvor auch Anzeigen gesehen hat, kann derselbe Verkauf von mehreren Systemen gezählt werden. Attribution löst dieses Problem."},{q:"Für welche Unternehmen ist Affiliate Marketing relevant?",a:"Besonders im E-Commerce, aber auch im B2B und bei Dienstleistungen. Affiliate Marketing ist erfolgsbasiert und damit für viele Unternehmen attraktiv."}]},roi:{definition:"ROI (Return on Investment) misst das Verhältnis von Gewinn zu Investition. Im Online-Marketing hilft er zu beurteilen, ob Marketingausgaben insgesamt rentabel sind und wie sich verschiedene Kanäle und Kampagnen wirtschaftlich vergleichen lassen.",detailedExplanation:`ROI ist eine der zentralen Kennzahlen im Marketing und in der Betriebswirtschaft. Er misst, wie viel Gewinn eine Investition im Verhältnis zu ihren Kosten erbracht hat. Die Berechnung ist grundsätzlich einfach: Gewinn minus Investition, geteilt durch Investition. Ein ROI von 1 (oder 100%) bedeutet, dass der Gewinn gleich hoch ist wie die Investition â die Investition hat sich also verdoppelt. 757 758Im Online-Marketing wird ROI eingesetzt, um zu beurteilen, ob Marketingausgaben rentabel sind. Im Gegensatz zu ROAS, der den Umsatz zu den Werbekosten ins Verhältnis setzt, bezieht ROI den Gewinn ein. Das ist ein wichtiger Unterschied: Ein Kanal mit hohem ROAS kann einen niedrigen ROI haben, wenn die Margen gering sind. Ein Online-Shop mit einer Marge von 10% braucht einen ROAS von mindestens 10, um break-even zu laufen â bei einem ROAS von 5 würde er trotz positiver Umsatz-Werbekosten-Relation Verlust machen. 759 760Die Berechnung des ROI im Online-Marketing ist anspruchsvoller als die des ROAS, da sie Kenntnis der Margen erfordert. Unternehmen müssen wissen, wie viel Gewinn ein Produkt oder ein Lead tatsächlich bringt, um den ROI zu berechnen. Das ist besonders im E-Commerce möglich, wo Margen bekannt sind, aber schwieriger im B2B-Bereich, wo der Wert eines Leads erst im Verkaufsprozess sichtbar wird. 761 762Im Rahmen der Attribution spielt ROI eine zentrale Rolle. Da der Gewinn nach dem tatsächlichen Beitrag der Kanäle verteilt werden sollte, liefert Multi-Touch Attribution die Grundlage für eine korrekte ROI-Berechnung. Last-Click-Modelle können den ROI einzelner Kanäle verzerren, da sie den Umsatz und damit den Gewinn dem letzten Kontakt zuschreiben. Mit Multi-Touch Attribution wird der ROI entsprechend dem tatsächlichen Beitrag verteilt. 763 764ROI allein ist nicht ausreichend für Budgetentscheidungen. Ein Kanal mit hohem ROI kann ein geringes Volumen haben, während ein Kanal mit niedrigerem ROI groÃe Volumina liefern kann. ROI sollte daher immer zusammen mit absoluten Gewinnen, Volumen und dem Beitrag zur Customer Journey betrachtet werden. 765 766Für die Budgetsteuerung ist ROI wichtiger als ROAS, da er die tatsächliche Rentabilität misst. Unternehmen, die nur auf ROAS schauen, riskieren, Budget in Kanäle zu lenken, die zwar hohen Umsatz, aber geringen Gewinn bringen. ROI verhindert diese Fehleinschätzung.`,importance:`ROI ist wichtig, weil er die tatsächliche Rentabilität von Marketingausgaben misst. Ohne ROI können Unternehmen nicht beurteilen, ob ihr Marketing wirtschaftlich arbeitet. ROAS allein reicht nicht, da er die Margen nicht berücksichtigt. 767 768In Kombination mit Attribution wird ROI zu einem Werkzeug, das nicht nur misst, ob Kampagnen rentabel sind, sondern auch, welche Kanäle den gröÃten Gewinnbeitrag leisten. Das ist die Grundlage für Budgetverteilung und Kampagnenoptimierung.`,practicalExample:"Ein Online-Shop gibt 1.000 Euro für Google Ads aus und erzielt 5.000 Euro Umsatz. Bei einer Marge von 20% entspricht das 1.000 Euro Gewinn. Der ROI beträgt 0 (Gewinn minus Investition geteilt durch Investition). Obwohl der ROAS bei 5 liegt, ist der ROI null â die Kampagne hat sich gerade nicht verzinst. Mit dieser Erkenntnis kann das Unternehmen die Kampagne optimieren oder das Budget umverteilen.",attrixusRole:`attriXus nutzt ROI als eine zentrale Kennzahl und liefert durch Attribution die Grundlage für eine korrekte Berechnung. Statt den Gewinn nach Last Click zu verteilen, zeigt attriXus, welcher Kanal welchen Gewinnbeitrag wirklich geleistet hat. 769 770Das macht ROI bei attriXus zu einer zuverlässigen GröÃe für Budgetentscheidungen. Unternehmen erkennen, wo Marketingausgaben tatsächlich rentabel sind und wo Budget verpufft, auch wenn der ROAS gut aussieht.`,faqs:[{q:"Was ist der Unterschied zwischen ROI und ROAS?",a:"ROAS setzt Umsatz zu Werbekosten ins Verhältnis. ROI bezieht den Gewinn ein und ist aussagekräftiger für die tatsächliche Rentabilität."},{q:"Warum kann ein hoher ROAS trotzdem Verlust bedeuten?",a:"Wenn die Margen gering sind, kann ein hoher ROAS nicht ausreichen, um die Kosten zu decken. Ein Shop mit 10% Marge braucht mindestens einen ROAS von 10, um break-even zu laufen."},{q:"Wie wird ROI in der Attribution berechnet?",a:"Der Gewinn wird nach dem tatsächlichen Beitrag der Kanäle verteilt. Multi-Touch Attribution liefert die Grundlage, während Last-Click-Modelle den ROI verzerren können."},{q:"Reicht ROI allein für Budgetentscheidungen?",a:"Nein, ROI sollte zusammen mit absoluten Gewinnen, Volumen und dem Beitrag zur Customer Journey betrachtet werden."}]},"marketing-attribution":{definition:"Marketing Attribution ist der Ãberbegriff für die Zuordnung von Marketingwirkung zu Conversions. Sie umfasst verschiedene Modelle und Ansätze und zielt darauf ab, den Beitrag einzelner Kanäle, Kampagnen und Kontakte sichtbar und steuerbar zu machen.",detailedExplanation:`Marketing Attribution ist der Ãberbegriff für alle Bemühungen, die Wirkung von MarketingmaÃnahmen auf Conversions sichtbar zu machen. Sie beantwortet die zentrale Frage: Welche Werbung hat wirklich zu einem Lead, Verkauf oder einer Anfrage beigetragen? Da Nutzer im Online-Marketing selten nur über einen einzigen Kontakt zu einer Conversion gelangen, ist diese Frage komplexer, als sie auf den ersten Blick scheint. 771 772Marketing Attribution umfasst verschiedene Modelle und Ansätze. Die einfachsten sind First Click und Last Click, die den Erfolg jeweils dem ersten oder letzten Kontakt zuschreiben. Komplexere Modelle wie Linear, Time Decay und Multi-Touch verteilen den Wert auf mehrere Kontakte. Datengetriebene Modelle nutzen maschinelles Lernen, um den Beitrag einzelner Kontakte auf Basis historischer Daten zu berechnen. Hybrid-Modelle kombinieren verschiedene Ansätze. 773 774Die Wahl des Modells hat direkten Einfluss auf die Kanalbewertung und Budgetverteilung. In Last-Click-Modellen erscheinen Kanäle am Ende der Journey als stark, während vorbereitende Kanäle schwach wirken. In Multi-Touch-Modellen wird der Beitrag au
774sgeglichener verteilt. Das kann dazu führen, dass sich die scheinbare Leistung eines Kanals je nach Modell drastisch verändert. 775 776Die Basis jeder Marketing Attribution ist Daten. Ohne Tracking, Conversion Tracking und Customer Journey Tracking ist Attribution nicht möglich. Die Qualität der Daten bestimmt die Qualität der Attribution. Mit zunehmenden Einschränkungen durch Ad-Blocker, Browser-Blockaden von Drittanbieter-Cookies und Datenschutzanforderungen wird First-Party-Tracking und Server-Side Tracking zur Voraussetzung für zuverlässige Attribution. 777 778Die gröÃte Herausforderung der Marketing Attribution ist Double Counting. Jede Plattform â Google Ads, Meta Ads, Affiliate â bewertet ihre eigene Leistung aus ihrer Perspektive und beansprucht Conversions für sich. Ohne kanalübergreifende Attribution wird derselbe Erfolg mehrfach gezählt, was die Reports verfälscht und zu falschen Budgetentscheidungen führt. Marketing Attribution löst dieses Problem, indem sie einen übergreifenden Blick auf die gesamte Customer Journey bietet. 779 780Für Unternehmen ist Marketing Attribution der Schlüssel zu einer datengetriebenen Budgetsteuerung. Statt das Marketingbudget nach Gefühl oder Einzel-Reports zu verteilen, können sie auf Basis von Attribution entscheiden, welche Kanäle und Kampagnen den gröÃten Beitrag zu Leads, Verkäufen und Umsatz leisten.`,importance:`Marketing Attribution ist wichtig, weil sie die Grundlage für eine datengetriebene Budgetsteuerung liefert. Ohne Attribution bleibt unklar, welche Werbung wirklich zu Conversions beiträgt. Das macht Budgetentscheidungen willkürlich und riskiert, dass Budget in MaÃnahmen flieÃt, die im Reporting gut aussehen, aber nicht den tatsächlichen Beitrag leisten. 781 782Mit Attribution wird Marketing messbar und steuerbar. Unternehmen erkennen, welche Kanäle, Kampagnen und Kontakte wirklich wirken und wo Budget verpufft. Das ist die Basis für effizientes Performance Marketing.`,practicalExample:"Ein Unternehmen schaltet Google Ads, Meta Ads und Affiliate. Jede Plattform meldet 100 Conversions. Ohne Marketing Attribution würde das Unternehmen glauben, 300 Conversions erzielt zu haben. Tatsächlich sind es 120, da viele doppelt gezählt wurden. Mit Attribution wird Double Counting aufgelöst, und das Unternehmen erkennt, welcher Kanal welchen Beitrag wirklich geleistet hat. Das Marketingbudget kann nach tatsächlicher Wirkung verteilt werden.",attrixusRole:`attriXus ist ein Tool für Marketing Attribution, das die Lücke zwischen Plattform-Reports und tatsächlicher Wirkung schlieÃt. Durch kanalübergreifende Attribution und Customer Journey Tracking zeigt attriXus, welche Kampagnen, Kanäle und Kontakte wirklich zu Leads, Verkäufen und Umsatz beitragen. 783 784Das macht Marketing transparent und steuerbar. Unternehmen erkennen, wo Marketingbudget wirkt und wo es verpufft, und können ihr Budget nach tatsächlicher Wirkung statt nach Einzel-Reports verteilen.`,faqs:[{q:"Was ist Marketing Attribution einfach erklärt?",a:"Marketing Attribution ordnet Conversions den MarketingmaÃnahmen zu, die dazu beigetragen haben. Sie macht sichtbar, welche Werbung wirklich gewirkt hat."},{q:"Welche Attributionsmodelle gibt es?",a:"Bekannte Modelle sind Last Click, First Click, Linear, Time Decay, Multi-Touch und datengetriebene Modelle. Jedes hat Stärken und Schwächen."},{q:"Was ist Double Counting?",a:"Double Counting entsteht, wenn mehrere Plattformen denselben Erfolg für sich beanspruchen. Attribution löst dieses Problem durch einen kanalübergreifenden Blick."},{q:"Warum ist die Modellwahl wichtig?",a:"Die Wahl des Modells beeinflusst, welche Kanäle im Reporting stark oder schwach erscheinen. Das hat direkte Auswirkungen auf die Budgetverteilung."}]}},u4={de:l4,en:s4};function Gr({children:t,delay:e=0,className:n=""}){const i=I.useRef(null),[s,o]=I.useState(!1);return I.useEffect(()=>{if(typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches){o(!0);return}if(!i.current)return;const u=new IntersectionObserver(([c])=>{c.isIntersecting&&(o(!0),u.disconnect())},{threshold:.12,rootMargin:"0px 0px -40px 0px"});return u.observe(i.current),()=>u.disconnect()},[]),d.jsx("div",{ref:i,className:`${n} transition-all duration-700 ease-out will-change-transform ${s?"opacity-100 translate-y-0":"opacity-0 translate-y-6"}`,style:{transitionDelay:`${e}s`},children:t})}const Fh="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");function c4(){const{lang:t}=Wt(),e={de:{badgePre:"Ãber ",badgePost:" Fachbegriffe erklärt",h1Pre:"Online-Marketing-Glossar: ",h1Accent:"Fachbegriffe einfach erklärt",p:"Von Attribution über Customer Journey Tracking bis Cross Device Tracking: Im attriXus Glossar findest du verständliche Erklärungen zu den wichtigsten Begriffen rund um Online-Werbung, Tracking, Leadgenerierung und Marketingbudget-Steuerung.",demo:"Demo buchen",more:"Mehr über attriXus erfahren",placeholder:"Begriff suchen, z. B. Attribution, ROAS oder Cross Device Tracking",noResults:f=>`Keine Begriffe gefunden für â${f}".`,reset:"Filter zurücksetzen",countSingular:"Begriff",countPlural:"Begriffe",countFound:"gefunden",view:"Begriff ansehen",ctaH2Pre:"Willst du wissen, welche Online-Werbung wirklich ",ctaH2Accent:"Kunden bringt?",ctaP:"attriXus zeigt dir, welche Kampagnen, Kanäle und Kontakte wirklich zu Anfragen, Leads und Verkäufen beitragen.",trustStats:["Seit 2018 im Einsatz","Ãber 1 Mio. Customer Journeys pro Jahr","4,8 / 5 Sterne bei OMR Reviews"],title:"Online-Marketing-Glossar: Fachbegriffe einfach erklärt | attriXus",metaDesc:"Von Attribution über Customer Journey Tracking bis Cross Device Tracking: Im attriXus Glossar findest du verständliche Erklärungen zu den wichtigsten Begriffen rund um Online-Werbung, Tracking, Leadgenerierung und Marketingbudget-Steuerung.",crumbStart:"Startseite",crumbGlossar:"Glossar",schemaName:"Online-Marketing-Glossar",schemaDesc:"Von Attribution über Customer Journey Tracking bis Cross Device Tracking: Verständliche Erklärungen zu den wichtigsten Begriffen rund um Online-Werbung, Tracking, Leadgenerierung und Marketingbudget-Steuerung."},en:{badgePre:"Over ",badgePost:" marketing terms explained",h1Pre:"Online marketing glossary: ",h1Accent:"terms simply explained",p:"From attribution and customer journey tracking to cross device tracking: the attriXus glossary offers clear explanations of the most important terms around online advertising, tracking, lead generation and marketing budget control.",demo:"Book demo",more:"Learn more about attriXus",placeholder:"Search for a term, e.g. attribution, ROAS or cross device tracking",noResults:f=>`No terms found for â${f}".`,reset:"Reset filter",countSingular:"term",countPlural:"terms",countFound:"found",view:"View term",ctaH2Pre:"Want to know which online advertising really ",ctaH2Accent:"brings customers?",ctaP:"attriXus shows you which campaigns, channels and contacts really contribute to inquiries, leads and sales.",trustStats:["In use since 2018","Over 1M customer journeys per year","4.8 / 5 stars on OMR Reviews"],title:"Online marketing glossary: terms simply explained | attriXus",metaDesc:"From attribution and customer journey tracking to cross device tracking: the attriXus glossary offers clear explanations of the most important terms around online advertising, tracking, lead generation and marketing budget control.",crumbStart:"Home",crumbGlossar:"Glossary",schemaName:"Online marketing glossary",schemaDesc:"From attribution and customer journey tracking to cross device tracking: clear explanations of the most important terms around online advertising, tracking, lead generation and marketing budget control."}}[t],n=nA[t],[i,s]=I.useState(""),[o,u]=I.useState(""),c=I.useMemo(()=>n.filter(f=>{const E=!i||f.title.toLowerCase().includes(i.toLowerCase())||f.shortDe
784scription.toLowerCase().includes(i.toLowerCase()),w=!o||f.letter===o;return E&&w}),[i,o,n]),p=I.useMemo(()=>{const f={};return c.forEach(E=>{f[E.letter]||(f[E.letter]=[]),f[E.letter].push(E)}),f},[c]),v=I.useMemo(()=>{const f=new Set(c.map(E=>E.letter));return Fh.filter(E=>f.has(E))},[c]);I.useEffect(()=>{document.title=e.title;const f=document.querySelector('meta[name="description"]');f&&f.setAttribute("content",e.metaDesc)},[e]);const b={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:e.crumbStart,item:"https://www.attrixus.de/"},{"@type":"ListItem",position:2,name:e.crumbGlossar,item:"https://www.attrixus.de/glossar"}]},h={"@context":"https://schema.org","@type":"CollectionPage",name:e.schemaName,description:e.schemaDesc,url:"https://www.attrixus.de/glossar",publisher:{"@type":"Organization",name:"attriXus GmbH",url:"https://www.attrixus.de"}},m=(f,E)=>{E.preventDefault(),u(o===f?"":f),setTimeout(()=>{const w=document.getElementById(`letter-${f}`);w&&w.scrollIntoView({behavior:"smooth",block:"start"})},100)};return d.jsxs("div",{className:"bg-white",children:[d.jsx(Nn,{id:"schema-breadcrumb-glossar",data:b}),d.jsx(Nn,{id:"schema-collection-glossar",data:h}),d.jsx(Ui,{}),d.jsxs("section",{className:"relative bg-[#0A0A0A] pt-32 md:pt-36 pb-16 md:pb-20 overflow-hidden",children:[d.jsx("div",{className:"absolute top-0 right-0 w-[500px] h-[500px] bg-[#FC9224]/10 rounded-full blur-[120px]"}),d.jsxs("div",{className:"relative max-w-4xl mx-auto px-5 md:px-8 text-center",children:[d.jsxs("div",{className:"inline-flex items-center gap-2 bg-white/5 border border-white/10 rounded-full px-4 py-1.5 text-xs text-white/70 mb-6",children:[d.jsx(Ax,{className:"w-3.5 h-3.5 text-[#FC9224]"})," ",e.badgePre,n.length,e.badgePost]}),d.jsxs("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-white tracking-tight leading-tight mb-6",children:[e.h1Pre,d.jsx("span",{className:"text-[#FC9224]",children:e.h1Accent})]}),d.jsx("p",{className:"text-lg text-white/60 leading-relaxed mb-8 max-w-2xl mx-auto",children:e.p}),d.jsxs("div",{className:"flex flex-wrap gap-4 justify-center mb-8",children:[d.jsxs("a",{href:"#demo",className:"inline-flex items-center gap-2 bg-[#FC9224] hover:bg-[#e8821a] text-[#1A1A1A] font-semibold px-7 py-3.5 rounded-lg transition-colors min-h-[48px]",children:[e.demo," ",d.jsx(ar,{className:"w-4 h-4"})]}),d.jsx(lt,{to:"/",className:"inline-flex items-center gap-2 border border-white/20 hover:bg-white/5 text-white font-semibold px-7 py-3.5 rounded-lg transition-colors min-h-[48px]",children:e.more})]}),d.jsx("div",{className:"flex flex-wrap justify-center gap-x-6 gap-y-2",children:e.trustStats.map(f=>d.jsxs("span",{className:"text-xs text-white/50 flex items-center gap-1.5",children:[d.jsx("span",{className:"w-1 h-1 bg-[#FC9224] rounded-full"})," ",f]},f))})]})]}),d.jsx("section",{className:"sticky top-[64px] z-30 bg-white border-b border-black/5 py-4",children:d.jsx("div",{className:"max-w-7xl mx-auto px-5 md:px-8",children:d.jsxs("div",{className:"flex flex-col md:flex-row gap-4 items-stretch md:items-center justify-between",children:[d.jsxs("div",{className:"relative flex-1 max-w-md",children:[d.jsx(_x,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[#999]"}),d.jsx("input",{type:"text",value:i,onChange:f=>s(f.target.value),placeholder:e.placeholder,className:"w-full pl-10 pr-4 py-2.5 text-sm bg-[#F8F8F8] border border-black/10 rounded-lg focus:outline-none focus:border-[#FC9224] focus:ring-1 focus:ring-[#FC9224] transition-colors"})]}),d.jsx("div",{className:"flex flex-wrap gap-1",children:Fh.map(f=>{const E=v.includes(f);return d.jsx("button",{onClick:E?w=>m(f,w):void 0,disabled:!E,className:`w-7 h-7 md:w-8 md:h-8 rounded text-xs font-semibold transition-colors ${o===f?"bg-[#FC9224] text-white":E?"bg-[#F8F8F8] text-[#1A1A1A] hover:bg-[#FC9224]/10":"bg-[#F8F8F8] text-[#CCC] cursor-not-allowed"}`,children:f},f)})})]})})}),d.jsx("section",{className:"bg-white py-12 md:py-16",children:d.jsx("div",{className:"max-w-7xl mx-auto px-5 md:px-8",children:c.length===0?d.jsxs("div",{className:"text-center py-20",children:[d.jsx("p",{className:"text-lg text-[#666]",children:e.noResults(i)}),d.jsx("button",{onClick:()=>{s(""),u("")},className:"mt-4 text-sm text-[#FC9224] font-semibold hover:underline",children:e.reset})]}):d.jsxs(d.Fragment,{children:[d.jsxs("p",{className:"text-sm text-[#999] mb-8",children:[c.length," ",c.length===1?e.countSingular:e.countPlural," ",e.countFound]}),Fh.filter(f=>p[f]).map(f=>d.jsxs("div",{id:`letter-${f}`,className:"mb-12",children:[d.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[d.jsx("span",{className:"w-10 h-10 rounded-lg bg-[#FC9224] text-white font-bold text-lg flex items-center justify-center",children:f}),d.jsx("div",{className:"flex-1 h-px bg-black/5"})]}),d.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-5",children:p[f].map((E,w)=>d.jsx(Gr,{delay:Math.min(w*.05,.3),children:d.jsxs(lt,{to:`/glossar/${E.slug}`,className:"block bg-white border border-black/5 rounded-xl p-6 h-full hover:shadow-lg hover:border-[#FC9224]/20 transition-all group",children:[d.jsx("h3",{className:"text-lg font-bold text-[#1A1A1A] mb-3 group-hover:text-[#FC9224] transition-colors",children:E.title}),d.jsx("p",{className:"text-sm text-[#666] leading-relaxed mb-4 line-clamp-4",children:E.shortDescription}),d.jsxs("span",{className:"inline-flex items-center gap-1 text-sm font-semibold text-[#FC9224]",children:[e.view," ",d.jsx(ar,{className:"w-3.5 h-3.5"})]})]})},E.slug))})]},f))]})})}),d.jsxs("section",{id:"demo",className:"relative bg-[#0A0A0A] py-20 md:py-28 overflow-hidden",children:[d.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[700px] h-[700px] bg-[#FC9224]/10 rounded-full blur-[150px]"}),d.jsxs("div",{className:"relative max-w-4xl mx-auto px-5 md:px-8 text-center",children:[d.jsxs("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-white tracking-tight leading-tight mb-6",children:[e.ctaH2Pre,d.jsx("span",{className:"text-[#FC9224]",children:e.ctaH2Accent})]}),d.jsx("p",{className:"text-lg text-white/60 leading-relaxed mb-8 max-w-2xl mx-auto",children:e.ctaP}),d.jsxs("a",{href:"#demo",className:"inline-flex items-center gap-2 bg-[#FC9224] hover:bg-[#e8821a] text-[#1A1A1A] font-semibold px-7 py-3.5 rounded-lg transition-colors min-h-[48px]",children:[e.demo," ",d.jsx(ar,{className:"w-4 h-4"})]})]})]}),d.jsx(Wi,{})]})}function iw(t){const e=d4(t),n=I.forwardRef((i,s)=>{const{children:o,...u}=i,c=I.Children.toArray(o),p=c.find(f4);if(p){const v=p.props.children,b=c.map(h=>h===p?I.Children.count(v)>1?I.Children.only(null):I.isValidElement(v)?v.props.children:null:h);return d.jsx(e,{...u,ref:s,children:I.isValidElement(v)?I.cloneElement(v,void 0,b):null})}return d.jsx(e,{...u,ref:s,children:o})});return n.displayName=`${t}.Slot`,n}function d4(t){const e=I.forwardRef((n,i)=>{const{children:s,...o}=n;if(I.isValidElement(s)){const u=g4(s),c=m4(o,s.props);return s.type!==I.Fragment&&(c.ref=i?fl(i,u):u),I.cloneElement(s,c)}return I.Children.count(s)>1?I.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var h4=Symbol("radix.slottable");function f4(t){return I.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===h4}function m4(t,e){const n={...e};for(const i in e){const s=t[i],o=e[i];/^on[A-Z]/.test(i)?s&&o?n[i]=(...c)=>{const p=o(...c);return s(...c),p}:s&&(n[i]=s):i==="style"?n[i]={...s,...o}
784:i==="className"&&(n[i]=[s,o].filter(Boolean).join(" "))}return{...t,...n}}function g4(t){var i,s;let e=(i=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:i.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(s=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:s.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function p4(t){const e=t+"CollectionProvider",[n,i]=vc(e),[s,o]=n(e,{collectionRef:{current:null},itemMap:new Map}),u=w=>{const{scope:k,children:y}=w,A=_t.useRef(null),S=_t.useRef(new Map).current;return d.jsx(s,{scope:k,itemMap:S,collectionRef:A,children:y})};u.displayName=e;const c=t+"CollectionSlot",p=iw(c),v=_t.forwardRef((w,k)=>{const{scope:y,children:A}=w,S=o(c,y),x=sr(k,S.collectionRef);return d.jsx(p,{ref:x,children:A})});v.displayName=c;const b=t+"CollectionItemSlot",h="data-radix-collection-item",m=iw(b),f=_t.forwardRef((w,k)=>{const{scope:y,children:A,...S}=w,x=_t.useRef(null),T=sr(k,x),R=o(b,y);return _t.useEffect(()=>(R.itemMap.set(x,{ref:x,...S}),()=>void R.itemMap.delete(x))),d.jsx(m,{[h]:"",ref:T,children:A})});f.displayName=b;function E(w){const k=o(t+"CollectionConsumer",w);return _t.useCallback(()=>{const A=k.collectionRef.current;if(!A)return[];const S=Array.from(A.querySelectorAll(`[${h}]`));return Array.from(k.itemMap.values()).sort((R,z)=>S.indexOf(R.ref.current)-S.indexOf(z.ref.current))},[k.collectionRef,k.itemMap])}return[{Provider:u,Slot:v,ItemSlot:f},E,i]}var xc="Collapsible",[b4,rA]=vc(xc),[v4,Ug]=b4(xc),iA=I.forwardRef((t,e)=>{const{__scopeCollapsible:n,open:i,defaultOpen:s,disabled:o,onOpenChange:u,...c}=t,[p,v]=yc({prop:i,defaultProp:s??!1,onChange:u,caller:xc});return d.jsx(v4,{scope:n,disabled:o,contentId:$o(),open:p,onOpenToggle:I.useCallback(()=>v(b=>!b),[v]),children:d.jsx(Dn.div,{"data-state":Kg(p),"data-disabled":o?"":void 0,...c,ref:e})})});iA.displayName=xc;var aA="CollapsibleTrigger",sA=I.forwardRef((t,e)=>{const{__scopeCollapsible:n,...i}=t,s=Ug(aA,n);return d.jsx(Dn.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":Kg(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...i,ref:e,onClick:_r(t.onClick,s.onOpenToggle)})});sA.displayName=aA;var Wg="CollapsibleContent",oA=I.forwardRef((t,e)=>{const{forceMount:n,...i}=t,s=Ug(Wg,t.__scopeCollapsible);return d.jsx(ml,{present:n||s.open,children:({present:o})=>d.jsx(y4,{...i,ref:e,present:o})})});oA.displayName=Wg;var y4=I.forwardRef((t,e)=>{const{__scopeCollapsible:n,present:i,children:s,...o}=t,u=Ug(Wg,n),[c,p]=I.useState(i),v=I.useRef(null),b=sr(e,v),h=I.useRef(0),m=h.current,f=I.useRef(0),E=f.current,w=u.open||c,k=I.useRef(w),y=I.useRef(void 0);return I.useEffect(()=>{const A=requestAnimationFrame(()=>k.current=!1);return()=>cancelAnimationFrame(A)},[]),Ps(()=>{const A=v.current;if(A){y.current=y.current||{transitionDuration:A.style.transitionDuration,animationName:A.style.animationName},A.style.transitionDuration="0s",A.style.animationName="none";const S=A.getBoundingClientRect();h.current=S.height,f.current=S.width,k.current||(A.style.transitionDuration=y.current.transitionDuration,A.style.animationName=y.current.animationName),p(i)}},[u.open,i]),d.jsx(Dn.div,{"data-state":Kg(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!w,...o,ref:b,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":E?`${E}px`:void 0,...t.style},children:w&&s})});function Kg(t){return t?"open":"closed"}var w4=iA,k4=sA,x4=oA,A4=I.createContext(void 0);function E4(t){const e=I.useContext(A4);return t||e||"ltr"}var ur="Accordion",S4=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[Gg,_4,T4]=p4(ur),[Ac]=vc(ur,[T4,rA]),Vg=rA(),lA=_t.forwardRef((t,e)=>{const{type:n,...i}=t,s=i,o=i;return d.jsx(Gg.Provider,{scope:t.__scopeAccordion,children:n==="multiple"?d.jsx(D4,{...o,ref:e}):d.jsx(C4,{...s,ref:e})})});lA.displayName=ur;var[uA,O4]=Ac(ur),[cA,N4]=Ac(ur,{collapsible:!1}),C4=_t.forwardRef((t,e)=>{const{value:n,defaultValue:i,onValueChange:s=()=>{},collapsible:o=!1,...u}=t,[c,p]=yc({prop:n,defaultProp:i??"",onChange:s,caller:ur});return d.jsx(uA,{scope:t.__scopeAccordion,value:_t.useMemo(()=>c?[c]:[],[c]),onItemOpen:p,onItemClose:_t.useCallback(()=>o&&p(""),[o,p]),children:d.jsx(cA,{scope:t.__scopeAccordion,collapsible:o,children:d.jsx(dA,{...u,ref:e})})})}),D4=_t.forwardRef((t,e)=>{const{value:n,defaultValue:i,onValueChange:s=()=>{},...o}=t,[u,c]=yc({prop:n,defaultProp:i??[],onChange:s,caller:ur}),p=_t.useCallback(b=>c((h=[])=>[...h,b]),[c]),v=_t.useCallback(b=>c((h=[])=>h.filter(m=>m!==b)),[c]);return d.jsx(uA,{scope:t.__scopeAccordion,value:u,onItemOpen:p,onItemClose:v,children:d.jsx(cA,{scope:t.__scopeAccordion,collapsible:!0,children:d.jsx(dA,{...o,ref:e})})})}),[z4,Ec]=Ac(ur),dA=_t.forwardRef((t,e)=>{const{__scopeAccordion:n,disabled:i,dir:s,orientation:o="vertical",...u}=t,c=_t.useRef(null),p=sr(c,e),v=_4(n),h=E4(s)==="ltr",m=_r(t.onKeyDown,f=>{var D;if(!S4.includes(f.key))return;const E=f.target,w=v().filter(F=>{var P;return!((P=F.ref.current)!=null&&P.disabled)}),k=w.findIndex(F=>F.ref.current===E),y=w.length;if(k===-1)return;f.preventDefault();let A=k;const S=0,x=y-1,T=()=>{A=k+1,A>x&&(A=S)},R=()=>{A=k-1,A<S&&(A=x)};switch(f.key){case"Home":A=S;break;case"End":A=x;break;case"ArrowRight":o==="horizontal"&&(h?T():R());break;case"ArrowDown":o==="vertical"&&T();break;case"ArrowLeft":o==="horizontal"&&(h?R():T());break;case"ArrowUp":o==="vertical"&&R();break}const z=A%y;(D=w[z].ref.current)==null||D.focus()});return d.jsx(z4,{scope:n,disabled:i,direction:s,orientation:o,children:d.jsx(Gg.Slot,{scope:n,children:d.jsx(Dn.div,{...u,"data-orientation":o,ref:p,onKeyDown:i?void 0:m})})})}),oc="AccordionItem",[R4,Hg]=Ac(oc),hA=_t.forwardRef((t,e)=>{const{__scopeAccordion:n,value:i,...s}=t,o=Ec(oc,n),u=O4(oc,n),c=Vg(n),p=$o(),v=i&&u.value.includes(i)||!1,b=o.disabled||t.disabled;return d.jsx(R4,{scope:n,open:v,disabled:b,triggerId:p,children:d.jsx(w4,{"data-orientation":o.orientation,"data-state":vA(v),...c,...s,ref:e,disabled:b,open:v,onOpenChange:h=>{h?u.onItemOpen(i):u.onItemClose(i)}})})});hA.displayName=oc;var fA="AccordionHeader",mA=_t.forwardRef((t,e)=>{const{__scopeAccordion:n,...i}=t,s=Ec(ur,n),o=Hg(fA,n);return d.jsx(Dn.h3,{"data-orientation":s.orientation,"data-state":vA(o.open),"data-disabled":o.disabled?"":void 0,...i,ref:e})});mA.displayName=fA;var og="AccordionTrigger",gA=_t.forwardRef((t,e)=>{const{__scopeAccordion:n,...i}=t,s=Ec(ur,n),o=Hg(og,n),u=N4(og,n),c=Vg(n);return d.jsx(Gg.ItemSlot,{scope:n,children:d.jsx(k4,{"aria-disabled":o.open&&!u.collapsible||void 0,"data-orientation":s.orientation,id:o.triggerId,...c,...i,ref:e})})});gA.displayName=og;var pA="AccordionContent",bA=_t.forwardRef((t,e)=>{const{__scopeAccordion:n,...i}=t,s=Ec(ur,n),o=Hg(pA,n),u=Vg(n);return d.jsx(x4,{role:"region","aria-labelledby":o.triggerId,"data-orientation":s.orientation,...u,...i,ref:e,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...t.style}})});bA.displayName=pA;function vA(t){return t?"open":"closed"}var P4=lA,j4=hA,I4=mA,yA=gA,wA=bA;const M4=P4,kA=I.forwardRef(({className:t,...e},n)=>d.jsx(j4,{ref:n,className:dn("border-b",t),...e}));kA.displayName="AccordionItem";const xA=I.forwardRef(({className:t,children:e,...n},i)=>d.jsx(I4,{className:"flex",children:d.jsxs(yA,{ref:i,className:dn("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",t),...n,children:[e,d.jsx(gg,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));xA.displayName=yA.displayName;const AA=I.forwardRef(({className:t,children:e,...n},i)=>d.jsx(wA,{ref:i,className:"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:d.jsx("div",{className:dn("pb-4 pt-0",t),children:e})}));AA.displayName=wA.displayName;function L4(){const{lang:t}=Wt(),e={de:{crumbGlossar:"Glossar",glossarLabel:"attriXus Glossar",whatIs:f=>`Was ist ${f}?`,ctaTitle:"Willst du wissen, welche Online-Werbung wirklich Kunden bringt?",ctaP:"attriXus zeigt dir, welche Kampagnen, Kanäle und Kontakte wirklich zu Anfragen, Leads und Verkäufen beitragen.",demo:"Demo buchen",shortDef:"Kurze Definition",detailed:"Ausführlich erklärt",why:"Warum ist das im Online-Marketing wichtig?",example:"Beispiel aus der Praxis",role:"Welche Rolle spielt das bei attriXus?",faqHeading:f=>`Häufige Fragen zu ${f}`,related:"Verwandte Begriffe",back:"Zurück zum Glossar",fallbackExample:f=>`Ein Unternehmen schaltet Google Ads, Meta Ads und Newsletter-Kampagnen. Ein Nutzer sieht zuerst eine Anzeige, besucht später die Website erneut und stellt erst nach mehreren Kontakten eine Anfrage oder kauft. ${f} hilft dabei, diesen Ablauf zu bewerten oder zu messen und den Beitrag der beteiligten Kanäle sichtbar zu machen.`,fallbackRole:f=>`attriXus nutzt ${f}, um sichtbar zu machen, welche Online-Werbung wirklich zu Anfragen, Leads oder Verkäufen beiträgt. Unternehmen können jeden Lead und Verkauf zurückspulen und erkennen, welche Kanäle, Kampagnen und Kontakte beteiligt waren. Dadurch wird sichtbar, wo Marketingbudget wirkt und wo es möglicherweise verpufft.`,metaTitle:f=>`${f} einfach erklärt | attriXus Glossar`,metaDesc:f=>`Was bedeutet ${f}? Verständliche Erklärung, Praxisbeispiel und Bedeutung für Online-Marketing, Tracking und Marketingbudget-Steuerung.`,articleHeadline:f=>`Was ist ${f}?`,articleDesc:f=>`Was bedeutet ${f}? Verständliche Erklärung, Praxisbeispiel und Bedeutung für Online-Marketing.`,set:"attriXus Online-Marketing-Glossar"},en:{crumbGlossar:"Glossary",glossarLabel:"attriXus glossary",whatIs:f=>`What is ${f}?`,ctaTitle:"Want to know which online advertising really brings customers?",ctaP:"attriXus shows you which campaigns, channels and contacts really contribute to inquiries, leads and sales.",demo:"Book demo",shortDef:"Short definition",detailed:"In detail",why:"Why is this important in online marketing?",example:"Practical example",role:"What role does this play at attriXus?",faqHeading:f=>`Frequently asked questions about ${f}`,related:"Related terms",back:"Back to glossary",fallbackExample:f=>`A company runs Google Ads, Meta Ads and newsletter campaigns. A user first sees an ad, later revisits the website and only submits an inquiry or makes a purchase after several contacts. ${f} helps evaluate or measure this process and make the contribution of the involved channels visible.`,fallbackRole:f=>`attriXus uses ${f} to make visible which online advertising really contributes to inquiries, leads or sales. Companies can rewind every lead and sale and see which channels, campaigns and contacts were involved. This reveals where marketing budget works and where it may evaporate.`,metaTitle:f=>`${f} explained simply | attriXus glossary`,metaDesc:f=>`What does ${f} mean? Clear explanation, practical example and relevance for online marketing, tracking and marketing budget control.`,articleHeadline:f=>`What is ${f}?`,articleDesc:f=>`What does ${f} mean? Clear explanation, practical example and relevance for online marketing.`,set:"attriXus online marketing glossary"}}[t],n=nA[t],i=u4[t],{slug:s}=f1(),[o]=I.useState(null),u=n.find(f=>f.slug===s),c=i[s];if(I.useEffect(()=>{if(u){document.title=e.metaTitle(u.title);const f=document.querySelector('meta[name="description"]');f&&f.setAttribute("content",e.metaDesc(u.title)),window.scrollTo(0,0)}},[s,u,e]),!u)return d.jsx(Fu,{to:"/glossar",replace:!0});const p=((c==null?void 0:c.relatedTerms)||u.related||[]).map(f=>n.find(E=>
784E.slug===f)).filter(Boolean).slice(0,8),v={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:t==="en"?"Home":"Startseite",item:"https://www.attrixus.de/"},{"@type":"ListItem",position:2,name:e.crumbGlossar,item:"https://www.attrixus.de/glossar"},{"@type":"ListItem",position:3,name:u.title,item:`https://www.attrixus.de/glossar/${u.slug}`}]},b={"@context":"https://schema.org","@type":"DefinedTerm",name:u.title,description:(c==null?void 0:c.definition)||u.shortDescription,url:`https://www.attrixus.de/glossar/${u.slug}`,inDefinedTermSet:{"@type":"DefinedTermSet",name:e.set,url:"https://www.attrixus.de/glossar"}},h={"@context":"https://schema.org","@type":"Article",headline:e.articleHeadline(u.title),description:e.articleDesc(u.title),author:{"@type":"Organization",name:"attriXus GmbH",url:"https://www.attrixus.de"},publisher:{"@type":"Organization",name:"attriXus GmbH",url:"https://www.attrixus.de"},mainEntityOfPage:`https://www.attrixus.de/glossar/${u.slug}`},m=c!=null&&c.faqs?{"@context":"https://schema.org","@type":"FAQPage",mainEntity:c.faqs.map(f=>({"@type":"Question",name:f.q,acceptedAnswer:{"@type":"Answer",text:f.a}}))}:null;return d.jsxs("div",{className:"bg-white",children:[d.jsx(Nn,{id:"schema-breadcrumb-detail",data:v}),d.jsx(Nn,{id:"schema-definedterm",data:b}),d.jsx(Nn,{id:"schema-article",data:h}),m&&d.jsx(Nn,{id:"schema-faq-detail",data:m}),d.jsx(Ui,{}),d.jsx("section",{className:"bg-[#0A0A0A] pt-28 md:pt-32 pb-12 md:pb-16",children:d.jsxs("div",{className:"max-w-4xl mx-auto px-5 md:px-8",children:[d.jsxs("nav",{className:"flex items-center gap-2 text-sm text-white/40 mb-8",children:[d.jsx(lt,{to:"/glossar",className:"hover:text-[#FC9224] transition-colors",children:e.crumbGlossar}),d.jsx(n_,{className:"w-3.5 h-3.5"}),d.jsx("span",{className:"text-white/60",children:u.title})]}),d.jsxs("div",{className:"grid lg:grid-cols-3 gap-8 items-start",children:[d.jsxs("div",{className:"lg:col-span-2",children:[d.jsxs("div",{className:"inline-flex items-center gap-2 bg-white/5 border border-white/10 rounded-full px-3 py-1 text-xs text-white/50 mb-5",children:[d.jsx(Ax,{className:"w-3 h-3 text-[#FC9224]"})," ",u.letter," · ",e.glossarLabel]}),d.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-white tracking-tight leading-tight mb-6",children:e.whatIs(u.title)}),d.jsx("p",{className:"text-lg text-white/60 leading-relaxed",children:(c==null?void 0:c.definition)||u.shortDescription})]}),d.jsxs("div",{className:"bg-[#FC9224]/10 border border-[#FC9224]/30 rounded-2xl p-6 lg:sticky lg:top-24",children:[d.jsx("h3",{className:"text-base font-bold text-white mb-3",children:e.ctaTitle}),d.jsx("p",{className:"text-sm text-white/60 mb-5 leading-relaxed",children:e.ctaP}),d.jsxs(lt,{to:"/#demo",className:"inline-flex items-center gap-2 bg-[#FC9224] hover:bg-[#e8821a] text-[#1A1A1A] font-semibold text-sm px-5 py-3 rounded-lg transition-colors w-full justify-center min-h-[48px]",children:[e.demo," ",d.jsx(ar,{className:"w-4 h-4"})]})]})]})]})}),d.jsx("section",{className:"bg-white py-16 md:py-20",children:d.jsxs("div",{className:"max-w-4xl mx-auto px-5 md:px-8",children:[c?d.jsxs("div",{className:"space-y-12",children:[d.jsxs("div",{children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#1A1A1A] mb-4",children:e.shortDef}),d.jsx("p",{className:"text-base text-[#666] leading-relaxed",children:c.definition})]}),d.jsxs("div",{children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#1A1A1A] mb-4",children:e.detailed}),d.jsx("div",{className:"space-y-4",children:c.detailedExplanation.split(` 785 786`).map((f,E)=>d.jsx("p",{className:"text-base text-[#666] leading-relaxed",children:f},E))})]}),d.jsxs("div",{children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#1A1A1A] mb-4",children:e.why}),d.jsx("p",{className:"text-base text-[#666] leading-relaxed",children:c.importance})]}),d.jsxs("div",{className:"bg-[#F8F8F8] rounded-2xl p-6 md:p-8 border border-black/5",children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#1A1A1A] mb-4",children:e.example}),d.jsx("p",{className:"text-base text-[#666] leading-relaxed",children:c.practicalExample})]}),d.jsxs("div",{className:"bg-[#0A0A0A] rounded-2xl p-6 md:p-8",children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-white mb-4",children:e.role}),d.jsx("p",{className:"text-base text-white/60 leading-relaxed mb-6",children:c.attrixusRole}),d.jsxs(lt,{to:"/#demo",className:"inline-flex items-center gap-2 bg-[#FC9224] hover:bg-[#e8821a] text-[#1A1A1A] font-semibold text-sm px-5 py-3 rounded-lg transition-colors min-h-[48px]",children:[e.demo," ",d.jsx(ar,{className:"w-4 h-4"})]})]}),c.faqs&&c.faqs.length>0&&d.jsxs("div",{children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#1A1A1A] mb-6",children:e.faqHeading(u.title)}),d.jsx(M4,{type:"single",collapsible:!0,className:"w-full",children:c.faqs.map((f,E)=>d.jsxs(kA,{value:`item-${E}`,children:[d.jsx(xA,{className:"text-base font-semibold text-[#1A1A1A] text-left hover:no-underline",children:f.q}),d.jsx(AA,{className:"text-base text-[#666] leading-relaxed",children:f.a})]},E))})]})]}):d.jsxs("div",{className:"space-y-12",children:[d.jsxs("div",{children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#1A1A1A] mb-4",children:e.shortDef}),d.jsx("p",{className:"text-base text-[#666] leading-relaxed",children:u.shortDe
786scription})]}),d.jsxs("div",{className:"bg-[#F8F8F8] rounded-2xl p-6 md:p-8 border border-black/5",children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#1A1A1A] mb-4",children:e.example}),d.jsx("p",{className:"text-base text-[#666] leading-relaxed",children:e.fallbackExample(u.title)})]}),d.jsxs("div",{className:"bg-[#0A0A0A] rounded-2xl p-6 md:p-8",children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-white mb-4",children:e.role}),d.jsx("p",{className:"text-base text-white/60 leading-relaxed mb-6",children:e.fallbackRole(u.title)}),d.jsxs(lt,{to:"/#demo",className:"inline-flex items-center gap-2 bg-[#FC9224] hover:bg-[#e8821a] text-[#1A1A1A] font-semibold text-sm px-5 py-3 rounded-lg transition-colors min-h-[48px]",children:[e.demo," ",d.jsx(ar,{className:"w-4 h-4"})]})]})]}),p.length>0&&d.jsxs("div",{className:"mt-16 pt-12 border-t border-black/5",children:[d.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#1A1A1A] mb-6",children:e.related}),d.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3",children:p.map(f=>d.jsxs(lt,{to:`/glossar/${f.slug}`,className:"flex items-center justify-between bg-[#F8F8F8] hover:bg-[#FC9224]/5 border border-black/5 hover:border-[#FC9224]/20 rounded-lg px-4 py-3 transition-all group",children:[d.jsx("span",{className:"text-sm font-semibold text-[#1A1A1A] group-hover:text-[#FC9224] transition-colors",children:f.title}),d.jsx(ar,{className:"w-3.5 h-3.5 text-[#999] group-hover:text-[#FC9224] transition-colors flex-shrink-0 ml-2"})]},f.slug))})]}),d.jsx("div",{className:"mt-12 pt-8 border-t border-black/5",children:d.jsxs(lt,{to:"/glossar",className:"inline-flex items-center gap-2 text-sm font-semibold text-[#FC9224] hover:underline",children:[d.jsx(Qu,{className:"w-4 h-4"})," ",e.back]})})]})}),d.jsx(Wi,{})]})}function B4(){const{lang:t}=Wt(),e=t==="en";I.useEffect(()=>{let i=document.querySelector('meta[name="robots"]');return i||(i=document.createElement("meta"),i.name="robots",document.head.appendChild(i)),i.content="noindex, nofollow",()=>{i.content="index, follow"}},[]);const n={"@context":"https://schema.org","@type":"Organization",name:"attriXus GmbH",legalName:"attriXus GmbH",url:"https://www.attrixus.de",email:"[email protected]",telephone:"+49 951 160 939 80",address:{"@type":"PostalAddress",streetAddress:"SiechenstraÃe 14",postalCode:"96052",addressLocality:"Bamberg",addressCountry:"DE"},vatID:"DE305072667",foundingDate:"2018"};return d.jsxs("div",{className:"min-h-screen bg-white text-[#1A1A1A]",children:[d.jsx(Nn,{id:"schema-impressum",data:n}),d.jsx(Ui,{}),d.jsxs("main",{className:"max-w-3xl mx-auto px-5 md:px-8 pt-32 md:pt-40 pb-20",children:[d.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-[#1A1A1A] mb-8",children:e?"Imprint":"Impressum"}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"Information according to § 5 TMG":"Angaben gemäà § 5 TMG"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:["attriXus GmbH",d.jsx("br",{}),"SiechenstraÃe 14",d.jsx("br",{}),"96052 Bamberg"]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"Commercial register: HRB 11489":"Handelsregister: HRB 11489",d.jsx("br",{}),e?"Register court: Amtsgericht Bamberg":"Registergericht: Amtsgericht Bamberg"]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[d.jsx("strong",{children:e?"Represented by:":"Vertreten durch:"}),d.jsx("br",{}),"Dominik Feike"]}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"Contact":"Kontakt"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"Phone:":"Telefon:"," +49 (0)951 160 939 80",d.jsx("br",{}),e?"Email:":"E-Mail:"," ",d.jsx("a",{href:"mailto:[email protected]",className:"text-[#FC9224] hover:underline",children:"[email protected]"})]}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"VAT ID":"Umsatzsteuer-ID"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"VAT identification number according to § 27 a German VAT Act:":"Umsatzsteuer-Identifikationsnummer gemäà § 27 a Umsatzsteuergesetz:",d.jsx("br",{}),"DE305072667"]}
786),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"Editorially responsible":"Redaktionell verantwortlich"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:["attriXus GmbH",d.jsx("br",{}),"Dominik Feike",d.jsx("br",{}),"SiechenstraÃe 14",d.jsx("br",{}),"96052 Bamberg"]}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"EU dispute resolution":"EU-Streitschlichtung"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"The European Commission provides a platform for online dispute resolution (ODR): ":"Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit:"," ",d.jsx("a",{href:"https://ec.europa.eu/consumers/odr/",target:"_blank",rel:"noopener noreferrer",className:"text-[#FC9224] hover:underline",children:"https://ec.europa.eu/consumers/odr/"}),".",d.jsx("br",{}),e?"Our email address can be found above in this imprint.":"Unsere E-Mail-Adresse finden Sie oben im Impressum."]}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"Consumer dispute resolution / universal arbitration board":"Verbraucherstreitbeilegung/Universalschlichtungsstelle"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"We are not willing or obliged to participate in dispute resolution proceedings before a consumer arbitration board.":"Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen."})]}),d.jsx(Wi,{})]})}const ot="text-[#FC9224] hover:underline";function F4(){const{lang:t}=Wt(),e=t==="en";return I.useEffect(()=>{let n=document.querySelector('meta[name="robots"]');return n||(n=document.createElement("meta"),n.name="robots",document.head.appendChild(n)),n.content="noindex, nofollow",()=>{n.content="index, follow"}},[]),d.jsxs("div",{className:"min-h-screen bg-white text-[#1A1A1A]",children:[d.jsx(Ui,{}),d.jsxs("main",{className:"max-w-3xl mx-auto px-5 md:px-8 pt-32 md:pt-40 pb-20",children:[d.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-[#1A1A1A] mb-8",children:e?"Privacy policy":"Datenschutzerklärung"}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"1. Privacy at a glance":"1. Datenschutz auf einen Blick"}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"General notes":"Allgemeine Hinweise"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"The following notes give a simple overview of what happens to your personal data when you visit this website. Personal data is any data by which you can be personally identified. For detailed information on data protection, please refer to the privacy policy listed below this text.":"Die folgenden Hinweise geben einen einfachen Ãberblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten Datenschutzerklärung."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Data collection on this website":"Datenerfassung auf dieser Website"}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"Who is responsible for data collection on this website?":"Wer ist verantwortlich für die Datenerfassung auf dieser Website?"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Data processing on this website is carried out by the website operator. You can find their contact details in the âNote on the responsible partyâ section of this privacy policy.":'Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten können Sie dem Abschnitt âHinweis zur Verantwortlichen Stelle" in dieser Datenschutzerklärung entnehmen.'}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"How do we collect your data?":"Wie erfassen wir Ihre Daten?"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"On the one hand, your data is collected when you provide it to us, for example data you enter in a contact form.":"Ihre Daten werden zum einen dadurch erhoben, dass Sie uns diese mitteilen. Hierbei kann es sich z. B. um Daten handeln, die Sie in ein Kontaktformular eingeben."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Other data is collected automatically or with your consent when you visit the website by our IT systems. This is primarily technical data (e.g. internet browser, operating system or time of the page request). This data is collected automatically as soon as you enter this website.":"Andere Daten werden automatisch oder nach Ihrer Einwilligung beim Besuch der Website durch unsere IT-Systeme erfasst. Das sind vor allem technische Daten (z. B. Internetbrowser, Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie diese Website betreten."}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"What do we use your data for?":"Wofür nutzen wir Ihre Daten?"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Part of the data is collected to ensure the website is provided without errors. Other data may be used to analyze your user behavior. If contracts can be concluded or initiated via the website, the transmitted data is also processed for c
786ontract offers, orders or other requests.":"Ein Teil der Daten wird erhoben, um eine fehlerfreie Bereitstellung der Website zu gewährleisten. Andere Daten können zur Analyse Ihres Nutzerverhaltens verwendet werden. Sofern über die Website Verträge geschlossen oder angebahnt werden können, werden die übermittelten Daten auch für Vertragsangebote, Bestellungen oder sonstige Auftragsanfragen verarbeitet."}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"What rights do you have regarding your data?":"Welche Rechte haben Sie bezüglich Ihrer Daten?"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"You have the right at any time to receive free information about the origin, recipient and purpose of your stored personal data. You also have the right to demand the correction or deletion of this data. If you have given consent to data processing, you can revoke this consent at any time for the future. You also have the right, under certain circumstances, to demand the restriction of the processing of your personal data. Furthermore, you have the right to complain to the competent supervisory authority.":"Sie haben jederzeit das Recht, unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten personenbezogenen Daten zu erhalten. Sie haben auÃerdem ein Recht, die Berichtigung oder Löschung dieser Daten zu verlangen. Wenn Sie eine Einwilligung zur Datenverarbeitung erteilt haben, können Sie diese Einwilligung jederzeit für die Zukunft widerrufen. AuÃerdem haben Sie das Recht, unter bestimmten Umständen die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Des Weiteren steht Ihnen ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"You can contact us at any time regarding this and other questions on data protection.":"Hierzu sowie zu weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit an uns wenden."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Analysis tools and third-party tools":"Analyse-Tools und Tools von Drittanbietern"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"When visiting this website, your surfing behavior can be statistically analyzed. This is mainly done with so-called analysis programs.":"Beim Besuch dieser Website kann Ihr Surf-Verhalten statistisch ausgewertet werden. Das geschieht vor allem mit sogenannten Analyseprogrammen."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"Detailed information on these analysis programs can be found in the following privacy policy.":"Detaillierte Informationen zu diesen Analyseprogrammen finden Sie in der folgenden Datenschutzerklärung."}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"2. Hosting and Content Delivery Networks (CDN)":"2. Hosting und Content Delivery Networks (CDN)"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"We host the content of our website with the following provider:":"Wir hosten die Inhalte unserer Website bei folgendem Anbieter:"}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"All-Inkl"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"The provider is ALL-INKL.COM - Neue Medien Münnich, owner René Münnich, HauptstraÃe 68, 02742 Friedersdorf (hereinafter All-Inkl). For details see the privacy policy of All-Inkl: ":"Anbieter ist die ALL-INKL.COM - Neue Medien Münnich, Inh. René Münnich, HauptstraÃe 68, 02742 Friedersdorf (nachfolgend All-Inkl). Details entnehmen Sie der Datenschutzerklärung von All-Inkl: ",d.jsx("a",{href:"https://all-inkl.com/datenschutzinformationen/",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://all-inkl.com/datenschutzinformationen/"}),"."]}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The use of All-Inkl is based on Art. 6 para. 1 lit. f GDPR. We have a legitimate interest in the most reliable possible display of our website. If corresponding consent was requested, processing is carried out exclusively on the basis of Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG, insofar as the consent includes the storage of cookies or access to information on the userâs end device (e.g. device fingerprinting) within the meaning of the TDDDG. The consent can be revoked at any time.":"Die Verwendung von All-Inkl erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Wir haben ein berechtigtes Interesse an einer möglichst zuverlässigen Darstellung unserer Website. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschlieÃlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar."}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"Order processing":"Auftragsverarbeitung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"We have concluded a contract for order processing (AVV) for the use of the above-mentioned service. This is a contract required by data protection law that ensures this provider processes the personal data of our website visitors only according to our instructions and in compliance with the GDPR.":"Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung des oben genannten Dienstes geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nac
786h unseren Weisungen und unter Einhaltung der DSGVO verarbeitet."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Cloudflare"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"We use the âCloudflareâ service. The provider is Cloudflare Inc., 101 Townsend St., San Francisco, CA 94107, USA (hereinafter âCloudflareâ).":'Wir nutzen den Service âCloudflare". Anbieter ist die Cloudflare Inc., 101 Townsend St., San Francisco, CA 94107, USA (im Folgenden âCloudflare").'}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Cloudflare provides a globally distributed content delivery network with DNS. The information transfer between your browser and our website is technically routed via Cloudflareâs network. This enables Cloudflare to analyze traffic between your browser and our website and act as a filter between our servers and potentially malicious traffic from the internet. Cloudflare may also use cookies or other technologies to recognize internet users, which are used solely for the purpose described here.":"Cloudflare bietet ein weltweit verteiltes Content Delivery Network mit DNS an. Dabei wird technisch der Informationstransfer zwischen Ihrem Browser und unserer Website über das Netzwerk von Cloudflare geleitet. Das versetzt Cloudflare in die Lage, den Datenverkehr zwischen Ihrem Browser und unserer Website zu analysieren und als Filter zwischen unseren Servern und potenziell bösartigem Datenverkehr aus dem Internet zu dienen. Hierbei kann Cloudflare auch Cookies oder sonstige Technologien zur Wiedererkennung von Internetnutzern einsetzen, die jedoch allein zum hier beschriebenen Zweck verwendet werden."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The use of Cloudflare is based on our legitimate interest in providing our web offering as error-free and securely as possible (Art. 6 para. 1 lit. f GDPR).":"Der Einsatz von Cloudflare beruht auf unserem berechtigten Interesse an einer möglichst fehlerfreien und sicheren Bereitstellung unseres Webangebotes (Art. 6 Abs. 1 lit. f DSGVO)."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Data transfer to the USA is based on the EU Commissionâs standard contractual clauses. Details and further information on security and privacy at Cloudflare can be found here: ":"Die Datenübertragung in die USA wird auf die Standardvertragsklauseln der EU-Kommission gestützt. Details und weitere Informationen zum Thema Sicherheit und Datenschutz bei Cloudflare finden Sie hier: ",d.jsx("a",{href:"https://www.cloudflare.com/privacypolicy/",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.cloudflare.com/privacypolicy/"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA that is intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europäischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/5666",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/5666"}),"."]}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"Order processing":"Auftragsverarbeitung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"We have concluded a contract for order processing (AVV) for the use of the above-mentioned service. This ensures this provider processes the personal data of our website visitors only according to our instructions and in compliance with the GDPR.":"Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung des oben genannten Dienstes geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nac
786h unseren Weisungen und unter Einhaltung der DSGVO verarbeitet."}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"3. General notes and mandatory information":"3. Allgemeine Hinweise und Pflichtinformationen"}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Data protection":"Datenschutz"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The operators of these pages take the protection of your personal data very seriously. We treat your personal data confidentially and in accordance with the statutory data protection regulations and this privacy policy.":"Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend den gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"When you use this website, various personal data are collected. Personal data is data by which you can be personally identified. This privacy policy explains what data we collect and what we use it for. It also explains how and for what purpose this is done.":"Wenn Sie diese Website benutzen, werden verschiedene personenbezogene Daten erhoben. Personenbezogene Daten sind Daten, mit denen Sie persönlich identifiziert werden können. Die vorliegende Datenschutzerklärung erläutert, welche Daten wir erheben und wofür wir sie nutzen. Sie erläutert auch, wie und zu welchem Zweck das geschieht."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"We point out that data transmission on the internet (e.g. when communicating by email) can have security gaps. Complete protection of data from access by third parties is not possible.":"Wir weisen darauf hin, dass die Datenübertragung im Internet (z. B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Note on the responsible party":"Hinweis zur verantwortlichen Stelle"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The responsible party for data processing on this website is:":"Die verantwortliche Stelle für die Datenverarbeitung auf dieser Website ist:"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:["attriXus GmbH",d.jsx("br",{}),"SiechenstraÃe 14",d.jsx("br",{}),"96052 Bamberg"]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Phone:":"Telefon:"," +49 (0)951 160 939 80",d.jsx("br",{}),e?"Email:":"E-Mail:"," ",d.jsx("a",{href:"mailto:[email protected]",className:ot,children:"[email protected]"})]}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"The responsible party is the natural or legal person who alone or together with others decides on the purposes and means of processing personal data (e.g. names, email addresses or similar).":"Verantwortliche Stelle ist die natürliche oder juristische Person, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten (z. B. Namen, E-Mail-Adressen o. Ã.) entscheidet."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Storage duration":"Speicherdauer"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"Unless a more specific storage period is stated in this privacy policy, your personal data remains with us until the purpose for data processing ceases to apply. If you make a legitimate request for deletion or revoke consent to data processing, your data will be deleted, unless we have other legally permissible reasons for storing your personal data (e.g. tax or commercial retention periods); in the latter case, deletion takes place once these reasons cease to apply.":"Soweit innerhalb dieser Datenschutzerklärung keine speziellere Speicherdauer genannt wurde, verbleiben Ihre personenbezogenen Daten bei uns, bis der Zweck für die Datenverarbeitung entfällt. Wenn Sie ein berechtigtes Löschersuchen geltend machen oder eine Einwilligung zur Datenverarbeitung widerrufen, werden Ihre Daten gelöscht, sofern wir keine anderen rechtlich zulässigen Gründe für die Speicherung Ihrer personenbezogenen Daten haben (z. B. steuer- oder handelsrechtliche Aufbewahrungsfristen); im letztgenannten Fall erfolgt die Löschung nach Fortfall dieser Gründe."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"General notes on the legal bases of data processing on this website":"Allgemeine Hinweise zu den Rechtsgrundlagen der Datenverarbeitung auf dieser Website"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"If you have consented to data processing, we process your personal data on the basis of Art. 6 para. 1 lit. a GDPR or Art. 9 para. 2 lit. a GDPR, insofar as special categories of data within the meaning of Art. 9 para. 1 GDPR are processed. In the case of explicit consent to the transfer of personal data to third countries, data processing is also based on Art. 49 para. 1 lit. a GDPR. If you have consented to the storage of cookies or access to information in your end device (e.g. via device fingerprinting), data processing is additionally based on § 25 para. 1 TDDDG. Consent can be revoked at any time. If your data is required for the fulfillment of a contract or for pre-contractual measures, we process your data on the basis of Art. 6 para. 1 lit. b GDPR. Furthermore, we process your data if this is necessary to fulfill a legal obligation on the basis of Art. 6 para. 1 lit. c GDPR. Data processing may al
786so be based on our legitimate interest pursuant to Art. 6 para. 1 lit. f GDPR. The relevant legal bases in each individual case are described in the following paragraphs of this privacy policy.":"Sofern Sie in die Datenverarbeitung eingewilligt haben, verarbeiten wir Ihre personenbezogenen Daten auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO bzw. Art. 9 Abs. 2 lit. a DSGVO, sofern besondere Datenkategorien nach Art. 9 Abs. 1 DSGVO verarbeitet werden. Im Falle einer ausdrücklichen Einwilligung in die Ãbertragung personenbezogener Daten in Drittstaaten erfolgt die Datenverarbeitung auÃerdem auf Grundlage von Art. 49 Abs. 1 lit. a DSGVO. Sofern Sie in die Speicherung von Cookies oder in den Zugriff auf Informationen in Ihr Endgerät (z. B. via Device-Fingerprinting) eingewilligt haben, erfolgt die Datenverarbeitung zusätzlich auf Grundlage von § 25 Abs. 1 TDDDG. Die Einwilligung ist jederzeit widerrufbar. Sind Ihre Daten zur Vertragserfüllung oder zur Durchführung vorvertraglicher MaÃnahmen erforderlich, verarbeiten wir Ihre Daten auf Grundlage des Art. 6 Abs. 1 lit. b DSGVO. Des Weiteren verarbeiten wir Ihre Daten, sofern diese zur Erfüllung einer rechtlichen Verpflichtung erforderlich sind auf Grundlage von Art. 6 Abs. 1 lit. c DSGVO. Die Datenverarbeitung kann ferner auf Grundlage unseres berechtigten Interesses nach Art. 6 Abs. 1 lit. f DSGVO erfolgen. Ãber die jeweils im Einzelfall einschlägigen Rechtsgrundlagen wird in den folgenden Absätzen dieser Datenschutzerklärung informiert."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Recipients of personal data":"Empfänger von personenbezogenen Daten"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"In the course of our business activities, we work with various external parties. This sometimes requires the transfer of personal data to these external parties. We only pass on personal data to external parties if this is necessary for the fulfillment of a contract, if we are legally obliged to do so (e.g. passing data on to tax authorities), if we have a legitimate interest under Art. 6 para. 1 lit. f GDPR in passing it on, or if another legal basis permits the data transfer. When using order processors, we only pass on our customersâ personal data on the basis of a valid order processing contract. In the case of joint processing, a joint processing contract is concluded.":"Im Rahmen unserer Geschäftstätigkeit arbeiten wir mit verschiedenen externen Stellen zusammen. Dabei ist teilweise auch eine Ãbermittlung von personenbezogenen Daten an diese externen Stellen erforderlich. Wir geben personenbezogene Daten nur dann an externe Stellen weiter, wenn dies im Rahmen einer Vertragserfüllung erforderlich ist, wenn wir gesetzlich hierzu verpflichtet sind (z. B. Weitergabe von Daten an Steuerbehörden), wenn wir ein berechtigtes Interesse nach Art. 6 Abs. 1 lit. f DSGVO an der Weitergabe haben oder wenn eine sonstige Rechtsgrundlage die Datenweitergabe erlaubt. Beim Einsatz von Auftragsverarbeitern geben wir personenbezogene Daten unserer Kunden nur auf Grundlage eines gültigen Vertrags über Auftragsverarbeitung weiter. Im Falle einer gemeinsamen Verarbeitung wird ein Vertrag über gemeinsame Verarbeitung geschlossen."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Revocation of your consent to data processing":"Widerruf Ihrer Einwilligung zur Datenverarbeitung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"Many data processing operations are only possible with your explicit consent. You can revoke consent already given at any time. The lawfulness of the data processing carried out up to the revocation remains unaffected by the revocation.":"Viele Datenverarbeitungsvorgänge sind nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine bereits erteilte Einwilligung jederzeit widerrufen. Die RechtmäÃigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom Widerruf unberührt."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Right to object to data collection in special cases and to direct advertising (Art. 21 GDPR)":"Widerspruchsrecht gegen die Datenerhebung in besonderen Fällen sowie gegen Direktwerbung (Art. 21 DSGVO)"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"IF DATA PROCESSING IS BASED ON ART. 6 PARA. 1 LIT. E OR F GDPR, YOU HAVE THE RIGHT AT ANY TIME, FOR REASONS ARISING FROM YOUR PARTICULAR SITUATION, TO OBJECT TO THE PROCESSING OF YOUR PERSONAL DATA; THIS ALSO APPLIES TO PROFILING BASED ON THESE PROVISIONS. THE RESPECTIVE LEGAL BASIS ON WHICH A PROCESSING IS BASED CAN BE FOUND IN THIS PRIVACY POLICY. IF YOU OBJECT, WE WILL NO LONGER PROCESS YOUR AFFECTED PERSONAL DATA UNLESS WE CAN DEMONSTRATE COMPELLING LEGITIMATE GROUNDS FOR THE PROCESSING THAT OVERRIDE YOUR INTERESTS, RIGHTS AND FREEDOMS, OR THE PROCESSING SERVES THE ASSERTION, EXERCISE OR DEFENSE OF LEGAL CLAIMS (OBJECTION PURSUANT TO ART. 21 PARA. 1 GDPR).":"WENN DIE DATENVERARBEITUNG AUF GRUNDLAGE VON ART. 6 ABS. 1 LIT. E ODER F DSGVO ERFOLGT, HABEN SIE JEDERZEIT DAS RECHT, AUS GRÃNDEN, DIE SICH AUS IHRER BESONDEREN SITUATION ERGEBEN, GEGEN DIE VERARBEITUNG IHRER PERSONENBEZOGENEN DATEN WIDERSPRUCH EINZULEGEN; DIES GILT AUCH FÃR EIN AUF DIESE BESTIMMUNGEN GESTÃTZTES PROFILING. DIE JEWEILIGE RECHTSGRUNDLAG
786E, AUF DENEN EINE VERARBEITUNG BERUHT, ENTNEHMEN SIE DIESER DATENSCHUTZERKLÃRUNG. WENN SIE WIDERSPRUCH EINLEGEN, WERDEN WIR IHRE BETROFFENEN PERSONENBEZOGENEN DATEN NICHT MEHR VERARBEITEN, ES SEI DENN, WIR KÃNNEN ZWINGENDE SCHUTZWÃRDIGE GRÃNDE FÃR DIE VERARBEITUNG NACHWEISEN, DIE IHRE INTERESSEN, RECHTE UND FREIHEITEN ÃBERWIEGEN ODER DIE VERARBEITUNG DIENT DER GELTENDMACHUNG, AUSÃBUNG ODER VERTEIDIGUNG VON RECHTSANSPRÃCHEN (WIDERSPRUCH NACH ART. 21 ABS. 1 DSGVO)."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"IF YOUR PERSONAL DATA IS PROCESSED FOR DIRECT ADVERTISING, YOU HAVE THE RIGHT TO OBJECT AT ANY TIME TO THE PROCESSING OF YOUR PERSONAL DATA FOR THE PURPOSE OF SUCH ADVERTISING; THIS ALSO APPLIES TO PROFILING INsofar AS IT IS CONNECTED WITH SUCH DIRECT ADVERTISING. IF YOU OBJECT, YOUR PERSONAL DATA WILL SUBSEQUENTLY NO LONGER BE USED FOR THE PURPOSE OF DIRECT ADVERTISING (OBJECTION PURSUANT TO ART. 21 PARA. 2 GDPR).":"WERDEN IHRE PERSONENBEZOGENEN DATEN VERARBEITET, UM DIREKTWERBUNG ZU BETREIBEN, SO HABEN SIE DAS RECHT, JEDERZEIT WIDERSPRUCH GEGEN DIE VERARBEITUNG SIE BETREFFENDER PERSONENBEZOGENER DATEN ZUM ZWECKE DERARTIGER WERBUNG EINZULEGEN; DIES GILT AUCH FÃR DAS PROFILING, SOWEIT ES MIT SOLCHER DIREKTWERBUNG IN VERBINDUNG STEHT. WENN SIE WIDERSPRECHEN, WERDEN IHRE PERSONENBEZOGENEN DATEN ANSCHLIESSEND NICHT MEHR ZUM ZWECKE DER DIREKTWERBUNG VERWENDET (WIDERSPRUCH NACH ART. 21 ABS. 2 DSGVO)."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Right to complain to the competent supervisory authority":"Beschwerderecht bei der zuständigen Aufsichtsbehörde"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"In the event of breaches of the GDPR, data subjects have the right to complain to a supervisory authority, in particular in the member state of their habitual residence, their place of work or the place of the alleged breach. This right exists without prejudice to other administrative or judicial remedies.":"Im Falle von VerstöÃen gegen die DSGVO steht den Betroffenen ein Beschwerderecht bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres gewöhnlichen Aufenthalts, ihres Arbeitsplatzes oder des Orts des mutmaÃlichen VerstoÃes zu. Das Beschwerderecht besteht unbeschadet anderweitiger verwaltungsrechtlicher oder gerichtlicher Rechtsbehelfe."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Right to data portability":"Recht auf Datenübertragbarkeit"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"You have the right to have data that we process automatically on the basis of your consent or in fulfillment of a contract handed over to you or to a third party in a common, machine-readable format. If you request the direct transfer of the data to another responsible party, this is only done insofar as it is technically feasible.":"Sie haben das Recht, Daten, die wir auf Grundlage Ihrer Einwilligung oder in Erfüllung eines Vertrags automatisiert verarbeiten, an sich oder an einen Dritten in einem gängigen, maschinenlesbaren Format aushändigen zu lassen. Sofern Sie die direkte Ãbertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt dies nur, soweit es technisch machbar ist."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Information, correction and deletion":"Auskunft, Berichtigung und Löschung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"Within the framework of the applicable legal provisions, you have the right at any time to free information about your stored personal data, its origin and recipients and the purpose of data processing, and, if applicable, a right to correction or deletion of this data. You can contact us at any time regarding this and other questions on personal data.":"Sie haben im Rahmen der geltenden gesetzlichen Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft über Ihre gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung und ggf. ein Recht auf Berichtigung oder Löschung dieser Daten. Hierzu sowie zu weiteren Fragen zum Thema personenbezogene Daten können Sie sich jederzeit an uns wenden."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Right to restriction of processing":"Recht auf Einschränkung der Verarbeitung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"You have the right to demand the restriction of the processing of your personal data. You can contact us at any time for this. The right to restriction of processing exists in the following cases:":"Sie haben das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Hierzu können Sie sich jederzeit an uns wenden. Das Recht auf Einschränkung der Verarbeitung besteht in folgenden Fällen:"}),d.jsxs("ul",{className:"list-disc pl-6 text-[#444] leading-relaxed mb-4 space-y-2",children:[d.jsx("li",{children:e?"If you dispute the accuracy of your personal data stored by us, we usually need time to verify this. For the duration of the verification, you have the right to demand the restriction of the processing of your personal data.":"Wenn Sie die Richtigkeit Ihrer bei uns gespeicherten personenbezogenen Daten bestreiten, benötigen wir in der Regel Zeit, um dies zu überprüfen. Für die Dauer der Prüfung haben Sie das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen."}),d.jsx("li",{children:e?"If the processing of your personal data was/is unlawful, you can demand the restriction of data processing instead of deleti
786on.":"Wenn die Verarbeitung Ihrer personenbezogenen Daten unrechtmäÃig geschah/geschieht, können Sie statt der Löschung die Einschränkung der Datenverarbeitung verlangen."}),d.jsx("li",{children:e?"If we no longer need your personal data, but you need it for the assertion, exercise or defense of legal claims, you have the right to demand the restriction of processing instead of deletion.":"Wenn wir Ihre personenbezogenen Daten nicht mehr benötigen, Sie sie jedoch zur Ausübung, Verteidigung oder Geltendmachung von Rechtsansprüchen benötigen, haben Sie das Recht, statt der Löschung die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen."}),d.jsx("li",{children:e?"If you have lodged an objection pursuant to Art. 21 para. 1 GDPR, a balancing of your and our interests must be carried out. As long as it is not yet clear whose interests prevail, you have the right to demand the restriction of the processing of your personal data.":"Wenn Sie einen Widerspruch nach Art. 21 Abs. 1 DSGVO eingelegt haben, muss eine Abwägung zwischen Ihren und unseren Interessen vorgenommen werden. Solange noch nicht feststeht, wessen Interessen überwiegen, haben Sie das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen."})]}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"If you have restricted the processing of your personal data, this data may â apart from its storage â only be processed with your consent or for the assertion, exercise or defense of legal claims or for the protection of the rights of another natural or legal person or for reasons of an important public interest of the European Union or a member state.":"Wenn Sie die Verarbeitung Ihrer personenbezogenen Daten eingeschränkt haben, dürfen diese Daten â von ihrer Speicherung abgesehen â nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Europäischen Union oder eines Mitgliedstaats verarbeitet werden."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"SSL or TLS encryption":"SSL- bzw. TLS-Verschlüsselung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"For security reasons and to protect the transmission of confidential content, such as orders or inquiries that you send to us as the site operator, this site uses SSL or TLS encryption. You can recognize an encrypted connection by the fact that the browserâs address bar changes from âhttp://â to âhttps://â and by the lock symbol in your browser bar.":'Diese Seite nutzt aus Sicherheitsgründen und zum Schutz der Ãbertragung vertraulicher Inhalte, wie zum Beispiel Bestellungen oder Anfragen, die Sie an uns als Seitenbetreiber senden, eine SSL- bzw. TLS-Verschlüsselung. Eine verschlüsselte Verbindung erkennen Sie daran, dass die Adresszeile des Browsers von âhttp://" auf âhttps://" wechselt und an dem Schloss-Symbol in Ihrer Browserzeile.'}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"When SSL or TLS encryption is activated, the data you transmit to us cannot be read by third parties.":"Wenn die SSL- bzw. TLS-Verschlüsselung aktiviert ist, können die Daten, die Sie an uns übermitteln, nicht von Dritten mitgelesen werden."}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"4. Data collection on this website":"4. Datenerfassung auf dieser Website"}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Cookies"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Our website uses so-called âcookiesâ. Cookies are small data packages and cause no harm to your device. They are either temporarily stored for the duration of a session (session cookies) or permanently (permanent cookies) on your device. Session cookies are automatically deleted after the end of your visit. Permanent cookies remain stored on your device until you delete them yourself or automatic deletion occurs via your web browser.":'Unsere Internetseiten verwenden so genannte âCookies". Cookies sind kleine Datenpakete und richten auf Ihrem Endgerät keinen Schaden an. Sie werden entweder vorübergehend für die Dauer einer Sitzung (Session-Cookies) oder dauerhaft (permanente Cookies) auf Ihrem Endgerät gespeichert. Session-Cookies werden nach Ende Ihres Besuchs automatisch gelöscht. Permanente Cookies bleiben auf Ihrem Endgerät gespeichert, bis Sie diese selbst löschen oder eine automatische Löschung durch Ihren Webbrowser erfolgt.'}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Cookies can come from us (first-party cookies) or from third-party companies (so-called third-party cookies). Third-party cookies enable the integration of certain services from third-party companies within websites (e.g. cookies for processing payment services).":"Cookies können von uns (First-Party-Cookies) oder von Drittunternehmen stammen (sog. Third-Party-Cookies). Third-Party-Cookies ermöglichen die Einbindung bestimmter Dienstleistungen von Drittunternehmen innerhalb von Webseiten (z. B. Cookies zur Abwicklung von Zahlungsdienstleistungen)."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Cookies have various functions. Numerous cookies are technically necessary, as certain website functions would not work without them (e.g. the shopping cart function or the display of videos). Other
786cookies can be used to evaluate user behavior or for advertising purposes.":"Cookies haben verschiedene Funktionen. Zahlreiche Cookies sind technisch notwendig, da bestimmte Webseitenfunktionen ohne diese nicht funktionieren würden (z. B. die Warenkorbfunktion oder die Anzeige von Videos). Andere Cookies können zur Auswertung des Nutzerverhaltens oder zu Werbezwecken verwendet werden."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Cookies that are necessary to carry out the electronic communication process, to provide certain functions requested by you (e.g. for the shopping cart function) or to optimize the website (e.g. cookies for measuring the web audience) (necessary cookies) are stored on the basis of Art. 6 para. 1 lit. f GDPR, unless another legal basis is given. The website operator has a legitimate interest in storing necessary cookies for the technically error-free and optimized provision of its services. If consent to the storage of cookies and comparable recognition technologies was requested, processing is carried out exclusively on the basis of this consent (Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG); consent can be revoked at any time.":"Cookies, die zur Durchführung des elektronischen Kommunikationsvorgangs, zur Bereitstellung bestimmter, von Ihnen gewünschter Funktionen (z. B. für die Warenkorbfunktion) oder zur Optimierung der Website (z. B. Cookies zur Messung des Webpublikums) erforderlich sind (notwendige Cookies), werden auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO gespeichert, sofern keine andere Rechtsgrundlage angegeben wird. Der Websitebetreiber hat ein berechtigtes Interesse an der Speicherung von notwendigen Cookies zur technisch fehlerfreien und optimierten Bereitstellung seiner Dienste. Sofern eine Einwilligung zur Speicherung von Cookies und vergleichbaren Wiedererkennungstechnologien abgefragt wurde, erfolgt die Verarbeitung ausschlieÃlich auf Grundlage dieser Einwilligung (Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG); die Einwilligung ist jederzeit widerrufbar."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"You can set your browser so that you are informed about the setting of cookies and only allow cookies in individual cases, exclude the acceptance of cookies for certain cases or in general, and activate the automatic deletion of cookies when the browser is closed. When deactivating cookies, the functionality of this website may be restricted.":"Sie können Ihren Browser so einstellen, dass Sie über das Setzen von Cookies informiert werden und Cookies nur im Einzelfall erlauben, die Annahme von Cookies für bestimmte Fälle oder generell ausschlieÃen sowie das automatische Löschen der Cookies beim SchlieÃen des Browsers aktivieren. Bei der Deaktivierung von Cookies kann die Funktionalität dieser Website eingeschränkt sein."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"Which co
786okies and services are used on this website can be found in this privacy policy.":"Welche Cookies und Dienste auf dieser Website eingesetzt werden, können Sie dieser Datenschutzerklärung entnehmen."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Consent with ConsentManager":"Einwilligung mit ConsentManager"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Our website uses the consent technology of ConsentManager to obtain your consent for the storage of certain cookies on your device or for the use of certain technologies and to document this in a privacy-compliant manner. The provider of this technology is Jaohawi AB, HÃ¥ltegelvägen 1b, 72348 VästerÃ¥s, Sweden, website: ":"Unsere Website nutzt die Consent-Technologie von ConsentManager, um Ihre Einwilligung zur Speicherung bestimmter Cookies auf Ihrem Endgerät oder zum Einsatz bestimmter Technologien einzuholen und diese datenschutzkonform zu dokumentieren. Anbieter dieser Technologie ist die Jaohawi AB, HÃ¥ltegelvägen 1b, 72348 VästerÃ¥s, Schweden, Website: ",d.jsx("a",{href:"https://www.consentmanager.de",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.consentmanager.de"})," ",e?"(hereinafter âConsentManagerâ).":'(im Folgenden âConsentManager").']}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"When you enter our website, a connection to ConsentManagerâs servers is established to obtain your consent and other declarations on cookie use. ConsentManager then stores a cookie in your browser to be able to assign the consents given or their revocation. The data collected in this way is stored until you request deletion, delete the consent-manager provider cookie yourself or the purpose for data storage ceases to apply. Mandatory statutory retention obligations remain unaffected.":"Wenn Sie unsere Website betreten, wird eine Verbindung zu den Servern von ConsentManager hergestellt, um Ihre Einwilligungen und sonstigen Erklärungen zur Cookie-Nutzung einzuholen. AnschlieÃend speichert ConsentManager ein Cookie in Ihrem Browser, um Ihnen die erteilten Einwilligungen bzw. deren Widerruf zuordnen zu können. Die so erfassten Daten werden gespeichert, bis Sie uns zur Löschung auffordern, den Consent-Manager-Provider-Cookie selbst löschen oder der Zweck für die Datenspeicherung entfällt. Zwingende gesetzliche Aufbewahrungspflichten bleiben unberührt."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"ConsentManager is used to obtain the legally required consents for the use of cookies. The legal basis is Art. 6 para. 1 lit. c GDPR.":"Der Einsatz von ConsentManager erfolgt, um die gesetzlich vorgeschriebenen Einwilligungen für den Einsatz von Cookies einzuholen. Rechtsgrundlage hierfür ist Art. 6 Abs. 1 lit. c DSGVO."}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"Order processing":"Auftragsverarbeitung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"We have concluded a contract for order processing (AVV) for the use of the above-mentioned service, ensuring this provider processes the personal data of our website visitors only according to our instructions and in compliance with the GDPR.":"Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung des oben genannten Dienstes geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nach unseren Weisungen und unter Einhaltung der DSGVO verarbeitet."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Contact form":"Kontaktformular"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"If you send us inquiries via the contact form, your details from the inquiry form, including the contact data you provide there, will be stored for the purpose of processing the inquiry and in case of follow-up questions. We do not pass on this data without your consent.":"Wenn Sie uns per Kontaktformular Anfragen zukommen lassen, werden Ihre Angaben aus dem Anfrageformular inklusive der von Ihnen dort angegebenen Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen bei uns gespeichert. Diese Daten geben wir nicht ohne Ihre Einwilligung weiter."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Processing of this data is based on Art. 6 para. 1 lit. b GDPR, insofar as your request is related to the fulfillment of a contract or is necessary for pre-contractual measures. In all other cases, processing is based on our legitimate interest in the effective processing of inquiries addressed to us (Art. 6 para. 1 lit. f GDPR) or on your consent (Art. 6 para. 1 lit. a GDPR) if requested; consent can be revoked at any time.":"Die Verarbeitung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO, sofern Ihre Anfrage mit der Erfüllung eines Vertrags zusammenhängt oder zur Durchführung vorvertraglicher MaÃnahmen erforderlich ist. In allen übrigen Fällen beruht die Verarbeitung auf unserem berechtigten Interesse an der effektiven Bearbeitung der an uns gerichteten Anfragen (Art. 6 Abs. 1 lit. f DSGVO) oder auf Ihrer Einwilligung (Art. 6 Abs. 1 lit. a DSGVO) sofern diese abgefragt wurde; die Einwilligung ist jederzeit widerrufbar."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"The data you enter in the contact form remains with us until you request deleti
786on, revoke your consent to storage or the purpose for data storage ceases to apply (e.g. after completed processing of your inquiry). Mandatory statutory provisions â in particular retention periods â remain unaffected.":"Die von Ihnen im Kontaktformular eingegebenen Daten verbleiben bei uns, bis Sie uns zur Löschung auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt (z. B. nach abgeschlossener Bearbeitung Ihrer Anfrage). Zwingende gesetzliche Bestimmungen â insbesondere Aufbewahrungsfristen â bleiben unberührt."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Inquiry by email, phone or fax":"Anfrage per E-Mail, Telefon oder Telefax"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"If you contact us by email, phone or fax, your inquiry including all resulting personal data (name, inquiry) will be stored and processed for the purpose of processing your request. We do not pass on this data without your consent.":"Wenn Sie uns per E-Mail, Telefon oder Telefax kontaktieren, wird Ihre Anfrage inklusive aller daraus hervorgehenden personenbezogenen Daten (Name, Anfrage) zum Zwecke der Bearbeitung Ihres Anliegens bei uns gespeichert und verarbeitet. Diese Daten geben wir nicht ohne Ihre Einwilligung weiter."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Processing of this data is based on Art. 6 para. 1 lit. b GDPR, insofar as your request is related to the fulfillment of a contract or is necessary for pre-contractual measures. In all other cases, processing is based on our legitimate interest in the effective processing of inquiries addressed to us (Art. 6 para. 1 lit. f GDPR) or on your consent (Art. 6 para. 1 lit. a GDPR) if requested; consent can be revoked at any time.":"Die Verarbeitung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO, sofern Ihre Anfrage mit der Erfüllung eines Vertrags zusammenhängt oder zur Durchführung vorvertraglicher MaÃnahmen erforderlich ist. In allen übrigen Fällen beruht die Verarbeitung auf unserem berechtigten Interesse an der effektiven Bearbeitung der an uns gerichteten Anfragen (Art. 6 Abs. 1 lit. f DSGVO) oder auf Ihrer Einwilligung (Art. 6 Abs. 1 lit. a DSGVO) sofern diese abgefragt wurde; die Einwilligung ist jederzeit widerrufbar."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"The data you send us via contact inquiries remains with us until you request deletion, revoke your consent to storage or the purpose for data storage ceases to apply (e.g. after completed processing of your request). Mandatory statutory provisions â in particular statutory retention periods â remain unaffected.":"Die von Ihnen an uns per Kontaktanfragen übersandten Daten verbleiben bei uns, bis Sie uns zur Löschung auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt (z. B. nach abgeschlossener Bearbeitung Ihres Anliegens). Zwingende gesetzliche Bestimmungen â insbesondere gesetzliche Aufbewahrungsfristen â bleiben unberührt."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Hubspot CRM"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"We use Hubspot CRM on this website. The provider is Hubspot Inc. 25 Street, Cambridge, MA 02141 USA (hereinafter Hubspot CRM).":"Wir nutzen Hubspot CRM auf dieser Website. Anbieter ist Hubspot Inc. 25 Street, Cambridge, MA 02141 USA (nachfolgend Hubspot CRM)."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Among other things, Hubspot CRM enables us to manage existing and potential customers and customer contacts. With Hubspot CRM, we can capture, sort and analyze customer interactions via email, social media or phone across various channels. The personal data collected in this way can be evaluated and used for communication with potential customers or for marketing measures (e.g. newsletter mailings). With Hubspot CRM, we are also able to record and analyze the user behavior of our contacts on our website.":"Hubspot CRM ermöglicht es uns unter anderem, bestehende und potenzielle Kunden sowie Kundenkontakte zu verwalten. Mit Hilfe von Hubspot CRM sind wir in der Lage, Kundeninteraktionen per E-Mail, Social Media oder Telefon über verschiedene Kanäle hinweg zu erfassen, zu sortieren und zu analysieren. Die so erfassten personenbezogenen Daten können ausgewertet und für die Kommunikation mit dem potenziellen Kunden oder für MarketingmaÃnahmen (z. B. Newslettermailings) verwendet werden. Mit Hubspot CRM sind wir ferner in der Lage, das Nutzerverhalten unserer Kontakte auf unserer Website zu erfassen und zu analysieren."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The use of Hubspot CRM is based on Art. 6 para. 1 lit. f GDPR. The website operator has a legitimate interest in the most efficient customer management and communication possible. If corresponding consent was requested, processing is carried out exclusively on the basis of Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG, insofar as the consent includes the storage of cookies or access to information on the userâs end device (e.g. device fingerprinting) within the meaning of the TDDDG. Consent can be revoked at any time.":"Die Verwendung von Hubspot CRM erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse an einer möglichst effizienten Kundenverwaltung und Kundenkommunikation. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschlieÃlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"For details see Hubspotâs privacy policy: ":"Details entnehmen Sie der Datenschutzerklärung von Hubspot: ",d.jsx("a",{href:"https://legal.hubspot.com/de/privacy-policy",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://legal.hubspot.com/de/privacy-policy"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Data transfer to the USA is based on the EU Commissionâs standard contractual clauses. Details can be found here: ":"Die Datenübertragung in die USA wird auf die Standardvertragsklauseln der EU-Kommission gestützt. Details finden Sie hier: ",d.jsx("a",{href:"https://www.hubspot.de/data-privacy/privacy-shield",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.hubspot.de/data-privacy/privacy-shield"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europÃ
786¤ischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/5812",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/5812"}),"."]}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"Order processing":"Auftragsverarbeitung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"We have concluded a contract for order processing (AVV) for the use of the above-mentioned service, ensuring this provider processes the personal data of our website visitors only according to our instructions and in compliance with the GDPR.":"Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung des oben genannten Dienstes geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nach unseren Weisungen und unter Einhaltung der DSGVO verarbeitet."}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"5. Social media":"5. Soziale Medien"}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"eRecht24 Safe Sharing Tool"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"The content on this website can be shared in social networks such as Facebook, X & Co. in a privacy-compliant manner. This site uses the ":"Die Inhalte auf dieser Website können datenschutzkonform in sozialen Netzwerken wie Facebook, X & Co. geteilt werden. Diese Seite nutzt dafür das ",d.jsx("a",{href:"https://www.e-recht24.de/erecht24-safe-sharing.html",target:"_blank",rel:"noopener noreferrer",className:ot,children:"eRecht24 Safe Sharing Tool"}),e?". This tool only establishes direct contact between the networks and users when the user actively clicks on one of these buttons. Clicking the button represents consent within the meaning of Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG. This consent can be revoked at any time with effect for the future.":". Dieses Tool stellt den direkten Kontakt zwischen den Netzwerken und Nutzern erst dann her, wenn der Nutzer aktiv auf einen dieser Button klickt. Der Klick auf den Button stellt eine Einwilligung im Sinne des Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG dar. Diese Einwilligung kann jederzeit mit Wirkung für die Zukunft widerrufen werden."]}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"This tool does not automatically transfer user data to the operators of these platforms. If the user is logged in to one of the social networks, an information window appears when using the social media elements from Facebook, X & Co. in which the user can confirm the text before sending.":"Eine automatische Ãbertragung von Nutzerdaten an die Betreiber dieser Plattformen erfolgt durch dieses Tool nicht. Ist der Nutzer bei einem der sozialen Netzwerke angemeldet, erscheint bei der Nutzung der Social-Media-Elemente von Facebook, X & Co. ein Informations-Fenster, in dem der Nutzer den Text vor dem Absenden bestätigen kann."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Our users can share the content of this page in social networks in a privacy-compliant manner without complete surfing profiles being created by the network operators.":"Unsere Nutzer können die Inhalte dieser Seite datenschutzkonform in sozialen Netzwerken teilen, ohne dass komplette Surf-Profile durch die Betreiber der Netzwerke erstellt werden."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"The service is used to obtain the legally required consents for the use of certain technologies. The legal basis is Art. 6 para. 1 lit. c GDPR.":"Der Einsatz des Dienstes erfolgt, um die gesetzlich vorgeschriebenen Einwilligungen für den Einsatz bestimmter Technologien einzuholen. Rechtsgrundlage hierfür ist Art. 6 Abs. 1 lit. c DSGVO."}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"6. Analysis tools and advertising":"6. Analyse-Tools und Werbung"}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Google Tag Manager"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"We use the Google Tag Manager. The provider is Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland.":"Wir setzen den Google Tag Manager ein. Anbieter ist die Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The Google Tag Manager is a tool that helps us integrate tracking or statistics tools and other technologies on our website. The Google Tag Manager itself does not create user profiles, does not store cookies and does not carry out independent analyses. It merely manages and serves the tools integrated via it. However, the Google Tag Manager captures your IP address, which can also be transmitted to Googleâs parent company in the United States.":"Der Google Tag Manager ist ein Tool, mit dessen Hilfe wir Tracking- oder Statistik-Tools und andere Technologien auf unserer Website einbinden können. Der Google Tag Manager selbst erstellt keine Nutzerprofile, speichert keine Cookies und nimmt keine eigenständigen Analysen vor. Er dient lediglich der Verwaltung und Ausspielung der über ihn eingebundenen Tools. Der Google Tag Manager erfasst jedoch Ihre IP-Adresse, die auch an das Mutterunternehmen von Google in die Vereinigten Staaten übertragen werden kann."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The use of the Google Tag Manager is based on Art. 6 para. 1 lit. f GDPR. The website operator has a legitimate interest in the quick and uncomplicated integration and management of various tools on its website. If corresponding consent was requested, processing is carried out exclusively on the basis of Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG, insofar as the consent includes the storage of cookies or access to information on the userâs end device (e.g. device fingerprinting) within the meaning of the TDDDG. Consent can be revoked at any time.":"Der Einsatz des Google Tag Managers erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse an einer schnellen und unkomplizierten Einbindung und Verwaltung verschiedener Tools auf seiner Website. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschlieÃlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europÃ
786¤ischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/5780",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/5780"}),"."]}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Google Analytics"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"This website uses functions of the Google Analytics web analytics service. The provider is Google Ireland Limited (âGoogleâ), Gordon House, Barrow Street, Dublin 4, Ireland.":'Diese Website nutzt Funktionen des Webanalysedienstes Google Analytics. Anbieter ist die Google Ireland Limited (âGoogle"), Gordon House, Barrow Street, Dublin 4, Irland.'}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Google Analytics enables the website operator to analyze the behavior of website visitors. The website operator receives various usage data, such as page views, dwell time, operating systems used and the userâs origin. This data is assigned to the userâs respective end device. No assignment to a user ID takes place.":"Google Analytics ermöglicht es dem Websitebetreiber, das Verhalten der Websitebesucher zu analysieren. Hierbei erhält der Websitebetreiber verschiedene Nutzungsdaten, wie z. B. Seitenaufrufe, Verweildauer, verwendete Betriebssysteme und Herkunft des Nutzers. Diese Daten werden dem jeweiligen Endgerät des Users zugeordnet. Eine Zuordnung zu einer User-ID erfolgt nicht."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Furthermore, with Google Analytics we can, among other things, record your mouse and scroll movements and clicks. Google Analytics also uses various modeling approaches to supplement the recorded data sets and uses machine learning technologies in data analysis.":"Des Weiteren können wir mit Google Analytics u. a. Ihre Maus- und Scrollbewegungen und Klicks aufzeichnen. Ferner verwendet Google Analytics verschiedene Modellierungsansätze, um die erfassten Datensätze zu ergänzen und setzt Machine-Learning-Technologien bei der Datenanalyse ein."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Google Analytics uses technologies that enable user recognition for the purpose of analyzing user behavior (e.g. cookies or device fingerprinting). The information collected by Google about the use of this website is usually transmitted to a Google server in the USA and stored there.":"Google Analytics verwendet Technologien, die die Wiedererkennung des Nutzers zum Zwecke der Analyse des Nutzerverhaltens ermöglichen (z. B. Cookies oder Device-Fingerprinting). Die von Google erfassten Informationen über die Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The use of this service is based on your consent pursuant to Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG. Consent can be revoked at any time.":"Die Nutzung dieses Dienstes erfolgt auf Grundlage Ihrer Einwilligung nach Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG. Die Einwilligung ist jederzeit widerrufbar."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Data transfer to the USA is based on the EU Commissionâs standard contractual clauses. Details can be found here: ":"Die Datenübertragung in die USA wird auf die Standardvertragsklauseln der EU-Kommission gestützt. Details finden Sie hier: ",d.jsx("a",{href:"https://privacy.google.com/businesses/controllerterms/mccs/",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://privacy.google.com/businesses/controllerterms/mccs/"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europÃ
786¤ischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/5780",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/5780"}),"."]}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"IP anonymization":"IP Anonymisierung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Google Analytics IP anonymization is activated. As a result, your IP address is truncated by Google within member states of the European Union or in other contracting states of the Agreement on the European Economic Area before transmission to the USA. Only in exceptional cases is the full IP address transmitted to a Google server in the USA and truncated there. On behalf of the operator of this website, Google will use this information to evaluate your use of the website, to compile reports on website activity and to provide other services related to website and internet use to the website operator. The IP address transmitted by your browser within the scope of Google Analytics is not merged with other data from Google.":"Die Google Analytics IP-Anonymisierung ist aktiviert. Dadurch wird Ihre IP-Adresse von Google innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum vor der Ãbermittlung in die USA gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt."}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"Browser plugin":"Browser Plugin"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"You can prevent the collection and processing of your data by Google by downloading and installing the browser plugin available at the following link: ":"Sie können die Erfassung und Verarbeitung Ihrer Daten durch Google verhindern, indem Sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: ",d.jsx("a",{href:"https://tools.google.com/dlpage/gaoptout?hl=de",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://tools.google.com/dlpage/gaoptout?hl=de"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"More information on handling user data at Google Analytics can be found in Googleâs privacy policy: ":"Mehr Informationen zum Umgang mit Nutzerdaten bei Google Analytics finden Sie in der Datenschutzerklärung von Google: ",d.jsx("a",{href:"https://support.google.com/analytics/answer/6004245?hl=de",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://support.google.com/analytics/answer/6004245?hl=de"}),"."]}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"Order processing":"Auftragsverarbeitung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"We have concluded an order processing contract with Google and fully implement the strict requirements of the German data protection authorities when using Google Analytics.":"Wir haben mit Google einen Vertrag zur Auftragsverarbeitung abgeschlossen und setzen die strengen Vorgaben der deutschen Datenschutzbehörden bei der Nutzung von Google Analytics vollständig um."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Clarity"}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"This website uses Clarity. The provider is Microsoft Ireland Operations Limited, One Microsoft Place, South County Business Park, Leopardstown, Dublin 18, Ireland, ":"Diese Website nutzt Clarity. Anbieter ist die Microsoft Ireland Operations Limited, One Microsoft Place, South County Business Park, Leopardstown, Dublin 18, Irland, ",d.jsx("a",{href:"https://docs.microsoft.com/en-us
786/clarity/",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://docs.microsoft.com/en-us/clarity/"}),e?" (hereinafter âClarityâ).":' (im Folgenden âClarity").']}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Clarity is a tool for analyzing user behavior on this website. Clarity records mouse movements in particular and creates a graphical representation of which part of the website users scroll on most frequently (heatmaps). Clarity can also record sessions, so that we can view page usage in the form of videos. We also receive information about general user behavior within our website.":"Clarity ist ein Werkzeug zur Analyse des Nutzerverhaltens auf dieser Website. Hierbei erfasst Clarity insbesondere Mausbewegungen und erstellt eine grafische Darstellung darüber, auf welchen Teil der Website Nutzer besonders häufig scrollen (Heatmaps). Clarity kann ferner Sitzungen aufzeichnen, sodass wir die Seitennutzung in Form von Videos ansehen können. Ferner erhalten wir Angaben über das allgemeine Nutzerverhalten innerhalb unserer Website."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Clarity uses technologies that enable user recognition for the purpose of analyzing user behavior (e.g. cookies or device fingerprinting). Your personal data is stored on Microsoft servers (Microsoft Azure Cloud Service) in the USA.":"Clarity verwendet Technologien, die die Wiedererkennung des Nutzers zum Zwecke der Analyse des Nutzerverhaltens ermöglichen (z. B. Cookies oder Einsatz von Device-Fingerprinting). Ihre personenbezogenen Daten werden auf den Servern von Microsoft (Microsoft Azure Cloud Service) in den USA gespeichert."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Insofar as consent has been obtained, the use of the above-mentioned service is carried out exclusively on the basis of Art. 6 para. 1 lit. a GDPR and § 25 TDDDG. Consent can be revoked at any time. Insofar as no consent has been obtained, the use of this service is based on Art. 6 para. 1 lit. f GDPR; the website operator has a legitimate interest in effective user analysis.":"Soweit eine Einwilligung (Consent) eingeholt wurde, erfolgt der Einsatz des o. g. Dienstes ausschlieÃlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 TDDDG. Die Einwilligung ist jederzeit widerrufbar. Soweit keine Einwilligung eingeholt wurde, erfolgt die Verwendung dieses Dienstes auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO; der Websitebetreiber hat ein berechtigtes Interesse an einer effektiven Nutzeranalyse."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Further details on Clarityâs privacy can be found here: ":"Weitere Details zum Datenschutz von Clarity finden Sie hier: ",d.jsx("a",{href:"https://docs.microsoft.com/en-us/clarity/faq",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://docs.microsoft.com/en-us/clarity/faq"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europäischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/6474",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/6474"}),"."]}),d.jsx("h4",{className:"text-base font-semibold text-[#1A1A1A] mt-4 mb-2",children:e?"Order processing":"Auftragsverarbeitung"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-6",children:e?"We have concluded a contract for order processing (AVV) for the use of the above-mentioned service, ensuring this provider processes the personal data of our website visitors only according to our instructions and in compliance with the GDPR.":"Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung des oben genannten Dienstes geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nac
786h unseren Weisungen und unter Einhaltung der DSGVO verarbeitet."}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Google Ads"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The website operator uses Google Ads. Google Ads is an online advertising program of Google Ireland Limited (âGoogleâ), Gordon House, Barrow Street, Dublin 4, Ireland.":'Der Websitebetreiber verwendet Google Ads. Google Ads ist ein Online-Werbeprogramm der Google Ireland Limited (âGoogle"), Gordon House, Barrow Street, Dublin 4, Irland.'}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Google Ads enables us to display ads in the Google search engine or on third-party websites when the user enters certain search terms on Google (keyword targeting). Furthermore, targeted ads can be displayed based on user data available at Google (e.g. location data and interests) (audience targeting). As website operators, we can evaluate this data quantitatively, for example by analyzing which search terms led to our ads being displayed and how many ads led to corresponding clicks.":"Google Ads ermöglicht es uns Werbeanzeigen in der Google-Suchmaschine oder auf Drittwebseiten auszuspielen, wenn der Nutzer bestimmte Suchbegriffe bei Google eingibt (Keyword-Targeting). Ferner können zielgerichtete Werbeanzeigen anhand der bei Google vorhandenen Nutzerdaten (z. B. Standortdaten und Interessen) ausgespielt werden (Zielgruppen-Targeting). Wir als Websitebetreiber können diese Daten quantitativ auswerten, indem wir beispielsweise analysieren, welche Suchbegriffe zur Ausspielung unserer Werbeanzeigen geführt haben und wie viele Anzeigen zu entsprechenden Klicks geführt haben."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The use of this service is based on your consent pursuant to Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG. Consent can be revoked at any time.":"Die Nutzung dieses Dienstes erfolgt auf Grundlage Ihrer Einwilligung nach Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG. Die Einwilligung ist jederzeit widerrufbar."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Data transfer to the USA is based on the EU Commissionâs standard contractual clauses. Details can be found here: ":"Die Datenübertragung in die USA wird auf die Standardvertragsklauseln der EU-Kommission gestützt. Details finden Sie hier: ",d.jsx("a",{href:"https://policies.google.com/privacy/frameworks",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://policies.google.com/privacy/frameworks"})," ",e?"and":"und"," ",d.jsx("a",{href:"https://business.safety.google/controllerterms/",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://business.safety.google/controllerterms/"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europäischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/5780",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/5780"}),"."]}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Google Ads Remarketing"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"This website uses the functions of Google Ads Remarketing. The provider is Google Ireland Limited (âGoogleâ), Gordon House, Barrow Street, Dublin 4, Ireland.":'Diese Website nutzt die Funktionen von Google Ads Remarketing. Anbieter ist die Google Ireland Limited (âGoogle"), Gordon House, Barrow Street, Dublin 4, Irland.'}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"With Google Ads Remarketing, we can assign people who interact with our online offering to specific audie
786nces in order to then show them interest-based advertising in the Google advertising network (remarketing or retargeting).":"Mit Google Ads Remarketing können wir Personen, die mit unserem Online-Angebot interagieren bestimmten Zielgruppen zuordnen, um ihnen anschlieÃend interessenbezogene Werbung im Google-Werbenetzwerk anzeigen zu lassen (Remarketing bzw. Retargeting)."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"Furthermore, the advertising audiences created with Google Ads Remarketing can be linked with Googleâs cross-device functions. In this way, interest-based, personalized advertising messages that were adapted to your previous usage and surfing behavior on one end device (e.g. smartphone) can also be displayed on another of your end devices (e.g. tablet or PC).":"Des Weiteren können die mit Google Ads Remarketing erstellten Werbe-Zielgruppen mit den geräteübergreifenden Funktionen von Google verknüpft werden. Auf diese Weise können interessenbezogene, personalisierte Werbebotschaften, die in Abhängigkeit Ihres früheren Nutzungs- und Surfverhaltens auf einem Endgerät (z. B. Handy) an Sie angepasst wurden auch auf einem anderen Ihrer Endgeräte (z. B. Tablet oder PC) angezeigt werden."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"If you have a Google account, you can object to personalized advertising at the following link: ":"Wenn Sie über einen Google-Account verfügen, können Sie der personalisierten Werbung unter folgendem Link widersprechen: ",d.jsx("a",{href:"https://adssettings.google.com/anonymous?hl=de",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://adssettings.google.com/anonymous?hl=de"}),"."]}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The use of this service is based on your consent pursuant to Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG. Consent can be revoked at any time.":"Die Nutzung dieses Dienstes erfolgt auf Grundlage Ihrer Einwilligung nach Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG. Die Einwilligung ist jederzeit widerrufbar."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Further information and the privacy policy can be found in Googleâs privacy policy at: ":"Weitergehende Informationen und die Datenschutzbestimmungen finden Sie in der Datenschutzerklärung von Google unter: ",d.jsx("a",{href:"https://policies.google.com/technologies/ads?hl=de",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://policies.google.com/technologies/ads?hl=de"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europäischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/5780",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/5780"}),"."]}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:e?"Google Conversion Tracking":"Google Conversion-Tracking"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"This website uses Google Conversion Tracking. The provider is Google Ireland Limited (âGoogleâ), Gordon House, Barrow Street, Dublin 4, Ireland.":'Diese Website nutzt Google Conversion Tracking. Anbieter ist die Google Ireland Limited (âGoogle"), Gordon House, Barrow Street, Dublin 4, Irland.'}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"With the help of Google Conversion Tracking, Google and we can recognize whether the user has carried out certain actions. For example, we can evaluate which buttons on our website were clicked how often and which products were viewed or purchased particularly frequently. This information is used to create conversion statistics. We learn the total number of users who clicked on our ads and what actions they carried out. We do not receive any information that would allow us to personally identify the user. Google itself uses co
786okies or comparable recognition technologies for identification.":"Mit Hilfe von Google-Conversion-Tracking können Google und wir erkennen, ob der Nutzer bestimmte Aktionen durchgeführt hat. So können wir beispielsweise auswerten, welche Buttons auf unserer Website wie häufig geklickt und welche Produkte besonders häufig angesehen oder gekauft wurden. Diese Informationen dienen dazu, Conversion-Statistiken zu erstellen. Wir erfahren die Gesamtanzahl der Nutzer, die auf unsere Anzeigen geklickt haben und welche Aktionen sie durchgeführt haben. Wir erhalten keine Informationen, mit denen wir den Nutzer persönlich identifizieren können. Google selbst nutzt zur Identifikation Cookies oder vergleichbare Wiedererkennungstechnologien."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The use of this service is based on your consent pursuant to Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG. Consent can be revoked at any time.":"Die Nutzung dieses Dienstes erfolgt auf Grundlage Ihrer Einwilligung nach Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG. Die Einwilligung ist jederzeit widerrufbar."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"More information on Google Conversion Tracking can be found in Googleâs privacy policy: ":"Mehr Informationen zu Google Conversion-Tracking finden Sie in den Datenschutzbestimmungen von Google: ",d.jsx("a",{href:"https://policies.google.com/privacy?hl=de",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://policies.google.com/privacy?hl=de"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europäischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/5780",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/5780"}),"."]}),d.jsx("h2",{className:"text-xl font-bold text-[#1A1A1A] mt-8 mb-3",children:e?"7. Plugins and tools":"7. Plugins und Tools"}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Google Fonts"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"This site uses so-called Google Fonts, provided by Google, for the uniform display of fonts. When a page is called up, your browser loads the required fonts into its browser cache to display texts and fonts correctly.":"Diese Seite nutzt zur einheitlichen Darstellung von Schriftarten so genannte Google Fonts, die von Google bereitgestellt werden. Beim Aufruf einer Seite lädt Ihr Browser die benötigten Fonts in ihren Browsercache, um Texte und Schriftarten korrekt anzuzeigen."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"For this purpose, the browser you use must connect to Googleâs servers. This gives Google knowledge that this website was accessed via your IP address. The use of Google Fonts is based on Art. 6 para. 1 lit. f GDPR. The website operator has a legitimate interest in the uniform display of the font on its website. If corresponding consent was requested, processing is carried out exclusively on the basis of Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG, insofar as the consent includes the storage of cookies or access to information on the userâs end device (e.g. device fingerprinting) within the meaning of the TDDDG. Consent can be revoked at any time.":"Zu diesem Zweck muss der von Ihnen verwendete Browser Verbindung zu den Servern von Google auf
786nehmen. Hierdurch erlangt Google Kenntnis darüber, dass über Ihre IP-Adresse diese Website aufgerufen wurde. Die Nutzung von Google Fonts erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse an der einheitlichen Darstellung des Schriftbildes auf seiner Website. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschlieÃlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"If your browser does not support Google Fonts, a standard font from your computer is used.":"Wenn Ihr Browser Google Fonts nicht unterstützt, wird eine Standardschrift von Ihrem Computer genutzt."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Further information on Google Fonts can be found at ":"Weitere Informationen zu Google Fonts finden Sie unter ",d.jsx("a",{href:"https://developers.google.com/fonts/faq",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://developers.google.com/fonts/faq"}),e?" and in Googleâs privacy policy: ":" und in der Datenschutzerklärung von Google: ",d.jsx("a",{href:"https://policies.google.com/privacy?hl=de",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://policies.google.com/privacy?hl=de"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europäischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/5780",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/5780"}),"."]}),d.jsx("h3",{className:"text-lg font-semibold text-[#1A1A1A] mt-6 mb-2",children:"Google reCAPTCHA"}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"We use âGoogle reCAPTCHAâ (hereinafter âreCAPTCHAâ) on this website. The provider is Google Ireland Limited (âGoogleâ), Gordon House, Barrow Street, Dublin 4, Ireland.":'Wir nutzen âGoogle reCAPTCHA" (im Folgenden âreCAPTCHA") auf dieser Website. Anbieter ist die Google Ireland Limited (âGoogle"), Gordon House, Barrow Street, Dublin 4, Irland.'}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"reCAPTCHA is used to check whether data input on this website (e.g. in a contact form) is made by a human or by an automated program. For this purpose, reCAPTCHA analyzes the behavior of the website visitor based on various characteristics. This analysis begins automatically as soon as the website visitor enters the website. For the analysis, reCAPTCHA evaluates various information (e.g. IP address, the website visitorâs dwell time on the website or mouse movements made by the user). The data collected during the analysis is forwarded to Google.":"Mit reCAPTCHA soll überprüft werden, ob die Dateneingabe auf dieser Website (z. B. in einem Kontaktformular) durch einen Menschen oder durch ein automatisiertes Programm erfolgt. Hierzu analysiert reCAPTCHA das Verhalten des Websitebesuchers anhand verschiedener Merkmale. Diese Analyse beginnt automatisch, sobald der Websitebesucher die Website betritt. Zur Analyse wertet reCAPTCHA verschiedene Informationen aus (z. B. IP-Adresse, Verweildauer des Websitebesuchers auf der Website oder vom Nutzer getätigte Mausbewegungen). Die bei der Analyse erfassten Daten werden an Google weitergeleitet."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The reCAPTCHA analyses run completely in the background. Website visitors are not informed that an analysis is taking place.":"Die reCAPTCHA-Analysen laufen vollständig im Hintergrund. Websitebesucher werden nicht darauf hingewiesen, dass eine Analyse stattfindet."}),d.jsx("p",{className:"text-[#444] leading-relaxed mb-4",children:e?"The storage and analysis of the data is based on Art. 6 para. 1 lit. f GDPR. The website operator has a legitimate interest in protecting its web offering from abusive automated scraping and from SPAM. If corresponding consent was requested, processing is carried out exclusively on the basis of Art. 6 para. 1 lit. a GDPR and § 25 para. 1 TDDDG, insofar as the consent includes the storage of cookies or access to information on the userâs end device (e.g. device fingerprinting) within the meaning of the TDDDG. Consent can be revoked at any time.":"Die Speicherung und Analyse der Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse daran, seine Webangebote vor missbräuchlicher automatisierter Ausspähung und vor SPAM zu schützen. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschlieÃlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar."}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-4",children:[e?"Further information on Google reCAPTCHA can be found in the Google privacy policy and Googleâs terms of service at the following links: ":"Weitere Informationen zu Google reCAPTCHA entnehmen Sie den Google-Datenschutzbestimmungen und den Google Nutzungsbedingungen unter folgenden Links: ",d.jsx("a",{href:"https://policies.google.com/privacy?hl=de",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://policies.google.com/privacy?hl=de"})," ",e?"and":"und"," ",d.jsx("a",{href:"https://policies.google.com/terms?hl=de",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://policies.google.com/terms?hl=de"}),"."]}),d.jsxs("p",{className:"text-[#444] leading-relaxed mb-6",children:[e?"The company is certified under the âEU-US Data Privacy Frameworkâ (DPF). The DPF is an agreement between the European Union and the USA intended to ensure compliance with European data protection standards for data processing in the USA. Every company certified under the DPF undertakes to comply with these data protection standards. Further information is available from the provider at the following link: ":'Das Unternehmen verfügt über eine Zertifizierung nach dem âEU-US Data Privacy Framework" (DPF). Der DPF ist ein Ãbereinkommen zwischen der Europäischen Union und den USA, der die Einhaltung europÃ
786¤ischer Datenschutzstandards bei Datenverarbeitungen in den USA gewährleisten soll. Jedes nach dem DPF zertifizierte Unternehmen verpflichtet sich, diese Datenschutzstandards einzuhalten. Weitere Informationen hierzu erhalten Sie vom Anbieter unter folgendem Link: ',d.jsx("a",{href:"https://www.dataprivacyframework.gov/participant/5780",target:"_blank",rel:"noopener noreferrer",className:ot,children:"https://www.dataprivacyframework.gov/participant/5780"}),"."]})]}),d.jsx(Wi,{})]})}function q4(){const t=I.useRef(null);return I.useEffect(()=>{const e=document.createElement("script");return e.type="text/javascript",e.src="https://static.hsappstatic.net/MeetingsEmbed/ex/MeetingsEmbedCode.js",e.async=!0,document.body.appendChild(e),()=>{document.body.removeChild(e)}},[]),d.jsx("div",{ref:t,className:"meetings-iframe-container w-full","data-src":"https://meetings-eu1.hubspot.com/meetings/dominik-feike?embed=true"})}function Sc(){const{lang:t}=Wt(),e={de:{badge:"Termin in 2 Minuten gebucht",h2Pre:"Willst du wissen, welche Online-Werbung wirklich ",h2Accent:"Kunden bringt?",p:"Wähl direkt einen freien Termin aus und wir schauen uns gemeinsam an, wo dein Marketingbudget wirkt â und wo es möglicherweise jeden Tag verpufft.",stats:["Seit 2018 im Einsatz","Ãber 1 Mio. Customer Journeys pro Jahr","4,8 / 5 Sterne bei OMR Reviews"]},en:{badge:"Appointment booked in 2 minutes",h2Pre:"Want to know which online advertising really ",h2Accent:"brings customers?",p:"Pick a free slot right away and weâll look together at where your marketing budget works â and where it might evaporate every day.",stats:["In use since 2018","Over 1M customer journeys per year","4.8 / 5 stars on OMR Reviews"]}}[t];return d.jsxs("section",{id:"demo",className:"relative bg-[#0A0A0A] py-20 md:py-28 overflow-hidden",children:[d.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[700px] h-[700px] bg-[#FC9224]/10 rounded-full blur-[150px]"}),d.jsxs("div",{className:"relative max-w-5xl mx-auto px-5 md:px-8",children:[d.jsxs("div",{className:"text-center mb-10",children:[d.jsxs("div",{className:"inline-flex items-center gap-2 bg-[#FC9224]/10 border border-[#FC9224]/30 rounded-full px-4 py-1.5 text-xs text-[#FC9224] mb-5",children:[d.jsx(mg,{className:"w-3.5 h-3.5"})," ",e.badge]}),d.jsxs("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-white tracking-tight leading-tight mb-6",children:[e.h2Pre,d.jsx("span",{className:"text-[#FC9224]",children:e.h2Accent})]}),d.jsx("p",{className:"text-lg text-white/60 leading-relaxed mb-2 max-w-2xl mx-auto",children:e.p})]}),d.jsx("div",{className:"bg-white rounded-2xl shadow-2xl overflow-hidden min-h-[600px]",children:d.jsx(q4,{})}),d.jsx("div",{className:"flex flex-wrap justify-center gap-x-6 gap-y-2 border-t border-white/10 pt-8 mt-10",children:e.stats.map(n=>d.jsxs("span",{className:"text-xs text-white/50 flex items-center gap-1.5",children:[d.jsx("span",{className:"w-1 h-1 bg-[#FC9224] rounded-full"})," ",n]},n))})]})]})}const U4=Object.freeze(Object.defineProperty({__proto__:null,default:Sc},Symbol.toStringTag,{value:"Module"}));function EA({src:t,alt:e="",title:n="",bare:i=!1,className:s="",imgClassName:o="",fallbackClassName:u=""}){const[c,p]=I.useState(!1);return!t||c?d.jsx("div",{className:`relative overflow-hidden bg-gradient-to-br from-[#1A1A1A] to-[#0A0A0A] ${s} ${u}`,children:!i&&d.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[d.jsx(E_,{className:"w-7 h-7 text-[#FC9224] mb-1.5"}),n&&d.jsx("span",{className:"text-[11px] text-white/40 text-center px-3 line-clamp-2",children:n})]})}):d.jsx("div",{className:`relative overflow-hidden ${s}`,children:d.jsx("img",{src:t,alt:e,loading:"lazy",onError:()=>p(!0),className:o})})}function W4({article:t}){const{lang:e}=Wt(),n=e==="en"?"Read more":"Weiterlesen",i=e==="en"?"min":"Min";return d.jsx(lt,{to:`/magazin/${t.slug}`,className:"group block h-full",children:d.jsxs("div",{className:"bg-white rounded-xl border border-black/5 overflow-hidden hover:shadow-lg transition-shadow h-full flex flex-col",children:[d.jsx(EA,{src:t.cover_image,alt:t.title,title:t.title,className:"aspect-[16/9] bg-[#0A0A0A]",imgClassName:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300"}),d.jsxs("div",{className:"p-5 flex flex-col flex-1",children:[d.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[d.jsx("span",{className:"text-[11px] font-semibold text-[#FC9224] uppercase tracking-wide",children:t.category}),t.reading_time_minutes>0&&d.jsxs("span",{className:"text-[11px] text-[#999] flex items-center gap-1",children:[d.jsx(Sx,{className:"w-3 h-3"})," ",t.reading_time_minutes," ",i]})]}),d.jsx("h3",{className:"text-base font-bold text-[#1A1A1A] mb-2 line-clamp-2 group-hover:text-[#FC9224] transition-colors",children:t.title}),d.jsx("p",{className:"text-sm text-[#666] line-clamp-3 mb-3 flex-1",children:t.excerpt}),d.jsxs("span",{className:"text-xs font-semibold text-[#1A1A1A] flex items-center gap-1 group-hover:text-[#FC9224] transition-colors",children:[n," ",d.jsx(ar,{className:"w-3 h-3 group-hover:translate-x-1 transition-transform"})]})]})]})})}function K4(){const{lang:t}=Wt(),e={de:{kicker:"Magazin",h1:"Insights zu Attribution, Tracking & Marketing",p:"Praxiswissen, Analysen und Strategien rund um datengetriebenes Marketing, Multi-Touch Attribution und das Ende der Third-Party-Cookies.",title:"attriXus Magazin â Insights zu Attribution, Tracking & Marketing",schemaDesc:"Insights zu Attribution, Tracking und datengetriebenem Marketing.",error:"Beim Laden der Artikel ist ein Fehler aufgetreten.",empty:"Noc
786h keine Artikel vorhanden.",crumbStart:"Start",crumbMagazin:"Magazin"},en:{kicker:"Magazine",h1:"Insights on attribution, tracking & marketing",p:"Practical knowledge, analyses and strategies around data-driven marketing, multi-touch attribution and the end of third-party cookies.",title:"attriXus Magazine â Insights on attribution, tracking & marketing",schemaDesc:"Insights on attribution, tracking and data-driven marketing.",error:"An error occurred while loading the articles.",empty:"No articles yet.",crumbStart:"Home",crumbMagazin:"Magazine"}}[t],[n,i]=I.useState([]),[s,o]=I.useState(!0),[u,c]=I.useState(null);I.useEffect(()=>{(async()=>{try{const h=await un.entities.BlogArticle.filter({status:"published"},"-published_at",100);i(h)}catch(h){c(h.message)}o(!1)})()},[]),I.useEffect(()=>{document.title=e.title},[e.title]);const p={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:e.crumbStart,item:"https://www.attrixus.de"},{"@type":"ListItem",position:2,name:e.crumbMagazin,item:"https://www.attrixus.de/magazin"}]},v={"@context":"https://schema.org","@type":"Blog",name:"attriXus Magazine",description:e.schemaDesc,url:"https://www.attrixus.de/magazin"};return d.jsxs("div",{className:"min-h-screen bg-white text-[#1A1A1A]",children:[d.jsx(Nn,{id:"schema-breadcrumb-magazin",data:p}),d.jsx(Nn,{id:"schema-blog",data:v}),d.jsx(Ui,{}),d.jsx("section",{className:"bg-[#0A0A0A] text-white pt-28 pb-16 md:pt-36 md:pb-20",children:d.jsx("div",{className:"max-w-7xl mx-auto px-5 md:px-8",children:d.jsxs("div",{className:"max-w-3xl",children:[d.jsx("span",{className:"text-xs font-semibold text-[#FC9224] uppercase tracking-wider",children:e.kicker}),d.jsx("h1",{className:"text-3xl md:text-5xl font-bold mt-3 mb-4",children:e.h1}),d.jsx("p",{className:"text-base md:text-lg text-white/60 leading-relaxed",children:e.p})]})})}),d.jsx("section",{className:"py-12 md:py-16",children:d.jsx("div",{className:"max-w-7xl mx-auto px-5 md:px-8",children:s?d.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[1,2,3,4,5,6].map(b=>d.jsxs("div",{className:"bg-white rounded-xl border border-black/5 overflow-hidden animate-pulse",children:[d.jsx("div",{className:"aspect-[16/9] bg-[#0A0A0A]"}),d.jsxs("div",{className:"p-5",children:[d.jsx("div",{className:"h-3 bg-gray-100 rounded w-20 mb-3"}),d.jsx("div",{className:"h-4 bg-gray-100 rounded w-full mb-2"}),d.jsx("div",{className:"h-4 bg-gray-100 rounded w-3/4 mb-3"}),d.jsx("div",{className:"h-3 bg-gray-100 rounded w-full"}),d.jsx("div",{className:"h-3 bg-gray-100 rounded w-5/6 mt-1"})]})]},b))}):u?d.jsx("div",{className:"text-center py-20",children:d.jsx("p",{className:"text-[#999]",children:e.error})}):n.length===0?d.jsx("div",{className:"text-center py-20",children:d.jsx("p",{className:"text-[#999]",children:e.empty})}):d.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:n.map(b=>d.jsx(W4,{article:b},b.id))})})}),d.jsx(Sc,{}),d.jsx(Wi,{})]})}const qh="https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/04df14f82_DominikFeike1200x900.jpg";function G4(){const{lang:t}=Wt(),e={de:{kicker:"Ãber uns",h1Pre:"Wir machen Marketing",h1Post:"messbar.",heroP:"attriXus wurde gegründet, weil wir selbst genug davon hatten: Marketingbudgets, die blind verteilt werden. Reports, die nichtssagend sind. Und Attribution, die eher ratet als misst. Unsere Mission: Unternehmen zeigen, welche Werbung wirklich wirkt â und wo Budget verpufft.",visionKicker:"Unsere Vision",visionH2:"Ein Standard für transparentes Marketing â für jedes Unternehmen.",visionP1:"Marketing war lange Zeit eine Glaubensfrage. Welcher Kanal bringt die meisten Anfragen? Welches Budget ist gut investiert? Die Antworten kamen oft aus Bauchgefühl oder ungenauen Last-Click-Modellen â und waren regelmäÃig falsch.",visionP2pre:"Wir ändern das. Mit ",visionP2mid:", die die gesamte Customer Journey abbildet. Mit ",visionP2end:", das auch in einer Welt ohne Third-Party-Cookies funktioniert. Und mit einer Plattform, die nicht nur Daten liefert, sondern sie verständlich macht.",visionP3:"Unsere Vision: Dass jedes Unternehmen â ob KMU oder Konzern â genau weiÃ, welcher Euro welche Wirkung erzielt hat. Nicht irgendwann. Sondern heute.",founderKicker:"Der Gründer",founderName:"Dominik Feike",founderRole:"Gründer & Geschäftsführer · Speaker & Coach",founderBadge:"Gründer",founderP1pre:"Seit über ",founderP1b1:"24 Jahren",founderP1mid:" im Online-Marketing zu Hause â davon ein GroÃteil im ",founderP1b2:"Affiliate-Marketing",founderP1end:". In dieser Zeit hat Dominik unzählige Kampagnen, Publisher-Netzwerke und Performance-Strategien aufgebaut und optimiert.",founderP2pre:"Er begleitete groÃe Unternehmen wie ",founderP2b1:"Burda",founderP2mid:" und ",founderP2b2:"IDG Deutschland",founderP2end:" im Performance Marketing und weià aus erster Hand, wo das Budget wirklich wirksam wird â und wo es verpufft.",founderP3pre:"Darüber hinaus ist Dominik als ",founderP3b1:"Speaker auf Konferenzen",founderP3mid:" und ",founderP3b2:"Coach",founderP3end:" im Online-Marketing- und Affiliate-Bereich aktiv. Er teilt seine Praxiserfahrung auf Branchenevents und berät Unternehmen strategisch â von der Kampagnenoptimierung bis zum Aufbau skalierbarer Performance-Strukturen.",founderP4:"Genau diese Erfahrung steckt in attriXus: eine Plattform, die nicht theoretisch daherkommt, sondern aus der Praxis für die Praxis gebaut ist.",valuesKicker:"Was uns antreibt",valuesH2:"Unsere Werte",teamKicker:"Das Team",teamH2:"Menschen hinter der Technologie",teamP:"Ein Team aus Mar
786keting-Experten, Daten-Ingenieuren und Produktentwicklern â vereint durch den Anspruch, Transparenz ins Marketing zu bringen.",values:[{title:"Transparenz statt Bauchgefühl",desc:"Wir glauben, dass Marketingentscheidungen auf Daten basieren sollten â nicht auf Vermutungen. Jeder ausgegebene Euro muss nachvollziehbar sein."},{title:"Klare Sicht auf die Customer Journey",desc:"Marketing passiert selten bei einem einzigen Kontakt. Wir machen sichtbar, welcher Kanal wann und wie viel zur Conversion beigetragen hat."},{title:"Persönliche Nähe",desc:"Wir sind kein anonymer SaaS-Anbieter. Wir kennen unsere Kunden, ihre Ziele und ihre Herausforderungen â und stehen persönlich zur Seite."}],stats:[{num:"24+",label:"Jahre Erfahrung"},{num:"500+",label:"Analysierte Kampagnen"},{num:"98%",label:"Kundenzufriedenheit"},{num:"24/7",label:"Monitoring"}],photoSoon:"Foto in Kürze"},en:{kicker:"About us",h1Pre:"We make marketing",h1Post:"measurable.",heroP:"attriXus was founded because weâd had enough ourselves: marketing budgets distributed blindly. Reports that say nothing. And attribution that guesses rather than measures. Our mission: show companies which advertising really works â and where budget evaporates.",visionKicker:"Our vision",visionH2:"A standard for transparent marketing â for every company.",visionP1:"For a long time, marketing was a matter of faith. Which channel brings the most inquiries? Which budget is well invested? The answers often came from gut feeling or inaccurate last-click models â and were regularly wrong.",visionP2pre:"We change that. With ",visionP2mid:" that maps the entire customer journey. With ",visionP2end:" that works even in a world without third-party cookies. And with a platform that doesnât just deliver data but makes it understandable.",visionP3:"Our vision: that every company â whether SME or corporation â knows exactly which euro achieved which effect. Not someday. But today.",founderKicker:"The founder",founderName:"Dominik Feike",founderRole:"Founder & CEO · Speaker & Coach",founderBadge:"Founder",founderP1pre:"At home in online marketing for over ",founderP1b1:"24 years",founderP1mid:" â a large part of that in ",founderP1b2:"affiliate marketing",founderP1end:". During this time Dominik has built and optimized countless campaigns, publisher networks and performance strategies.",founderP2pre:"He accompanied major companies like ",founderP2b1:"Burda",founderP2mid:" and ",founderP2b2:"IDG Germany",founderP2end:" in performance marketing and knows first-hand where budget really takes effect â and where it evaporates.",founderP3pre:"Beyond that, Dominik is active as a ",founderP3b1:"conference speaker",founderP3mid:" and ",founderP3b2:"coach",founderP3end:" in online and affiliate marketing. He shares his practical experience at industry events and advises companies strategically â from campaign optimization to building scalable performance structures.",founderP4:"Exactly this experience is built into attriXus: a platform that doesnât come across as theoretical, but is built from practice for practice.",valuesKicker:"What drives us",valuesH2:"Our values",teamKicker:"The team",teamH2:"People behind the technology",teamP:"A team of marketing experts, data engineers and product developers â united by the ambition to bring transparency to marketing.",values:[{title:"Transparency over gut feeling",desc:"We believe marketing decisions should be based on data â not assumptions. Every euro spent must be traceable."},{title:"A clear view of the customer journey",desc:"Marketing rarely happens at a single touchpoint. We make visible which channel contributed what and when to a conversion."},{title:"Personal closeness",desc:"Weâre not an anonymous SaaS provider. We know our clients, their goals and their challenges â and stand by them personally."}],stats:[{num:"24+",label:"years of experience"},{num:"500+",label:"analyzed campaigns"},{num:"98%",label:"customer satisfaction"},{num:"24/7",label:"monitoring"}],photoSoon:"Photo coming soon"}}[t],n={de:[{name:"Dominik Feike",role:"Gründer & Geschäftsführer",desc:"Ãber 24 Jahre im Online-Marketing, vorwiegend im Affiliate-Marketing. Speaker auf Konferenzen und Coach für Unternehmen im Bereich Online- und Affiliate-Marketing. Begleitete Burda und IDG Deutschland im Performance Marketing.",image:qh},{name:"Jonas Lechner",role:"Key Account Manager",desc:"Sorgt dafür, dass jeder Kunde das Maximum aus attriXus herausholt â von Onboarding bis zur strategischen Attributionsoptimierung.",image:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/2e8514537_image.png"},{name:"Jennifer Feike",role:"Client Successmanagerin / Backoffice",desc:"Sorgt dafür, dass unsere Kunden jederzeit bestens betreut werden â vom ersten Kontakt bis zur laufenden Zusammenarbeit. Koordiniert Prozesse im Backoffice, hält den Ãberblick über alle laufenden Themen und ist die erste Ansprechpartnerin bei Fragen rund um die Plattform.",image:""}],en:[{name:"Dominik Feike",role:"Founder & CEO",desc:"Over 24 years in online marketing, primarily in affiliate marketing. Conference speaker and coach for companies in online and affiliate marketing. Accompanied Burda and IDG Germany in performance marketing.",image:qh},{name:"Jonas Lechner",role:"Key Account Manager",desc:"Makes sure every client gets the maximum out of attriXus â from onboarding to strategic attribution optimization.",image:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/2e8514537_image.png"},{name:"Jennifer Feike",role:"Client Success Manager / Back office",desc:"Makes sure our clients are well looked after at all times â from first contact to ongoing collaboration. Coordinates back-office processes, keeps track of all ongoing topics and is the first point of contact for questions about the platform.",image:""}]}[t],i=[{icon:Tx,...e.values[0]},{icon:o_,...e.values[1]},{icon:d_,...e.values[2]}],s={"@context":"https://schema.org","@type":"AboutPage",name:t==="en"?"About us â attriXus GmbH":"Ãber uns â attriXus GmbH",description:t==="en"?"attriXus shows companies which online advertising really generates inquiries, leads and sales. Learn more about our vision and the team behind the technology.":"attriXus zeigt Unternehmen, welche Online-Werbung wirklich Anfragen, Leads und Verkäufe bringt. Erfahren Sie mehr über unsere Vision und das Team hinter der Technologie.",url:"https://www.attrixus.de/ueber-uns",mainEntity:{"@type":"Organization",name:"attriXus GmbH",url:"https://www.attrixus.de",logo:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/dd4106cc8_image.png",address:{"@type":"PostalAddress",streetAddress:"SiechenstraÃe 14",addressLocality:"Bamberg",postalCode:"96052",addressCountry:"DE"}}};return d.jsxs("div",{className:"min-h-screen bg-white text-[#1A1A1A]",children:[d.jsx(Nn,{id:"schema-about",data:s}),d.jsx(Ui,{}),d.jsxs("section",{className:"relative bg-[#0A0A0A] text-white pt-28 pb-16 md:pt-36 md:pb-24 overflow-hidden",children:[d.jsx("div",{className:"absolute inset-0 glow-orange opacity-30"}),d.jsx("div",{className:"relative max-w-7xl mx-auto px-5 md:px-8",children:d.jsxs("div",{className:"max-w-3xl",children:[d.jsx("span",{className:"text-xs font-semibold text-[#FC9224] uppercase tracking-wider",children:e.kicker}),d.jsxs("h1",{className:"text-3xl md:text-5xl font-bold mt-3 mb-5 leading-tight",children:[e.h1Pre,d.jsx("br",{}),e.h1Post]}),d.jsx("p",{className:"text-base md:text-lg text-white/60 leading-relaxed",children:e.heroP})]})})]}),d.jsx("section",{className:"py-16 md:py-24",children:d.jsx("div",{className:"max-w-4xl mx-auto px-5 md:px-8",children:d.jsxs(Gr,{children:[d.jsx("span",{className:"text-xs font-semibold text-[#FC9224] uppercase tracking-wider",children:e.visionKicker}),d.jsx("h2",{className:"text-2xl md:text-4xl font-bold text-[#1A1A1A] mt-3 mb-6 leading-tight",children:e.visionH2}),d.jsxs("div",{className:"space-y-4 text-base text-[#666] leading-relaxed",children:[d.jsx("p",{children:e.visionP1}),d.jsxs("p",{children:[e.visionP2pre,d.jsx("strong",{className:"text-[#1A1A1A]",children:"Multi-Touch Attribution"}),e.visionP2mid,d.jsx("strong",{className:"text-[#1A1A1A]",children:"First-Party-Tracking"}),e.visionP2end]}),d.jsx("p",{children:e.visionP3})]})]})})}),d.jsx("section",{className:"py-16 md:py-24 bg-gradient-to-b from-gray-50 to-white",children:d.jsx("div",{className:"max-w-7xl mx-auto px-5 md:px-8",children:d.jsxs("div",{className:"grid md:grid-cols-2 gap-10 md:gap-16 items-center",children:[d.jsx(Gr,{children:d.jsxs("div",{className:"relative flex justify-center md:justify-start",children:[d.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:d.jsx("div",{className:"w-72 h-72 md:w-96 md:h-96 rounded-full bg-[#FC9224]/10 blur-3xl"})}),d.jsxs("div",{className:"relative w-64 h-64 md:w-80 md:h-80",children:[d.jsx("img",{src:qh,alt:`${e.founderName} â ${e.founderRole}`,className:"w-full h-full object-cover rounded-full border-4 border-white shadow-2xl"}),d.jsx("div",{className:"absolute -bottom-3 -right-3 bg-[#FC9224] text-[#1A1A1A] font-bold text-sm px-4 py-2 rounded-full shadow-lg",children:e.founderBadge})]})]})}),d.jsx(Gr,{children:d.jsxs("div",{children:[d.jsx("span",{className:"text-xs font-semibold text-[#FC9224] uppercase tracking-wider",children:e.founderKicker}),d.jsx("h2",{className:"text-2xl md:text-4xl font-bold text-[#1A1A1A] mt-3 mb-2",children:e.founderName}),d.jsx("p",{className:"text-base text-[#FC9224] font-semibold mb-5",children:e.founderRole}),d.jsxs("div",{className:"space-y-4 text-base text-[#666] leading-relaxed",children:[d.jsxs("p",{children:[e.founderP1pre,d.jsx("strong",{className:"text-[#1A1A1A]",children:e.founderP1b1}),e.founderP1mid,d.jsx("strong",{className:"text-[#1A1A1A]",children:e.founderP1b2}),e.founderP1end]}),d.jsxs("p",{children:[e.founderP2pre,d.jsx("strong",{className:"text-[#1A1A1A]",children:e.founderP2b1}),e.founderP2mid,d.jsx("strong",{className:"text-[#1A1A1A]",children:e.founderP2b2}),e.founderP2end]}),d.jsxs("p",{children:[e.founderP3pre,d.jsx("strong",{className:"text-[#1A1A1A]",children:e.founderP3b1}),e.founderP3mid,d.jsx("strong",{className:"text-[#1A1A1A]",children:e.founderP3b2}),e.founderP3end]}),d.jsx("p",{children:e.founderP4})]})]})})]})})}),d.jsx("section",{className:"py-16 md:py-24 bg-gray-50",children:d.jsxs("div",{className:"max-w-7xl mx-auto px-5 md:px-8",children:[d.jsx(Gr,{children:d.jsxs("div",{className:"text-center mb-12",children:[d.jsx("span",{className:"text-xs font-semibold text-[#FC9224] uppercase tracking-wider",children:e.valuesKicker}),d.jsx("h2",{className:"text-2xl md:text-4xl font-bold text-[#1A1A1A] mt-3",children:e.valuesH2})]})}),d.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:i.map(o=>{const u=o.icon;return d.jsx(Gr,{children:d.jsxs("div",{className:"bg-white rounded-xl border border-black/5 p-7 h-full hover:shadow-lg transition-shadow",children:[d.jsx("div",{className:"w-12 h-12 rounded-xl bg-[#FC9224]/10 flex items-center justify-center mb-5",children:d.jsx(u,{className:"w-6 h-6 text-[#FC9224]"})}),d.jsx("h3",{className:"text-lg font-bold text-[#1A1A1A] mb-3",children:o.title}),d.jsx("p",{className:"text-sm text-[#666] leading-relaxed",children:o.desc})]})},o.title)})})]})}),d.jsx("section",{className:"py-16 md:py-24",children:d.jsxs("div",{className:"max-w-7xl mx-auto px-5 md:px-8",children:[d.jsx(Gr,{children:d.jsxs("div",{className:"text-center mb-12",children:[d.jsx("span",{className:"text-xs font-semibold text-[#FC9224] uppercase tracking-wider",children:e.teamKicker}),d.jsx("h2",{className:"text-2xl md:text-4xl font-bold text-[#1A1A1A] mt-3",children:e.teamH2}),d.jsx("p",{className:"text-base text-[#666] mt-4 max-w-2xl mx-auto",children:e.teamP})]})}),d.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:n.map(o=>d.jsx(Gr,{children:d.jsxs("div",{className:"text-center group",children:[d.jsxs("div",{className:"relative w-32 h-32 md:w-40 md:h-40 mx-auto mb-5",children:[o.image?d.jsx("img",{src:o.image,alt:o.name,className:"w-full h-full object-cover rounded-full border-4 border-white shadow-lg group-hover:shadow-xl transition-shadow"}):d.jsx("div",{className:"w-full h-full rounded-full border-4 border-white shadow-lg bg-gray-100 flex items-center justify-center",children:d.jsx("span",{className:"text-xs text-gray-400 font-medium text-center px-2",children:e.photoSoon})}),d.jsx("div",{className:"absolute inset-0 rounded-full bg-[#FC9224]/0 group-hover:bg-[#FC9224]/10 transition-colors"})]}),d.jsx("h3",{className:"text-lg font-bold text-[#1A1A1A]",children:o.name}),d.jsx("p",{className:"text-sm text-[#FC9224] font-semibold mb-3",children:o.role}),d.jsx("p",{className:"text-sm text-[#666] leading-relaxed max-w-xs mx-auto",children:o.desc})]})},o.name))})]})}),d.jsx("section",{className:"py-16 md:py-20 bg-[#0A0A0A] text-white",children:d.jsx("div",{className:"max-w-7xl mx-auto px-5 md:px-8",children:d.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-8 text-center",children:e.stats.map(o=>d.jsx(Gr,{children:d.jsxs("div",{children:[d.jsx("p",{className:"text-3xl md:text-5xl font-bold text-[#FC9224]",children:o.num}),d.jsx("p",{className:"text-sm text-white/50 mt-2",children:o.label})]})},o.label))})})}),d.jsx(Sc,{}),d.jsx(Wi,{})]})}function cr(t){const e=Object.prototype.toString.call(t);return t instanceof Date||typeof t=="object"&&e==="[object Date]"?new t.constructor(+t):typeof t=="number"||e==="[object Number]"||typeof t=="string"||e==="[object String]"?new Date(t):new Date(NaN)}function Da(t,e){return t instanceof Date?new t.constructor(e):new Date(e)}const SA=6048e5,V4=864e5;let H4={};function _c(){return H4}function tl(t,e){var c,p,v,b;const n=_c(),i=(e==null?void 0:e.weekStartsOn)??((p=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:p.weekStartsOn)??n.weekStartsOn??((b=(v=n.locale)==null?void 0:v.options)==null?void 0:b.weekStartsOn)??0,s=cr(t),o=s.getDay(),u=(o<i?7:0)+o-i;return s.setDate(s.getDate()-u),s.setHours(0,0,0,0),s}function lc(t){return tl(t,{weekStartsOn:1}
vendor: 10,390 bytes, line 786
786)}function _A(t){const e=cr(t),n=e.getFullYear(),i=Da(t,0);i.setFullYear(n+1,0,4),i.setHours(0,0,0,0);const s=lc(i),o=Da(t,0);o.setFullYear(n,0,4),o.setHours(0,0,0,0);const u=lc(o);return e.getTime()>=s.getTime()?n+1:e.getTime()>=u.getTime()?n:n-1}function aw(t){const e=cr(t);return e.setHours(0,0,0,0),e}function sw(t){const e=cr(t),n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return n.setUTCFullYear(e.getFullYear()),+t-+n}function $4(t,e){const n=aw(t),i=aw(e),s=+n-sw(n),o=+i-sw(i);return Math.round((s-o)/V4)}function X4(t){const e=_A(t),n=Da(t,0);return n.setFullYear(e,0,4),n.setHours(0,0,0,0),lc(n)}function J4(t){return t instanceof Date||typeof t=="object"&&Object.prototype.toString.call(t)==="[object Date]"}function Q4(t){if(!J4(t)&&typeof t!="number")return!1;const e=cr(t);return!isNaN(Number(e))}function Y4(t){const e=cr(t),n=Da(t,0);return n.setFullYear(e.getFullYear(),0,1),n.setHours(0,0,0,0),n}const Z4={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},ej=(t,e,n)=>{let i;const s=Z4[t];return typeof s=="string"?i=s:e===1?i=s.one:i=s.other.replace("{{count}}",e.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i};function ys(t){return(e={})=>{const n=e.width?String(e.width):t.defaultWidth;return t.formats[n]||t.formats[t.defaultWidth]}}const tj={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},nj={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},rj={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},ij={date:ys({formats:tj,defaultWidth:"full"}),time:ys({formats:nj,defaultWidth:"full"}),dateTime:ys({formats:rj,defaultWidth:"full"})},aj={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},sj=(t,e,n,i)=>aj[t];function Ar(t){return(e,n)=>{const i=n!=null&&n.context?String(n.context):"standalone";let s;if(i==="formatting"&&t.formattingValues){const u=t.defaultFormattingWidth||t.defaultWidth,c=n!=null&&n.width?String(n.width):u;s=t.formattingValues[c]||t.formattingValues[u]}else{const u=t.defaultWidth,c=n!=null&&n.width?String(n.width):t.defaultWidth;s=t.values[c]||t.values[u]}const o=t.argumentCallback?t.argumentCallback(e):e;return s[o]}}const oj={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},lj={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},uj={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},cj={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dj={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},hj={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},fj=(t,e)=>{const n=Number(t),i=n%100;if(i>20||i<10)switch(i%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},mj={ordinalNumber:fj,era:Ar({values:oj,defaultWidth:"wide"}),quarter:Ar({values:lj,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Ar({values:uj,defaultWidth:"wide"}),day:Ar({values:cj,defaultWidth:"wide"}),dayPeriod:Ar({values:dj,defaultWidth:"wide",formattingValues:hj,defaultFormattingWidth:"wide"})};function Er(t){return(e,n={})=>{const i=n.width,s=i&&t.matchPatterns[i]||t.matchPatterns[t.defaultMatchWidth],o=e.match(s);if(!o)return null;const u=o[0],c=i&&t.parsePatterns[i]||t.parsePatterns[t.defaultParseWidth],p=Array.isArray(c)?pj(c,h=>h.test(u)):gj(c,h=>h.test(u));let v;v=t.valueCallback?t.valueCallback(p):p,v=n.valueCallback?n.valueCallback(v):v;const b=e.slice(u.length);return{value:v,rest:b}}}function gj(t,e){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n]))return n}function pj(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return n}function TA(t){return(e,n={})=>{const i=e.match(t.matchPattern);if(!i)return null;const s=i[0],o=e.match(t.parsePattern);if(!o)return null;let u=t.valueCallback?t.valueCallback(o[0]):o[0];u=n.valueCallback?n.valueCallback(u):u;const c=e.slice(s.length);return{value:u,rest:c}}}const bj=/^(\d+)(th|st|nd|rd)?/i,vj=/\d+/i,yj={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},wj={any:[/^b/i,/^(a|c)/i]},kj={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},xj={any:[/1/i,/2/i,/3/i,/4/i]},Aj={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Ej={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Sj={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},_j={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Tj={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Oj={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Nj={ordinalNumber:TA({matchPattern:bj,parsePattern:vj,valueCallback:t=>parseInt(t,10)}),era:Er({matchPatterns:yj,defaultMatchWidth:"wide",parsePatterns:wj,defaultParseWidth:"any"}),quarter:Er({matchPatterns:kj,defaultMatchWidth:"wide",parsePatterns:xj,defaultParseWidth:"any",valueCallback:t=>t+1}),month:Er({matchPatterns:Aj,defaultMatchWidth:"wide",parsePatterns:Ej,defaultParseWidth:"any"}),day:Er({matchPatterns:Sj,defaultMatchWidth:"wide",parsePatterns:_j,defaultParseWidth:"any"}),dayPeriod:Er({matchPatterns:Tj,defaultMatchWidth:"any",parsePatterns:Oj,defaultParseWidth:"any"})},OA={code:"en-US",formatDistance:ej,formatLong:ij,formatRelative:sj,localize:mj,match:Nj,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Cj(t){const e=cr(t);return $4(e,Y4(e))+1}function Dj(t){const e=cr(t),n=+lc(e)-+X4(e);return Math.round(n/SA)+1}function NA(t,e){var b,h,m,f;const n=cr(t),i=n.getFullYear(),s=_c(),o=(e==null?void 0:e.firstWeekContainsDate)??((h=(b=e==null?void 0:e.locale)==null?void 0:b.options)==null?void 0:h.firstWeekContainsDate)??s.firstWeekContainsDate??((f=(m=s.locale)==null?void 0:m.options)==null?void 0:f.firstWeekContainsDate)??1,u=Da(t,0);u.setFullYear(i+1,0,o),u.setHours(0,0,0,0);const c=tl(u,e),p=Da(t,0);p.setFullYear(i,0,o),p.setHours(0,0,0,0);const v=tl(p,e);return n.getTime()>=c.getTime()?i+1:n.getTime()>=v.getTime()?i:i-1}function zj(t,e){var c,p,v,b;const n=_c(),i=(e==null?void 0:e.firstWeekContainsDate)??((p=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:p.firstWeekContainsDate)??n.firstWeekContainsDate??((b=(v=n.locale)==null?void 0:v.options)==null?void 0:b.firstWeekContainsDate)??1,s=NA(t,e),o=Da(t,0);return o.setFullYear(s,0,i),o.setHours(0,0,0,0),tl(o,e)}function Rj(t,e){const n=cr(t),i=+tl(n,e)-+zj(n,e);return Math.round(i/SA)+1}function dt(t,e){const n=t<0?"-":"",i=Math.abs(t).toString().padStart(e,"0");return n+i}const ki={y(t,e){const n=t.getFullYear(),i=n>0?n:1-n;return dt(e==="yy"?i%100:i,e.length)},M(t,e){const n=t.getMonth();return e==="M"?String(n+1):dt(n+1,2)},d(t,e){return dt(t.getDate(),e.length)},a(t,e){const n=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(t,e){return dt(t.getHours()%12||12,e.length)},H(t,e){return dt(t.getHours(),e.length)},m(t,e){return dt(t.getMinutes(),e.length)},s(t,e){return dt(t.getSeconds(),e.length)},S(t,e){const n=e.length,i=t.getMilliseconds(),s=Math.trunc(i*Math.pow(10,n-3));return dt(s,e.length)}},ms={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},ow={G:function(t,e,n){const i=t.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(i,{width:"abbreviated"});case"GGGGG":return n.era(i,{width:"narrow"});case"GGGG":default:return n.era(i,{width:"wide"})}},y:function(t,e,n){if(e==="yo"){const i=t.getFullYear(),s=i>0?i:1-i;return n.ordinalNumber(s,{unit:"year"})}return ki.y(t,e)}
vendor: 4,312 bytes, line 786
786,Y:function(t,e,n,i){const s=NA(t,i),o=s>0?s:1-s;if(e==="YY"){const u=o%100;return dt(u,2)}return e==="Yo"?n.ordinalNumber(o,{unit:"year"}):dt(o,e.length)},R:function(t,e){const n=_A(t);return dt(n,e.length)},u:function(t,e){const n=t.getFullYear();return dt(n,e.length)},Q:function(t,e,n){const i=Math.ceil((t.getMonth()+1)/3);switch(e){case"Q":return String(i);case"QQ":return dt(i,2);case"Qo":return n.ordinalNumber(i,{unit:"quarter"});case"QQQ":return n.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(i,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(i,{width:"wide",context:"formatting"})}},q:function(t,e,n){const i=Math.ceil((t.getMonth()+1)/3);switch(e){case"q":return String(i);case"qq":return dt(i,2);case"qo":return n.ordinalNumber(i,{unit:"quarter"});case"qqq":return n.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(i,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(i,{width:"wide",context:"standalone"})}},M:function(t,e,n){const i=t.getMonth();switch(e){case"M":case"MM":return ki.M(t,e);case"Mo":return n.ordinalNumber(i+1,{unit:"month"});case"MMM":return n.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(i,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(i,{width:"wide",context:"formatting"})}},L:function(t,e,n){const i=t.getMonth();switch(e){case"L":return String(i+1);case"LL":return dt(i+1,2);case"Lo":return n.ordinalNumber(i+1,{unit:"month"});case"LLL":return n.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(i,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(i,{width:"wide",context:"standalone"})}},w:function(t,e,n,i){const s=Rj(t,i);return e==="wo"?n.ordinalNumber(s,{unit:"week"}):dt(s,e.length)},I:function(t,e,n){const i=Dj(t);return e==="Io"?n.ordinalNumber(i,{unit:"week"}):dt(i,e.length)},d:function(t,e,n){return e==="do"?n.ordinalNumber(t.getDate(),{unit:"date"}):ki.d(t,e)},D:function(t,e,n){const i=Cj(t);return e==="Do"?n.ordinalNumber(i,{unit:"dayOfYear"}):dt(i,e.length)},E:function(t,e,n){const i=t.getDay();switch(e){case"E":case"EE":case"EEE":return n.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(i,{width:"short",context:"formatting"});case"EEEE":default:return n.day(i,{width:"wide",context:"formatting"})}},e:function(t,e,n,i){const s=t.getDay(),o=(s-i.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return dt(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(s,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(s,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(s,{width:"short",context:"formatting"});case"eeee":default:return n.day(s,{width:"wide",context:"formatting"})}},c:function(t,e,n,i){const s=t.getDay(),o=(s-i.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return dt(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(s,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(s,{width:"narrow",context:"standalone"});case"cccccc":return n.day(s,{width:"short",context:"standalone"});case"cccc":default:return n.day(s,{width:"wide",context:"standalone"})}},i:function(t,e,n){const i=t.getDay(),s=i===0?7:i;switch(e){case"i":return String(s);case"ii":return dt(s,e.length);case"io":return n.ordinalNumber(s,{unit:"day"});case"iii":return n.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(i,{width:"short",context:"formatting"});case"iiii":default:return n.day(i,{width:"wide",context:"formatting"})}},a:function(t,e,n){const s=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},b:function(t,e,n){const i=t.getHours();let s;switch(i===12?s=ms.noon:i===0?s=ms.midnight:s=i/12>
vendor: 4,693 bytes, line 786
786=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},B:function(t,e,n){const i=t.getHours();let s;switch(i>=17?s=ms.evening:i>=12?s=ms.afternoon:i>=4?s=ms.morning:s=ms.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},h:function(t,e,n){if(e==="ho"){let i=t.getHours()%12;return i===0&&(i=12),n.ordinalNumber(i,{unit:"hour"})}return ki.h(t,e)},H:function(t,e,n){return e==="Ho"?n.ordinalNumber(t.getHours(),{unit:"hour"}):ki.H(t,e)},K:function(t,e,n){const i=t.getHours()%12;return e==="Ko"?n.ordinalNumber(i,{unit:"hour"}):dt(i,e.length)},k:function(t,e,n){let i=t.getHours();return i===0&&(i=24),e==="ko"?n.ordinalNumber(i,{unit:"hour"}):dt(i,e.length)},m:function(t,e,n){return e==="mo"?n.ordinalNumber(t.getMinutes(),{unit:"minute"}):ki.m(t,e)},s:function(t,e,n){return e==="so"?n.ordinalNumber(t.getSeconds(),{unit:"second"}):ki.s(t,e)},S:function(t,e){return ki.S(t,e)},X:function(t,e,n){const i=t.getTimezoneOffset();if(i===0)return"Z";switch(e){case"X":return uw(i);case"XXXX":case"XX":return fa(i);case"XXXXX":case"XXX":default:return fa(i,":")}},x:function(t,e,n){const i=t.getTimezoneOffset();switch(e){case"x":return uw(i);case"xxxx":case"xx":return fa(i);case"xxxxx":case"xxx":default:return fa(i,":")}},O:function(t,e,n){const i=t.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+lw(i,":");case"OOOO":default:return"GMT"+fa(i,":")}},z:function(t,e,n){const i=t.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+lw(i,":");case"zzzz":default:return"GMT"+fa(i,":")}},t:function(t,e,n){const i=Math.trunc(t.getTime()/1e3);return dt(i,e.length)},T:function(t,e,n){const i=t.getTime();return dt(i,e.length)}};function lw(t,e=""){const n=t>0?"-":"+",i=Math.abs(t),s=Math.trunc(i/60),o=i%60;return o===0?n+String(s):n+String(s)+e+dt(o,2)}function uw(t,e){return t%60===0?(t>0?"-":"+")+dt(Math.abs(t)/60,2):fa(t,e)}function fa(t,e=""){const n=t>0?"-":"+",i=Math.abs(t),s=dt(Math.trunc(i/60),2),o=dt(i%60,2);return n+s+e+o}const cw=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},CA=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},Pj=(t,e)=>{const n=t.match(/(P+)(p+)?/)||[],i=n[1],s=n[2];if(!s)return cw(t,e);let o;switch(i){case"P":o=e.dateTime({width:"short"});break;case"PP":o=e.dateTime({width:"medium"});break;case"PPP":o=e.dateTime({width:"long"});break;case"PPPP":default:o=e.dateTime({width:"full"});break}return o.replace("{{date}}",cw(i,e)).replace("{{time}}",CA(s,e))},jj={p:CA,P:Pj},Ij=/^D+$/,Mj=/^Y+$/,Lj=["D","DD","YY","YYYY"];function Bj(t){return Ij.test(t)}function Fj(t){return Mj.test(t)}function qj(t,e,n){const i=Uj(t,e,n);if(console.warn(i),Lj.includes(t))throw new RangeError(i)}function Uj(t,e,n){const i=t[0]==="Y"?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${i} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Wj=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Kj=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Gj=/^'([^]*?)'?$/,Vj=/''/g,Hj=/[a-zA-Z]/;function DA(t,e,n){var b,h,m,f,E,w,k,y;const i=_c(),s=(n==null?void 0:n.locale)??i.locale??OA,o=(n==null?void 0:n.firstWeekContainsDate)??((h=(b=n==null?void 0:n.locale)==null?void 0:b.options)==null?void 0:h.firstWeekContainsDate)??i.firstWeekContainsDate??((f=(m=i.locale)==null?void 0:m.options)==null?void 0:f.firstWeekContainsDate)??1,u=(n==null?void 0:n.weekStartsOn)??((w=(E=n==null?void 0:n.locale)==null?void 0:E.options)==null?void 0:w.weekStartsOn)??i.weekStartsOn??((y=(k=i.locale)==null?void 0:k.options)==null?void 0:y.weekStartsOn)??0,c=cr(t);if(!Q4(c))throw new RangeError("Invalid time value");let p=e.match(Kj).map(A=>{const S=A[0];if(S==="p"||S==="P"){const x=jj[S];return x(A,s.formatLong)}return A}).join("").match(Wj).map(A=>{if(A==="''")return{isToken:!1,value:"'"};const S=A[0];if(S==="'")return{isToken:!1,value:$j(A)};if(ow[S])return{isToken:!0,value:A};
786if(S.match(Hj))throw new RangeError("Format string contains an unescaped latin alphabet character `"+S+"`");return{isToken:!1,value:A}});s.localize.preprocessor&&(p=s.localize.preprocessor(c,p));const v={firstWeekContainsDate:o,weekStartsOn:u,locale:s};return p.map(A=>{if(!A.isToken)return A.value;const S=A.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&Fj(S)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&Bj(S))&&qj(S,e,String(t));const x=ow[S[0]];return x(c,S,s.localize,v)}).join("")}function $j(t){const e=t.match(Gj);return e?e[1].replace(Vj,"'"):t}const dw={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"eine halbe Minute",withPreposition:"einer halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},Xj=(t,e,n)=>{let i;const s=n!=null&&n.addSuffix?dw[t].withPreposition:dw[t].standalone;return typeof s=="string"?i=s:e===1?i=s.one:i=s.other.replace("{{count}}",String(e)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:"vor "+i:i},Jj={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},Qj={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Yj={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Zj={date:ys({formats:Jj,defaultWidth:"full"}),time:ys({formats:Qj,defaultWidth:"full"}),dateTime:ys({formats:Yj,defaultWidth:"full"})},eI={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},tI=(t,e,n,i)=>eI[t],nI={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},rI={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},lg={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},iI={narrow:lg.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:lg.wide},aI={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},sI={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nac
786hm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},oI={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},lI=t=>Number(t)+".",uI={ordinalNumber:lI,era:Ar({values:nI,defaultWidth:"wide"}),quarter:Ar({values:rI,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Ar({values:lg,formattingValues:iI,defaultWidth:"wide"}),day:Ar({values:aI,defaultWidth:"wide"}),dayPeriod:Ar({values:sI,defaultWidth:"wide",formattingValues:oI,defaultFormattingWidth:"wide"})},cI=/^(\d+)(\.)?/i,dI=/\d+/i,hI={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},fI={any:[/^v/i,/^n/i]},mI={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},gI={any:[/1/i,/2/i,/3/i,/4/i]},pI={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},bI={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},vI={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},yI={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},wI={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},kI={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},xI={ordinalNumber:TA({matchPattern:cI,parsePattern:dI,valueCallback:t=>parseInt(t)}),era:Er({matchPatterns:hI,defaultMatchWidth:"wide",parsePatterns:fI,defaultParseWidth:"any"}),quarter:Er({matchPatterns:mI,defaultMatchWidth:"wide",parsePatterns:gI,defaultParseWidth:"any",valueCallback:t=>t+1}),month:Er({matchPatterns:pI,defaultMatchWidth:"wide",parsePatterns:bI,defaultParseWidth:"any"}),day:Er({matchPatterns:vI,defaultMatchWidth:"wide",parsePatterns:yI,defaultParseWidth:"any"}),dayPeriod:Er({matchPatterns:wI,defaultMatchWidth:"wide",parsePatterns:kI,defaultParseWidth:"any"})},zA={code:"de",formatDistance:Xj,formatLong:Zj,formatRelative:tI,localize:uI,match:xI,options:{weekStartsOn:1,firstWeekContainsDate:4}};/*! @license DOMPurify 3.4.11 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.11/LICENSE */function hw(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n<e;n++)i[n]=t[n];return i}function AI(t){if(Array.isArray(t))return t}function EI(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var i,s,o,u,c=[],p=!0,v=!1;try{if(o=(n=n.call(t)).next,e!==0)for(;!(p=(i=o.call(n)).done)&&(c.push(i.value),c.length!==e);p=!0);}catch(b){v=!0,s=b}finally{try{if(!p&&n.return!=null&&(u=n.return(),Object(u)!==u))return}finally{if(v)throw s}}return c}}function SI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 787In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _I(t,e){return AI(t)||EI(t,e)||TI(t,e)||SI()}function TI(t,e){if(t){if(typeof t=="string")return hw(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hw(t,e):void 0}}
vendor: 6,064 bytes, line 787
787const RA=Object.entries,fw=Object.setPrototypeOf,OI=Object.isFrozen,NI=Object.getPrototypeOf,CI=Object.getOwnPropertyDescriptor;let Qt=Object.freeze,Yt=Object.seal,ps=Object.create,PA=typeof Reflect<"u"&&Reflect,ug=PA.apply,cg=PA.construct;Qt||(Qt=function(e){return e});Yt||(Yt=function(e){return e});ug||(ug=function(e,n){for(var i=arguments.length,s=new Array(i>2?i-2:0),o=2;o<i;o++)s[o-2]=arguments[o];return e.apply(n,s)});cg||(cg=function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),s=1;s<n;s++)i[s-1]=arguments[s];return new e(...i)});const Io=Dt(Array.prototype.forEach),DI=Dt(Array.prototype.lastIndexOf),mw=Dt(Array.prototype.pop),gs=Dt(Array.prototype.push),zI=Dt(Array.prototype.splice),Si=Array.isArray,Ko=Dt(String.prototype.toLowerCase),Uh=Dt(String.prototype.toString),gw=Dt(String.prototype.match),Mo=Dt(String.prototype.replace),pw=Dt(String.prototype.indexOf),RI=Dt(String.prototype.trim),PI=Dt(Number.prototype.toString),jI=Dt(Boolean.prototype.toString),bw=typeof BigInt>"u"?null:Dt(BigInt.prototype.toString),vw=typeof Symbol>"u"?null:Dt(Symbol.prototype.toString),qt=Dt(Object.prototype.hasOwnProperty),Lo=Dt(Object.prototype.toString),$t=Dt(RegExp.prototype.test),da=II(TypeError);function Dt(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,i=new Array(n>1?n-1:0),s=1;s<n;s++)i[s-1]=arguments[s];return ug(t,e,i)}}function II(t){return function(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return cg(t,n)}}function et(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ko;if(fw&&fw(t,null),!Si(e))return t;let i=e.length;for(;i--;){let s=e[i];if(typeof s=="string"){const o=n(s);o!==s&&(OI(e)||(e[i]=o),s=o)}t[s]=!0}return t}function MI(t){for(let e=0;e<t.length;e++)qt(t,e)||(t[e]=null);return t}function gn(t){const e=ps(null);for(const i of RA(t)){var n=_I(i,2);const s=n[0],o=n[1];qt(t,s)&&(Si(o)?e[s]=MI(o):o&&typeof o=="object"&&o.constructor===Object?e[s]=gn(o):e[s]=o)}return e}function LI(t){switch(typeof t){case"string":return t;case"number":return PI(t);case"boolean":return jI(t);case"bigint":return bw?bw(t):"0";case"symbol":return vw?vw(t):"Symbol()";case"undefined":return Lo(t);case"function":case"object":{if(t===null)return Lo(t);const e=t,n=vr(e,"toString");if(typeof n=="function"){const i=n(e);return typeof i=="string"?i:Lo(i)}return Lo(t)}default:return Lo(t)}}function vr(t,e){for(;t!==null;){const i=CI(t,e);if(i){if(i.get)return Dt(i.get);if(typeof i.value=="function")return Dt(i.value)}t=NI(t)}function n(){return null}return n}function BI(t){try{return $t(t,""),!0}catch{return!1}}const yw=Qt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Wh=Qt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Kh=Qt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),FI=Qt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Gh=Qt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),qI=Qt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),ww=Qt(["#text"]),kw=Qt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","
787spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Vh=Qt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),xw=Qt(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Mu=Qt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),UI=Yt(/{{[\w\W]*|^[\w\W]*}}/g),WI=Yt(/<%[\w\W]*|^[\w\W]*%>/g),KI=Yt(/\${[\w\W]*/g),GI=Yt(/^data-[\-\w.\u00B7-\uFFFF]+$/),VI=Yt(/^aria-[\-\w]+$/),Aw=Yt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),HI=Yt(/^(?:\w+script|data):/i),$I=Yt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),XI=Yt(/^html$/i),JI=Yt(/^[a-z][.\w]*(-[.\w]+)+$/i),Ew=Yt(/<[/\w!]/g),QI=Yt(/<[/\w]/g),YI=Yt(/<\/no(script|embed|frames)/i),ZI=Yt(/\/>/i),br={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},eM=function(){return typeof window>"u"?null:window},tM=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;
vendor: 4,097 bytes, line 787
787const s="data-tt-policy-suffix";n&&n.hasAttribute(s)&&(i=n.getAttribute(s));const o="dompurify"+(i?"#"+i:"");try{return e.createPolicy(o,{createHTML(u){return u},createScriptURL(u){return u}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},Sw=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},xi=function(e,n,i,s){return qt(e,n)&&Si(e[n])?et(s.base?gn(s.base):{},e[n],s.transform):i};function jA(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:eM();const e=xe=>jA(xe);if(e.version="3.4.11",e.removed=[],!t||!t.document||t.document.nodeType!==br.document||!t.Element)return e.isSupported=!1,e;let n=t.document;const i=n,s=i.currentScript;t.DocumentFragment;const o=t.HTMLTemplateElement,u=t.Node,c=t.Element,p=t.NodeFilter,v=t.NamedNodeMap;v===void 0&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;const b=t.DOMParser,h=t.trustedTypes,m=c.prototype,f=vr(m,"cloneNode"),E=vr(m,"remove"),w=vr(m,"nextSibling"),k=vr(m,"childNodes"),y=vr(m,"parentNode"),A=vr(m,"shadowRoot"),S=vr(m,"attributes"),x=u&&u.prototype?vr(u.prototype,"nodeType"):null,T=u&&u.prototype?vr(u.prototype,"nodeName"):null;if(typeof o=="function"){const xe=n.createElement("template");xe.content&&xe.content.ownerDocument&&(n=xe.content.ownerDocument)}let R,z="",D,F=!1,P=0;const C=function(){if(P>0)throw da('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},j=function(V){C(),P++;try{return R.createHTML(V)}finally{P--}},L=function(V){C(),P++;try{return R.createScriptURL(V)}finally{P--}},W=function(){return F||(D=tM(h,s),F=!0),D},G=n,Z=G.implementation,te=G.createNodeIterator,oe=G.createDocumentFragment,X=G.getElementsByTagName,q=i.importNode;let N=Sw();e.isSupported=typeof RA=="function"&&typeof y=="function"&&Z&&Z.createHTMLDocument!==void 0;const B=UI,K=WI,Q=KI,J=GI,U=VI,$=HI,se=$I,ie=JI;let fe=Aw,pe=null;const Oe=et({},[...yw,...Wh,...Kh,...Gh,...ww]);let Ee=null;const Fe=et({},[...kw,...Vh,...xw,...Mu]);let Ce=Object.seal(ps(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),De=null,He=null;const de=Object.seal(ps(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let he=!0,we=!0,Ae=!1,me=!0,Ue=!1,Ke=!0,We=!1,zt=!1,Kt=null,it=null,Jr=!1,nt=!1,Rt=!1,Ra=!1,qs=!0,Us=!1;const gl="user-content-";let Ki=!0,Gi=!1,dr={},vn=null;const Vi=et({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Nr=null;const Cr=et({},["audio","video","img","source","image","track"]);let Pa=null;const Ws=et({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Hi="http://www.w3.org/1998/Math/MathML",$i="http://www.w3.org/2000/svg",zn="http://www.w3.org/1999/xhtml";let hr=zn,ja=!1,Dr=null;const Ks=et({},[Hi,$i,zn],Uh),Qr=Qt(["mi","mo","mn","ms","mtext"]);let Gs=et({},Qr);const Yr=Qt(["annotation-xml"]);let Zr=et({},Yr);const Ia=et({},["title","style","font","a","script"]);let zr=null;const Rc=["application/xhtml+xml","text/html"],Pc="text/html";let pt=null,yn=null;const pl=n.createElement("form"),Vs=function(V){return V instanceof RegExp||V instanceof Function},Hs=function(){let V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(yn&&yn===V)return;(!V||typeof V!="object")&&(V={}
vendor: 10,575 bytes, line 787
787),V=gn(V),zr=Rc.indexOf(V.PARSER_MEDIA_TYPE)===-1?Pc:V.PARSER_MEDIA_TYPE,pt=zr==="application/xhtml+xml"?Uh:Ko,pe=xi(V,"ALLOWED_TAGS",Oe,{transform:pt}),Ee=xi(V,"ALLOWED_ATTR",Fe,{transform:pt}),Dr=xi(V,"ALLOWED_NAMESPACES",Ks,{transform:Uh}),Pa=xi(V,"ADD_URI_SAFE_ATTR",Ws,{transform:pt,base:Ws}),Nr=xi(V,"ADD_DATA_URI_TAGS",Cr,{transform:pt,base:Cr}),vn=xi(V,"FORBID_CONTENTS",Vi,{transform:pt}),De=xi(V,"FORBID_TAGS",gn({}),{transform:pt}),He=xi(V,"FORBID_ATTR",gn({}),{transform:pt}),dr=qt(V,"USE_PROFILES")?V.USE_PROFILES&&typeof V.USE_PROFILES=="object"?gn(V.USE_PROFILES):V.USE_PROFILES:!1,he=V.ALLOW_ARIA_ATTR!==!1,we=V.ALLOW_DATA_ATTR!==!1,Ae=V.ALLOW_UNKNOWN_PROTOCOLS||!1,me=V.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ue=V.SAFE_FOR_TEMPLATES||!1,Ke=V.SAFE_FOR_XML!==!1,We=V.WHOLE_DOCUMENT||!1,nt=V.RETURN_DOM||!1,Rt=V.RETURN_DOM_FRAGMENT||!1,Ra=V.RETURN_TRUSTED_TYPE||!1,Jr=V.FORCE_BODY||!1,qs=V.SANITIZE_DOM!==!1,Us=V.SANITIZE_NAMED_PROPS||!1,Ki=V.KEEP_CONTENT!==!1,Gi=V.IN_PLACE||!1,fe=BI(V.ALLOWED_URI_REGEXP)?V.ALLOWED_URI_REGEXP:Aw,hr=typeof V.NAMESPACE=="string"?V.NAMESPACE:zn,Gs=qt(V,"MATHML_TEXT_INTEGRATION_POINTS")&&V.MATHML_TEXT_INTEGRATION_POINTS&&typeof V.MATHML_TEXT_INTEGRATION_POINTS=="object"?gn(V.MATHML_TEXT_INTEGRATION_POINTS):et({},Qr),Zr=qt(V,"HTML_INTEGRATION_POINTS")&&V.HTML_INTEGRATION_POINTS&&typeof V.HTML_INTEGRATION_POINTS=="object"?gn(V.HTML_INTEGRATION_POINTS):et({},Yr);const ae=qt(V,"CUSTOM_ELEMENT_HANDLING")&&V.CUSTOM_ELEMENT_HANDLING&&typeof V.CUSTOM_ELEMENT_HANDLING=="object"?gn(V.CUSTOM_ELEMENT_HANDLING):ps(null);if(Ce=ps(null),qt(ae,"tagNameCheck")&&Vs(ae.tagNameCheck)&&(Ce.tagNameCheck=ae.tagNameCheck),qt(ae,"attributeNameCheck")&&Vs(ae.attributeNameCheck)&&(Ce.attributeNameCheck=ae.attributeNameCheck),qt(ae,"allowCustomizedBuiltInElements")&&typeof ae.allowCustomizedBuiltInElements=="boolean"&&(Ce.allowCustomizedBuiltInElements=ae.allowCustomizedBuiltInElements),Yt(Ce),Ue&&(we=!1),Rt&&(nt=!0),dr&&(pe=et({},ww),Ee=ps(null),dr.html===!0&&(et(pe,yw),et(Ee,kw)),dr.svg===!0&&(et(pe,Wh),et(Ee,Vh),et(Ee,Mu)),dr.svgFilters===!0&&(et(pe,Kh),et(Ee,Vh),et(Ee,Mu)),dr.mathMl===!0&&(et(pe,Gh),et(Ee,xw),et(Ee,Mu))),de.tagCheck=null,de.attributeCheck=null,qt(V,"ADD_TAGS")&&(typeof V.ADD_TAGS=="function"?de.tagCheck=V.ADD_TAGS:Si(V.ADD_TAGS)&&(pe===Oe&&(pe=gn(pe)),et(pe,V.ADD_TAGS,pt))),qt(V,"ADD_ATTR")&&(typeof V.ADD_ATTR=="function"?de.attributeCheck=V.ADD_ATTR:Si(V.ADD_ATTR)&&(Ee===Fe&&(Ee=gn(Ee)),et(Ee,V.ADD_ATTR,pt))),qt(V,"ADD_URI_SAFE_ATTR")&&Si(V.ADD_URI_SAFE_ATTR)&&et(Pa,V.ADD_URI_SAFE_ATTR,pt),qt(V,"FORBID_CONTENTS")&&Si(V.FORBID_CONTENTS)&&(vn===Vi&&(vn=gn(vn)),et(vn,V.FORBID_CONTENTS,pt)),qt(V,"ADD_FORBID_CONTENTS")&&Si(V.ADD_FORBID_CONTENTS)&&(vn===Vi&&(vn=gn(vn)),et(vn,V.ADD_FORBID_CONTENTS,pt)),Ki&&(pe["#text"]=!0),We&&et(pe,["html","head","body"]),pe.table&&(et(pe,["tbody"]),delete De.tbody),V.TRUSTED_TYPES_POLICY){if(typeof V.TRUSTED_TYPES_POLICY.createHTML!="function")throw da('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof V.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw da('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const ke=R;R=V.TRUSTED_TYPES_POLICY;try{z=j("")}catch(Pe){throw R=ke,Pe}}else V.TRUSTED_TYPES_POLICY===null?(R=void 0,z=""):(R===void 0&&(R=W()),R&&typeof z=="string"&&(z=j("")));Qt&&Qt(V),yn=V},$s=et({},[...Wh,...Kh,...FI]),Xs=et({},[...Gh,...qI]),bl=function(V,ae,ke){return ae.namespaceURI===zn?V==="svg":ae.namespaceURI===Hi?V==="svg"&&(ke==="annotation-xml"||Gs[ke]):!!$s[V]},vl=function(V,ae,ke){return ae.namespaceURI===zn?V==="math":ae.namespaceURI===$i?V==="math"&&Zr[ke]:!!Xs[V]},jc=function(V,ae,ke){return ae.namespaceURI===$i&&!Zr[ke]||ae.namespaceURI===Hi&&!Gs[ke]?!1:!Xs[V]&&(Ia[V]||!$s[V])},Ic=function(V){let ae=y(V);(!ae||!ae.tagName)&&(ae={namespaceURI:hr,tagName:"template"});const ke=Ko(V.tagName),Pe=Ko(ae.tagName);return Dr[V.namespaceURI]?V.namespaceURI===$i?bl(ke,ae,Pe):V.namespaceURI===Hi?vl(ke,ae,Pe):V.namespaceURI===zn?jc(ke,ae,Pe):!!(zr==="application/xhtml+xml"&&Dr[V.namespaceURI]):!1},ut=function(V){gs(e.removed,{element:V});try{y(V).removeChild(V)}catch{if(E(V),!y(V))throw da("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},yl=function(V){const ae=k(V);if(ae){const Pe=[];Io(ae,Ve=>{gs(Pe,Ve)}),Io(Pe,Ve=>{try{E(Ve)}catch{}})}const ke=S(V);if(ke)for(let Pe=ke.length-1;Pe>=0;--Pe){const Ve=ke[Pe],Je=Ve&&Ve.name;if(typeof Je=="string")try{V.removeAttribute(Je)}catch{}}},Hn=function(V,ae){try{gs(e.removed,{attribute:ae.getAttributeNode(V),from:ae})}catch{gs(e.removed,{attribute:null,from:ae})}if(ae.removeAttribute(V),V==="is")if(nt||Rt)try{ut(ae)}catch{}else try{ae.setAttribute(V,"")}catch{}},wl=function(V){const ae=S(V);if(ae)for(let ke=ae.length-1;ke>=0;--ke){const Pe=ae[ke],Ve=Pe&&Pe.name;if(!(typeof Ve!="string"||Ee[pt(Ve)]))try{V.removeAttribute(Ve)}catch{}}},Ma=function(V){const ae=[V];for(;ae.length>0;){const ke=ae.pop();(x?x(ke):ke.nodeType)===br.element&&wl(ke);const Ve=k(ke);if(Ve)for(let Je=Ve.length-1;Je>=0;--Je)ae.push(Ve[Je])}},kl=function(V){let ae=null,ke=null;if(Jr)V="<remove></remove>"+V;else{const Je=gw(V,/^[\r\n\t ]+/);ke=Je&&Je[0]}zr==="application/xhtml+xml"&&hr===zn&&(V='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+V+"</body></html>");const Pe=R?j(V):V;if(hr===zn)try{ae=new b().parseFromString(Pe,zr)}catch{}if(!ae||!ae.documentElement){ae=Z.createDocument(hr,"template",null);try{ae.documentElement.innerHTML=ja?z:Pe}catch{}}const Ve=ae.body||ae.documentElement;return V&&ke&&Ve.insertBefore(n.createTextNode(ke),Ve.childNodes[0]||null),hr===zn?X.call(ae,We?"html":"body")[0]:We?ae.documentElement:Ve},Js=function(V){return te.call(V.ownerDocument||V,V,p.SHOW_ELEMENT|p.SHOW_COMMENT|p.SHOW_TEXT|p.SHOW_PROCESSING_INSTRUCTION|p.SHOW_CDATA_SECTION,null)},Rr=function(V){return V=Mo(V,B," "),V=Mo(V,K," "),V=Mo(V,Q," "),V},wn=function(V){var ae;V.normalize();const ke=te.call(V.ownerDocument||V,V,p.SHOW_TEXT|p.SHOW_COMMENT|p.SHOW_CDATA_SECTION|p.SHOW_PROCESSING_INSTRUCTION,null);let Pe=ke.nextNode();for(;Pe;)Pe.data=Rr(Pe.data),Pe=ke.nextNode();const Ve=(ae=V.querySelectorAll)===null||ae===void 0?void 0:ae.call(V,"template");Ve&&Io(Ve,Je=>{Mt(Je.content)&&wn(Je.content)})},La=function(V){const ae=T?T(V):null;return typeof ae!="string"||pt(ae)!=="form"?!1:typeof V.nodeName!="string"||typeof V.textContent!="string"||typeof V.removeChild!="function"||V.attributes!==S(V)||typeof V.removeAttribute!="function"||typeof V.setAttribute!="function"||typeof V.namespaceURI!="string"||typeof V.insertBefore!="function"||typeof V.hasChildNodes!="function"||V.nodeType!==x(V)||V.childNodes!==k(V)},Mt=function(V){if(!x||typeof V!="object"||V===null)return!1;try{return x(V)===br.documentFragment}catch{return!1}},Xi=function(V){if(!x||typeof V!="object"||V===null)return!1;try{return typeof x(V)=="number"}catch{return!1}};function $n(xe,V,ae){xe.length!==0&&Io(xe,ke=>{ke.call(e,V,ae,yn)})}const Mc=function(V,ae){return!!(Ke&&V.hasChildNodes()&&!Xi(V.firstElementChild)&&$t(Ew,V.textContent)&&$t(Ew,V.innerHTML)||Ke&&V.namespaceURI===zn&&ae==="style"&&Xi(V.firstElementChild)||V.nodeType===br.processingInstruction||Ke&&V.nodeType===br.comment&&$t(QI,V.data))},Ba=function(V,ae){if(!De[ae]&&xl(ae)&&(Ce.tagNameCheck instanceof RegExp&&$t(Ce.tagNameCheck,ae)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(ae)))return!1;if(Ki&&!vn[ae]){const ke=y(V),Pe=k(V);if(Pe&&ke){const Ve=Pe.length;for(let Je=Ve-1;Je>=0;--Je){const Et=Gi?Pe[Je]:f(Pe[Je],!0);ke.insertBefore(Et,w(V))}}}return ut(V),!0},Ji=function(V){if($n(N.beforeSanitizeElements,V,null),La(V))return ut(V),!0;const ae=pt(T?T(V):V.nodeName);if($n(N.uponSanitizeElement,V,{tagName:ae,allowedTags:pe}),Mc(V,ae))return ut(V),!0;if(De[ae]||!(de.tagCheck instanceof Function&&de.tagCheck(ae))&&!pe[ae])return Ba(V,ae);if((x?x(V):V.nodeType)===br.element&&!Ic(V)||(ae==="noscript"||ae==="noembed"||ae==="noframes")&&$t(YI,V.innerHTML))return ut(V),!0;if(Ue&&V.nodeType===br.text){const Pe=Rr(V.textContent);V.textContent!==Pe&&(gs(e.removed,{element:V.cloneNode()}),V.textContent=Pe)}return $n(N.afterSanitizeElements,V,null),!1},ei=function(V,ae,ke){if(He[ae]||qs&&(ae==="id"||ae==="name")&&(ke in n||ke in pl))return!1;const Pe=Ee[ae]||de.attributeCheck instanceof Function&&de.attributeCheck(ae,V);if(!(we&&$t(J,ae))){if(!(he&&$t(U,ae))){if(Pe){if(!Pa[ae]){if(!$t(fe,Mo(ke,se,""))){if(!((ae==="src"||ae==="xlink:href"||ae==="href")&&V!=="script"&&pw(ke,"data:")===0&&Nr[V])){if(!(Ae&&!$t($,Mo(ke,se,"")))){if(ke)return!1}}}}}else if(!(xl(V)&&(Ce.tagNameCheck instanceof RegExp&&$t(Ce.tagNameCheck,V)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(V))&&(Ce.attributeNameCheck instanceof RegExp&&$t(Ce.attributeNameCheck,ae)||Ce.attributeNameCheck instanceof Function&&Ce.attributeNameCheck(ae,V))||ae==="is"&&Ce.allowCustomizedBuiltInElements&&(Ce.tagNameCheck instanceof RegExp&&$t(Ce.tagNameCheck,ke)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(ke))))return!1}}return!0},Fa=et({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),xl=function(V){return!Fa[Ko(V)]&&$t(ie,V)},Lc=function(V,ae,ke,Pe){if(R&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!ke)switch(h.getAttributeType(V,ae)){case"TrustedHTML":return j(Pe);case"TrustedScriptURL":return L(Pe)}return Pe},Qs=function(V,ae,ke,Pe){try{ke?V.setAttributeNS(ke,ae,Pe):V.setAttribute(ae,Pe),La(V)?ut(V):mw(e.removed)}catch{Hn(ae,V)}},Ys=function(V){$n(N.beforeSanitizeAttributes,V,null);const ae=V.attributes;if(!ae||La(V))return;const ke={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ee,forceKeepAttr:void 0};let Pe=ae.length;const Ve=pt(V.nodeName);for(;Pe--;){const Je=ae[Pe],Et=Je.name,yt=Je.namespaceURI,Zt=Je.value,en=pt(Et),Mn=Zt;let bt=Et==="value"?Mn:RI(Mn);if(ke.attrName=en,ke.attrValue=bt,ke.keepAttr=!0,ke.forceKeepAttr=void 0,$n(N.uponSanitizeAttribute,V,ke),bt=ke.attrValue,Us&&(en==="id"||en==="name")&&pw(bt,gl)!==0&&(Hn(Et,V),bt=gl+bt),Ke&&$t(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,bt)){Hn(Et,V);continue}if(en==="attributename"&&gw(bt,"href")){Hn(Et,V);continue}if(!ke.forceKeepAttr){if(!ke.keepAttr){Hn(Et,V);continue}if(!me&&$t(ZI,bt)){Hn(Et,V);continue}if(Ue&&(bt=Rr(bt)),!ei(Ve,en,bt)){Hn(Et,V);continue}bt=Lc(Ve,en,yt,bt),bt!==Mn&&Qs(V,Et,yt,bt)}}$n(N.afterSanitizeAttributes,V,null)},ti=function(V){let ae=null;
787const ke=Js(V);for($n(N.beforeSanitizeShadowDOM,V,null);ae=ke.nextNode();)if($n(N.uponSanitizeShadowNode,ae,null),Ji(ae),Ys(ae),Mt(ae.content)&&ti(ae.content),(x?x(ae):ae.nodeType)===br.element){const Ve=A(ae);Mt(Ve)&&(Pr(Ve),ti(Ve))}$n(N.afterSanitizeShadowDOM,V,null)},Pr=function(V){const ae=[{node:V,shadow:null}];for(;ae.length>0;){const ke=ae.pop();if(ke.shadow){ti(ke.shadow);continue}const Pe=ke.node,Je=(x?x(Pe):Pe.nodeType)===br.element,Et=k(Pe);if(Et)for(let yt=Et.length-1;yt>=0;--yt)ae.push({node:Et[yt],shadow:null});if(Je){const yt=T?T(Pe):null;if(typeof yt=="string"&&pt(yt)==="template"){const Zt=Pe.content;Mt(Zt)&&ae.push({node:Zt,shadow:null})}}if(Je){const yt=A(Pe);Mt(yt)&&ae.push({node:null,shadow:yt},{node:yt,shadow:null})}}};return e.sanitize=function(xe){let V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ae=null,ke=null,Pe=null,Ve=null;if(ja=!xe,ja&&(xe="<!-->"),typeof xe!="string"&&!Xi(xe)&&(xe=LI(xe),typeof xe!="string"))throw da("dirty is not a string, aborting");if(!e.isSupported)return xe;zt?(pe=Kt,Ee=it):Hs(V),(N.uponSanitizeElement.length>0||N.uponSanitizeAttribute.length>0)&&(pe=gn(pe)),N.uponSanitizeAttribute.length>0&&(Ee=gn(Ee)),e.removed=[];const Je=Gi&&typeof xe!="string"&&Xi(xe);if(Je){const Zt=T?T(xe):xe.nodeName;if(typeof Zt=="string"){const en=pt(Zt);if(!pe[en]||De[en])throw da("root node is forbidden and cannot be sanitized in-place")}if(La(xe))throw da("root node is clobbered and cannot be sanitized in-place");try{Pr(xe)}catch(en){throw yl(xe),en}}else if(Xi(xe))ae=kl("<!---->"),ke=ae.ownerDocument.importNode(xe,!0),ke.nodeType===br.element&&ke.nodeName==="BODY"||ke.nodeName==="HTML"?ae=ke:ae.appendChild(ke),Pr(ke);else{if(!nt&&!Ue&&!We&&xe.indexOf("<")===-1)return R&&Ra?j(xe):xe;if(ae=kl(xe),!ae)return nt?null:Ra?z:""}ae&&Jr&&ut(ae.firstChild);const Et=Js(Je?xe:ae);try{for(;Pe=Et.nextNode();)Ji(Pe),Ys(Pe),Mt(Pe.content)&&ti(Pe.content)}catch(Zt){throw Je&&yl(xe),Zt}if(Je)return Io(e.removed,Zt=>{Zt.element&&Ma(Zt.element)}),Ue&&wn(xe),xe;if(nt){if(Ue&&wn(ae),Rt)for(Ve=oe.call(ae.ownerDocument);ae.firstChild;)Ve.appendChild(ae.firstChild);else Ve=ae;return(Ee.shadowroot||Ee.shadowrootmode)&&(Ve=q.call(i,Ve,!0)),Ve}let yt=We?ae.outerHTML:ae.innerHTML;return We&&pe["!doctype"]&&ae.ownerDocument&&ae.ownerDocument.doctype&&ae.ownerDocument.doctype.name&&$t(XI,ae.ownerDocument.doctype.name)&&(yt="<!DOCTYPE "+ae.ownerDocument.doctype.name+`> 788`+yt),Ue&&(yt=Rr(yt)),R&&Ra?j(yt):yt},e.setConfig=function(){let xe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Hs(xe),zt=!0,Kt=pe,it=Ee},e.clearConfig=function(){yn=null,zt=!1,Kt=null,it=null,R=D,z=""},e.isValidAttribute=function(xe,V,ae){yn||Hs({});const ke=pt(xe),Pe=pt(V);return ei(ke,Pe,ae)},e.addHook=function(xe,V){typeof V=="function"&&qt(N,xe)&&gs(N[xe],V)},e.removeHook=function(xe,V){if(qt(N,xe)){if(V!==void 0){const ae=DI(N[xe],V);return ae===-1?void 0:zI(N[xe],ae,1)[0]}return mw(N[xe])}},e.removeHooks=function(xe){qt(N,xe)&&(N[xe]=[])},e.removeAllHooks=function(){N=Sw()},e}var nM=jA();function rM(){const{lang:t}=Wt(),e={de:{backLabel:"Magazin",notFoundTitle:"Artikel nicht gefunden",notFoundText:"Der gesuchte Artikel existiert nicht oder wurde entfernt.",backToMagazin:"Zurück zum Magazin",loadError:"<p>Inhalt konnte nicht geladen werden.</p>",readingTime:E=>`${E} Min. Lesezeit`,titleSuffix:"attriXus Magazin",crumbStart:"Start",crumbMagazin:"Magazin"},en:{backLabel:"Magazine",notFoundTitle:"Article not found",notFoundText:"The article you are looking for does not exist or has been removed.",backToMagazin:"Back to magazine",loadError:"<p>Content could not be loaded.</p>",readingTime:E=>`${E} min read`,titleSuffix:"attriXus Magazine",crumbStart:"Home",crumbMagazin:"Magazine"}}[t],{slug:n}=f1(),[i,s]=I.useState(null),[o,u]=I.useState(""),[c,p]=I.useState(!0),[v,b]=I.useState(!1);I.useEffect(()=>{(async()=>{try{const w=await un.entities.BlogArticle.filter({slug:n,status:"published"},"-published_at",1);if(w.length===0)b(!0);else{s(w[0]),document.title=`${w[0].title} | ${e.titleSuffix}`;const k=document.querySelector('meta[name="description"]');k&&k.setAttribute("content",w[0].seo_meta_description||w[0].excerpt||"")}}catch{b(!0)}p(!1)})()},[n,e.titleSuffix]),I.useEffect(()=>{i!=null&&i.content&&(i.content.startsWith("http")?fetch(i.content).then(E=>E.text()).then(u).catch(()=>u(e.loadError)):u(i.content))},[i,e.loadError]);const h=E=>{try{return DA(new Date(E),t==="en"?"MMMM d, yyyy":"d. MMMM yyyy",{locale:t==="en"?OA:zA})}catch{return E||""}};if(c)return d.jsx("div",{className:"min-h-screen bg-white flex items-center justify-center",children:d.jsx("div",{className:"w-8 h-8 border-4 border-gray-100 border-t-[#FC9224] rounded-full animate-spin"})});if(v)return d.jsx("div",{className:"min-h-screen bg-white flex items-center justify-center",children:d.jsxs("div",{className:"text-center",children:[d.jsx("h1",{className:"text-2xl font-bold text-[#1A1A1A] mb-3",children:e.notFoundTitle}),d.jsx("p",{className:"text-[#666] mb-6",children:e.notFoundText}),d.jsxs(lt,{to:"/magazin",className:"inline-flex items-center gap-2 text-[#FC9224] font-semibold hover:underline",children:[d.jsx(Qu,{className:"w-4 h-4"})," ",e.backToMagazin]})]})});const m=i?{"@context":"https://schema.org","@type":"Article",headline:i.title,de
788scription:i.seo_meta_description||i.excerpt,image:i.cover_image,datePublished:i.published_at,author:{"@type":"Organization",name:i.author||"attriXus"},publisher:{"@type":"Organization",name:"attriXus GmbH",url:"https://www.attrixus.de"}}:null,f=i?{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:e.crumbStart,item:"https://www.attrixus.de"},{"@type":"ListItem",position:2,name:e.crumbMagazin,item:"https://www.attrixus.de/magazin"},{"@type":"ListItem",position:3,name:i.title,item:`https://www.attrixus.de/magazin/${i.slug}`}]}:null;return d.jsxs("div",{className:"min-h-screen bg-white text-[#1A1A1A]",children:[m&&d.jsx(Nn,{id:"schema-article",data:m}),f&&d.jsx(Nn,{id:"schema-breadcrumb-article",data:f}),d.jsx(Ui,{}),d.jsxs("section",{className:"relative bg-[#0A0A0A] text-white pt-28 pb-12 md:pt-36 md:pb-16",children:[d.jsxs("div",{className:"absolute inset-0",children:[d.jsx(EA,{src:i.cover_image,bare:!0,className:"w-full h-full",imgClassName:"w-full h-full object-cover opacity-30"}),d.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#0A0A0A]/70 to-[#0A0A0A]"})]}),d.jsxs("div",{className:"relative max-w-4xl mx-auto px-5 md:px-8",children:[d.jsxs(lt,{to:"/magazin",className:"inline-flex items-center gap-1.5 text-sm text-white/50 hover:text-[#FC9224] transition-colors mb-6",children:[d.jsx(Qu,{className:"w-4 h-4"})," ",e.backLabel]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-4 mb-4 text-sm text-white/60",children:[i.category&&d.jsxs("span",{className:"flex items-center gap-1.5",children:[d.jsx(q_,{className:"w-3.5 h-3.5"})," ",i.category]}),i.published_at&&d.jsxs("span",{className:"flex items-center gap-1.5",children:[d.jsx(mg,{className:"w-3.5 h-3.5"})," ",h(i.published_at)]}),i.reading_time_minutes>0&&d.jsxs("span",{className:"flex items-center gap-1.5",children:[d.jsx(Sx,{className:"w-3.5 h-3.5"})," ",e.readingTime(i.reading_time_minutes)]})]}),d.jsx("h1",{className:"text-2xl md:text-4xl font-bold leading-tight",children:i.title})]})]}),d.jsx("article",{className:"py-12 md:py-16",children:d.jsxs("div",{className:"max-w-3xl mx-auto px-5 md:px-8",children:[i.excerpt&&d.jsx("p",{className:"text-lg text-[#666] leading-relaxed mb-8 font-medium border-l-4 border-[#FC9224] pl-4",children:i.excerpt}),d.jsx("div",{className:"article-content",dangerouslySetInnerHTML:{__html:nM.sanitize(o)}})]})}),d.jsx(Sc,{}),d.jsx(Wi,{})]})}function iM(){const{lang:t}=Wt(),e={de:{badge:"Termin in 2 Minuten gebucht",h2:"Buch deinen Termin mit attriXus",p:"Wähl einen freien Slot und wir schauen uns gemeinsam an, wo dein Marketingbudget wirkt und wo es möglicherweise jeden Tag verpufft.",loading:"Buchungskalender wird geladenâ¦",back:"Zurück zur Website"},en:{badge:"Appointment booked in 2 minutes",h2:"Book your appointment with attriXus",p:"Pick a free slot and weâll look together at where your marketing budget works and where it might evaporate every day.",loading:"Loading booking calendarâ¦",back:"Back to website"}}[t];return I.useEffect(()=>{document.title=t==="en"?"Book a demo | attriXus":"Demo buchen | attriXus";const n=document.createElement("script");return n.type="text/javascript",n.src="https://static.hsappstatic.net/MeetingsEmbed/ex/MeetingsEmbedCode.js",n.async=!0,document.body.appendChild(n),()=>{document.body.removeChild(n)}},[t]),d.jsxs("div",{className:"min-h-screen bg-[#0A0A0A] flex flex-col",children:[d.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[700px] h-[700px] bg-[#FC9224]/10 rounded-full blur-[150px] pointer-events-none"}),d.jsxs("header",{className:"relative z-10 px-5 md:px-8 h-16 md:h-[72px] flex items-center justify-between max-w-7xl mx-auto w-full",children:[d.jsx(lt,{to:"/",className:"flex items-center h-9",children:d.jsx("img",{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/6b7b55595_attrixus_logo_4000x1594-wei.png",alt:"attriXus",className:"h-8 md:h-9 object-contain"})}),d.jsx(lt,{to:"/",className:"text-sm text-white/60 hover:text-[#FC9224] transition-colors flex items-center gap-1.5",children:e.back})]}),d.jsxs("main",{className:"relative z-10 flex-1 flex flex-col items-center justify-center px-5 md:px-8 py-10",children:[d.jsxs("div",{className:"w-full max-w-2xl text-center mb-8",children:[d.jsxs("div",{className:"inline-flex items-center gap-2 bg-[#FC9224]/10 border border-[#FC9224]/30 rounded-full px-4 py-1.5 text-xs text-[#FC9224] mb-5",children:[d.jsx(mg,{className:"w-3.5 h-3.5"})," ",e.badge]}),d.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mb-4",children:e.h2}),d.jsx("p",{className:"text-base md:text-lg text-white/60 leading-relaxed max-w-xl mx-auto",children:e.p})]}),d.jsx("div",{className:"w-full max-w-2xl bg-white rounded-2xl shadow-2xl overflow-hidden min-h-[600px] flex items-center justify-center",children:d.jsx("div",{className:"meetings-iframe-container w-full","data-src":"https://meetings-eu1.hubspot.com/meetings/dominik-feike?embed=true"})})]}),d.jsx("footer",{className:"relative z-10 border-t border-white/5 py-6 px-5 md:px-8",children:d.jsxs("div",{className:"max-w-7xl mx-auto text-center text-xs text-white/40",children:["© ",new Date().getFullYear()," attriXus GmbH · SiechenstraÃe 14 · 96052 Bamberg ·"," ",d.jsx("a",{href:"mailto:[email protected]",className:"text-[#FC9224] hover:underline",children:"[email protected]"})]})})]})}var Hh,_w;function aM(){if(_w)return Hh;_w=1;function t(){this.__data__=[],this.size=0}return Hh=t,Hh}var $h,Tw;function IA(){if(Tw)return $h;Tw=1;function t(e,n){return e===n||e!==e&&n!==n}return $h=t,$h}var Xh,Ow;function Tc(){if(Ow)return Xh;Ow=1;var t=IA();function e(n,i){for(var s=n.length;s--;)if(t(n[s][0],i))return s;return-1}return Xh=e,Xh}var Jh,Nw;function sM(){if(Nw)return Jh;Nw=1;var t=Tc(),e=Array.prototype,n=e.splice;function i(s){var o=this.__data__,u=t(o,s);if(u<0)return!1;var c=o.length-1;return u==c?o.pop():n.call(o,u,1),--this.size,!0}return Jh=i,Jh}var Qh,Cw;function oM(){if(Cw)return Qh;Cw=1;var t=Tc();function e(n){var i=this.__data__,s=t(i,n);return s<0?void 0:i[s][1]}return Qh=e,Qh}var Yh,Dw;function lM(){if(Dw)return Yh;Dw=1;var t=Tc();function e(n){return t(this.__data__,n)>-1}return Yh=e,Yh}var Zh,zw;function uM(){if(zw)return Zh;zw=1;var t=Tc();function e(n,i){var s=this.__data__,o=t(s,n);return o<0?(++this.size,s.push([n,i])):s[o][1]=i,this}return Zh=e,Zh}var ef,Rw;function Oc(){if(Rw)return ef;Rw=1;var t=aM(),e=sM(),n=oM(),i=lM(),s=uM();function o(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var v=u[c];this.set(v[0],v[1])}}return o.prototype.clear=t,o.prototype.delete=e,o.prototype.get=n,o.prototype.has=i,o.prototype.set=s,ef=o,ef}var tf,Pw;function cM(){if(Pw)return tf;Pw=1;var t=Oc();function e(){this.__data__=new t,this.size=0}return tf=e,tf}var nf,jw;function dM(){if(jw)return nf;jw=1;function t(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}return nf=t,nf}var rf,Iw;function hM(){if(Iw)return rf;Iw=1;function t(e){return this.__data__.get(e)}return rf=t,rf}var af,Mw;function fM(){if(Mw)return af;Mw=1;function t(e){return this.__data__.has(e)}return af=t,af}var sf,Lw;function MA(){if(Lw)return sf;Lw=1;var t=typeof Au=="object"&&Au&&Au.Object===Object&&Au;return sf=t,sf}var of,Bw;function Xr(){if(Bw)return of;Bw=1;var t=MA(),e=typeof self=="object"&&self&&self.Object===Object&&self,n=t||e||Function("return this")();return of=n,of}var lf,Fw;function $g(){if(Fw)return lf;Fw=1;var t=Xr(),e=t.Symbol;return lf=e,lf}var uf,qw;function mM(){if(qw)return uf;qw=1;var t=$g(),e=Object.prototype,n=e.hasOwnProperty,i=e.toString,s=t?t.toStringTag:void 0;function o(u){var c=n.call(u,s),p=u[s];try{u[s]=void 0;var v=!0}catch{}var b=i.call(u);return v&&(c?u[s]=p:delete u[s]),b}return uf=o,uf}var cf,Uw;function gM(){if(Uw)return cf;Uw=1;var t=Object.prototype,e=t.toString;function n(i){return e.call(i)}return cf=n,cf}var df,Ww;function Nc(){if(Ww)return df;Ww=1;
vendor: 5,642 bytes, line 788
788var t=$g(),e=mM(),n=gM(),i="[object Null]",s="[object Undefined]",o=t?t.toStringTag:void 0;function u(c){return c==null?c===void 0?s:i:o&&o in Object(c)?e(c):n(c)}return df=u,df}var hf,Kw;function LA(){if(Kw)return hf;Kw=1;function t(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}return hf=t,hf}var ff,Gw;function BA(){if(Gw)return ff;Gw=1;var t=Nc(),e=LA(),n="[object AsyncFunction]",i="[object Function]",s="[object GeneratorFunction]",o="[object Proxy]";function u(c){if(!e(c))return!1;var p=t(c);return p==i||p==s||p==n||p==o}return ff=u,ff}var mf,Vw;function pM(){if(Vw)return mf;Vw=1;var t=Xr(),e=t["__core-js_shared__"];return mf=e,mf}var gf,Hw;function bM(){if(Hw)return gf;Hw=1;var t=pM(),e=(function(){var i=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""})();function n(i){return!!e&&e in i}return gf=n,gf}var pf,$w;function FA(){if($w)return pf;$w=1;var t=Function.prototype,e=t.toString;function n(i){if(i!=null){try{return e.call(i)}catch{}try{return i+""}catch{}}return""}return pf=n,pf}var bf,Xw;function vM(){if(Xw)return bf;Xw=1;var t=BA(),e=bM(),n=LA(),i=FA(),s=/[\\^$.*+?()[\]{}|]/g,o=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,p=u.toString,v=c.hasOwnProperty,b=RegExp("^"+p.call(v).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function h(m){if(!n(m)||e(m))return!1;var f=t(m)?b:o;return f.test(i(m))}return bf=h,bf}var vf,Jw;function yM(){if(Jw)return vf;Jw=1;function t(e,n){return e==null?void 0:e[n]}return vf=t,vf}var yf,Qw;function Fs(){if(Qw)return yf;Qw=1;var t=vM(),e=yM();function n(i,s){var o=e(i,s);return t(o)?o:void 0}return yf=n,yf}var wf,Yw;function Xg(){if(Yw)return wf;Yw=1;var t=Fs(),e=Xr(),n=t(e,"Map");return wf=n,wf}var kf,Zw;function Cc(){if(Zw)return kf;Zw=1;var t=Fs(),e=t(Object,"create");return kf=e,kf}var xf,ek;function wM(){if(ek)return xf;ek=1;var t=Cc();function e(){this.__data__=t?t(null):{},this.size=0}return xf=e,xf}var Af,tk;function kM(){if(tk)return Af;tk=1;function t(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}return Af=t,Af}var Ef,nk;function xM(){if(nk)return Ef;nk=1;var t=Cc(),e="__lodash_hash_undefined__",n=Object.prototype,i=n.hasOwnProperty;function s(o){var u=this.__data__;if(t){var c=u[o];return c===e?void 0:c}return i.call(u,o)?u[o]:void 0}return Ef=s,Ef}var Sf,rk;function AM(){if(rk)return Sf;rk=1;var t=Cc(),e=Object.prototype,n=e.hasOwnProperty;function i(s){var o=this.__data__;return t?o[s]!==void 0:n.call(o,s)}return Sf=i,Sf}var _f,ik;function EM(){if(ik)return _f;ik=1;var t=Cc(),e="__lodash_hash_undefined__";function n(i,s){var o=this.__data__;return this.size+=this.has(i)?0:1,o[i]=t&&s===void 0?e:s,this}return _f=n,_f}var Tf,ak;function SM(){if(ak)return Tf;ak=1;var t=wM(),e=kM(),n=xM(),i=AM(),s=EM();function o(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var v=u[c];this.set(v[0],v[1])}}return o.prototype.clear=t,o.prototype.delete=e,o.prototype.get=n,o.prototype.has=i,o.prototype.set=s,Tf=o,Tf}var Of,sk;function _M(){if(sk)return Of;sk=1;var t=SM(),e=Oc(),n=Xg();function i(){this.size=0,this.__data__={hash:new t,map:new(n||e),string:new t}}return Of=i,Of}var Nf,ok;function TM(){if(ok)return Nf;ok=1;function t(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}return Nf=t,Nf}var Cf,lk;function Dc(){if(lk)return Cf;lk=1;var t=TM();function e(n,i){var s=n.__data__;return t(i)?s[typeof i=="string"?"string":"hash"]:s.map}return Cf=e,Cf}var Df,uk;function OM(){if(uk)return Df;uk=1;var t=Dc();function e(n){var i=t(this,n).delete(n);return this.size-=i?1:0,i}return Df=e,Df}var zf,ck;function NM(){if(ck)return zf;ck=1;var t=Dc();function e(n){return t(this,n).get(n)}return zf=e,zf}var Rf,dk;function CM(){if(dk)return Rf;dk=1;var t=Dc();function e(n){return t(this,n).has(n)}return Rf=e,Rf}var Pf,hk;function DM(){if(hk)return Pf;hk=1;var t=Dc();function e(n,i){var s=t(this,n),o=s.size;return s.set(n,i),this.size+=s.size==o?0:1,this}return Pf=e,Pf}var jf,fk;function qA(){if(fk)return jf;fk=1;var t=_M(),e=OM(),n=NM(),i=CM(),s=DM();function o(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var v=u[c];this.set(v[0],v[1])}}return o.prototype.clear=t,o.prototype.delete=e,o.prototype.get=n,o.prototype.has=i,o.prototype.set=s,jf=o,jf}var If,mk;function zM(){if(mk)return If;mk=1;var t=Oc(),e=Xg(),n=qA(),i=200;function s(o,u){var c=this.__data__;if(c instanceof t){var p=c.__data__;if(!e||p.length<i-1)return p.push([o,u]),this.size=++c.size,this;c=this.__data__=new n(p)}return c.set(o,u),this.size=c.size,this}return If=s,If}var Mf,gk;function RM(){if(gk)return Mf;gk=1;var t=Oc(),e=cM(),n=dM(),i=hM(),s=fM(),o=zM();function u(c){var p=this.__data__=new t(c);this.size=p.size}return u.prototype.clear=e,u.prototype.delete=n,u.prototype.get=i,u.prototype.has=s,u.prototype.set=o,Mf=u,Mf}var Lf,pk;function PM(){if(pk)return Lf;pk=1;var t="__lodash_hash_undefined__";function e(n){return this.__data__.set(n,t),this}return Lf=e,Lf}var Bf,bk;function jM(){if(bk)return Bf;bk=1;function t(e){return this.__data__.has(e)}return Bf=t,Bf}var Ff,vk;function IM(){if(vk)return Ff;vk=1;var t=qA(),e=PM(),n=jM();function i(s){var o=-1,u=s==null?0:s.length;for(this.__data__=new t;++o<u;)this.add(s[o])}return i.prototype.add=i.prototype.push=e,i.prototype.has=n,Ff=i,Ff}var qf,yk;function MM(){if(yk)return qf;yk=1;function t(e,n){for(var i=-1,s=e==null?0:e.length;++i<s;)if(n(e[i],i,e))return!0;return!1}return qf=t,qf}var Uf,wk;function LM(){if(wk)return Uf;wk=1;function t(e,n){return e.has(n)}return Uf=t,Uf}var Wf,kk;
vendor: 4,416 bytes, line 788
788function UA(){if(kk)return Wf;kk=1;var t=IM(),e=MM(),n=LM(),i=1,s=2;function o(u,c,p,v,b,h){var m=p&i,f=u.length,E=c.length;if(f!=E&&!(m&&E>f))return!1;var w=h.get(u),k=h.get(c);if(w&&k)return w==c&&k==u;var y=-1,A=!0,S=p&s?new t:void 0;for(h.set(u,c),h.set(c,u);++y<f;){var x=u[y],T=c[y];if(v)var R=m?v(T,x,y,c,u,h):v(x,T,y,u,c,h);if(R!==void 0){if(R)continue;A=!1;break}if(S){if(!e(c,function(z,D){if(!n(S,D)&&(x===z||b(x,z,p,v,h)))return S.push(D)})){A=!1;break}}else if(!(x===T||b(x,T,p,v,h))){A=!1;break}}return h.delete(u),h.delete(c),A}return Wf=o,Wf}var Kf,xk;function BM(){if(xk)return Kf;xk=1;var t=Xr(),e=t.Uint8Array;return Kf=e,Kf}var Gf,Ak;function FM(){if(Ak)return Gf;Ak=1;function t(e){var n=-1,i=Array(e.size);return e.forEach(function(s,o){i[++n]=[o,s]}),i}return Gf=t,Gf}var Vf,Ek;function qM(){if(Ek)return Vf;Ek=1;function t(e){var n=-1,i=Array(e.size);return e.forEach(function(s){i[++n]=s}),i}return Vf=t,Vf}var Hf,Sk;function UM(){if(Sk)return Hf;Sk=1;var t=$g(),e=BM(),n=IA(),i=UA(),s=FM(),o=qM(),u=1,c=2,p="[object Boolean]",v="[object Date]",b="[object Error]",h="[object Map]",m="[object Number]",f="[object RegExp]",E="[object Set]",w="[object String]",k="[object Symbol]",y="[object ArrayBuffer]",A="[object DataView]",S=t?t.prototype:void 0,x=S?S.valueOf:void 0;function T(R,z,D,F,P,C,j){switch(D){case A:if(R.byteLength!=z.byteLength||R.byteOffset!=z.byteOffset)return!1;R=R.buffer,z=z.buffer;case y:return!(R.byteLength!=z.byteLength||!C(new e(R),new e(z)));case p:case v:case m:return n(+R,+z);case b:return R.name==z.name&&R.message==z.message;case f:case w:return R==z+"";case h:var L=s;case E:var W=F&u;if(L||(L=o),R.size!=z.size&&!W)return!1;var G=j.get(R);if(G)return G==z;F|=c,j.set(R,z);var Z=i(L(R),L(z),F,P,C,j);return j.delete(R),Z;case k:if(x)return x.call(R)==x.call(z)}return!1}return Hf=T,Hf}var $f,_k;function WM(){if(_k)return $f;_k=1;function t(e,n){for(var i=-1,s=n.length,o=e.length;++i<s;)e[o+i]=n[i];return e}return $f=t,$f}var Xf,Tk;function Jg(){if(Tk)return Xf;Tk=1;var t=Array.isArray;return Xf=t,Xf}var Jf,Ok;function KM(){if(Ok)return Jf;Ok=1;var t=WM(),e=Jg();function n(i,s,o){var u=s(i);return e(i)?u:t(u,o(i))}return Jf=n,Jf}var Qf,Nk;function GM(){if(Nk)return Qf;Nk=1;function t(e,n){for(var i=-1,s=e==null?0:e.length,o=0,u=[];++i<s;){var c=e[i];n(c,i,e)&&(u[o++]=c)}return u}return Qf=t,Qf}var Yf,Ck;function VM(){if(Ck)return Yf;Ck=1;function t(){return[]}return Yf=t,Yf}var Zf,Dk;function HM(){if(Dk)return Zf;Dk=1;var t=GM(),e=VM(),n=Object.prototype,i=n.propertyIsEnumerable,s=Object.getOwnPropertySymbols,o=s?function(u){return u==null?[]:(u=Object(u),t(s(u),function(c){return i.call(u,c)}))}:e;return Zf=o,Zf}var em,zk;function $M(){if(zk)return em;zk=1;function t(e,n){for(var i=-1,s=Array(e);++i<e;)s[i]=n(i);return s}return em=t,em}var tm,Rk;function zc(){if(Rk)return tm;Rk=1;function t(e){return e!=null&&typeof e=="object"}return tm=t,tm}var nm,Pk;function XM(){if(Pk)return nm;Pk=1;var t=Nc(),e=zc(),n="[object Arguments]";function i(s){return e(s)&&t(s)==n}return nm=i,nm}var rm,jk;function JM(){if(jk)return rm;jk=1;var t=XM(),e=zc(),n=Object.prototype,i=n.hasOwnProperty,s=n.propertyIsEnumerable,o=t((function(){return arguments})())?t:function(u){return e(u)&&i.call(u,"callee")&&!s.call(u,"callee")};return rm=o,rm}var Go={exports:{}},im,Ik;function QM(){if(Ik)return im;Ik=1;function t(){return!1}return im=t,im}Go.exports;var Mk;function WA(){return Mk||(Mk=1,(function(t,e){var n=Xr(),i=QM(),s=e&&!e.nodeType&&e,o=s&&!0&&t&&!t.nodeType&&t,u=o&&o.exports===s,c=u?n.Buffer:void 0,p=c?c.isBuffer:void 0,v=p||i;t.exports=v})(Go,Go.exports)),Go.exports}var am,Lk;function YM(){if(Lk)return am;Lk=1;var t=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function n(i,s){var o=typeof i;return s=s??t,!!s&&(o=="number"||o!="symbol"&&e.test(i))&&i>-1&&i%1==0&&i<s}return am=n,am}var sm,Bk;function KA(){if(Bk)return sm;Bk=1;var t=9007199254740991;function e(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=t}return sm=e,sm}var om,Fk;function ZM(){if(Fk)return om;Fk=1;var t=Nc(),e=KA(),n=zc(),i="[object Arguments]",s="[object Array]",o="[object Boolean]",u="[object Date]",c="[object Error]",p="[object Function]",v="[object Map]",b="[object Number]",h="[object Object]",m="[object RegExp]",f="[object Set]",E="[object String]",w="[object WeakMap]",k="[object ArrayBuffer]",y="[object DataView]",A="[object Float32Array]",S="[object Float64Array
788]",x="[object Int8Array]",T="[object Int16Array]",R="[object Int32Array]",z="[object Uint8Array]",D="[object Uint8ClampedArray]",F="[object Uint16Array]",P="[object Uint32Array]",C={};C[A]=C[S]=C[x]=C[T]=C[R]=C[z]=C[D]=C[F]=C[P]=!0,C[i]=C[s]=C[k]=C[o]=C[y]=C[u]=C[c]=C[p]=C[v]=C[b]=C[h]=C[m]=C[f]=C[E]=C[w]=!1;function j(L){return n(L)&&e(L.length)&&!!C[t(L)]}return om=j,om}var lm,qk;function eL(){if(qk)return lm;qk=1;function t(e){return function(n){return e(n)}}return lm=t,lm}var Vo={exports:{}};Vo.exports;var Uk;function tL(){return Uk||(Uk=1,(function(t,e){var n=MA(),i=e&&!e.nodeType&&e,s=i&&!0&&t&&!t.nodeType&&t,o=s&&s.exports===i,u=o&&n.process,c=(function(){try{var p=s&&s.require&&s.require("util").types;return p||u&&u.binding&&u.binding("util")}catch{}})();t.exports=c})(Vo,Vo.exports)),Vo.exports}var um,Wk;function GA(){if(Wk)return um;Wk=1;var t=ZM(),e=eL(),n=tL(),i=n&&n.isTypedArray,s=i?e(i):t;return um=s,um}var cm,Kk;function nL(){if(Kk)return cm;Kk=1;var t=$M(),e=JM(),n=Jg(),i=WA(),s=YM(),o=GA(),u=Object.prototype,c=u.hasOwnProperty;function p(v,b){var h=n(v),m=!h&&e(v),f=!h&&!m&&i(v),E=!h&&!m&&!f&&o(v),w=h||m||f||E,k=w?t(v.length,String):[],y=k.length;for(var A in v)(b||c.call(v,A))&&!(w&&(A=="length"||f&&(A=="offset"||A=="parent")||E&&(A=="buffer"||A=="byteLength"||A=="byteOffset")||s(A,y)))&&k.push(A);return k}return cm=p,cm}var dm,Gk;function rL(){if(Gk)return dm;Gk=1;var t=Object.prototype;function e(n){var i=n&&n.constructor,s=typeof i=="function"&&i.prototype||t;return n===s}return dm=e,dm}var hm,Vk;function iL(){if(Vk)return hm;Vk=1;function t(e,n){return function(i){return e(n(i))}}return hm=t,hm}var fm,Hk;function aL(){if(Hk)return fm;Hk=1;var t=iL(),e=t(Object.keys,Object);return fm=e,fm}var mm,$k;function sL(){if($k)return mm;$k=1;var t=rL(),e=aL(),n=Object.prototype,i=n.hasOwnProperty;function s(o){if(!t(o))return e(o);var u=[];for(var c in Object(o))i.call(o,c)&&c!="constructor"&&u.push(c);return u}return mm=s,mm}var gm,Xk;function oL(){if(Xk)return gm;Xk=1;var t=BA(),e=KA();function n(i){return i!=null&&e(i.length)&&!t(i)}return gm=n,gm}var pm,Jk;function lL(){if(Jk)return pm;Jk=1;var t=nL(),e=sL(),n=oL();function i(s){return n(s)?t(s):e(s)}return pm=i,pm}var bm,Qk;function uL(){if(Qk)return bm;Qk=1;var t=KM(),e=HM(),n=lL();function i(s){return t(s,n,e)}return bm=i,bm}var vm,Yk;function cL(){if(Yk)return vm;Yk=1;var t=uL(),e=1,n=Object.prototype,i=n.hasOwnProperty;function s(o,u,c,p,v,b){var h=c&e,m=t(o),f=m.length,E=t(u),w=E.length;if(f!=w&&!h)return!1;for(var k=f;k--;){var y=m[k];if(!(h?y in u:i.call(u,y)))return!1}var A=b.get(o),S=b.get(u);if(A&&S)return A==u&&S==o;var x=!0;b.set(o,u),b.set(u,o);for(var T=h;++k<f;){y=m[k];var R=o[y],z=u[y];if(p)var D=h?p(z,R,y,u,o,b):p(R,z,y,o,u,b);if(!(D===void 0?R===z||v(R,z,c,p,b):D)){x=!1;break}T||(T=y=="constructor")}if(x&&!T){var F=o.constructor,P=u.constructor;F!=P&&"constructor"in o&&"constructor"in u&&!(typeof F=="function"&&F instanceof F&&typeof P=="function"&&P instanceof P)&&(x=!1)}return b.delete(o),b.delete(u),x}return vm=s,vm}var ym,Zk;function dL(){if(Zk)return ym;Zk=1;var t=Fs(),e=Xr(),n=t(e,"DataView");return ym=n,ym}var wm,ex;function hL(){if(ex)return wm;ex=1;var t=Fs(),e=Xr(),n=t(e,"Promise");return wm=n,wm}var km,tx;function fL(){if(tx)return km;tx=1;var t=Fs(),e=Xr(),n=t(e,"Set");return km=n,km}var xm,nx;function mL(){if(nx)return xm;nx=1;var t=Fs(),e=Xr(),n=t(e,"WeakMap");return xm=n,xm}var Am,rx;function gL(){if(rx)return Am;rx=1;var t=dL(),e=Xg(),n=hL(),i=fL(),s=mL(),o=Nc(),u=FA(),c="[object Map]",p="[object Object]",v="[object Promise]",b="[object Set]",h="[object WeakMap]",m="[object DataView]",f=u(t),E=u(e),w=u(n),k=u(i),y=u(s),A=o;return(t&&A(new t(new ArrayBuffer(1)))!=m||e&&A(new e)!=c||n&&A(n.resolve())!=v||i&&A(new i)!=b||s&&A(new s)!=h)&&(A=function(S){var x=o(S),T=x==p?S.constructor:void 0,R=T?u(T):"";if(R)switch(R){case f:return m;case E:return c;case w:return v;case k:return b;case y:return h}return x}),Am=A,Am}var Em,ix;function pL(){if(ix)return Em;ix=1;var t=RM(),e=UA(),n=UM(),i=cL(),s=gL(),o=Jg(),u=WA(),c=GA(),p=1,v="[object Arguments]",b="[object Array]",h="[object Object]",m=Object.prototype,f=m.hasOwnProperty;function E(w,k,y,A,S,x){var T=o(w),R=o(k),z=T?b:s(w),D=R?b:s(k);z=z==v?h:z,D=D==v?h:D;var F=z==h,P=D==h,C=z==D;
vendor: 45,932 bytes, lines 788-809
788if(C&&u(w)){if(!u(k))return!1;T=!0,F=!1}if(C&&!F)return x||(x=new t),T||c(w)?e(w,k,y,A,S,x):n(w,k,z,y,A,S,x);if(!(y&p)){var j=F&&f.call(w,"__wrapped__"),L=P&&f.call(k,"__wrapped__");if(j||L){var W=j?w.value():w,G=L?k.value():k;return x||(x=new t),S(W,G,y,A,x)}}return C?(x||(x=new t),i(w,k,y,A,S,x)):!1}return Em=E,Em}var Sm,ax;function bL(){if(ax)return Sm;ax=1;var t=pL(),e=zc();function n(i,s,o,u,c){return i===s?!0:i==null||s==null||!e(i)&&!e(s)?i!==i&&s!==s:t(i,s,o,u,n,c)}return Sm=n,Sm}var _m,sx;function vL(){if(sx)return _m;sx=1;var t=bL();function e(n,i){return t(n,i)}return _m=e,_m}var Ju={exports:{}};/*! 789 * Quill Editor v1.3.7 790 * https://quilljs.com/ 791 * Copyright (c) 2014, Jason Chen 792 * Copyright (c) 2013, salesforce.com 793 */var yL=Ju.exports,ox;function wL(){return ox||(ox=1,(function(t,e){(function(i,s){t.exports=s()})(typeof self<"u"?self:yL,function(){return(function(n){var i={};function s(o){if(i[o])return i[o].exports;var u=i[o]={i:o,l:!1,exports:{}};return n[o].call(u.exports,u,u.exports,s),u.l=!0,u.exports}return s.m=n,s.c=i,s.d=function(o,u,c){s.o(o,u)||Object.defineProperty(o,u,{configurable:!1,enumerable:!0,get:c})},s.n=function(o){var u=o&&o.__esModule?function(){return o.default}:function(){return o};return s.d(u,"a",u),u},s.o=function(o,u){return Object.prototype.hasOwnProperty.call(o,u)},s.p="",s(s.s=109)})([(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(17),u=s(18),c=s(19),p=s(45),v=s(46),b=s(47),h=s(48),m=s(49),f=s(12),E=s(32),w=s(33),k=s(31),y=s(1),A={Scope:y.Scope,create:y.create,find:y.find,query:y.query,register:y.register,Container:o.default,Format:u.default,Leaf:c.default,Embed:h.default,Scroll:p.default,Block:b.default,Inline:v.default,Text:m.default,Attributor:{Attribute:f.default,Class:E.default,Style:w.default,Store:k.default}};i.default=A}),(function(n,i,s){var o=this&&this.__extends||(function(){var k=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,A){y.__proto__=A}||function(y,A){for(var S in A)A.hasOwnProperty(S)&&(y[S]=A[S])};return function(y,A){k(y,A);function S(){this.constructor=y}y.prototype=A===null?Object.create(A):(S.prototype=A.prototype,new S)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=(function(k){o(y,k);function y(A){var S=this;return A="[Parchment] "+A,S=k.call(this,A)||this,S.message=A,S.name=S.constructor.name,S}return y})(Error);i.ParchmentError=u;var c={},p={},v={},b={};i.DATA_KEY="__blot";var h;(function(k){k[k.TYPE=3]="TYPE",k[k.LEVEL=12]="LEVEL",k[k.ATTRIBUTE=13]="ATTRIBUTE",k[k.BLOT=14]="BLOT",k[k.INLINE=7]="INLINE",k[k.BLOCK=11]="BLOCK",k[k.BLOCK_BLOT=10]="BLOCK_BLOT",k[k.INLINE_BLOT=6]="INLINE_BLOT",k[k.BLOCK_ATTRIBUTE=9]="BLOCK_ATTRIBUTE",k[k.INLINE_ATTRIBUTE=5]="INLINE_ATTRIBUTE",k[k.ANY=15]="ANY"})(h=i.Scope||(i.Scope={}));function m(k,y){var A=E(k);if(A==null)throw new u("Unable to create "+k+" blot");var S=A,x=k instanceof Node||k.nodeType===Node.TEXT_NODE?k:S.create(y);return new S(x,y)}i.create=m;function f(k,y){return y===void 0&&(y=!1),k==null?null:k[i.DATA_KEY]!=null?k[i.DATA_KEY].blot:y?f(k.parentNode,y):null}i.find=f;function E(k,y){y===void 0&&(y=h.ANY);var A;if(typeof k=="string")A=b[k]||c[k];else if(k instanceof Text||k.nodeType===Node.TEXT_NODE)A=b.text;else if(typeof k=="number")k&h.LEVEL&h.BLOCK?A=b.block:k&h.LEVEL&h.INLINE&&(A=b.inline);else if(k instanceof HTMLElement){var S=(k.getAttribute("class")||"").split(/\s+/);for(var x in S)if(A=p[S[x]],A)break;A=A||v[k.tagName]}return A==null?null:y&h.LEVEL&A.scope&&y&h.TYPE&A.scope?A:null}i.query=E;function w(){for(var k=[],y=0;y<arguments.length;y++)k[y]=arguments[y];if(k.length>1)return k.map(function(x){return w(x)});var A=k[0];if(typeof A.blotName!="string"&&typeof A.attrName!="string")throw new u("Invalid definition");if(A.blotName==="abstract")throw new u("Cannot register abstract class");if(b[A.blotName||A.attrName]=A,typeof A.keyName=="string")c[A.keyName]=A;else if(A.className!=null&&(p[A.className]=A),A.tagName!=null){Array.isArray(A.tagName)?A.tagName=A.tagName.map(function(x){return x.toUpperCase()}):A.tagName=A.tagName.toUpperCase();var S=Array.isArray(A.tagName)?A.tagName:[A.tagName];S.forEach(function(x){(v[x]==null||A.className==null)&&(v[x]=A)})}return A}i.register=w}),(function(n,i,s){var o=s(51),u=s(11),c=s(3),p=s(20),v="\0",b=function(h){Array.isArray(h)?this.ops=h:h!=null&&Array.isArray(h.ops)?this.ops=h.ops:this.ops=[]};b.prototype.insert=function(h,m){var f={};return h.length===0?this:(f.insert=h,m!=null&&typeof m=="object"&&Object.keys(m).length>0&&(f.attributes=m),this.push(f))},b.prototype.delete=function(h){return h<=0?this:this.push({delete:h})},b.prototype.retain=function(h,m){if(h<=0)return this;var f={retain:h};return m!=null&&typeof m=="object"&&Object.keys(m).length>0&&(f.attributes=m),this.push(f)},b.prototype.push=function(h){var m=this.ops.length,f=this.ops[m-1];if(h=c(!0,{},h),typeof f=="object"){if(typeof h.delete=="number"&&typeof f.delete=="number")return this.ops[m-1]={delete:f.delete+h.delete},this;if(typeof f.delete=="number"&&h.insert!=null&&(m-=1,f=this.ops[m-1],typeof f!="object"))return this.ops.unshift(h),this;if(u(h.attributes,f.attributes)){if(typeof h.insert=="string"&&typeof f.insert=="string")return this.ops[m-1]={insert:f.insert+h.insert},typeof h.attributes=="object"&&(this.ops[m-1].attributes=h.attributes),this;if(typeof h.retain=="number"&&typeof f.retain=="number")return this.ops[m-1]={retain:f.retain+h.retain},typeof h.attributes=="object"&&(this.ops[m-1].attributes=h.attributes),this}}return m===this.ops.length?this.ops.push(h):this.ops.splice(m,0,h),this},b.prototype.chop=function(){var h=this.ops[this.ops.length-1];return h&&h.retain&&!h.attributes&&this.ops.pop(),this},b.prototype.filter=function(h){return this.ops.filter(h)},b.prototype.forEach=function(h){this.ops.forEach(h)},b.prototype.map=function(h){return this.ops.map(h)},b.prototype.partition=function(h){var m=[],f=[];return this.forEach(function(E){var w=h(E)?m:f;w.push(E)}),[m,f]},b.prototype.reduce=function(h,m){return this.ops.reduce(h,m)},b.prototype.changeLength=function(){return this.reduce(function(h,m){return m.insert?h+p.length(m):m.delete?h-m.delete:h},0)},b.prototype.length=function(){return this.reduce(function(h,m){return h+p.length(m)},0)},b.prototype.slice=function(h,m){h=h||0,typeof m!="number"&&(m=1/0);for(var f=[],E=p.iterator(this.ops),w=0;w<m&&E.hasNext();){var k;w<h?k=E.next(h-w):(k=E.next(m-w),f.push(k)),w+=p.length(k)}return new b(f)},b.prototype.compose=function(h){var m=p.iterator(this.ops),f=p.iterator(h.ops),E=[],w=f.peek();if(w!=null&&typeof w.retain=="number"&&w.attributes==null){for(var k=w.retain;m.peekType()==="insert"&&m.peekLength()<=k;)k-=m.peekLength(),E.push(m.next());w.retain-k>0&&f.next(w.retain-k)}for(var y=new b(E);m.hasNext()||f.hasNext();)if(f.peekType()==="insert")y.push(f.next());else if(m.peekType()==="delete")y.push(m.next());else{var A=Math.min(m.peekLength(),f.peekLength()),S=m.next(A),x=f.next(A);if(typeof x.retain=="number"){var T={};typeof S.retain=="number"?T.retain=A:T.insert=S.insert;var R=p.attributes.compose(S.attributes,x.attributes,typeof S.retain=="number");if(R&&(T.attributes=R),y.push(T),!f.hasNext()&&u(y.ops[y.ops.length-1],T)){var z=new b(m.rest());return y.concat(z).chop()}}else typeof x.delete=="number"&&typeof S.retain=="number"&&y.push(x)}return y.chop()},b.prototype.concat=function(h){var m=new b(this.ops.slice());return h.ops.length>0&&(m.push(h.ops[0]),m.ops=m.ops.concat(h.ops.slice(1))),m},b.prototype.diff=function(h,m){if(this.ops===h.ops)return new b;var f=[this,h].map(function(A){return A.map(function(S){if(S.insert!=null)return typeof S.insert=="string"?S.insert:v;var x=A===h?"on":"with";throw new Error("diff() called "+x+" non-document")}).join("")}),E=new b,w=o(f[0],f[1],m),k=p.iterator(this.ops),y=p.iterator(h.ops);return w.forEach(function(A){for(var S=A[1].length;S>0;){var x=0;switch(A[0]){case o.INSERT:x=Math.min(y.peekLength(),S),E.push(y.next(x));break;case o.DELETE:x=Math.min(S,k.peekLength()),k.next(x),E.delete(x);break;case o.EQUAL:x=Math.min(k.peekLength(),y.peekLength(),S);var T=k.next(x),R=y.next(x);u(T.insert,R.insert)?E.retain(x,p.attributes.diff(T.attributes,R.attributes)):E.push(R).delete(x);break}S-=x}}),E.chop()},b.prototype.eachLine=function(h,m){m=m||` 794`;for(var f=p.iterator(this.ops),E=new b,w=0;f.hasNext();){if(f.peekType()!=="insert")return;var k=f.peek(),y=p.length(k)-f.peekLength(),A=typeof k.insert=="string"?k.insert.indexOf(m,y)-y:-1;if(A<0)E.push(f.next());else if(A>0)E.push(f.next(A));else{if(h(E,f.next(1).attributes||{},w)===!1)return;w+=1,E=new b}}E.length()>0&&h(E,{},w)},b.prototype.transform=function(h,m){if(m=!!m,typeof h=="number")return this.transformPosition(h,m);for(var f=p.iterator(this.ops),E=p.iterator(h.ops),w=new b;f.hasNext()||E.hasNext();)if(f.peekType()==="insert"&&(m||E.peekType()!=="insert"))w.retain(p.length(f.next()));else if(E.peekType()==="insert")w.push(E.next());else{var k=Math.min(f.peekLength(),E.peekLength()),y=f.next(k),A=E.next(k);if(y.delete)continue;A.delete?w.push(A):w.retain(k,p.attributes.transform(y.attributes,A.attributes,m))}return w.chop()},b.prototype.transformPosition=function(h,m){m=!!m;for(var f=p.iterator(this.ops),E=0;f.hasNext()&&E<=h;){var w=f.peekLength(),k=f.peekType();if(f.next(),k==="delete"){h-=Math.min(w,h-E);continue}else k==="insert"&&(E<h||!m)&&(h+=w);E+=w}return h},n.exports=b}),(function(n,i){var s=Object.prototype.hasOwnProperty,o=Object.prototype.toString,u=Object.defineProperty,c=Object.getOwnPropertyDescriptor,p=function(f){return typeof Array.isArray=="function"?Array.isArray(f):o.call(f)==="[object Array]"},v=function(f){if(!f||o.call(f)!=="[object Object]")return!1;var E=s.call(f,"constructor"),w=f.constructor&&f.constructor.prototype&&s.call(f.constructor.prototype,"isPrototypeOf");if(f.constructor&&!E&&!w)return!1;var k;for(k in f);return typeof k>"u"||s.call(f,k)},b=function(f,E){u&&E.name==="__proto__"?u(f,E.name,{enumerable:!0,configurable:!0,value:E.newValue,writable:!0}):f[E.name]=E.newValue},h=function(f,E){if(E==="__proto__")if(s.call(f,E)){if(c)return c(f,E).value}else return;return f[E]};n.exports=function m(){var f,E,w,k,y,A,S=arguments[0],x=1,T=arguments.length,R=!1;for(typeof S=="boolean"&&(R=S,S=arguments[1]||{},x=2),(S==null||typeof S!="object"&&typeof S!="function")&&(S={});x<T;++x)if(f=arguments[x],f!=null)for(E in f)w=h(S,E),k=h(f,E),S!==k&&(R&&k&&(v(k)||(y=p(k)))?(y?(y=!1,A=w&&p(w)?w:[]):A=w&&v(w)?w:{},b(S,{name:E,newValue:m(R,A,k)})):typeof k<"u"&&b(S,{name:E,newValue:k}));return S}}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.default=i.BlockEmbed=i.bubbleFormats=void 0;var o=(function(){function C(j,L){for(var W=0;W<L.length;W++){var G=L[W];G.enumerable=G.enumerable||!1,G.configurable=!0,"value"in G&&(G.writable=!0),Object.defineProperty(j,G.key,G)}}return function(j,L,W){return L&&C(j.prototype,L),W&&C(j,W),j}})(),u=function C(j,L,W){j===null&&(j=Function.prototype);var G=Object.getOwnPropertyDescriptor(j,L);if(G===void 0){var Z=Object.getPrototypeOf(j);return Z===null?void 0:C(Z,L,W)}else{if("value"in G)return G.value;var te=G.get;return te===void 0?void 0:te.call(W)}},c=s(3),p=S(c),v=s(2),b=S(v),h=s(0),m=S(h),f=s(16),E=S(f),w=s(6),k=S(w),y=s(7),A=S(y);function S(C){return C&&C.__esModule?C:{default:C}}function x(C,j){if(!(C instanceof j))throw new TypeError("Cannot call a class as a function")}function T(C,j){if(!C)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return j&&(typeof j=="object"||typeof j=="function")?j:C}function R(C,j){if(typeof j!="function"&&j!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof j);C.prototype=Object.create(j&&j.prototype,{constructor:{value:C,enumerable:!1,writable:!0,configurable:!0}}),j&&(Object.setPrototypeOf?Object.setPrototypeOf(C,j):C.__proto__=j)}var z=1,D=(function(C){R(j,C);function j(){return x(this,j),T(this,(j.__proto__||Object.getPrototypeOf(j)).apply(this,arguments))}return o(j,[{key:"attach",value:function(){u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"attach",this).call(this),this.attributes=new m.default.Attributor.Store(this.domNode)}},{key:"delta",value:function(){return new b.default().insert(this.value(),(0,p.default)(this.formats(),this.attributes.values()))}},{key:"format",value:function(W,G){var Z=m.default.query(W,m.default.Scope.BLOCK_ATTRIBUTE);Z!=null&&this.attributes.attribute(Z,G)}},{key:"formatAt",value:function(W,G,Z,te){this.format(Z,te)}},{key:"insertAt",value:function(W,G,Z){if(typeof G=="string"&&G.endsWith(` 795`)){var te=m.default.create(F.blotName);this.parent.insertBefore(te,W===0?this:this.next),te.insertAt(0,G.slice(0,-1))}else u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"insertAt",this).call(this,W,G,Z)}}]),j})(m.default.Embed);D.scope=m.default.Scope.BLOCK_BLOT;var F=(function(C){R(j,C);function j(L){x(this,j);var W=T(this,(j.__proto__||Object.getPrototypeOf(j)).call(this,L));return W.cache={},W}return o(j,[{key:"delta",value:function(){return this.cache.delta==null&&(this.cache.delta=this.descendants(m.default.Leaf).reduce(function(W,G){return G.length()===0?W:W.insert(G.value(),P(G))},new b.default).insert(` 796`,P(this))),this.cache.delta}},{key:"deleteAt",value:function(W,G){u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"deleteAt",this).call(this,W,G),this.cache={}}},{key:"formatAt",value:function(W,G,Z,te){G<=0||(m.default.query(Z,m.default.Scope.BLOCK)?W+G===this.length()&&this.format(Z,te):u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"formatAt",this).call(this,W,Math.min(G,this.length()-W-1),Z,te),this.cache={})}},{key:"insertAt",value:function(W,G,Z){if(Z!=null)return u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"insertAt",this).call(this,W,G,Z);if(G.length!==0){var te=G.split(` 797`),oe=te.shift();oe.length>0&&(W<this.length()-1||this.children.tail==null?u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"insertAt",this).call(this,Math.min(W,this.length()-1),oe):this.children.tail.insertAt(this.children.tail.length(),oe),this.cache={});var X=this;te.reduce(function(q,N){return X=X.split(q,!0),X.insertAt(0,N),N.length},W+oe.length)}}},{key:"insertBefore",value:function(W,G){var Z=this.children.head;u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"insertBefore",this).call(this,W,G),Z instanceof E.default&&Z.remove(),this.cache={}}},{key:"length",value:function(){return this.cache.length==null&&(this.cache.length=u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"length",this).call(this)+z),this.cache.length}},{key:"moveChildren",value:function(W,G){u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"moveChildren",this).call(this,W,G),this.cache={}}},{key:"optimize",value:function(W){u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"optimize",this).call(this,W),this.cache={}}},{key:"path",value:function(W){return u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"path",this).call(this,W,!0)}},{key:"removeChild",value:function(W){u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"removeChild",this).call(this,W),this.cache={}}},{key:"split",value:function(W){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(G&&(W===0||W>=this.length()-z)){var Z=this.clone();return W===0?(this.parent.insertBefore(Z,this),this):(this.parent.insertBefore(Z,this.next),Z)}else{var te=u(j.prototype.__proto__||Object.getPrototypeOf(j.prototype),"split",this).call(this,W,G);return this.cache={},te}}}]),j})(m.default.Block);F.blotName="block",F.tagName="P",F.defaultChild="break",F.allowedChildren=[k.default,m.default.Embed,A.default];function P(C){var j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return C==null||(typeof C.formats=="function"&&(j=(0,p.default)(j,C.formats())),C.parent==null||C.parent.blotName=="scroll"||C.parent.statics.scope!==C.statics.scope)?j:P(C.parent,j)}i.bubbleFormats=P,i.BlockEmbed=D,i.default=F}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.default=i.overload=i.expandConfig=void 0;var o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},u=(function(){function X(q,N){var B=[],K=!0,Q=!1,J=void 0;try{for(var U=q[Symbol.iterator](),$;!(K=($=U.next()).done)&&(B.push($.value),!(N&&B.length===N));K=!0);}catch(se){Q=!0,J=se}finally{try{!K&&U.return&&U.return()}finally{if(Q)throw J}}return B}return function(q,N){if(Array.isArray(q))return q;if(Symbol.iterator in Object(q))return X(q,N);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),c=(function(){function X(q,N){for(var B=0;B<N.length;B++){var K=N[B];K.enumerable=K.enumerable||!1,K.configurable=!0,"value"in K&&(K.writable=!0),Object.defineProperty(q,K.key,K)}}return function(q,N,B){return N&&X(q.prototype,N),B&&X(q,B),q}})();s(50);var p=s(2),v=P(p),b=s(14),h=P(b),m=s(8),f=P(m),E=s(9),w=P(E),k=s(0),y=P(k),A=s(15),S=P(A),x=s(3),T=P(x),R=s(10),z=P(R),D=s(34),F=P(D);function P(X){return X&&X.__esModule?X:{default:X}}function C(X,q,N){return q in X?Object.defineProperty(X,q,{value:N,enumerable:!0,configurable:!0,writable:!0}):X[q]=N,X}function j(X,q){if(!(X instanceof q))throw new TypeError("Cannot call a class as a function")}var L=(0,z.default)("quill"),W=(function(){c(X,null,[{key:"debug",value:function(N){N===!0&&(N="log"),z.default.level(N)}},{key:"find",value:function(N){return N.__quill||y.default.find(N)}},{key:"import",value:function(N){return this.imports[N]==null&&L.error("Cannot import "+N+". Are you sure it was registered?"),this.imports[N]}},{key:"register",value:function(N,B){var K=this,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(typeof N!="string"){var J=N.attrName||N.blotName;typeof J=="string"?this.register("formats/"+J,N,B):Object.keys(N).forEach(function(U){K.register(U,N[U],B)})}else this.imports[N]!=null&&!Q&&L.warn("Overwriting "+N+" with",B),this.imports[N]=B,(N.startsWith("blots/")||N.startsWith("formats/"))&&B.blotName!=="abstract"?y.default.register(B):N.startsWith("modules")&&typeof B.register=="function"&&B.register()}}]);function X(q){var N=this,B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(j(this,X),this.options=G(q,B),this.container=this.options.container,this.container==null)return L.error("Invalid Quill container",q);this.options.debug&&X.debug(this.options.debug);var K=this.container.innerHTML.trim();this.container.classList.add("ql-container"),this.container.innerHTML="",this.container.__quill=this,this.root=this.addContainer("ql-editor"),this.root.classList.add("ql-blank"),this.root.setAttribute("data-gramm",!1),this.scrollingContainer=this.options.scrollingContainer||this.root,this.emitter=new f.default,this.scroll=y.default.create(this.root,{emitter:this.emitter,whitelist:this.options.formats}),this.editor=new h.default(this.scroll),this.selection=new S.default(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule("keyboard"),this.clipboard=this.theme.addModule("clipboard"),this.history=this.theme.addModule("history"),this.theme.init(),this.emitter.on(f.default.events.EDITOR_CHANGE,function(J){J===f.default.events.TEXT_CHANGE&&N.root.classList.toggle("ql-blank",N.editor.isBlank())}),this.emitter.on(f.default.events.SCROLL_UPDATE,function(J,U){var $=N.selection.lastRange,se=$&&$.length===0?$.index:void 0;Z.call(N,function(){return N.editor.update(null,U,se)},J)});var Q=this.clipboard.convert(`<div class='ql-editor' style="white-space: normal;">`+K+"<p><br></p></div>");this.setContents(Q),this.history.clear(),this.options.placeholder&&this.root.setAttribute("data-placeholder",this.options.placeholder),this.options.readOnly&&this.disable()}return c(X,[{key:"addContainer",value:function(N){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(typeof N=="string"){var K=N;N=document.createElement("div"),N.classList.add(K)}return this.container.insertBefore(N,B),N}},{key:"blur",value:function(){this.selection.setRange(null)}},{key:"deleteText",value:function(N,B,K){var Q=this,J=te(N,B,K),U=u(J,4);return N=U[0],B=U[1],K=U[3],Z.call(this,function(){return Q.editor.deleteText(N,B)},K,N,-1*B)}},{key:"disable",value:function(){this.enable(!1)}},{key:"enable",value:function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.scroll.enable(N),this.container.classList.toggle("ql-disabled",!N)}},{key:"focus",value:function(){var N=this.scrollingContainer.scrollTop;this.selection.focus(),this.scrollingContainer.scrollTop=N,this.scrollIntoView()}},{key:"format",value:function(N,B){var K=this,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:f.default.sources.API;return Z.call(this,function(){var J=K.getSelection(!0),U=new v.default;if(J==null)return U;if(y.default.query(N,y.default.Scope.BLOCK))U=K.editor.formatLine(J.index,J.length,C({},N,B));else{if(J.length===0)return K.selection.format(N,B),U;U=K.editor.formatText(J.index,J.length,C({},N,B))}return K.setSelection(J,f.default.sources.SILENT),U},Q)}},{key:"formatLine",value:function(N,B,K,Q,J){var U=this,$=void 0,se=te(N,B,K,Q,J),ie=u(se,4);return N=ie[0],B=ie[1],$=ie[2],J=ie[3],Z.call(this,function(){return U.editor.formatLine(N,B,$)},J,N,0)}},{key:"formatText",value:function(N,B,K,Q,J){var U=this,$=void 0,se=te(N,B,K,Q,J),ie=u(se,4);return N=ie[0],B=ie[1],$=ie[2],J=ie[3],Z.call(this,function(){return U.editor.formatText(N,B,$)},J,N,0)}},{key:"getBounds",value:function(N){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,K=void 0;typeof N=="number"?K=this.selection.getBounds(N,B):K=this.selection.getBounds(N.index,N.length);var Q=this.container.getBoundingClientRect();return{bottom:K.bottom-Q.top,height:K.height,left:K.left-Q.left,right:K.right-Q.left,top:K.top-Q.top,width:K.width}}},{key:"getContents",value:function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getLength()-N,K=te(N,B),Q=u(K,2);return N=Q[0],B=Q[1],this.editor.getContents(N,B)}},{key:"getFormat",value:function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.getSelection(!0),B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return typeof N=="number"?this.editor.getFormat(N,B):this.editor.getFormat(N.index,N.length)}},{key:"getIndex",value:function(N){return N.offset(this.scroll)}},{key:"getLength",value:function(){return this.scroll.length()}},{key:"getLeaf",value:function(N){return this.scroll.leaf(N)}},{key:"getLine",value:function(N){return this.scroll.line(N)}},{key:"getLines",value:function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE;return typeof N!="number"?this.scroll.lines(N.index,N.length):this.scroll.lines(N,B)}},{key:"getModule",value:function(N){return this.theme.modules[N]}},{key:"getSelection",value:function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return N&&this.focus(),this.update(),this.selection.getRange()[0]}},{key:"getText",value:function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getLength()-N,K=te(N,B),Q=u(K,2);return N=Q[0],B=Q[1],this.editor.getText(N,B)}},{key:"hasFocus",value:function(){return this.selection.hasFocus()}},{key:"insertEmbed",value:function(N,B,K){var Q=this,J=arguments.length>3&&arguments[3]!==void 0?arguments[3]:X.sources.API;return Z.call(this,function(){return Q.editor.insertEmbed(N,B,K)},J,N)}},{key:"insertText",value:function(N,B,K,Q,J){var U=this,$=void 0,se=te(N,0,K,Q,J),ie=u(se,4);return N=ie[0],$=ie[2],J=ie[3],Z.call(this,function(){return U.editor.insertText(N,B,$)},J,N,B.length)}},{key:"isEnabled",value:function(){return!this.container.classList.contains("ql-disabled")}},{key:"off",value:function(){return this.emitter.off.apply(this.emitter,arguments)}},{key:"on",value:function(){return this.emitter.on.apply(this.emitter,arguments)}},{key:"once",value:function(){return this.emitter.once.apply(this.emitter,arguments)}},{key:"pasteHTML",value:function(N,B,K){this.clipboard.dangerouslyPasteHTML(N,B,K)}},{key:"removeFormat",value:function(N,B,K){var Q=this,J=te(N,B,K),U=u(J,4);return N=U[0],B=U[1],K=U[3],Z.call(this,function(){return Q.editor.removeFormat(N,B)},K,N)}},{key:"scrollIntoView",value:function(){this.selection.scrollIntoView(this.scrollingContainer)}},{key:"setContents",value:function(N){var B=this,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f.default.sources.API;return Z.call(this,function(){N=new v.default(N);var Q=B.getLength(),J=B.editor.deleteText(0,Q),U=B.editor.applyDelta(N),$=U.ops[U.ops.length-1];$!=null&&typeof $.insert=="string"&&$.insert[$.insert.length-1]===` 798`&&(B.editor.deleteText(B.getLength()-1,1),U.delete(1));var se=J.compose(U);return se},K)}},{key:"setSelection",value:function(N,B,K){if(N==null)this.selection.setRange(null,B||X.sources.API);else{var Q=te(N,B,K),J=u(Q,4);N=J[0],B=J[1],K=J[3],this.selection.setRange(new A.Range(N,B),K),K!==f.default.sources.SILENT&&this.selection.scrollIntoView(this.scrollingContainer)}}},{key:"setText",value:function(N){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f.default.sources.API,K=new v.default().insert(N);return this.setContents(K,B)}},{key:"update",value:function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f.default.sources.USER,B=this.scroll.update(N);return this.selection.update(N),B}},{key:"updateContents",value:function(N){var B=this,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f.default.sources.API;return Z.call(this,function(){return N=new v.default(N),B.editor.applyDelta(N,K)},K,!0)}}]),X})();W.DEFAULTS={bounds:null,formats:null,modules:{},placeholder:"",readOnly:!1,scrollingContainer:null,strict:!0,theme:"default"},W.events=f.default.events,W.sources=f.default.sources,W.version="1.3.7",W.imports={delta:v.default,parchment:y.default,"core/module":w.default,"core/theme":F.default};function G(X,q){if(q=(0,T.default)(!0,{container:X,modules:{clipboard:!0,keyboard:!0,history:!0}},q),!q.theme||q.theme===W.DEFAULTS.theme)q.theme=F.default;else if(q.theme=W.import("themes/"+q.theme),q.theme==null)throw new Error("Invalid theme "+q.theme+". Did you register it?");var N=(0,T.default)(!0,{},q.theme.DEFAULTS);[N,q].forEach(function(Q){Q.modules=Q.modules||{},Object.keys(Q.modules).forEach(function(J){Q.modules[J]===!0&&(Q.modules[J]={})})});var B=Object.keys(N.modules).concat(Object.keys(q.modules)),K=B.reduce(function(Q,J){var U=W.import("modules/"+J);return U==null?L.error("Cannot load "+J+" module. Are you sure you registered it?"):Q[J]=U.DEFAULTS||{},Q},{});return q.modules!=null&&q.modules.toolbar&&q.modules.toolbar.constructor!==Object&&(q.modules.toolbar={container:q.modules.toolbar}),q=(0,T.default)(!0,{},W.DEFAULTS,{modules:K},N,q),["bounds","container","scrollingContainer"].forEach(function(Q){typeof q[Q]=="string"&&(q[Q]=document.querySelector(q[Q]))}),q.modules=Object.keys(q.modules).reduce(function(Q,J){return q.modules[J]&&(Q[J]=q.modules[J]),Q},{}),q}function Z(X,q,N,B){if(this.options.strict&&!this.isEnabled()&&q===f.default.sources.USER)return new v.default;var K=N==null?null:this.getSelection(),Q=this.editor.delta,J=X();if(K!=null&&(N===!0&&(N=K.index),B==null?K=oe(K,J,q):B!==0&&(K=oe(K,N,B,q)),this.setSelection(K,f.default.sources.SILENT)),J.length()>0){var U,$=[f.default.events.TEXT_CHANGE,J,Q,q];if((U=this.emitter).emit.apply(U,[f.default.events.EDITOR_CHANGE].concat($)),q!==f.default.sources.SILENT){var se;(se=this.emitter).emit.apply(se,$)}}return J}function te(X,q,N,B,K){var Q={};return typeof X.index=="number"&&typeof X.length=="number"?typeof q!="number"?(K=B,B=N,N=q,q=X.length,X=X.index):(q=X.length,X=X.index):typeof q!="number"&&(K=B,B=N,N=q,q=0),(typeof N>"u"?"undefined":o(N))==="object"?(Q=N,K=B):typeof N=="string"&&(B!=null?Q[N]=B:K=N),K=K||f.default.sources.API,[X,q,Q,K]}function oe(X,q,N,B){if(X==null)return null;var K=void 0,Q=void 0;if(q instanceof v.default){var J=[X.index,X.index+X.length].map(function(ie){return q.transformPosition(ie,B!==f.default.sources.USER)}),U=u(J,2);K=U[0],Q=U[1]}else{var $=[X.index,X.index+X.length].map(function(ie){return ie<q||ie===q&&B===f.default.sources.USER?ie:N>=0?ie+N:Math.max(q,ie+N)}),se=u($,2);K=se[0],Q=se[1]}return new A.Range(K,Q-K)}i.expandConfig=G,i.overload=te,i.default=W}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function k(y,A){for(var S=0;S<A.length;S++){var x=A[S];x.enumerable=x.enumerable||!1,x.configurable=!0,"value"in x&&(x.writable=!0),Object.defineProperty(y,x.key,x)}}return function(y,A,S){return A&&k(y.prototype,A),S&&k(y,S),y}})(),u=function k(y,A,S){y===null&&(y=Function.prototype);var x=Object.getOwnPropertyDescriptor(y,A);if(x===void 0){var T=Object.getPrototypeOf(y);return T===null?void 0:k(T,A,S)}else{if("value"in x)return x.value;var R=x.get;return R===void 0?void 0:R.call(S)}},c=s(7),p=h(c),v=s(0),b=h(v);function h(k){return k&&k.__esModule?k:{default:k}}function m(k,y){if(!(k instanceof y))throw new TypeError("Cannot call a class as a function")}function f(k,y){if(!k)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y&&(typeof y=="object"||typeof y=="function")?y:k}function E(k,y){if(typeof y!="function"&&y!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof y);k.prototype=Object.create(y&&y.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),y&&(Object.setPrototypeOf?Object.setPrototypeOf(k,y):k.__proto__=y)}var w=(function(k){E(y,k);function y(){return m(this,y),f(this,(y.__proto__||Object.getPrototypeOf(y)).apply(this,arguments))}return o(y,[{key:"formatAt",value:function(S,x,T,R){if(y.compare(this.statics.blotName,T)<0&&b.default.query(T,b.default.Scope.BLOT)){var z=this.isolate(S,x);R&&z.wrap(T,R)}else u(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"formatAt",this).call(this,S,x,T,R)}},{key:"optimize",value:function(S){if(u(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"optimize",this).call(this,S),this.parent instanceof y&&y.compare(this.statics.blotName,this.parent.statics.blotName)>0){var x=this.parent.isolate(this.offset(),this.length());this.moveChildren(x),x.wrap(this)}}}],[{key:"compare",value:function(S,x){var T=y.order.indexOf(S),R=y.order.indexOf(x);return T>=0||R>=0?T-R:S===x?0:S<x?-1:1}}]),y})(b.default.Inline);w.allowedChildren=[w,b.default.Embed,p.default],w.order=["cursor","inline","underline","strike","italic","bold","script","link","code"],i.default=w}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(0),u=c(o);function c(m){return m&&m.__esModule?m:{default:m}}function p(m,f){if(!(m instanceof f))throw new TypeError("Cannot call a class as a function")}function v(m,f){if(!m)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:m}function b(m,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);m.prototype=Object.create(f&&f.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(m,f):m.__proto__=f)}var h=(function(m){b(f,m);function f(){return p(this,f),v(this,(f.__proto__||Object.getPrototypeOf(f)).apply(this,arguments))}return f})(u.default.Text);i.default=h}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function A(S,x){for(var T=0;T<x.length;T++){var R=x[T];R.enumerable=R.enumerable||!1,R.configurable=!0,"value"in R&&(R.writable=!0),Object.defineProperty(S,R.key,R)}}return function(S,x,T){return x&&A(S.prototype,x),T&&A(S,T),S}})(),u=function A(S,x,T){S===null&&(S=Function.prototype);var R=Object.getOwnPropertyDescriptor(S,x);if(R===void 0){var z=Object.getPrototypeOf(S);return z===null?void 0:A(z,x,T)}else{if("value"in R)return R.value;var D=R.get;return D===void 0?void 0:D.call(T)}},c=s(54),p=h(c),v=s(10),b=h(v);function h(A){return A&&A.__esModule?A:{default:A}}function m(A,S){if(!(A instanceof S))throw new TypeError("Cannot call a class as a function")}function f(A,S){if(!A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return S&&(typeof S=="object"||typeof S=="function")?S:A}function E(A,S){if(typeof S!="function"&&S!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof S);A.prototype=Object.create(S&&S.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),S&&(Object.setPrototypeOf?Object.setPrototypeOf(A,S):A.__proto__=S)}var w=(0,b.default)("quill:events"),k=["selectionchange","mousedown","mouseup","click"];k.forEach(function(A){document.addEventListener(A,function(){for(var S=arguments.length,x=Array(S),T=0;T<S;T++)x[T]=arguments[T];[].slice.call(document.querySelectorAll(".ql-container")).forEach(function(R){if(R.__quill&&R.__quill.emitter){var z;(z=R.__quill.emitter).handleDOM.apply(z,x)}})})});var y=(function(A){E(S,A);function S(){m(this,S);var x=f(this,(S.__proto__||Object.getPrototypeOf(S)).call(this));return x.listeners={},x.on("error",w.error),x}return o(S,[{key:"emit",value:function(){w.log.apply(w,arguments),u(S.prototype.__proto__||Object.getPrototypeOf(S.prototype),"emit",this).apply(this,arguments)}},{key:"handleDOM",value:function(T){for(var R=arguments.length,z=Array(R>1?R-1:0),D=1;D<R;D++)z[D-1]=arguments[D];(this.listeners[T.type]||[]).forEach(function(F){var P=F.node,C=F.handler;(T.target===P||P.contains(T.target))&&C.apply(void 0,[T].concat(z))})}},{key:"listenDOM",value:function(T,R,z){this.listeners[T]||(this.listeners[T]=[]),this.listeners[T].push({node:R,handler:z})}}]),S})(p.default);y.events={EDITOR_CHANGE:"editor-change",SCROLL_BEFORE_UPDATE:"scroll-before-update",SCROLL_OPTIMIZE:"scroll-optimize",SCROLL_UPDATE:"scroll-update",SELECTION_CHANGE:"selection-change",TEXT_CHANGE:"text-change"},y.sources={API:"api",SILENT:"silent",USER:"user"},i.default=y}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});function o(c,p){if(!(c instanceof p))throw new TypeError("Cannot call a class as a function")}var u=function c(p){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};o(this,c),this.quill=p,this.options=v};u.DEFAULTS={},i.default=u}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=["error","warn","log","info"],u="warn";function c(v){if(o.indexOf(v)<=o.indexOf(u)){for(var b,h=arguments.length,m=Array(h>1?h-1:0),f=1;f<h;f++)m[f-1]=arguments[f];(b=console)[v].apply(b,m)}}function p(v){return o.reduce(function(b,h){return b[h]=c.bind(console,h,v),b},{})}c.level=p.level=function(v){u=v},i.default=p}),(function(n,i,s){var o=Array.prototype.slice,u=s(52),c=s(53),p=n.exports=function(m,f,E){return E||(E={}),m===f?!0:m instanceof Date&&f instanceof Date?m.getTime()===f.getTime():!m||!f||typeof m!="object"&&typeof f!="object"?E.strict?m===f:m==f:h(m,f,E)};function v(m){return m==null}function b(m){return!(!m||typeof m!="object"||typeof m.length!="number"||typeof m.copy!="function"||typeof m.slice!="function"||m.length>0&&typeof m[0]!="number")}function h(m,f,E){var w,k;if(v(m)||v(f)||m.prototype!==f.prototype)return!1;if(c(m))return c(f)?(m=o.call(m),f=o.call(f),p(m,f,E)):!1;if(b(m)){if(!b(f)||m.length!==f.length)return!1;for(w=0;w<m.length;w++)if(m[w]!==f[w])return!1;return!0}try{var y=u(m),A=u(f)}catch{return!1}if(y.length!=A.length)return!1;for(y.sort(),A.sort(),w=y.length-1;w>=0;w--)if(y[w]!=A[w])return!1;for(w=y.length-1;w>=0;w--)if(k=y[w],!p(m[k],f[k],E))return!1;return typeof m==typeof f}}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(1),u=(function(){function c(p,v,b){b===void 0&&(b={}),this.attrName=p,this.keyName=v;var h=o.Scope.TYPE&o.Scope.ATTRIBUTE;b.scope!=null?this.scope=b.scope&o.Scope.LEVEL|h:this.scope=o.Scope.ATTRIBUTE,b.whitelist!=null&&(this.whitelist=b.whitelist)}return c.keys=function(p){return[].map.call(p.attributes,function(v){return v.name})},c.prototype.add=function(p,v){return this.canAdd(p,v)?(p.setAttribute(this.keyName,v),!0):!1},c.prototype.canAdd=function(p,v){var b=o.query(p,o.Scope.BLOT&(this.scope|o.Scope.TYPE));return b==null?!1:this.whitelist==null?!0:typeof v=="string"?this.whitelist.indexOf(v.replace(/["']/g,""))>-1:this.whitelist.indexOf(v)>-1},c.prototype.remove=function(p){p.removeAttribute(this.keyName)},c.prototype.value=function(p){var v=p.getAttribute(this.keyName);return this.canAdd(p,v)&&v?v:""},c})();i.default=u}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.default=i.Code=void 0;var o=(function(){function D(F,P){var C=[],j=!0,L=!1,W=void 0;try{for(var G=F[Symbol.iterator](),Z;!(j=(Z=G.next()).done)&&(C.push(Z.value),!(P&&C.length===P));j=!0);}catch(te){L=!0,W=te}finally{try{!j&&G.return&&G.return()}finally{if(L)throw W}}return C}return function(F,P){if(Array.isArray(F))return F;if(Symbol.iterator in Object(F))return D(F,P);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),u=(function(){function D(F,P){for(var C=0;C<P.length;C++){var j=P[C];j.enumerable=j.enumerable||!1,j.configurable=!0,"value"in j&&(j.writable=!0),Object.defineProperty(F,j.key,j)}}return function(F,P,C){return P&&D(F.prototype,P),C&&D(F,C),F}})(),c=function D(F,P,C){F===null&&(F=Function.prototype);var j=Object.getOwnPropertyDescriptor(F,P);if(j===void 0){var L=Object.getPrototypeOf(F);return L===null?void 0:D(L,P,C)}else{if("value"in j)return j.value;var W=j.get;return W===void 0?void 0:W.call(C)}},p=s(2),v=A(p),b=s(0),h=A(b),m=s(4),f=A(m),E=s(6),w=A(E),k=s(7),y=A(k);function A(D){return D&&D.__esModule?D:{default:D}}function S(D,F){if(!(D instanceof F))throw new TypeError("Cannot call a class as a function")}function x(D,F){if(!D)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return F&&(typeof F=="object"||typeof F=="function")?F:D}function T(D,F){if(typeof F!="function"&&F!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof F);D.prototype=Object.create(F&&F.prototype,{constructor:{value:D,enumerable:!1,writable:!0,configurable:!0}}),F&&(Object.setPrototypeOf?Object.setPrototypeOf(D,F):D.__proto__=F)}var R=(function(D){T(F,D);function F(){return S(this,F),x(this,(F.__proto__||Object.getPrototypeOf(F)).apply(this,arguments))}return F})(w.default);R.blotName="code",R.tagName="CODE";var z=(function(D){T(F,D);function F(){return S(this,F),x(this,(F.__proto__||Object.getPrototypeOf(F)).apply(this,arguments))}return u(F,[{key:"delta",value:function(){var C=this,j=this.domNode.textContent;return j.endsWith(` 799`)&&(j=j.slice(0,-1)),j.split(` 800`).reduce(function(L,W){return L.insert(W).insert(` 801`,C.formats())},new v.default)}},{key:"format",value:function(C,j){if(!(C===this.statics.blotName&&j)){var L=this.descendant(y.default,this.length()-1),W=o(L,1),G=W[0];G!=null&&G.deleteAt(G.length()-1,1),c(F.prototype.__proto__||Object.getPrototypeOf(F.prototype),"format",this).call(this,C,j)}}},{key:"formatAt",value:function(C,j,L,W){if(j!==0&&!(h.default.query(L,h.default.Scope.BLOCK)==null||L===this.statics.blotName&&W===this.statics.formats(this.domNode))){var G=this.newlineIndex(C);if(!(G<0||G>=C+j)){var Z=this.newlineIndex(C,!0)+1,te=G-Z+1,oe=this.isolate(Z,te),X=oe.next;oe.format(L,W),X instanceof F&&X.formatAt(0,C-Z+j-te,L,W)}}}},{key:"insertAt",value:function(C,j,L){if(L==null){var W=this.descendant(y.default,C),G=o(W,2),Z=G[0],te=G[1];Z.insertAt(te,j)}}},{key:"length",value:function(){var C=this.domNode.textContent.length;return this.domNode.textContent.endsWith(` 802`)?C:C+1}},{key:"newlineIndex",value:function(C){var j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(j)return this.domNode.textContent.slice(0,C).lastIndexOf(` 803`);var L=this.domNode.textContent.slice(C).indexOf(` 804`);return L>-1?C+L:-1}},{key:"optimize",value:function(C){this.domNode.textContent.endsWith(` 805`)||this.appendChild(h.default.create("text",` 806`)),c(F.prototype.__proto__||Object.getPrototypeOf(F.prototype),"optimize",this).call(this,C);var j=this.next;j!=null&&j.prev===this&&j.statics.blotName===this.statics.blotName&&this.statics.formats(this.domNode)===j.statics.formats(j.domNode)&&(j.optimize(C),j.moveChildren(this),j.remove())}},{key:"replace",value:function(C){c(F.prototype.__proto__||Object.getPrototypeOf(F.prototype),"replace",this).call(this,C),[].slice.call(this.domNode.querySelectorAll("*")).forEach(function(j){var L=h.default.find(j);L==null?j.parentNode.removeChild(j):L instanceof h.default.Embed?L.remove():L.unwrap()})}}],[{key:"create",value:function(C){var j=c(F.__proto__||Object.getPrototypeOf(F),"create",this).call(this,C);return j.setAttribute("spellcheck",!1),j}},{key:"formats",value:function(){return!0}}]),F})(f.default);z.blotName="code-block",z.tagName="PRE",z.TAB=" ",i.Code=R,i.default=z}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},u=(function(){function X(q,N){var B=[],K=!0,Q=!1,J=void 0;try{for(var U=q[Symbol.iterator](),$;!(K=($=U.next()).done)&&(B.push($.value),!(N&&B.length===N));K=!0);}catch(se){Q=!0,J=se}finally{try{!K&&U.return&&U.return()}finally{if(Q)throw J}}return B}return function(q,N){if(Array.isArray(q))return q;if(Symbol.iterator in Object(q))return X(q,N);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),c=(function(){function X(q,N){for(var B=0;B<N.length;B++){var K=N[B];K.enumerable=K.enumerable||!1,K.configurable=!0,"value"in K&&(K.writable=!0),Object.defineProperty(q,K.key,K)}}return function(q,N,B){return N&&X(q.prototype,N),B&&X(q,B),q}})(),p=s(2),v=j(p),b=s(20),h=j(b),m=s(0),f=j(m),E=s(13),w=j(E),k=s(24),y=j(k),A=s(4),S=j(A),x=s(16),T=j(x),R=s(21),z=j(R),D=s(11),F=j(D),P=s(3),C=j(P);function j(X){return X&&X.__esModule?X:{default:X}}function L(X,q,N){return q in X?Object.defineProperty(X,q,{value:N,enumerable:!0,configurable:!0,writable:!0}):X[q]=N,X}function W(X,q){if(!(X instanceof q))throw new TypeError("Cannot call a class as a function")}var G=/^[ -~]*$/,Z=(function(){function X(q){W(this,X),this.scroll=q,this.delta=this.getDelta()}return c(X,[{key:"applyDelta",value:function(N){var B=this,K=!1;this.scroll.update();var Q=this.scroll.length();return this.scroll.batchStart(),N=oe(N),N.reduce(function(J,U){var $=U.retain||U.delete||U.insert.length||1,se=U.attributes||{};if(U.insert!=null){if(typeof U.insert=="string"){var ie=U.insert;ie.endsWith(` 807`)&&K&&(K=!1,ie=ie.slice(0,-1)),J>=Q&&!ie.endsWith(` 808`)&&(K=!0),B.scroll.insertAt(J,ie);var fe=B.scroll.line(J),pe=u(fe,2),Oe=pe[0],Ee=pe[1],Fe=(0,C.default)({},(0,A.bubbleFormats)(Oe));if(Oe instanceof S.default){var Ce=Oe.descendant(f.default.Leaf,Ee),De=u(Ce,1),He=De[0];Fe=(0,C.default)(Fe,(0,A.bubbleFormats)(He))}se=h.default.attributes.diff(Fe,se)||{}}else if(o(U.insert)==="object"){var de=Object.keys(U.insert)[0];if(de==null)return J;B.scroll.insertAt(J,de,U.insert[de])}Q+=$}return Object.keys(se).forEach(function(he){B.scroll.formatAt(J,$,he,se[he])}),J+$},0),N.reduce(function(J,U){return typeof U.delete=="number"?(B.scroll.deleteAt(J,U.delete),J):J+(U.retain||U.insert.length||1)},0),this.scroll.batchEnd(),this.update(N)}},{key:"deleteText",value:function(N,B){return this.scroll.deleteAt(N,B),this.update(new v.default().retain(N).delete(B))}},{key:"formatLine",value:function(N,B){var K=this,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.scroll.update(),Object.keys(Q).forEach(function(J){if(!(K.scroll.whitelist!=null&&!K.scroll.whitelist[J])){var U=K.scroll.lines(N,Math.max(B,1)),$=B;U.forEach(function(se){var ie=se.length();if(!(se instanceof w.default))se.format(J,Q[J]);else{var fe=N-se.offset(K.scroll),pe=se.newlineIndex(fe+$)-fe+1;se.formatAt(fe,pe,J,Q[J])}$-=ie})}}),this.scroll.optimize(),this.update(new v.default().retain(N).retain(B,(0,z.default)(Q)))}},{key:"formatText",value:function(N,B){var K=this,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Object.keys(Q).forEach(function(J){K.scroll.formatAt(N,B,J,Q[J])}),this.update(new v.default().retain(N).retain(B,(0,z.default)(Q)))}},{key:"getContents",value:function(N,B){return this.delta.slice(N,N+B)}},{key:"getDelta",value:function(){return this.scroll.lines().reduce(function(N,B){return N.concat(B.delta())},new v.default)}},{key:"getFormat",value:function(N){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,K=[],Q=[];B===0?this.scroll.path(N).forEach(function(U){var $=u(U,1),se=$[0];se instanceof S.default?K.push(se):se instanceof f.default.Leaf&&Q.push(se)}):(K=this.scroll.lines(N,B),Q=this.scroll.descendants(f.default.Leaf,N,B));var J=[K,Q].map(function(U){if(U.length===0)return{};for(var $=(0,A.bubbleFormats)(U.shift());Object.keys($).length>0;){var se=U.shift();if(se==null)return $;$=te((0,A.bubbleFormats)(se),$)}return $});return C.default.apply(C.default,J)}},{key:"getText",value:function(N,B){return this.getContents(N,B).filter(function(K){return typeof K.insert=="string"}).map(function(K){return K.insert}).join("")}},{key:"insertEmbed",value:function(N,B,K){return this.scroll.insertAt(N,B,K),this.update(new v.default().retain(N).insert(L({},B,K)))}},{key:"insertText",value:function(N,B){var K=this,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return B=B.replace(/\r\n/g,` 809`).replace(/\r/g,`
810`),this.scroll.insertAt(N,B),Object.keys(Q).forEach(function(J){K.scroll.formatAt(N,B.length,J,Q[J])}),this.update(new v.default().retain(N).insert(B,(0,z.default)(Q)))}},{key:"isBlank",value:function(){if(this.scroll.children.length==0)return!0;if(this.scroll.children.length>1)return!1;var N=this.scroll.children.head;return N.statics.blotName!==S.default.blotName||N.children.length>1?!1:N.children.head instanceof T.default}},{key:"removeFormat",value:function(N,B){var K=this.getText(N,B),Q=this.scroll.line(N+B),J=u(Q,2),U=J[0],$=J[1],se=0,ie=new v.default;U!=null&&(U instanceof w.default?se=U.newlineIndex($)-$+1:se=U.length()-$,ie=U.delta().slice($,$+se-1).insert(` 811`));var fe=this.getContents(N,B+se),pe=fe.diff(new v.default().insert(K).concat(ie)),Oe=new v.default().retain(N).concat(pe);return this.applyDelta(Oe)}},{key:"update",value:function(N){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],K=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,Q=this.delta;if(B.length===1&&B[0].type==="characterData"&&B[0].target.data.match(G)&&f.default.find(B[0].target)){var J=f.default.find(B[0].target),U=(0,A.bubbleFormats)(J),$=J.offset(this.scroll),se=B[0].oldValue.replace(y.default.CONTENTS,""),ie=new v.default().insert(se),fe=new v.default().insert(J.value()),pe=new v.default().retain($).concat(ie.diff(fe,K));N=pe.reduce(function(Oe,Ee){return Ee.insert?Oe.insert(Ee.insert,U):Oe.push(Ee)},new v.default),this.delta=Q.compose(N)}else this.delta=this.getDelta(),(!N||!(0,F.default)(Q.compose(N),this.delta))&&(N=Q.diff(this.delta,K));return N}}]),X})();function te(X,q){return Object.keys(q).reduce(function(N,B){return X[B]==null||(q[B]===X[B]?N[B]=q[B]:Array.isArray(q[B])?q[B].indexOf(X[B])<0&&(N[B]=q[B].concat([X[B]])):N[B]=[q[B],X[B]]),N},{})}function oe(X){return X.reduce(function(q,N){if(N.insert===1){var B=(0,z.default)(N.attributes);return delete B.image,q.insert({image:N.attributes.image},B)}if(N.attributes!=null&&(N.attributes.list===!0||N.attributes.bullet===!0)&&(N=(0,z.default)(N),N.attributes.list?N.attributes.list="ordered":(N.attributes.list="bullet",delete N.attributes.bullet)),typeof N.insert=="string"){var K=N.insert.replace(/\r\n/g,` 812`).replace(/\r/g,` 813`);return q.insert(K,N.attributes)}return q.push(N)},new v.default)}i.default=Z}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.default=i.Range=void 0;var o=(function(){function D(F,P){var C=[],j=!0,L=!1,W=void 0;try{for(var G=F[Symbol.iterator](),Z;!(j=(Z=G.next()).done)&&(C.push(Z.value),!(P&&C.length===P));j=!0);}catch(te){L=!0,W=te}finally{try{!j&&G.return&&G.return()}finally{if(L)throw W}}return C}return function(F,P){if(Array.isArray(F))return F;if(Symbol.iterator in Object(F))return D(F,P);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),u=(function(){function D(F,P){for(var C=0;C<P.length;C++){var j=P[C];j.enumerable=j.enumerable||!1,j.configurable=!0,"value"in j&&(j.writable=!0),Object.defineProperty(F,j.key,j)}}return function(F,P,C){return P&&D(F.prototype,P),C&&D(F,C),F}})(),c=s(0),p=y(c),v=s(21),b=y(v),h=s(11),m=y(h),f=s(8),E=y(f),w=s(10),k=y(w);function y(D){return D&&D.__esModule?D:{default:D}}function A(D){if(Array.isArray(D)){for(var F=0,P=Array(D.length);F<D.length;F++)P[F]=D[F];return P}else return Array.from(D)}function S(D,F){if(!(D instanceof F))throw new TypeError("Cannot call a class as a function")}var x=(0,k.default)("quill:selection"),T=function D(F){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;S(this,D),this.index=F,this.length=P},R=(function(){function D(F,P){var C=this;S(this,D),this.emitter=P,this.scroll=F,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=p.default.create("cursor",this),this.lastRange=this.savedRange=new T(0,0),this.handleComposition(),this.handleDragging(),this.emitter.listenDOM("selectionchange",document,function(){C.mouseDown||setTimeout(C.update.bind(C,E.default.sources.USER),1)}),this.emitter.on(E.default.events.EDITOR_CHANGE,function(j,L){j===E.default.events.TEXT_CHANGE&&L.length()>0&&C.update(E.default.sources.SILENT)}),this.emitter.on(E.default.events.SCROLL_BEFORE_UPDATE,function(){if(C.hasFocus()){var j=C.getNativeRange();j!=null&&j.start.node!==C.cursor.textNode&&C.emitter.once(E.default.events.SCROLL_UPDATE,function(){try{C.setNativeRange(j.start.node,j.start.offset,j.end.node,j.end.offset)}catch{}})}}),this.emitter.on(E.default.events.SCROLL_OPTIMIZE,function(j,L){if(L.range){var W=L.range,G=W.startNode,Z=W.startOffset,te=W.endNode,oe=W.endOffset;C.setNativeRange(G,Z,te,oe)}}),this.update(E.default.sources.SILENT)}return u(D,[{key:"handleComposition",value:function(){var P=this;this.root.addEventListener("compositionstart",function(){P.composing=!0}),this.root.addEventListener("compositionend",function(){if(P.composing=!1,P.cursor.parent){var C=P.cursor.restore(
vendor: 118,890 bytes, lines 813-828
813);if(!C)return;setTimeout(function(){P.setNativeRange(C.startNode,C.startOffset,C.endNode,C.endOffset)},1)}})}},{key:"handleDragging",value:function(){var P=this;this.emitter.listenDOM("mousedown",document.body,function(){P.mouseDown=!0}),this.emitter.listenDOM("mouseup",document.body,function(){P.mouseDown=!1,P.update(E.default.sources.USER)})}},{key:"focus",value:function(){this.hasFocus()||(this.root.focus(),this.setRange(this.savedRange))}},{key:"format",value:function(P,C){if(!(this.scroll.whitelist!=null&&!this.scroll.whitelist[P])){this.scroll.update();var j=this.getNativeRange();if(!(j==null||!j.native.collapsed||p.default.query(P,p.default.Scope.BLOCK))){if(j.start.node!==this.cursor.textNode){var L=p.default.find(j.start.node,!1);if(L==null)return;if(L instanceof p.default.Leaf){var W=L.split(j.start.offset);L.parent.insertBefore(this.cursor,W)}else L.insertBefore(this.cursor,j.start.node);this.cursor.attach()}this.cursor.format(P,C),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}}},{key:"getBounds",value:function(P){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,j=this.scroll.length();P=Math.min(P,j-1),C=Math.min(P+C,j-1)-P;var L=void 0,W=this.scroll.leaf(P),G=o(W,2),Z=G[0],te=G[1];if(Z==null)return null;var oe=Z.position(te,!0),X=o(oe,2);L=X[0],te=X[1];var q=document.createRange();if(C>0){q.setStart(L,te);var N=this.scroll.leaf(P+C),B=o(N,2);if(Z=B[0],te=B[1],Z==null)return null;var K=Z.position(te,!0),Q=o(K,2);return L=Q[0],te=Q[1],q.setEnd(L,te),q.getBoundingClientRect()}else{var J="left",U=void 0;return L instanceof Text?(te<L.data.length?(q.setStart(L,te),q.setEnd(L,te+1)):(q.setStart(L,te-1),q.setEnd(L,te),J="right"),U=q.getBoundingClientRect()):(U=Z.domNode.getBoundingClientRect(),te>0&&(J="right")),{bottom:U.top+U.height,height:U.height,left:U[J],right:U[J],top:U.top,width:0}}}},{key:"getNativeRange",value:function(){var P=document.getSelection();if(P==null||P.rangeCount<=0)return null;var C=P.getRangeAt(0);if(C==null)return null;var j=this.normalizeNative(C);return x.info("getNativeRange",j),j}},{key:"getRange",value:function(){var P=this.getNativeRange();if(P==null)return[null,null];var C=this.normalizedToRange(P);return[C,P]}},{key:"hasFocus",value:function(){return document.activeElement===this.root}},{key:"normalizedToRange",value:function(P){var C=this,j=[[P.start.node,P.start.offset]];P.native.collapsed||j.push([P.end.node,P.end.offset]);var L=j.map(function(Z){var te=o(Z,2),oe=te[0],X=te[1],q=p.default.find(oe,!0),N=q.offset(C.scroll);return X===0?N:q instanceof p.default.Container?N+q.length():N+q.index(oe,X)}),W=Math.min(Math.max.apply(Math,A(L)),this.scroll.length()-1),G=Math.min.apply(Math,[W].concat(A(L)));return new T(G,W-G)}},{key:"normalizeNative",value:function(P){if(!z(this.root,P.startContainer)||!P.collapsed&&!z(this.root,P.endContainer))return null;var C={start:{node:P.startContainer,offset:P.startOffset},end:{node:P.endContainer,offset:P.endOffset},native:P};return[C.start,C.end].forEach(function(j){for(var L=j.node,W=j.offset;!(L instanceof Text)&&L.childNodes.length>0;)if(L.childNodes.length>W)L=L.childNodes[W],W=0;else if(L.childNodes.length===W)L=L.lastChild,W=L instanceof Text?L.data.length:L.childNodes.length+1;else break;j.node=L,j.offset=W}),C}},{key:"rangeToNative",value:function(P){var C=this,j=P.collapsed?[P.index]:[P.index,P.index+P.length],L=[],W=this.scroll.length();return j.forEach(function(G,Z){G=Math.min(W-1,G);var te=void 0,oe=C.scroll.leaf(G),X=o(oe,2),q=X[0],N=X[1],B=q.position(N,Z!==0),K=o(B,2);te=K[0],N=K[1],L.push(te,N)}),L.length<2&&(L=L.concat(L)),L}},{key:"scrollIntoView",value:function(P){var C=this.lastRange;if(C!=null){var j=this.getBounds(C.index,C.length);if(j!=null){var L=this.scroll.length()-1,W=this.scroll.line(Math.min(C.index,L)),G=o(W,1),Z=G[0],te=Z;if(C.length>0){var oe=this.scroll.line(Math.min(C.index+C.length,L)),X=o(oe,1);te=X[0]}if(!(Z==null||te==null)){var q=P.getBoundingClientRect();j.top<q.top?P.scrollTop-=q.top-j.top:j.bottom>q.bottom&&(P.scrollTop+=j.bottom-q.bottom)}}}}},{key:"setNativeRange",value:function(P,C){var j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:P,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:C,W=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(x.info("setNativeRange",P,C,j,L),!(P!=null&&(this.root.parentNode==null||P.parentNode==null||j.parentNode==null))){var G=document.getSelection();if(G!=null)if(P!=null){this.hasFocus()||this.root.focus();var Z=(this.getNativeRange()||{}).native;if(Z==null||W||P!==Z.startContainer||C!==Z.startOffset||j!==Z.endContainer||L!==Z.endOffset){P.tagName=="BR"&&(C=[].indexOf.call(P.parentNode.childNodes,P),P=P.parentNode),j.tagName=="BR"&&(L=[].indexOf.call(j.parentNode.childNodes,j),j=j.parentNode);var te=document.createRange();te.setStart(P,C),te.setEnd(j,L),G.removeAllRanges(),G.addRange(te)}}else G.removeAllRanges(),this.root.blur(),document.body.focus()}}},{key:"setRange",value:function(P){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:E.default.sources.API;if(typeof C=="string"&&(j=C,C=!1),x.info("setRange",P),P!=null){var L=this.rangeToNative(P);this.setNativeRange.apply(this,A(L).concat([C]))}else this.setNativeRange(null);this.update(j)}},{key:"update",value:function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:E.default.sources.USER,C=this.lastRange,j=this.getRange(),L=o(j,2),W=L[0],G=L[1];if(this.lastRange=W,this.lastRange!=null&&(this.savedRange=this.lastRange),!(0,m.default)(C,this.lastRange)){var Z;!this.composing&&G!=null&&G.native.collapsed&&G.start.node!==this.cursor.textNode&&this.cursor.restore();var te=[E.default.events.SELECTION_CHANGE,(0,b.default)(this.lastRange),(0,b.default)(C),P];if((Z=this.emitter).emit.apply(Z,[E.default.events.EDITOR_CHANGE].concat(te)),P!==E.default.sources.SILENT){var oe;(oe=this.emitter).emit.apply(oe,te)}}}}]),D})();function z(D,F){try{F.parentNode}catch{return!1}return F instanceof Text&&(F=F.parentNode),D.contains(F)}i.Range=T,i.default=R}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function E(w,k){for(var y=0;y<k.length;y++){var A=k[y];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(w,A.key,A)}}return function(w,k,y){return k&&E(w.prototype,k),y&&E(w,y),w}})(),u=function E(w,k,y){w===null&&(w=Function.prototype);var A=Object.getOwnPropertyDescriptor(w,k);if(A===void 0){var S=Object.getPrototypeOf(w);return S===null?void 0:E(S,k,y)}else{if("value"in A)return A.value;var x=A.get;return x===void 0?void 0:x.call(y)}},c=s(0),p=v(c);function v(E){return E&&E.__esModule?E:{default:E}}function b(E,w){if(!(E instanceof w))throw new TypeError("Cannot call a class as a function")}function h(E,w){if(!E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return w&&(typeof w=="object"||typeof w=="function")?w:E}function m(E,w){if(typeof w!="function"&&w!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof w);E.prototype=Object.create(w&&w.prototype,{constructor:{value:E,enumerable:!1,writable:!0,configurable:!0}}),w&&(Object.setPrototypeOf?Object.setPrototypeOf(E,w):E.__proto__=w)}var f=(function(E){m(w,E);function w(){return b(this,w),h(this,(w.__proto__||Object.getPrototypeOf(w)).apply(this,arguments))}return o(w,[{key:"insertInto",value:function(y,A){y.children.length===0?u(w.prototype.__proto__||Object.getPrototypeOf(w.prototype),"insertInto",this).call(this,y,A):this.remove()}},{key:"length",value:function(){return 0}},{key:"value",value:function(){return""}}],[{key:"value",value:function(){}}]),w})(p.default.Embed);f.blotName="break",f.tagName="BR",i.default=f}),(function(n,i,s){var o=this&&this.__extends||(function(){var h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,f){m.__proto__=f}||function(m,f){for(var E in f)f.hasOwnProperty(E)&&(m[E]=f[E])};return function(m,f){h(m,f);function E(){this.constructor=m}m.prototype=f===null?Object.create(f):(E.prototype=f.prototype,new E)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(44),c=s(30),p=s(1),v=(function(h){o(m,h);function m(f){var E=h.call(this,f)||this;return E.build(),E}return m.prototype.appendChild=function(f){this.insertBefore(f)},m.prototype.attach=function(){h.prototype.attach.call(this),this.children.forEach(function(f){f.attach()})},m.prototype.build=function(){var f=this;this.children=new u.default,[].slice.call(this.domNode.childNodes).reverse().forEach(function(E){try{var w=b(E);f.insertBefore(w,f.children.head||void 0)}catch(k){if(k instanceof p.ParchmentError)return;throw k}})},m.prototype.deleteAt=function(f,E){if(f===0&&E===this.length())return this.remove();this.children.forEachAt(f,E,function(w,k,y){w.deleteAt(k,y)})},m.prototype.descendant=function(f,E){var w=this.children.find(E),k=w[0],y=w[1];return f.blotName==null&&f(k)||f.blotName!=null&&k instanceof f?[k,y]:k instanceof m?k.descendant(f,y):[null,-1]},m.prototype.descendants=function(f,E,w){E===void 0&&(E=0),w===void 0&&(w=Number.MAX_VALUE);var k=[],y=w;return this.children.forEachAt(E,w,function(A,S,x){(f.blotName==null&&f(A)||f.blotName!=null&&A instanceof f)&&k.push(A),A instanceof m&&(k=k.concat(A.descendants(f,S,y))),y-=x}),k},m.prototype.detach=function(){this.children.forEach(function(f){f.detach()}),h.prototype.detach.call(this)},m.prototype.formatAt=function(f,E,w,k){this.children.forEachAt(f,E,function(y,A,S){y.formatAt(A,S,w,k)})},m.prototype.insertAt=function(f,E,w){var k=this.children.find(f),y=k[0],A=k[1];if(y)y.insertAt(A,E,w);else{var S=w==null?p.create("text",E):p.create(E,w);this.appendChild(S)}},m.prototype.insertBefore=function(f,E){if(this.statics.allowedChildren!=null&&!this.statics.allowedChildren.some(function(w){return f instanceof w}))throw new p.ParchmentError("Cannot insert "+f.statics.blotName+" into "+this.statics.blotName);f.insertInto(this,E)},m.prototype.length=function(){return this.children.reduce(function(f,E){return f+E.length()},0)},m.prototype.moveChildren=function(f,E){this.children.forEach(function(w){f.insertBefore(w,E)})},m.prototype.optimize=function(f){if(h.prototype.optimize.call(this,f),this.children.length===0)if(this.statics.defaultChild!=null){var E=p.create(this.statics.defaultChild);this.appendChild(E),E.optimize(f)}else this.remove()},m.prototype.path=function(f,E){E===void 0&&(E=!1);var w=this.children.find(f,E),k=w[0],y=w[1],A=[[this,f]];return k instanceof m?A.concat(k.path(y,E)):(k!=null&&A.push([k,y]),A)},m.prototype.removeChild=function(f){this.children.remove(f)},m.prototype.replace=function(f){f instanceof m&&f.moveChildren(this),h.prototype.replace.call(this,f)},m.prototype.split=function(f,E){if(E===void 0&&(E=!1),!E){if(f===0)return this;if(f===this.length())return this.next}var w=this.clone();return this.parent.insertBefore(w,this.next),this.children.forEachAt(f,this.length(),function(k,y,A){k=k.split(y,E),w.appendChild(k)}),w},m.prototype.unwrap=function(){this.moveChildren(this.parent,this.next),this.remove()},m.prototype.update=function(f,E){var w=this,k=[],y=[];f.forEach(function(A){A.target===w.domNode&&A.type==="childList"&&(k.push.apply(k,A.addedNodes),y.push.apply(y,A.removedNodes))}),y.forEach(function(A){if(!(A.parentNode!=null&&A.tagName!=="IFRAME"&&document.body.compareDocumentPosition(A)&Node.DOCUMENT_POSITION_CONTAINED_BY)){var S=p.find(A);S!=null&&(S.domNode.parentNode==null||S.domNode.parentNode===w.domNode)&&S.detach()}}),k.filter(function(A){return A.parentNode==w.domNode}).sort(function(A,S){return A===S?0:A.compareDocumentPosition(S)&Node.DOCUMENT_POSITION_FOLLOWING?1:-1}).forEach(function(A){var S=null;A.nextSibling!=null&&(S=p.find(A.nextSibling));var x=b(A);(x.next!=S||x.next==null)&&(x.parent!=null&&x.parent.removeChild(w),w.insertBefore(x,S||void 0))})},m})(c.default);function b(h){var m=p.find(h);if(m==null)try{m=p.create(h)}catch{m=p.create(p.Scope.INLINE),[].slice.call(h.childNodes).forEach(function(E){m.domNode.appendChild(E)}),h.parentNode&&h.parentNode.replaceChild(m.domNode,h),m.attach()}return m}i.default=v}),(function(n,i,s){var o=this&&this.__extends||(function(){var h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,f){m.__proto__=f}||function(m,f){for(var E in f)f.hasOwnProperty(E)&&(m[E]=f[E])};return function(m,f){h(m,f);function E(){this.constructor=m}m.prototype=f===null?Object.create(f):(E.prototype=f.prototype,new E)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(12),c=s(31),p=s(17),v=s(1),b=(function(h){o(m,h);function m(f){var E=h.call(this,f)||this;return E.attributes=new c.default(E.domNode),E}return m.formats=function(f){if(typeof this.tagName=="string")return!0;if(Array.isArray(this.tagName))return f.tagName.toLowerCase()},m.prototype.format=function(f,E){var w=v.query(f);w instanceof u.default?this.attributes.attribute(w,E):E&&w!=null&&(f!==this.statics.blotName||this.formats()[f]!==E)&&this.replaceWith(f,E)},m.prototype.formats=function(){var f=this.attributes.values(),E=this.statics.formats(this.domNode);return E!=null&&(f[this.statics.blotName]=E),f},m.prototype.replaceWith=function(f,E){var w=h.prototype.replaceWith.call(this,f,E);return this.attributes.copy(w),w},m.prototype.update=function(f,E){var w=this;h.prototype.update.call(this,f,E),f.some(function(k){return k.target===w.domNode&&k.type==="attributes"})&&this.attributes.build()},m.prototype.wrap=function(f,E){var w=h.prototype.wrap.call(this,f,E);return w instanceof m&&w.statics.scope===this.statics.scope&&this.attributes.move(w),w},m})(p.default);i.default=b}),(function(n,i,s){var o=this&&this.__extends||(function(){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,h){b.__proto__=h}||function(b,h){for(var m in h)h.hasOwnProperty(m)&&(b[m]=h[m])};return function(b,h){v(b,h);function m(){this.constructor=b}b.prototype=h===null?Object.create(h):(m.prototype=h.prototype,new m)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(30),c=s(1),p=(function(v){o(b,v);function b(){return v!==null&&v.apply(this,arguments)||this}return b.value=function(h){return!0},b.prototype.index=function(h,m){return this.domNode===h||this.domNode.compareDocumentPosition(h)&Node.DOCUMENT_POSITION_CONTAINED_BY?Math.min(m,1):-1},b.prototype.position=function(h,m){var f=[].indexOf.call(this.parent.domNode.childNodes,this.domNode);return h>0&&(f+=1),[this.parent.domNode,f]},b.prototype.value=function(){var h;return h={},h[this.statics.blotName]=this.statics.value(this.domNode)||!0,h},b.scope=c.Scope.INLINE_BLOT,b})(u.default);i.default=p}),(function(n,i,s){var o=s(11),u=s(3),c={attributes:{compose:function(v,b,h){typeof v!="object"&&(v={}),typeof b!="object"&&(b={});var m=u(!0,{},b);h||(m=Object.keys(m).reduce(function(E,w){return m[w]!=null&&(E[w]=m[w]),E},{}));for(var f in v)v[f]!==void 0&&b[f]===void 0&&(m[f]=v[f]);return Object.keys(m).length>0?m:void 0},diff:function(v,b){typeof v!="object"&&(v={}),typeof b!="object"&&(b={});var h=Object.keys(v).concat(Object.keys(b)).reduce(function(m,f){return o(v[f],b[f])||(m[f]=b[f]===void 0?null:b[f]),m},{});return Object.keys(h).length>0?h:void 0},transform:function(v,b,h){if(typeof v!="object")return b;if(typeof b=="object"){if(!h)return b;var m=Object.keys(b).reduce(function(f,E){return v[E]===void 0&&(f[E]=b[E]),f},{});return Object.keys(m).length>0?m:void 0}}},iterator:function(v){return new p(v)},length:function(v){return typeof v.delete=="number"?v.delete:typeof v.retain=="number"?v.retain:typeof v.insert=="string"?v.insert.length:1}};function p(v){this.ops=v,this.index=0,this.offset=0}p.prototype.hasNext=function(){return this.peekLength()<1/0},p.prototype.next=function(v){v||(v=1/0);var b=this.ops[this.index];if(b){var h=this.offset,m=c.length(b);if(v>=m-h?(v=m-h,this.index+=1,this.offset=0):this.offset+=v,typeof b.delete=="number")return{delete:v};var f={};return b.attributes&&(f.attributes=b.attributes),typeof b.retain=="number"?f.retain=v:typeof b.insert=="string"?f.insert=b.insert.substr(h,v):f.insert=b.insert,f}else return{retain:1/0}},p.prototype.peek=function(){return this.ops[this.index]},p.prototype.peekLength=function(){return this.ops[this.index]?c.length(this.ops[this.index])-this.offset:1/0},p.prototype.peekType=function(){return this.ops[this.index]?typeof this.ops[this.index].delete=="number"?"delete":typeof this.ops[this.index].retain=="number"?"retain":"insert":"retain"},p.prototype.rest=function(){if(this.hasNext()){if(this.offset===0)return this.ops.slice(this.index);var v=this.offset,b=this.index,h=this.next(),m=this.ops.slice(this.index);return this.offset=v,this.index=b,[h].concat(m)}else return[]},n.exports=c}),(function(n,i){var s=(function(){function o(w,k){return k!=null&&w instanceof k}var u;try{u=Map}catch{u=function(){}}var c;try{c=Set}catch{c=function(){}}var p;try{p=Promise}catch{p=function(){}}function v(w,k,y,A,S){typeof k=="object"&&(y=k.depth,A=k.prototype,S=k.includeNonEnumerable,k=k.circular);var x=[],T=[],R=typeof Buffer<"u";typeof k>"u"&&(k=!0),typeof y>"u"&&(y=1/0);function z(D,F){if(D===null)return null;if(F===0)return D;var P,C;if(typeof D!="object")return D;if(o(D,u))P=new u;else if(o(D,c))P=new c;else if(o(D,p))P=new p(function(q,N){D.then(function(B){q(z(B,F-1))},function(B){N(z(B,F-1))})});else if(v.__isArray(D))P=[];else if(v.__isRegExp(D))P=new RegExp(D.source,E(D)),D.lastIndex&&(P.lastIndex=D.lastIndex);else if(v.__isDate(D))P=new Date(D.getTime());else{if(R&&Buffer.isBuffer(D))return Buffer.allocUnsafe?P=Buffer.allocUnsafe(D.length):P=new Buffer(D.length),D.copy(P),P;o(D,Error)?P=Object.create(D):typeof A>"u"?(C=Object.getPrototypeOf(D),P=Object.create(C)):(P=Object.create(A),C=A)}if(k){var j=x.indexOf(D);if(j!=-1)return T[j];x.push(D),T.push(P)}o(D,u)&&D.forEach(function(q,N){var B=z(N,F-1),K=z(q,F-1);P.set(B,K)}),o(D,c)&&D.forEach(function(q){var N=z(q,F-1);P.add(N)});for(var L in D){var W;C&&(W=Object.getOwnPropertyDescriptor(C,L)),!(W&&W.set==null)&&(P[L]=z(D[L],F-1))}if(Object.getOwnPropertySymbols)for(var G=Object.getOwnPropertySymbols(D),L=0;L<G.length;L++){var Z=G[L],te=Object.getOwnPropertyDescriptor(D,Z);te&&!te.enumerable&&!S||(P[Z]=z(D[Z],F-1),te.enumerable||Object.defineProperty(P,Z,{enumerable:!1}))}if(S)for(var oe=Object.getOwnPropertyNames(D),L=0;L<oe.length;L++){var X=oe[L],te=Object.getOwnPropertyDescriptor(D,X);te&&te.enumerable||(P[X]=z(D[X],F-1),Object.defineProperty(P,X,{enumerable:!1}))}return P}return z(w,y)}v.clonePrototype=function(k){if(k===null)return null;var y=function(){};return y.prototype=k,new y};function b(w){return Object.prototype.toString.call(w)}v.__objToStr=b;function h(w){return typeof w=="object"&&b(w)==="[object Date]"}v.__isDate=h;function m(w){return typeof w=="object"&&b(w)==="[object Array]"}v.__isArray=m;function f(w){return typeof w=="object"&&b(w)==="[object RegExp]"}v.__isRegExp=f;function E(w){var k="";return w.global&&(k+="g"),w.ignoreCase&&(k+="i"),w.multiline&&(k+="m"),k}return v.__getRegExpFlags=E,v})();typeof n=="object"&&n.exports&&(n.exports=s)}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function P(C,j){var L=[],W=!0,G=!1,Z=void 0;try{for(var te=C[Symbol.iterator](),oe;!(W=(oe=te.next()).done)&&(L.push(oe.value),!(j&&L.length===j));W=!0);}catch(X){G=!0,Z=X}finally{try{!W&&te.return&&te.return()}finally{if(G)throw Z}}return L}return function(C,j){if(Array.isArray(C))return C;if(Symbol.iterator in Object(C))return P(C,j);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),u=(function(){function P(C,j){for(var L=0;L<j.length;L++){var W=j[L];W.enumerable=W.enumerable||!1,W.configurable=!0,"value"in W&&(W.writable=!0),Object.defineProperty(C,W.key,W)}}return function(C,j,L){return j&&P(C.prototype,j),L&&P(C,L),C}})(),c=function P(C,j,L){C===null&&(C=Function.prototype);var W=Object.getOwnPropertyDescriptor(C,j);if(W===void 0){var G=Object.getPrototypeOf(C);return G===null?void 0:P(G,j,L)}else{if("value"in W)return W.value;var Z=W.get;return Z===void 0?void 0:Z.call(L)}},p=s(0),v=x(p),b=s(8),h=x(b),m=s(4),f=x(m),E=s(16),w=x(E),k=s(13),y=x(k),A=s(25),S=x(A);function x(P){return P&&P.__esModule?P:{default:P}}function T(P,C){if(!(P instanceof C))throw new TypeError("Cannot call a class as a function")}function R(P,C){if(!P)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return C&&(typeof C=="object"||typeof C=="function")?C:P}function z(P,C){if(typeof C!="function"&&C!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof C);P.prototype=Object.create(C&&C.prototype,{constructor:{value:P,enumerable:!1,writable:!0,configurable:!0}}),C&&(Object.setPrototypeOf?Object.setPrototypeOf(P,C):P.__proto__=C)}function D(P){return P instanceof f.default||P instanceof m.BlockEmbed}var F=(function(P){z(C,P);function C(j,L){T(this,C);var W=R(this,(C.__proto__||Object.getPrototypeOf(C)).call(this,j));return W.emitter=L.emitter,Array.isArray(L.whitelist)&&(W.whitelist=L.whitelist.reduce(function(G,Z){return G[Z]=!0,G},{})),W.domNode.addEventListener("DOMNodeInserted",function(){}),W.optimize(),W.enable(),W}return u(C,[{key:"batchStart",value:function(){this.batch=!0}},{key:"batchEnd",value:function(){this.batch=!1,this.optimize()}},{key:"deleteAt",value:function(L,W){var G=this.line(L),Z=o(G,2),te=Z[0],oe=Z[1],X=this.line(L+W),q=o(X,1),N=q[0];if(c(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"deleteAt",this).call(this,L,W),N!=null&&te!==N&&oe>0){if(te instanceof m.BlockEmbed||N instanceof m.BlockEmbed){this.optimize();return}if(te instanceof y.default){var B=te.newlineIndex(te.length(),!0);if(B>-1&&(te=te.split(B+1),te===N)){this.optimize();return}}else if(N instanceof y.default){var K=N.newlineIndex(0);K>-1&&N.split(K+1)}var Q=N.children.head instanceof w.default?null:N.children.head;te.moveChildren(N,Q),te.remove()}this.optimize()}},{key:"enable",value:function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.domNode.setAttribute("contenteditable",L)}},{key:"formatAt",value:function(L,W,G,Z){this.whitelist!=null&&!this.whitelist[G]||(c(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"formatAt",this).call(this,L,W,G,Z),this.optimize())}},{key:"insertAt",value:function(L,W,G){if(!(G!=null&&this.whitelist!=null&&!this.whitelist[W])){if(L>=this.length())if(G==null||v.default.query(W,v.default.Scope.BLOCK)==null){var Z=v.default.create(this.statics.defaultChild);this.appendChild(Z),G==null&&W.endsWith(` 814`)&&(W=W.slice(0,-1)),Z.insertAt(0,W,G)}else{var te=v.default.create(W,G);this.appendChild(te)}else c(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"insertAt",this).call(this,L,W,G);this.optimize()}}},{key:"insertBefore",value:function(L,W){if(L.statics.scope===v.default.Scope.INLINE_BLOT){var G=v.default.create(this.statics.defaultChild);G.appendChild(L),L=G}c(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"insertBefore",this).call(this,L,W)}},{key:"leaf",value:function(L){return this.path(L).pop()||[null,-1]}},{key:"line",value:function(L){return L===this.length()?this.line(L-1):this.descendant(D,L)}},{key:"lines",value:function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,G=function Z(te,oe,X){var q=[],N=X;return te.children.forEachAt(oe,X,function(B,K,Q){D(B)?q.push(B):B instanceof v.default.Container&&(q=q.concat(Z(B,K,N))),N-=Q}),q};return G(this,L,W)}},{key:"optimize",value:function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.batch!==!0&&(c(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"optimize",this).call(this,L,W),L.length>0&&this.emitter.emit(h.default.events.SCROLL_OPTIMIZE,L,W))}},{key:"path",value:function(L){return c(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"path",this).call(this,L).slice(1)}},{key:"update",value:function(L){if(this.batch!==!0){var W=h.default.sources.USER;typeof L=="string"&&(W=L),Array.isArray(L)||(L=this.observer.takeRecords()),L.length>0&&this.emitter.emit(h.default.events.SCROLL_BEFORE_UPDATE,W,L),c(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"update",this).call(this,L.concat([])),L.length>0&&this.emitter.emit(h.default.events.SCROLL_UPDATE,W,L)}}}]),C})(v.default.Scroll);F.blotName="scroll",F.className="ql-editor",F.tagName="DIV",F.defaultChild="block",F.allowedChildren=[f.default,m.BlockEmbed,S.default],i.default=F}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.SHORTKEY=i.default=void 0;var o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(U){return typeof U}:function(U){return U&&typeof Symbol=="function"&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},u=(function(){function U($,se){var ie=[],fe=!0,pe=!1,Oe=void 0;try{for(var Ee=$[Symbol.iterator](),Fe;!(fe=(Fe=Ee.next()).done)&&(ie.push(Fe.value),!(se&&ie.length===se));fe=!0);}catch(Ce){pe=!0,Oe=Ce}finally{try{!fe&&Ee.return&&Ee.return()}finally{if(pe)throw Oe}}return ie}return function($,se){if(Array.isArray($))return $;if(Symbol.iterator in Object($))return U($,se);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),c=(function(){function U($,se){for(var ie=0;ie<se.length;ie++){var fe=se[ie];fe.enumerable=fe.enumerable||!1,fe.configurable=!0,"value"in fe&&(fe.writable=!0),Object.defineProperty($,fe.key,fe)}}return function($,se,ie){return se&&U($.prototype,se),ie&&U($,ie),$}})(),p=s(21),v=P(p),b=s(11),h=P(b),m=s(3),f=P(m),E=s(2),w=P(E),k=s(20),y=P(k),A=s(0),S=P(A),x=s(5),T=P(x),R=s(10),z=P(R),D=s(9),F=P(D);function P(U){return U&&U.__esModule?U:{default:U}}function C(U,$,se){return $ in U?Object.defineProperty(U,$,{value:se,enumerable:!0,configurable:!0,writable:!0}):U[$]=se,U}function j(U,$){if(!(U instanceof $))throw new TypeError("Cannot call a class as a function")}function L(U,$){if(!U)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:U}function W(U,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);U.prototype=Object.create($&&$.prototype,{constructor:{value:U,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(U,$):U.__proto__=$)}var G=(0,z.default)("quill:keyboard"),Z=/Mac/i.test(navigator.platform)?"metaKey":"ctrlKey",te=(function(U){W($,U),c($,null,[{key:"match",value:function(ie,fe){return fe=J(fe),["altKey","ctrlKey","metaKey","shiftKey"].some(function(pe){return!!fe[pe]!==ie[pe]&&fe[pe]!==null})?!1:fe.key===(ie.which||ie.keyCode)}}]);function $(se,ie){j(this,$);var fe=L(this,($.__proto__||Object.getPrototypeOf($)).call(this,se,ie));return fe.bindings={},Object.keys(fe.options.bindings).forEach(function(pe){pe==="list autofill"&&se.scroll.whitelist!=null&&!se.scroll.whitelist.list||fe.options.bindings[pe]&&fe.addBinding(fe.options.bindings[pe])}),fe.addBinding({key:$.keys.ENTER,shiftKey:null},B),fe.addBinding({key:$.keys.ENTER,metaKey:null,ctrlKey:null,altKey:null},function(){}),/Firefox/i.test(navigator.userAgent)?(fe.addBinding({key:$.keys.BACKSPACE},{collapsed:!0},X),fe.addBinding({key:$.keys.DELETE},{collapsed:!0},q)):(fe.addBinding({key:$.keys.BACKSPACE},{collapsed:!0,prefix:/^.?$/},X),fe.addBinding({key:$.keys.DELETE},{collapsed:!0,suffix:/^.?$/},q)),fe.addBinding({key:$.keys.BACKSPACE},{collapsed:!1},N),fe.addBinding({key:$.keys.DELETE},{collapsed:!1},N),fe.addBinding({key:$.keys.BACKSPACE,altKey:null,ctrlKey:null,metaKey:null,shiftKey:null},{collapsed:!0,offset:0},X),fe.listen(),fe}return c($,[{key:"addBinding",value:function(ie){var fe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Oe=J(ie);if(Oe==null||Oe.key==null)return G.warn("Attempted to add invalid keyboard binding",Oe);typeof fe=="function"&&(fe={handler:fe}),typeof pe=="function"&&(pe={handler:pe}),Oe=(0,f.default)(Oe,fe,pe),this.bindings[Oe.key]=this.bindings[Oe.key]||[],this.bindings[Oe.key].push(Oe)}},{key:"listen",value:function(){var ie=this;this.quill.root.addEventListener("keydown",function(fe){if(!fe.defaultPrevented){var pe=fe.which||fe.keyCode,Oe=(ie.bindings[pe]||[]).filter(function(nt){return $.match(fe,nt)});if(Oe.length!==0){var Ee=ie.quill.getSelection();if(!(Ee==null||!ie.quill.hasFocus())){var Fe=ie.quill.getLine(Ee.index),Ce=u(Fe,2),De=Ce[0],He=Ce[1],de=ie.quill.getLeaf(Ee.index),he=u(de,2),we=he[0],Ae=he[1],me=Ee.length===0?[we,Ae]:ie.quill.getLeaf(Ee.index+Ee.length),Ue=u(me,2),Ke=Ue[0],We=Ue[1],zt=we instanceof S.default.Text?we.value().slice(0,Ae):"",Kt=Ke instanceof S.default.Text?Ke.value().slice(We):"",it={collapsed:Ee.length===0,empty:Ee.length===0&&De.length()<=1,format:ie.quill.getFormat(Ee),offset:He,prefix:zt,suffix:Kt},Jr=Oe.some(function(nt){if(nt.collapsed!=null&&nt.collapsed!==it.collapsed||nt.empty!=null&&nt.empty!==it.empty||nt.offset!=null&&nt.offset!==it.offset)return!1;if(Array.isArray(nt.format)){if(nt.format.every(function(Rt){return it.format[Rt]==null}))return!1}else if(o(nt.format)==="object"&&!Object.keys(nt.format).every(function(Rt){return nt.format[Rt]===!0?it.format[Rt]!=null:nt.format[Rt]===!1?it.format[Rt]==null:(0,h.default)(nt.format[Rt],it.format[Rt])}))return!1;return nt.prefix!=null&&!nt.prefix.test(it.prefix)||nt.suffix!=null&&!nt.suffix.test(it.suffix)?!1:nt.handler.call(ie,Ee,it)!==!0});Jr&&fe.preventDefault()}}}})}}]),$})(F.default);te.keys={BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46},te.DEFAULTS={bindings:{bold:Q("bold"),italic:Q("italic"),underline:Q("underline"),indent:{key:te.keys.TAB,format:["blockquote","indent","list"],handler:function($,se){if(se.collapsed&&se.offset!==0)return!0;this.quill.format("indent","+1",T.default.sources.USER)}},outdent:{key:te.keys.TAB,shiftKey:!0,format:["blockquote","indent","list"],handler:function($,se){if(se.collapsed&&se.offset!==0)return!0;this.quill.format("indent","-1",T.default.sources.USER)}},"outdent backspace":{key:te.keys.BACKSPACE,collapsed:!0,shiftKey:null,metaKey:null,ctrlKey:null,altKey:null,format:["indent","list"],offset:0,handler:function($,se){se.format.indent!=null?this.quill.format("indent","-1",T.default.sources.USER):se.format.list!=null&&this.quill.format("list",!1,T.default.sources.USER)}},"indent code-block":K(!0),"outdent code-block":K(!1),"remove tab":{key:te.keys.TAB,shiftKey:!0,collapsed:!0,prefix:/\t$/,handler:function($){this.quill.deleteText($.index-1,1,T.default.sources.USER)}},tab:{key:te.keys.TAB,handler:function($){this.quill.history.cutoff();var se=new w.default().retain($.index).delete($.length).insert(" ");this.quill.updateContents(se,T.default.sources.USER),this.quill.history.cutoff(),this.quill.setSelection($.index+1,T.default.sources.SILENT)}},"list empty enter":{key:te.keys.ENTER,collapsed:!0,format:["list"],empty:!0,handler:function($,se){this.quill.format("list",!1,T.default.sources.USER),se.format.indent&&this.quill.format("indent",!1,T.default.sources.USER)}},"checklist enter":{key:te.keys.ENTER,collapsed:!0,format:{list:"checked"},handler:function($){var se=this.quill.getLine($.index),ie=u(se,2),fe=ie[0],pe=ie[1],Oe=(0,f.default)({},fe.formats(),{list:"checked"}),Ee=new w.default().retain($.index).insert(` 815`,Oe).retain(fe.length()-pe-1).retain(1,{list:"unchecked"});this.quill.updateContents(Ee,T.default.sources.USER),this.quill.setSelection($.index+1,T.default.sources.SILENT),this.quill.scrollIntoView()}},"header enter":{key:te.keys.ENTER,collapsed:!0,format:["header"],suffix:/^$/,handler:function($,se){var ie=this.quill.getLine($.index),fe=u(ie,2),pe=fe[0],Oe=fe[1],Ee=new w.default().retain($.index).insert(` 816`,se.format).retain(pe.length()-Oe-1).retain(1,{header:null});this.quill.updateContents(Ee,T.default.sources.USER),this.quill.setSelection($.index+1,T.default.sources.SILENT),this.quill.scrollIntoView()}},"list autofill":{key:" ",collapsed:!0,format:{list:!1},prefix:/^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,handler:function($,se){var ie=se.prefix.length,fe=this.quill.getLine($.index),pe=u(fe,2),Oe=pe[0],Ee=pe[1];if(Ee>ie)return!0;var Fe=void 0;switch(se.prefix.trim()){case"[]":case"[ ]":Fe="unchecked";break;case"[x]":Fe="checked";break;case"-":case"*":Fe="bullet";break;default:Fe="ordered"}this.quill.insertText($.index," ",T.default.sources.USER),this.quill.history.cutoff();var Ce=new w.default().retain($.index-Ee).delete(ie+1).retain(Oe.length()-2-Ee).retain(1,{list:Fe});this.quill.updateContents(Ce,T.default.sources.USER),this.quill.history.cutoff(),this.quill.setSelection($.index-ie,T.default.sources.SILENT)}},"code exit":{key:te.keys.ENTER,collapsed:!0,format:["code-block"],prefix:/\n\n$/,suffix:/^\s+$/,handler:function($){var se=this.quill.getLine($.index),ie=u(se,2),fe=ie[0],pe=ie[1],Oe=new w.default().retain($.index+fe.length()-pe-2).retain(1,{"code-block":null}).delete(1);this.quill.updateContents(Oe,T.default.sources.USER)}},"embed left":oe(te.keys.LEFT,!1),"embed left shift":oe(te.keys.LEFT,!0),"embed right":oe(te.keys.RIGHT,!1),"embed right shift":oe(te.keys.RIGHT,!0)}};function oe(U,$){var se,ie=U===te.keys.LEFT?"prefix":"suffix";return se={key:U,shiftKey:$,altKey:null},C(se,ie,/^$/),C(se,"handler",function(pe){var Oe=pe.index;U===te.keys.RIGHT&&(Oe+=pe.length+1);var Ee=this.quill.getLeaf(Oe),Fe=u(Ee,1),Ce=Fe[0];return Ce instanceof S.default.Embed?(U===te.keys.LEFT?$?this.quill.setSelection(pe.index-1,pe.length+1,T.default.sources.USER):this.quill.setSelection(pe.index-1,T.default.sources.USER):$?this.quill.setSelection(pe.index,pe.length+1,T.default.sources.USER):this.quill.setSelection(pe.index+pe.length+1,T.default.sources.USER),!1):!0}),se}function X(U,$){if(!(U.index===0||this.quill.getLength()<=1)){var se=this.quill.getLine(U.index),ie=u(se,1),fe=ie[0],pe={};if($.offset===0){var Oe=this.quill.getLine(U.index-1),Ee=u(Oe,1),Fe=Ee[0];if(Fe!=null&&Fe.length()>1){var Ce=fe.formats(),De=this.quill.getFormat(U.index-1,1);pe=y.default.attributes.diff(Ce,De)||{}}}var He=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test($.prefix)?2:1;this.quill.deleteText(U.index-He,He,T.default.sources.USER),Object.keys(pe).length>0&&this.quill.formatLine(U.index-He,He,pe,T.default.sources.USER),this.quill.focus()}}function q(U,$){var se=/^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test($.suffix)?2:1;if(!(U.index>=this.quill.getLength()-se)){var ie={},fe=0,pe=this.quill.getLine(U.index),Oe=u(pe,1),Ee=Oe[0];if($.offset>=Ee.length()-1){var Fe=this.quill.getLine(U.index+1),Ce=u(Fe,1),De=Ce[0];if(De){var He=Ee.formats(),de=this.quill.getFormat(U.index,1);ie=y.default.attributes.diff(He,de)||{},fe=De.length()}}this.quill.deleteText(U.index,se,T.default.sources.USER),Object.keys(ie).length>0&&this.quill.formatLine(U.index+fe-1,se,ie,T.default.sources.USER)}}function N(U){var $=this.quill.getLines(U),se={};if($.length>1){var ie=$[0].formats(),fe=$[$.length-1].formats();se=y.default.attributes.diff(fe,ie)||{}}this.quill.deleteText(U,T.default.sources.USER),Object.keys(se).length>0&&this.quill.formatLine(U.index,1,se,T.default.sources.USER),this.quill.setSelection(U.index,T.default.sources.SILENT),this.quill.focus()}function B(U,$){var se=this;U.length>0&&this.quill.scroll.deleteAt(U.index,U.length);var ie=Object.keys($.format).reduce(function(fe,pe){return S.default.query(pe,S.default.Scope.BLOCK)&&!Array.isArray($.format[pe])&&(fe[pe]=$.format[pe]),fe},{});this.quill.insertText(U.index,` 817`,ie,T.default.sources.USER),this.quill.setSelection(U.index+1,T.default.sources.SILENT),this.quill.focus(),Object.keys($.format).forEach(function(fe){ie[fe]==null&&(Array.isArray($.format[fe])||fe!=="link"&&se.quill.format(fe,$.format[fe],T.default.sources.USER))})}function K(U){return{key:te.keys.TAB,shiftKey:!U,format:{"code-block":!0},handler:function(se){var ie=S.default.query("code-block"),fe=se.index,pe=se.length,Oe=this.quill.scroll.descendant(ie,fe),Ee=u(Oe,2),Fe=Ee[0],Ce=Ee[1];if(Fe!=null){var De=this.quill.getIndex(Fe),He=Fe.newlineIndex(Ce,!0)+1,de=Fe.newlineIndex(De+Ce+pe),he=Fe.domNode.textContent.slice(He,de).split(` 818`);Ce=0,he.forEach(function(we,Ae){U?(Fe.insertAt(He+Ce,ie.TAB),Ce+=ie.TAB.length,Ae===0?fe+=ie.TAB.length:pe+=ie.TAB.length):we.startsWith(ie.TAB)&&(Fe.deleteAt(He+Ce,ie.TAB.length),Ce-=ie.TAB.length,Ae===0?fe-=ie.TAB.length:pe-=ie.TAB.length),Ce+=we.length+1}),this.quill.update(T.default.sources.USER),this.quill.setSelection(fe,pe,T.default.sources.SILENT)}}}}function Q(U){return{key:U[0].toUpperCase(),shortKey:!0,handler:function(se,ie){this.quill.format(U,!ie.format[U],T.default.sources.USER)}}}function J(U){if(typeof U=="string"||typeof U=="number")return J({key:U});if((typeof U>"u"?"undefined":o(U))==="object"&&(U=(0,v.default)(U,!1)),typeof U.key=="string")if(te.keys[U.key.toUpperCase()]!=null)U.key=te.keys[U.key.toUpperCase()];else if(U.key.length===1)U.key=U.key.toUpperCase().charCodeAt(0);else return null;return U.shortKey&&(U[Z]=U.shortKey,delete U.shortKey),U}i.default=te,i.SHORTKEY=Z}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function y(A,S){var x=[],T=!0,R=!1,z=void 0;try{for(var D=A[Symbol.iterator](),F;!(T=(F=D.next()).done)&&(x.push(F.value),!(S&&x.length===S));T=!0);}catch(P){R=!0,z=P}finally{try{!T&&D.return&&D.return()}finally{if(R)throw z}}return x}return function(A,S){if(Array.isArray(A))return A;if(Symbol.iterator in Object(A))return y(A,S);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),u=function y(A,S,x){A===null&&(A=Function.prototype);var T=Object.getOwnPropertyDescriptor(A,S);if(T===void 0){var R=Object.getPrototypeOf(A);return R===null?void 0:y(R,S,x)}else{if("value"in T)return T.value;var z=T.get;return z===void 0?void 0:z.call(x)}},c=(function(){function y(A,S){for(var x=0;x<S.length;x++){var T=S[x];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(A,T.key,T)}}return function(A,S,x){return S&&y(A.prototype,S),x&&y(A,x),A}})(),p=s(0),v=m(p),b=s(7),h=m(b);function m(y){return y&&y.__esModule?y:{default:y}}function f(y,A){if(!(y instanceof A))throw new TypeError("Cannot call a class as a function")}function E(y,A){if(!y)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A&&(typeof A=="object"||typeof A=="function")?A:y}function w(y,A){if(typeof A!="function"&&A!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof A);y.prototype=Object.create(A&&A.prototype,{constructor:{value:y,enumerable:!1,writable:!0,configurable:!0}}),A&&(Object.setPrototypeOf?Object.setPrototypeOf(y,A):y.__proto__=A)}var k=(function(y){w(A,y),c(A,null,[{key:"value",value:function(){}}]);function A(S,x){f(this,A);var T=E(this,(A.__proto__||Object.getPrototypeOf(A)).call(this,S));return T.selection=x,T.textNode=document.createTextNode(A.CONTENTS),T.domNode.appendChild(T.textNode),T._length=0,T}return c(A,[{key:"detach",value:function(){this.parent!=null&&this.parent.removeChild(this)}},{key:"format",value:function(x,T){if(this._length!==0)return u(A.prototype.__proto__||Object.getPrototypeOf(A.prototype),"format",this).call(this,x,T);for(var R=this,z=0;R!=null&&R.statics.scope!==v.default.Scope.BLOCK_BLOT;)z+=R.offset(R.parent),R=R.parent;R!=null&&(this._length=A.CONTENTS.length,R.optimize(),R.formatAt(z,A.CONTENTS.length,x,T),this._length=0)}},{key:"index",value:function(x,T){return x===this.textNode?0:u(A.prototype.__proto__||Object.getPrototypeOf(A.prototype),"index",this).call(this,x,T)}},{key:"length",value:function(){return this._length}},{key:"position",value:function(){return[this.textNode,this.textNode.data.length]}},{key:"remove",value:function(){u(A.prototype.__proto__||Object.getPrototypeOf(A.prototype),"remove",this).call(this),this.parent=null}},{key:"restore",value:function(){if(!(this.selection.composing||this.parent==null)){var x=this.textNode,T=this.selection.getNativeRange(),R=void 0,z=void 0,D=void 0;if(T!=null&&T.start.node===x&&T.end.node===x){var F=[x,T.start.offset,T.end.offset];R=F[0],z=F[1],D=F[2]}for(;this.domNode.lastChild!=null&&this.domNode.lastChild!==this.textNode;)this.domNode.parentNode.insertBefore(this.domNode.lastChild,this.domNode);if(this.textNode.data!==A.CONTENTS){var P=this.textNode.data.split(A.CONTENTS).join("");this.next instanceof h.default?(R=this.next.domNode,this.next.insertAt(0,P),this.textNode.data=A.CONTENTS):(this.textNode.data=P,this.parent.insertBefore(v.default.create(this.textNode),this),this.textNode=document.createTextNode(A.CONTENTS),this.domNode.appendChild(this.textNode))}if(this.remove(),z!=null){var C=[z,D].map(function(L){return Math.max(0,Math.min(R.data.length,L-1))}),j=o(C,2);return z=j[0],D=j[1],{startNode:R,startOffset:z,endNode:R,endOffset:D}}}}},{key:"update",value:function(x,T){var R=this;if(x.some(function(D){return D.type==="characterData"&&D.target===R.textNode})){var z=this.restore();z&&(T.range=z)}}},{key:"value",value:function(){return""}}]),A})(v.default.Embed);k.blotName="cursor",k.className="ql-cursor",k.tagName="span",k.CONTENTS="\uFEFF",i.default=k}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(0),u=v(o),c=s(4),p=v(c);function v(E){return E&&E.__esModule?E:{default:E}}function b(E,w){if(!(E instanceof w))throw new TypeError("Cannot call a class as a function")}function h(E,w){if(!E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return w&&(typeof w=="object"||typeof w=="function")?w:E}function m(E,w){if(typeof w!="function"&&w!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof w);E.prototype=Object.create(w&&w.prototype,{constructor:{value:E,enumerable:!1,writable:!0,configurable:!0}}),w&&(Object.setPrototypeOf?Object.setPrototypeOf(E,w):E.__proto__=w)}var f=(function(E){m(w,E);function w(){return b(this,w),h(this,(w.__proto__||Object.getPrototypeOf(w)).apply(this,arguments))}return w})(u.default.Container);f.allowedChildren=[p.default,c.BlockEmbed,f],i.default=f}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.ColorStyle=i.ColorClass=i.ColorAttributor=void 0;var o=(function(){function k(y,A){for(var S=0;S<A.length;S++){var x=A[S];x.enumerable=x.enumerable||!1,x.configurable=!0,"value"in x&&(x.writable=!0),Object.defineProperty(y,x.key,x)}}return function(y,A,S){return A&&k(y.prototype,A),S&&k(y,S),y}})(),u=function k(y,A,S){y===null&&(y=Function.prototype);var x=Object.getOwnPropertyDescriptor(y,A);if(x===void 0){var T=Object.getPrototypeOf(y);return T===null?void 0:k(T,A,S)}else{if("value"in x)return x.value;var R=x.get;return R===void 0?void 0:R.call(S)}},c=s(0),p=v(c);function v(k){return k&&k.__esModule?k:{default:k}}function b(k,y){if(!(k instanceof y))throw new TypeError("Cannot call a class as a function")}function h(k,y){if(!k)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y&&(typeof y=="object"||typeof y=="function")?y:k}function m(k,y){if(typeof y!="function"&&y!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof y);k.prototype=Object.create(y&&y.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),y&&(Object.setPrototypeOf?Object.setPrototypeOf(k,y):k.__proto__=y)}var f=(function(k){m(y,k);function y(){return b(this,y),h(this,(y.__proto__||Object.getPrototypeOf(y)).apply(this,arguments))}return o(y,[{key:"value",value:function(S){var x=u(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"value",this).call(this,S);return x.startsWith("rgb(")?(x=x.replace(/^[^\d]+/,"").replace(/[^\d]+$/,""),"#"+x.split(",").map(function(T){return("00"+parseInt(T).toString(16)).slice(-2)}).join("")):x}}]),y})(p.default.Attributor.Style),E=new p.default.Attributor.Class("color","ql-color",{scope:p.default.Scope.INLINE}),w=new f("color","color",{scope:p.default.Scope.INLINE});i.ColorAttributor=f,i.ColorClass=E,i.ColorStyle=w}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.sanitize=i.default=void 0;var o=(function(){function w(k,y){for(var A=0;A<y.length;A++){var S=y[A];S.enumerable=S.enumerable||!1,S.configurable=!0,"value"in S&&(S.writable=!0),Object.defineProperty(k,S.key,S)}}return function(k,y,A){return y&&w(k.prototype,y),A&&w(k,A),k}})(),u=function w(k,y,A){k===null&&(k=Function.prototype);var S=Object.getOwnPropertyDescriptor(k,y);if(S===void 0){var x=Object.getPrototypeOf(k);return x===null?void 0:w(x,y,A)}else{if("value"in S)return S.value;var T=S.get;return T===void 0?void 0:T.call(A)}},c=s(6),p=v(c);function v(w){return w&&w.__esModule?w:{default:w}}function b(w,k){if(!(w instanceof k))throw new TypeError("Cannot call a class as a function")}function h(w,k){if(!w)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return k&&(typeof k=="object"||typeof k=="function")?k:w}function m(w,k){if(typeof k!="function"&&k!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof k);w.prototype=Object.create(k&&k.prototype,{constructor:{value:w,enumerable:!1,writable:!0,configurable:!0}}),k&&(Object.setPrototypeOf?Object.setPrototypeOf(w,k):w.__proto__=k)}var f=(function(w){m(k,w);function k(){return b(this,k),h(this,(k.__proto__||Object.getPrototypeOf(k)).apply(this,arguments))}return o(k,[{key:"format",value:function(A,S){if(A!==this.statics.blotName||!S)return u(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"format",this).call(this,A,S);S=this.constructor.sanitize(S),this.domNode.setAttribute("href",S)}}],[{key:"create",value:function(A){var S=u(k.__proto__||Object.getPrototypeOf(k),"create",this).call(this,A);return A=this.sanitize(A),S.setAttribute("href",A),S.setAttribute("rel","noopener noreferrer"),S.setAttribute("target","_blank"),S}},{key:"formats",value:function(A){return A.getAttribute("href")}},{key:"sanitize",value:function(A){return E(A,this.PROTOCOL_WHITELIST)?A:this.SANITIZED_URL}}]),k})(p.default);f.blotName="link",f.tagName="A",f.SANITIZED_URL="about:blank",f.PROTOCOL_WHITELIST=["http","https","mailto","tel"];function E(w,k){var y=document.createElement("a");y.href=w;var A=y.href.slice(0,y.href.indexOf(":"));return k.indexOf(A)>-1}i.default=f,i.sanitize=E}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},u=(function(){function k(y,A){for(var S=0;S<A.length;S++){var x=A[S];x.enumerable=x.enumerable||!1,x.configurable=!0,"value"in x&&(x.writable=!0),Object.defineProperty(y,x.key,x)}}return function(y,A,S){return A&&k(y.prototype,A),S&&k(y,S),y}})(),c=s(23),p=h(c),v=s(107),b=h(v);function h(k){return k&&k.__esModule?k:{default:k}}function m(k,y){if(!(k instanceof y))throw new TypeError("Cannot call a class as a function")}var f=0;function E(k,y){k.setAttribute(y,k.getAttribute(y)!=="true")}var w=(function(){function k(y){var A=this;m(this,k),this.select=y,this.container=document.createElement("span"),this.buildPicker(),this.select.style.display="none",this.select.parentNode.insertBefore(this.container,this.select),this.label.addEventListener("mousedown",function(){A.togglePicker()}),this.label.addEventListener("keydown",function(S){switch(S.keyCode){case p.default.keys.ENTER:A.togglePicker();break;case p.default.keys.ESCAPE:A.escape(),S.preventDefault();break}}),this.select.addEventListener("change",this.update.bind(this))}return u(k,[{key:"togglePicker",value:function(){this.container.classList.toggle("ql-expanded"),E(this.label,"aria-expanded"),E(this.options,"aria-hidden")}},{key:"buildItem",value:function(A){var S=this,x=document.createElement("span");return x.tabIndex="0",x.setAttribute("role","button"),x.classList.add("ql-picker-item"),A.hasAttribute("value")&&x.setAttribute("data-value",A.getAttribute("value")),A.textContent&&x.setAttribute("data-label",A.textContent),x.addEventListener("click",function(){S.selectItem(x,!0)}),x.addEventListener("keydown",function(T){switch(T.keyCode){case p.default.keys.ENTER:S.selectItem(x,!0),T.preventDefault();break;case p.default.keys.ESCAPE:S.escape(),T.preventDefault();break}}),x}},{key:"buildLabel",value:function(){var A=document.createElement("span");return A.classList.add("ql-picker-label"),A.innerHTML=b.default,A.tabIndex="0",A.setAttribute("role","button"),A.setAttribute("aria-expanded","false"),this.container.appendChild(A),A}},{key:"buildOptions",value:function(){var A=this,S=document.createElement("span");S.classList.add("ql-picker-options"),S.setAttribute("aria-hidden","true"),S.tabIndex="-1",S.id="ql-picker-options-"+f,f+=1,this.label.setAttribute("aria-controls",S.id),this.options=S,[].slice.call(this.select.options).forEach(function(x){var T=A.buildItem(x);S.appendChild(T),x.selected===!0&&A.selectItem(T)}),this.container.appendChild(S)}},{key:"buildPicker",value:function(){var A=this;[].slice.call(this.select.attributes).forEach(function(S){A.container.setAttribute(S.name,S.value)}),this.container.classList.add("ql-picker"),this.label=this.buildLabel(),this.buildOptions()}},{key:"escape",value:function(){var A=this;this.close(),setTimeout(function(){return A.label.focus()},1)}},{key:"close",value:function(){this.container.classList.remove("ql-expanded"),this.label.setAttribute("aria-expanded","false"),this.options.setAttribute("aria-hidden","true")}},{key:"selectItem",value:function(A){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,x=this.container.querySelector(".ql-selected");if(A!==x&&(x!=null&&x.classList.remove("ql-selected"),A!=null&&(A.classList.add("ql-selected"),this.select.selectedIndex=[].indexOf.call(A.parentNode.children,A),A.hasAttribute("data-value")?this.label.setAttribute("data-value",A.getAttribute("data-value")):this.label.removeAttribute("data-value"),A.hasAttribute("data-label")?this.label.setAttribute("data-label",A.getAttribute("data-label")):this.label.removeAttribute("data-label"),S))){if(typeof Event=="function")this.select.dispatchEvent(new Event("change"));else if((typeof Event>"u"?"undefined":o(Event))==="object"){var T=document.createEvent("Event");T.initEvent("change",!0,!0),this.select.dispatchEvent(T)}this.close()}}},{key:"update",value:function(){var A=void 0;if(this.select.selectedIndex>-1){var S=this.container.querySelector(".ql-picker-options").children[this.select.selectedIndex];A=this.select.options[this.select.selectedIndex],this.selectItem(S)}else this.selectItem(null);var x=A!=null&&A!==this.select.querySelector("option[selected]");this.label.classList.toggle("ql-active",x)}}]),k})();i.default=w}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(0),u=G(o),c=s(5),p=G(c),v=s(4),b=G(v),h=s(16),m=G(h),f=s(25),E=G(f),w=s(24),k=G(w),y=s(35),A=G(y),S=s(6),x=G(S),T=s(22),R=G(T),z=s(7),D=G(z),F=s(55),P=G(F),C=s(42),j=G(C),L=s(23),W=G(L);function G(Z){return Z&&Z.__esModule?Z:{default:Z}}p.default.register({"blots/block":b.default,"blots/block/embed":v.BlockEmbed,"blots/break":m.default,"blots/container":E.default,"blots/cursor":k.default,"blots/embed":A.default,"blots/inline":x.default,"blots/scroll":R.default,"blots/text":D.default,"modules/clipboard":P.default,"modules/history":j.default,"modules/keyboard":W.default}),u.default.register(b.default,m.default,k.default,x.default,R.default,D.default),i.default=p.default}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(1),u=(function(){function c(p){this.domNode=p,this.domNode[o.DATA_KEY]={blot:this}}return Object.defineProperty(c.prototype,"statics",{get:function(){return this.constructor},enumerable:!0,configurable:!0}),c.create=function(p){if(this.tagName==null)throw new o.ParchmentError("Blot definition missing tagName");var v;return Array.isArray(this.tagName)?(typeof p=="string"&&(p=p.toUpperCase(),parseInt(p).toString()===p&&(p=parseInt(p))),typeof p=="number"?v=document.createElement(this.tagName[p-1]):this.tagName.indexOf(p)>-1?v=document.createElement(p):v=document.createElement(this.tagName[0])):v=document.createElement(this.tagName),this.className&&v.classList.add(this.className),v},c.prototype.attach=function(){this.parent!=null&&(this.scroll=this.parent.scroll)},c.prototype.clone=function(){var p=this.domNode.cloneNode(!1);return o.create(p)},c.prototype.detach=function(){this.parent!=null&&this.parent.removeChild(this),delete this.domNode[o.DATA_KEY]},c.prototype.deleteAt=function(p,v){var b=this.isolate(p,v);b.remove()},c.prototype.formatAt=function(p,v,b,h){var m=this.isolate(p,v);if(o.query(b,o.Scope.BLOT)!=null&&h)m.wrap(b,h);else if(o.query(b,o.Scope.ATTRIBUTE)!=null){var f=o.create(this.statics.scope);m.wrap(f),f.format(b,h)}},c.prototype.insertAt=function(p,v,b){var h=b==null?o.create("text",v):o.create(v,b),m=this.split(p);this.parent.insertBefore(h,m)},c.prototype.insertInto=function(p,v){v===void 0&&(v=null),this.parent!=null&&this.parent.children.remove(this);var b=null;p.children.insertBefore(this,v),v!=null&&(b=v.domNode),(this.domNode.parentNode!=p.domNode||this.domNode.nextSibling!=b)&&p.domNode.insertBefore(this.domNode,b),this.parent=p,this.attach()},c.prototype.isolate=function(p,v){var b=this.split(p);return b.split(v),b},c.prototype.length=function(){return 1},c.prototype.offset=function(p){return p===void 0&&(p=this.parent),this.parent==null||this==p?0:this.parent.children.offset(this)+this.parent.offset(p)},c.prototype.optimize=function(p){this.domNode[o.DATA_KEY]!=null&&delete this.domNode[o.DATA_KEY].mutations},c.prototype.remove=function(){this.domNode.parentNode!=null&&this.domNode.parentNode.removeChild(this.domNode),this.detach()},c.prototype.replace=function(p){p.parent!=null&&(p.parent.insertBefore(this,p.next),p.remove())},c.prototype.replaceWith=function(p,v){var b=typeof p=="string"?o.create(p,v):p;return b.replace(this),b},c.prototype.split=function(p,v){return p===0?this:this.next},c.prototype.update=function(p,v){},c.prototype.wrap=function(p,v){var b=typeof p=="string"?o.create(p,v):p;return this.parent!=null&&this.parent.insertBefore(b,this.next),b.appendChild(this),b},c.blotName="abstract",c})();i.default=u}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(12),u=s(32),c=s(33),p=s(1),v=(function(){function b(h){this.attributes={},this.domNode=h,this.build()}return b.prototype.attribute=function(h,m){m?h.add(this.domNode,m)&&(h.value(this.domNode)!=null?this.attributes[h.attrName]=h:delete this.attributes[h.attrName]):(h.remove(this.domNode),delete this.attributes[h.attrName])},b.prototype.build=function(){var h=this;this.attributes={};var m=o.default.keys(this.domNode),f=u.default.keys(this.domNode),E=c.default.keys(this.domNode);m.concat(f).concat(E).forEach(function(w){var k=p.query(w,p.Scope.ATTRIBUTE);k instanceof o.default&&(h.attributes[k.attrName]=k)})},b.prototype.copy=function(h){var m=this;Object.keys(this.attributes).forEach(function(f){var E=m.attributes[f].value(m.domNode);h.format(f,E)})},b.prototype.move=function(h){var m=this;this.copy(h),Object.keys(this.attributes).forEach(function(f){m.attributes[f].remove(m.domNode)}),this.attributes={}},b.prototype.values=function(){var h=this;return Object.keys(this.attributes).reduce(function(m,f){return m[f]=h.attributes[f].value(h.domNode),m},{})},b})();i.default=v}),(function(n,i,s){var o=this&&this.__extends||(function(){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,h){b.__proto__=h}||function(b,h){for(var m in h)h.hasOwnProperty(m)&&(b[m]=h[m])};return function(b,h){v(b,h);function m(){this.constructor=b}b.prototype=h===null?Object.create(h):(m.prototype=h.prototype,new m)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(12);function c(v,b){var h=v.getAttribute("class")||"";return h.split(/\s+/).filter(function(m){return m.indexOf(b+"-")===0})}var p=(function(v){o(b,v);function b(){return v!==null&&v.apply(this,arguments)||this}return b.keys=function(h){return(h.getAttribute("class")||"").split(/\s+/).map(function(m){return m.split("-").slice(0,-1).join("-")})},b.prototype.add=function(h,m){return this.canAdd(h,m)?(this.remove(h),h.classList.add(this.keyName+"-"+m),!0):!1},b.prototype.remove=function(h){var m=c(h,this.keyName);m.forEach(function(f){h.classList.remove(f)}),h.classList.length===0&&h.removeAttribute("class")},b.prototype.value=function(h){var m=c(h,this.keyName)[0]||"",f=m.slice(this.keyName.length+1);return this.canAdd(h,f)?f:""},b})(u.default);i.default=p}),(function(n,i,s){var o=this&&this.__extends||(function(){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,h){b.__proto__=h}||function(b,h){for(var m in h)h.hasOwnProperty(m)&&(b[m]=h[m])};return function(b,h){v(b,h);function m(){this.constructor=b}b.prototype=h===null?Object.create(h):(m.prototype=h.prototype,new m)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(12);function c(v){var b=v.split("-"),h=b.slice(1).map(function(m){return m[0].toUpperCase()+m.slice(1)}).join("");return b[0]+h}var p=(function(v){o(b,v);function b(){return v!==null&&v.apply(this,arguments)||this}return b.keys=function(h){return(h.getAttribute("style")||"").split(";").map(function(m){var f=m.split(":");return f[0].trim()})},b.prototype.add=function(h,m){return this.canAdd(h,m)?(h.style[c(this.keyName)]=m,!0):!1},b.prototype.remove=function(h){h.style[c(this.keyName)]="",h.getAttribute("style")||h.removeAttribute("style")},b.prototype.value=function(h){var m=h.style[c(this.keyName)];return this.canAdd(h,m)?m:""},b})(u.default);i.default=p}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function p(v,b){for(var h=0;h<b.length;h++){var m=b[h];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(v,m.key,m)}}return function(v,b,h){return b&&p(v.prototype,b),h&&p(v,h),v}})();function u(p,v){if(!(p instanceof v))throw new TypeError("Cannot call a class as a function")}var c=(function(){function p(v,b){u(this,p),this.quill=v,this.options=b,this.modules={}}return o(p,[{key:"init",value:function(){var b=this;Object.keys(this.options.modules).forEach(function(h){b.modules[h]==null&&b.addModule(h)})}},{key:"addModule",value:function(b){var h=this.quill.constructor.import("modules/"+b);return this.modules[b]=new h(this.quill,this.options.modules[b]||{}),this.modules[b]}}]),p})();c.DEFAULTS={modules:{}},c.themes={default:c},i.default=c}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function y(A,S){for(var x=0;x<S.length;x++){var T=S[x];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(A,T.key,T)}}return function(A,S,x){return S&&y(A.prototype,S),x&&y(A,x),A}})(),u=function y(A,S,x){A===null&&(A=Function.prototype);var T=Object.getOwnPropertyDescriptor(A,S);if(T===void 0){var R=Object.getPrototypeOf(A);return R===null?void 0:y(R,S,x)}else{if("value"in T)return T.value;var z=T.get;return z===void 0?void 0:z.call(x)}},c=s(0),p=h(c),v=s(7),b=h(v);function h(y){return y&&y.__esModule?y:{default:y}}function m(y,A){if(!(y instanceof A))throw new TypeError("Cannot call a class as a function")}function f(y,A){if(!y)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A&&(typeof A=="object"||typeof A=="function")?A:y}function E(y,A){if(typeof A!="function"&&A!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof A);y.prototype=Object.create(A&&A.prototype,{constructor:{value:y,enumerable:!1,writable:!0,configurable:!0}}),A&&(Object.setPrototypeOf?Object.setPrototypeOf(y,A):y.__proto__=A)}var w="\uFEFF",k=(function(y){E(A,y);function A(S){m(this,A);var x=f(this,(A.__proto__||Object.getPrototypeOf(A)).call(this,S));return x.contentNode=document.createElement("span"),x.contentNode.setAttribute("contenteditable",!1),[].slice.call(x.domNode.childNodes).forEach(function(T){x.contentNode.appendChild(T)}),x.leftGuard=document.createTextNode(w),x.rightGuard=document.createTextNode(w),x.domNode.appendChild(x.leftGuard),x.domNode.appendChild(x.contentNode),x.domNode.appendChild(x.rightGuard),x}return o(A,[{key:"index",value:function(x,T){return x===this.leftGuard?0:x===this.rightGuard?1:u(A.prototype.__proto__||Object.getPrototypeOf(A.prototype),"index",this).call(this,x,T)}},{key:"restore",value:function(x){var T=void 0,R=void 0,z=x.data.split(w).join("");if(x===this.leftGuard)if(this.prev instanceof b.default){var D=this.prev.length();this.prev.insertAt(D,z),T={startNode:this.prev.domNode,startOffset:D+z.length}}else R=document.createTextNode(z),this.parent.insertBefore(p.default.create(R),this),T={startNode:R,startOffset:z.length};else x===this.rightGuard&&(this.next instanceof b.default?(this.next.insertAt(0,z),T={startNode:this.next.domNode,startOffset:z.length}):(R=document.createTextNode(z),this.parent.insertBefore(p.default.create(R),this.next),T={startNode:R,startOffset:z.length}));return x.data=w,T}},{key:"update",value:function(x,T){var R=this;x.forEach(function(z){if(z.type==="characterData"&&(z.target===R.leftGuard||z.target===R.rightGuard)){var D=R.restore(z.target);D&&(T.range=D)}})}}]),A})(p.default.Embed);i.default=k}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.AlignStyle=i.AlignClass=i.AlignAttribute=void 0;var o=s(0),u=c(o);function c(m){return m&&m.__esModule?m:{default:m}}var p={scope:u.default.Scope.BLOCK,whitelist:["right","center","justify"]},v=new u.default.Attributor.Attribute("align","align",p),b=new u.default.Attributor.Class("align","ql-align",p),h=new u.default.Attributor.Style("align","text-align",p);i.AlignAttribute=v,i.AlignClass=b,i.AlignStyle=h}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.BackgroundStyle=i.BackgroundClass=void 0;var o=s(0),u=p(o),c=s(26);function p(h){return h&&h.__esModule?h:{default:h}}var v=new u.default.Attributor.Class("background","ql-bg",{scope:u.default.Scope.INLINE}),b=new c.ColorAttributor("background","background-color",{scope:u.default.Scope.INLINE});i.BackgroundClass=v,i.BackgroundStyle=b}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.DirectionStyle=i.DirectionClass=i.DirectionAttribute=void 0;var o=s(0),u=c(o);function c(m){return m&&m.__esModule?m:{default:m}}var p={scope:u.default.Scope.BLOCK,whitelist:["rtl"]},v=new u.default.Attributor.Attribute("direction","dir",p),b=new u.default.Attributor.Class("direction","ql-direction",p),h=new u.default.Attributor.Style("direction","direction",p);i.DirectionAttribute=v,i.DirectionClass=b,i.DirectionStyle=h}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.FontClass=i.FontStyle=void 0;var o=(function(){function y(A,S){for(var x=0;x<S.length;x++){var T=S[x];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(A,T.key,T)}}return function(A,S,x){return S&&y(A.prototype,S),x&&y(A,x),A}})(),u=function y(A,S,x){A===null&&(A=Function.prototype);var T=Object.getOwnPropertyDescriptor(A,S);if(T===void 0){var R=Object.getPrototypeOf(A);return R===null?void 0:y(R,S,x)}else{if("value"in T)return T.value;var z=T.get;return z===void 0?void 0:z.call(x)}},c=s(0),p=v(c);function v(y){return y&&y.__esModule?y:{default:y}}function b(y,A){if(!(y instanceof A))throw new TypeError("Cannot call a class as a function")}function h(y,A){if(!y)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A&&(typeof A=="object"||typeof A=="function")?A:y}function m(y,A){if(typeof A!="function"&&A!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof A);y.prototype=Object.create(A&&A.prototype,{constructor:{value:y,enumerable:!1,writable:!0,configurable:!0}}),A&&(Object.setPrototypeOf?Object.setPrototypeOf(y,A):y.__proto__=A)}var f={scope:p.default.Scope.INLINE,whitelist:["serif","monospace"]},E=new p.default.Attributor.Class("font","ql-font",f),w=(function(y){m(A,y);function A(){return b(this,A),h(this,(A.__proto__||Object.getPrototypeOf(A)).apply(this,arguments))}return o(A,[{key:"value",value:function(x){return u(A.prototype.__proto__||Object.getPrototypeOf(A.prototype),"value",this).call(this,x).replace(/["']/g,"")}}]),A})(p.default.Attributor.Style),k=new w("font","font-family",f);i.FontStyle=k,i.FontClass=E}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.SizeStyle=i.SizeClass=void 0;var o=s(0),u=c(o);function c(b){return b&&b.__esModule?b:{default:b}}var p=new u.default.Attributor.Class("size","ql-size",{scope:u.default.Scope.INLINE,whitelist:["small","large","huge"]}),v=new u.default.Attributor.Style("size","font-size",{scope:u.default.Scope.INLINE,whitelist:["10px","18px","32px"]});i.SizeClass=p,i.SizeStyle=v}),(function(n,i,s){n.exports={align:{"":s(76),center:s(77),right:s(78),justify:s(79)},background:s(80),blockquote:s(81),bold:s(82),clean:s(83),code:s(58),"code-block":s(58),color:s(84),direction:{"":s(85),rtl:s(86)},float:{center:s(87),full:s(88),left:s(89),right:s(90)},formula:s(91),header:{1:s(92),2:s(93)},italic:s(94),image:s(95),indent:{"+1":s(96),"-1":s(97)},link:s(98),list:{ordered:s(99),bullet:s(100),check:s(101)},script:{sub:s(102),super:s(103)},strike:s(104),underline:s(105),video:s(106)}}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.getLastChangeIndex=i.default=void 0;var o=(function(){function S(x,T){for(var R=0;R<T.length;R++){var z=T[R];z.enumerable=z.enumerable||!1,z.configurable=!0,"value"in z&&(z.writable=!0),Object.defineProperty(x,z.key,z)}}return function(x,T,R){return T&&S(x.prototype,T),R&&S(x,R),x}})(),u=s(0),c=m(u),p=s(5),v=m(p),b=s(9),h=m(b);function m(S){return S&&S.__esModule?S:{default:S}}function f(S,x){if(!(S instanceof x))throw new TypeError("Cannot call a class as a function")}function E(S,x){if(!S)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return x&&(typeof x=="object"||typeof x=="function")?x:S}function w(S,x){if(typeof x!="function"&&x!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof x);S.prototype=Object.create(x&&x.prototype,{constructor:{value:S,enumerable:!1,writable:!0,configurable:!0}}),x&&(Object.setPrototypeOf?Object.setPrototypeOf(S,x):S.__proto__=x)}var k=(function(S){w(x,S);function x(T,R){f(this,x);var z=E(this,(x.__proto__||Object.getPrototypeOf(x)).call(this,T,R));return z.lastRecorded=0,z.ignoreChange=!1,z.clear(),z.quill.on(v.default.events.EDITOR_CHANGE,function(D,F,P,C){D!==v.default.events.TEXT_CHANGE||z.ignoreChange||(!z.options.userOnly||C===v.default.sources.USER?z.record(F,P):z.transform(F))}),z.quill.keyboard.addBinding({key:"Z",shortKey:!0},z.undo.bind(z)),z.quill.keyboard.addBinding({key:"Z",shortKey:!0,shiftKey:!0},z.redo.bind(z)),/Win/i.test(navigator.platform)&&z.quill.keyboard.addBinding({key:"Y",shortKey:!0},z.redo.bind(z)),z}return o(x,[{key:"change",value:function(R,z){if(this.stack[R].length!==0){var D=this.stack[R].pop();this.stack[z].push(D),this.lastRecorded=0,this.ignoreChange=!0,this.quill.updateContents(D[R],v.default.sources.USER),this.ignoreChange=!1;var F=A(D[R]);this.quill.setSelection(F)}}},{key:"clear",value:function(){this.stack={undo:[],redo:[]}}},{key:"cutoff",value:function(){this.lastRecorded=0}},{key:"record",value:function(R,z){if(R.ops.length!==0){this.stack.redo=[];var D=this.quill.getContents().diff(z),F=Date.now();if(this.lastRecorded+this.options.delay>F&&this.stack.undo.length>0){var P=this.stack.undo.pop();D=D.compose(P.undo),R=P.redo.compose(R)}else this.lastRecorded=F;this.stack.undo.push({redo:R,undo:D}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift()}}},{key:"redo",value:function(){this.change("redo","undo")}},{key:"transform",value:function(R){this.stack.undo.forEach(function(z){z.undo=R.transform(z.undo,!0),z.redo=R.transform(z.redo,!0)}),this.stack.redo.forEach(function(z){z.undo=R.transform(z.undo,!0),z.redo=R.transform(z.redo,!0)})}},{key:"undo",value:function(){this.change("undo","redo")}}]),x})(h.default);k.DEFAULTS={delay:1e3,maxStack:100,userOnly:!1};function y(S){var x=S.ops[S.ops.length-1];return x==null?!1:x.insert!=null?typeof x.insert=="string"&&x.insert.endsWith(` 819`):x.attributes!=null?Object.keys(x.attributes).some(function(T){return c.default.query(T,c.default.Scope.BLOCK)!=null}):!1}function A(S){var x=S.reduce(function(R,z){return R+=z.delete||0,R},0),T=S.length()-x;return y(S)&&(T-=1),T}i.default=k,i.getLastChangeIndex=A}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.default=i.BaseTooltip=void 0;var o=(function(){function B(K,Q){for(var J=0;J<Q.length;J++){var U=Q[J];U.enumerable=U.enumerable||!1,U.configurable=!0,"value"in U&&(U.writable=!0),Object.defineProperty(K,U.key,U)}}return function(K,Q,J){return Q&&B(K.prototype,Q),J&&B(K,J),K}})(),u=function B(K,Q,J){K===null&&(K=Function.prototype);var U=Object.getOwnPropertyDescriptor(K,Q);if(U===void 0){var $=Object.getPrototypeOf(K);return $===null?void 0:B($,Q,J)}else{if("value"in U)return U.value;var se=U.get;return se===void 0?void 0:se.call(J)}},c=s(3),p=F(c),v=s(2),b=F(v),h=s(8),m=F(h),f=s(23),E=F(f),w=s(34),k=F(w),y=s(59),A=F(y),S=s(60),x=F(S),T=s(28),R=F(T),z=s(61),D=F(z);function F(B){return B&&B.__esModule?B:{default:B}}function P(B,K){if(!(B instanceof K))throw new TypeError("Cannot call a class as a function")}function C(B,K){if(!B)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return K&&(typeof K=="object"||typeof K=="function")?K:B}function j(B,K){if(typeof K!="function"&&K!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof K);B.prototype=Object.create(K&&K.prototype,{constructor:{value:B,enumerable:!1,writable:!0,configurable:!0}}),K&&(Object.setPrototypeOf?Object.setPrototypeOf(B,K):B.__proto__=K)}var L=[!1,"center","right","justify"],W=["#000000","#e60000","#ff9900","#ffff00","#008a00","#0066cc","#9933ff","#ffffff","#facccc","#ffebcc","#ffffcc","#cce8cc","#cce0f5","#ebd6ff","#bbbbbb","#f06666","#ffc266","#ffff66","#66b966","#66a3e0","#c285ff","#888888","#a10000","#b26b00","#b2b200","#006100","#0047b2","#6b24b2","#444444","#5c0000","#663d00","#666600","#003700","#002966","#3d1466"],G=[!1,"serif","monospace"],Z=["1","2","3",!1],te=["small",!1,"large","huge"],oe=(function(B){j(K,B);function K(Q,J){P(this,K);var U=C(this,(K.__proto__||Object.getPrototypeOf(K)).call(this,Q,J)),$=function se(ie){if(!document.body.contains(Q.root))return document.body.removeEventListener("click",se);U.tooltip!=null&&!U.tooltip.root.contains(ie.target)&&document.activeElement!==U.tooltip.textbox&&!U.quill.hasFocus()&&U.tooltip.hide(),U.pickers!=null&&U.pickers.forEach(function(fe){fe.container.contains(ie.target)||fe.close()})};return Q.emitter.listenDOM("click",document.body,$),U}return o(K,[{key:"addModule",value:function(J){var U=u(K.prototype.__proto__||Object.getPrototypeOf(K.prototype),"addModule",this).call(this,J);return J==="toolbar"&&this.extendToolbar(U),U}},{key:"buildButtons",value:function(J,U){J.forEach(function($){var se=$.getAttribute("class")||"";se.split(/\s+/).forEach(function(ie){if(ie.startsWith("ql-")&&(ie=ie.slice(3),U[ie]!=null))if(ie==="direction")$.innerHTML=U[ie][""]+U[ie].rtl;else if(typeof U[ie]=="string")$.innerHTML=U[ie];else{var fe=$.value||"";fe!=null&&U[ie][fe]&&($.innerHTML=U[ie][fe])}})})}},{key:"buildPickers",value:function(J,U){var $=this;this.pickers=J.map(function(ie){if(ie.classList.contains("ql-align"))return ie.querySelector("option")==null&&N(ie,L),new x.default(ie,U.align);if(ie.classList.contains("ql-background")||ie.classList.contains("ql-color")){var fe=ie.classList.contains("ql-background")?"background":"color";return ie.querySelector("option")==null&&N(ie,W,fe==="background"?"#ffffff":"#000000"),new A.default(ie,U[fe])}else return ie.querySelector("option")==null&&(ie.classList.contains("ql-font")?N(ie,G):ie.classList.contains("ql-header")?N(ie,Z):ie.classList.contains("ql-size")&&N(ie,te)),new R.default(ie)});var se=function(){$.pickers.forEach(function(fe){fe.update()})};this.quill.on(m.default.events.EDITOR_CHANGE,se)}}]),K})(k.default);oe.DEFAULTS=(0,p.default)(!0,{},k.default.DEFAULTS,{modules:{toolbar:{handlers:{formula:function(){this.quill.theme.tooltip.edit("formula")},image:function(){var K=this,Q=this.container.querySelector("input.ql-image[type=file]");Q==null&&(Q=document.createElement("input"),Q.setAttribute("type","file"),Q.setAttribute("accept","image/png, image/gif, image/jpeg, image/bmp, image/x-icon"),Q.classList.add("ql-image"),Q.addEventListener("change",function(){if(Q.files!=null&&Q.files[0]!=null){var J=new FileReader;J.onload=function(U){var $=K.quill.getSelection(!0);K.quill.updateContents(new b.default().retain($.index).delete($.length).insert({image:U.target.result}),m.default.sources.USER),K.quill.setSelection($.index+1,m.default.sources.SILENT),Q.value=""},J.readAsDataURL(Q.files[0])}}),this.container.appendChild(Q)),Q.click()},video:function(){this.quill.theme.tooltip.edit("video")}}}}});var X=(function(B){j(K,B);function K(Q,J){P(this,K);var U=C(this,(K.__proto__||Object.getPrototypeOf(K)).call(this,Q,J));return U.textbox=U.root.querySelector('input[type="text"]'),U.listen(),U}return o(K,[{key:"listen",value:function(){var J=this;this.textbox.addEventListener("keydown",function(U){E.default.match(U,"enter")?(J.save(),U.preventDefault()):E.default.match(U,"escape")&&(J.cancel(),U.preventDefault())})}},{key:"cancel",value:function(){this.hide()}},{key:"edit",value:function(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"link",U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.root.classList.remove("ql-hidden"),this.root.classList.add("ql-editing"),U!=null?this.textbox.value=U:J!==this.root.getAttribute("data-mode")&&(this.textbox.value=""),this.position(this.quill.getBounds(this.quill.selection.savedRange)),this.textbox.select(),this.textbox.setAttribute("placeholder",this.textbox.getAttribute("data-"+J)||""),this.root.setAttribute("data-mode",J)}},{key:"restoreFocus",value:function(){var J=this.quill.scrollingContainer.scrollTop;this.quill.focus(),this.quill.scrollingContainer.scrollTop=J}},{key:"save",value:function(){var J=this.textbox.value;switch(this.root.getAttribute("data-mode")){case"link":{var U=this.quill.root.scrollTop;this.linkRange?(this.quill.formatText(this.linkRange,"link",J,m.default.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format("link",J,m.default.sources.USER)),this.quill.root.scrollTop=U;break}case"video":J=q(J);case"formula":{if(!J)break;var $=this.quill.getSelection(!0);if($!=null){var se=$.index+$.length;this.quill.insertEmbed(se,this.root.getAttribute("data-mode"),J,m.default.sources.USER),this.root.getAttribute("data-mode")==="formula"&&this.quill.insertText(se+1," ",m.default.sources.USER),this.quill.setSelection(se+2,m.default.sources.USER)}break}}this.textbox.value="",this.hide()}}]),K})(D.default);function q(B){var K=B.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/)||B.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);return K?(K[1]||"https")+"://www.youtube.com/embed/"+K[2]+"?showinfo=0":(K=B.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/))?(K[1]||"https")+"://player.vimeo.com/video/"+K[2]+"/":B}function N(B,K){var Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;K.forEach(function(J){var U=document.createElement("option");J===Q?U.setAttribute("selected","selected"):U.setAttribute("value",J),B.appendChild(U)})}i.BaseTooltip=X,i.default=oe}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function u(){this.head=this.tail=null,this.length=0}return u.prototype.append=function(){for(var c=[],p=0;p<arguments.length;p++)c[p]=arguments[p];this.insertBefore(c[0],null),c.length>1&&this.append.apply(this,c.slice(1))},u.prototype.contains=function(c){for(var p,v=this.iterator();p=v();)if(p===c)return!0;return!1},u.prototype.insertBefore=function(c,p){c&&(c.next=p,p!=null?(c.prev=p.prev,p.prev!=null&&(p.prev.next=c),p.prev=c,p===this.head&&(this.head=c)):this.tail!=null?(this.tail.next=c,c.prev=this.tail,this.tail=c):(c.prev=null,this.head=this.tail=c),this.length+=1)},u.prototype.offset=function(c){for(var p=0,v=this.head;v!=null;){if(v===c)return p;p+=v.length(),v=v.next}return-1},u.prototype.remove=function(c){this.contains(c)&&(c.prev!=null&&(c.prev.next=c.next),c.next!=null&&(c.next.prev=c.prev),c===this.head&&(this.head=c.next),c===this.tail&&(this.tail=c.prev),this.length-=1)},u.prototype.iterator=function(c){return c===void 0&&(c=this.head),function(){var p=c;return c!=null&&(c=c.next),p}},u.prototype.find=function(c,p){p===void 0&&(p=!1);for(var v,b=this.iterator();v=b();){var h=v.length();if(c<h||p&&c===h&&(v.next==null||v.next.length()!==0))return[v,c];c-=h}return[null,0]},u.prototype.forEach=function(c){for(var p,v=this.iterator();p=v();)c(p)},u.prototype.forEachAt=function(c,p,v){if(!(p<=0))for(var b=this.find(c),h=b[0],m=b[1],f,E=c-m,w=this.iterator(h);(f=w())&&E<c+p;){var k=f.length();c>E?v(f,c-E,Math.min(p,E+k-c)):v(f,0,Math.min(k,c+p-E)),E+=k}},u.prototype.map=function(c){return this.reduce(function(p,v){return p.push(c(v)),p},[])},u.prototype.reduce=function(c,p){for(var v,b=this.iterator();v=b();)p=c(p,v);return p},u})();i.default=o}),(function(n,i,s){var o=this&&this.__extends||(function(){var h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,f){m.__proto__=f}||function(m,f){for(var E in f)f.hasOwnProperty(E)&&(m[E]=f[E])};return function(m,f){h(m,f);function E(){this.constructor=m}m.prototype=f===null?Object.create(f):(E.prototype=f.prototype,new E)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(17),c=s(1),p={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},v=100,b=(function(h){o(m,h);function m(f){var E=h.call(this,f)||this;return E.scroll=E,E.observer=new MutationObserver(function(w){E.update(w)}),E.observer.observe(E.domNode,p),E.attach(),E}return m.prototype.detach=function(){h.prototype.detach.call(this),this.observer.disconnect()},m.prototype.deleteAt=function(f,E){this.update(),f===0&&E===this.length()?this.children.forEach(function(w){w.remove()}):h.prototype.deleteAt.call(this,f,E)},m.prototype.formatAt=function(f,E,w,k){this.update(),h.prototype.formatAt.call(this,f,E,w,k)},m.prototype.insertAt=function(f,E,w){this.update(),h.prototype.insertAt.call(this,f,E,w)},m.prototype.optimize=function(f,E){var w=this;f===void 0&&(f=[]),E===void 0&&(E={}),h.prototype.optimize.call(this,E);for(var k=[].slice.call(this.observer.takeRecords());k.length>0;)f.push(k.pop());for(var y=function(T,R){R===void 0&&(R=!0),!(T==null||T===w)&&T.domNode.parentNode!=null&&(T.domNode[c.DATA_KEY].mutations==null&&(T.domNode[c.DATA_KEY].mutations=[]),R&&y(T.parent))},A=function(T){T.domNode[c.DATA_KEY]==null||T.domNode[c.DATA_KEY].mutations==null||(T instanceof u.default&&T.children.forEach(A),T.optimize(E))},S=f,x=0;S.length>0;x+=1){if(x>=v)throw new Error("[Parchment] Maximum optimize iterations reached");for(S.forEach(function(T){var R=c.find(T.target,!0);R!=null&&(R.domNode===T.target&&(T.type==="childList"?(y(c.find(T.previousSibling,!1)),[].forEach.call(T.addedNodes,function(z){var D=c.find(z,!1);y(D,!1),D instanceof u.default&&D.children.forEach(function(F){y(F,!1)})})):T.type==="attributes"&&y(R.prev)),y(R))}),this.children.forEach(A),S=[].slice.call(this.observer.takeRecords()),k=S.slice();k.length>0;)f.push(k.pop())}},m.prototype.update=function(f,E){var w=this;E===void 0&&(E={}),f=f||this.observer.takeRecords(),f.map(function(k){var y=c.find(k.target,!0);return y==null?null:y.domNode[c.DATA_KEY].mutations==null?(y.domNode[c.DATA_KEY].mutations=[k],y):(y.domNode[c.DATA_KEY].mutations.push(k),null)}).forEach(function(k){k==null||k===w||k.domNode[c.DATA_KEY]==null||k.update(k.domNode[c.DATA_KEY].mutations||[],E)}),this.domNode[c.DATA_KEY].mutations!=null&&h.prototype.update.call(this,this.domNode[c.DATA_KEY].mutations,E),this.optimize(f,E)},m.blotName="scroll",m.defaultChild="block",m.scope=c.Scope.BLOCK_BLOT,m.tagName="DIV",m})(u.default);i.default=b}),(function(n,i,s){var o=this&&this.__extends||(function(){var b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,m){h.__proto__=m}||function(h,m){for(var f in m)m.hasOwnProperty(f)&&(h[f]=m[f])};return function(h,m){b(h,m);function f(){this.constructor=h}h.prototype=m===null?Object.create(m):(f.prototype=m.prototype,new f)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(18),c=s(1);function p(b,h){if(Object.keys(b).length!==Object.keys(h).length)return!1;for(var m in b)if(b[m]!==h[m])return!1;return!0}var v=(function(b){o(h,b);function h(){return b!==null&&b.apply(this,arguments)||this}return h.formats=function(m){if(m.tagName!==h.tagName)return b.formats.call(this,m)},h.prototype.format=function(m,f){var E=this;m===this.statics.blotName&&!f?(this.children.forEach(function(w){w instanceof u.default||(w=w.wrap(h.blotName,!0)),E.attributes.copy(w)}),this.unwrap()):b.prototype.format.call(this,m,f)},h.prototype.formatAt=function(m,f,E,w){if(this.formats()[E]!=null||c.query(E,c.Scope.ATTRIBUTE)){var k=this.isolate(m,f);k.format(E,w)}else b.prototype.formatAt.call(this,m,f,E,w)},h.prototype.optimize=function(m){b.prototype.optimize.call(this,m);var f=this.formats();if(Object.keys(f).length===0)return this.unwrap();var E=this.next;E instanceof h&&E.prev===this&&p(f,E.formats())&&(E.moveChildren(this),E.remove())},h.blotName="inline",h.scope=c.Scope.INLINE_BLOT,h.tagName="SPAN",h})(u.default);i.default=v}),(function(n,i,s){var o=this&&this.__extends||(function(){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,h){b.__proto__=h}||function(b,h){for(var m in h)h.hasOwnProperty(m)&&(b[m]=h[m])};return function(b,h){v(b,h);function m(){this.constructor=b}b.prototype=h===null?Object.create(h):(m.prototype=h.prototype,new m)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(18),c=s(1),p=(function(v){o(b,v);function b(){return v!==null&&v.apply(this,arguments)||this}return b.formats=function(h){var m=c.query(b.blotName).tagName;if(h.tagName!==m)return v.formats.call(this,h)},b.prototype.format=function(h,m){c.query(h,c.Scope.BLOCK)!=null&&(h===this.statics.blotName&&!m?this.replaceWith(b.blotName):v.prototype.format.call(this,h,m))},b.prototype.formatAt=function(h,m,f,E){c.query(f,c.Scope.BLOCK)!=null?this.format(f,E):v.prototype.formatAt.call(this,h,m,f,E)},b.prototype.insertAt=function(h,m,f){if(f==null||c.query(m,c.Scope.INLINE)!=null)v.prototype.insertAt.call(this,h,m,f);else{var E=this.split(h),w=c.create(m,f);E.parent.insertBefore(w,E)}},b.prototype.update=function(h,m){navigator.userAgent.match(/Trident/)?this.build():v.prototype.update.call(this,h,m)},b.blotName="block",b.scope=c.Scope.BLOCK_BLOT,b.tagName="P",b})(u.default);i.default=p}),(function(n,i,s){var o=this&&this.__extends||(function(){var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,b){v.__proto__=b}||function(v,b){for(var h in b)b.hasOwnProperty(h)&&(v[h]=b[h])};return function(v,b){p(v,b);function h(){this.constructor=v}v.prototype=b===null?Object.create(b):(h.prototype=b.prototype,new h)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(19),c=(function(p){o(v,p);function v(){return p!==null&&p.apply(this,arguments)||this}return v.formats=function(b){},v.prototype.format=function(b,h){p.prototype.formatAt.call(this,0,this.length(),b,h)},v.prototype.formatAt=function(b,h,m,f){b===0&&h===this.length()?this.format(m,f):p.prototype.formatAt.call(this,b,h,m,f)},v.prototype.formats=function(){return this.statics.formats(this.domNode)},v})(u.default);i.default=c}),(function(n,i,s){var o=this&&this.__extends||(function(){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,h){b.__proto__=h}||function(b,h){for(var m in h)h.hasOwnProperty(m)&&(b[m]=h[m])};return function(b,h){v(b,h);function m(){this.constructor=b}b.prototype=h===null?Object.create(h):(m.prototype=h.prototype,new m)}})();Object.defineProperty(i,"__esModule",{value:!0});var u=s(19),c=s(1),p=(function(v){o(b,v);function b(h){var m=v.call(this,h)||this;return m.text=m.statics.value(m.domNode),m}return b.create=function(h){return document.createTextNode(h)},b.value=function(h){var m=h.data;return m.normalize&&(m=m.normalize()),m},b.prototype.deleteAt=function(h,m){this.domNode.data=this.text=this.text.slice(0,h)+this.text.slice(h+m)},b.prototype.index=function(h,m){return this.domNode===h?m:-1},b.prototype.insertAt=function(h,m,f){f==null?(this.text=this.text.slice(0,h)+m+this.text.slice(h),this.domNode.data=this.text):v.prototype.insertAt.call(this,h,m,f)},b.prototype.length=function(){return this.text.length},b.prototype.optimize=function(h){v.prototype.optimize.call(this,h),this.text=this.statics.value(this.domNode),this.text.length===0?this.remove():this.next instanceof b&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())},b.prototype.position=function(h,m){return[this.domNode,h]},b.prototype.split=function(h,m){if(m===void 0&&(m=!1),!m){if(h===0)return this;if(h===this.length())return this.next}var f=c.create(this.domNode.splitText(h));return this.parent.insertBefore(f,this.next),this.text=this.statics.value(this.domNode),f},b.prototype.update=function(h,m){var f=this;h.some(function(E){return E.type==="characterData"&&E.target===f.domNode})&&(this.text=this.statics.value(this.domNode))},b.prototype.value=function(){return this.text},b.blotName="text",b.scope=c.Scope.INLINE_BLOT,b})(u.default);i.default=p}),(function(n,i,s){var o=document.createElement("div");if(o.classList.toggle("test-class",!1),o.classList.contains("test-class")){var u=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(c,p){return arguments.length>1&&!this.contains(c)==!p?p:u.call(this,c)}}String.prototype.startsWith||(String.prototype.startsWith=function(c,p){return p=p||0,this.substr(p,c.length)===c}),String.prototype.endsWith||(String.prototype.endsWith=function(c,p){var v=this.toString();(typeof p!="number"||!isFinite(p)||Math.floor(p)!==p||p>v.length)&&(p=v.length),p-=c.length;var b=v.indexOf(c,p);return b!==-1&&b===p}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(p){if(this===null)throw new TypeError("Array.prototype.find called on null or undefined");if(typeof p!="function")throw new TypeError("predicate must be a function");for(var v=Object(this),b=v.length>>>0,h=arguments[1],m,f=0;f<b;f++)if(m=v[f],p.call(h,m,f,v))return m}}),document.addEventListener("DOMContentLoaded",function(){document.execCommand("enableObjectResizing",!1,!1),document.execCommand("autoUrlDetect",!1,!1)})}),(function(n,i){var s=-1,o=1,u=0;function c(x,T,R){if(x==T)return x?[[u,x]]:[];(R<0||x.length<R)&&(R=null);var z=h(x,T),D=x.substring(0,z);x=x.substring(z),T=T.substring(z),z=m(x,T);var F=x.substring(x.length-z);x=x.substring(0,x.length-z),T=T.substring(0,T.length-z);var P=p(x,T);return D&&P.unshift([u,D]),F&&P.push([u,F]),E(P),R!=null&&(P=y(P,R)),P=A(P),P}function p(x,T){var R;if(!x)return[[o,T]];if(!T)return[[s,x]];var z=x.length>T.length?x:T,D=x.length>T.length?T:x,F=z.indexOf(D);if(F!=-1)return R=[[o,z.substring(0,F)],[u,D],[o,z.substring(F+D.length)]],x.length>T.length&&(R[0][0]=R[2][0]=s),R;if(D.length==1)return[[s,x],[o,T]];var P=f(x,T);if(P){var C=P[0],j=P[1],L=P[2],W=P[3],G=P[4],Z=c(C,L),te=c(j,W);return Z.concat([[u,G]],te)}return v(x,T)}function v(x,T){for(var R=x.length,z=T.length,D=Math.ceil((R+z)/2),F=D,P=2*D,C=new Array(P),j=new Array(P),L=0;L<P;L++)C[L]=-1,j[L]=-1;C[F+1]=0,j[F+1]=0;for(var W=R-z,G=W%2!=0,Z=0,te=0,oe=0,X=0,q=0;q<D;q++){for(var N=-q+Z;N<=q-te;N+=2){var B=F+N,K;N==-q||N!=q&&C[B-1]<C[B+1]?K=C[B+1]:K=C[B-1]+1;for(var Q=K-N;K<R&&Q<z&&x.charAt(K)==T.charAt(Q);)K++,Q++;if(C[B]=K,K>R)te+=2;else if(Q>z)Z+=2;else if(G){var J=F+W-N;if(J>=0&&J<P&&j[J]!=-1){var U=R-j[J];if(K>=U)return b(x,T,K,Q)}}}for(var $=-q+oe;$<=q-X;$+=2){var J=F+$,U;$==-q||$!=q&&j[J-1]<j[J+1]?U=j[J+1]:U=j[J-1]+1;for(var se=U-$;U<R&&se<z&&x.charAt(R-U-1)==T.charAt(z-se-1);)U++,se++;if(j[J]=U,U>R)X+=2;else if(se>z)oe+=2;else if(!G){var B=F+W-$;if(B>=0&&B<P&&C[B]!=-1){var K=C[B],Q=F+K-B;if(U=R-U,K>=U)return b(x,T,K,Q)}}}}return[[s,x],[o,T]]}function b(x,T,R,z){var D=x.substring(0,R),F=T.substring(0,z),P=x.substring(R),C=T.substring(z),j=c(D,F),L=c(P,C);return j.concat(L)}function h(x,T){if(!x||!T||x.charAt(0)!=T.charAt(0))return 0;for(var R=0,z=Math.min(x.length,T.length),D=z,F=0;R<D;)x.substring(F,D)==T.substring(F,D)?(R=D,F=R):z=D,D=Math.floor((z-R)/2+R);return D}function m(x,T){if(!x||!T||x.charAt(x.length-1)!=T.charAt(T.length-1))return 0;for(var R=0,z=Math.min(x.length,T.length),D=z,F=0;R<D;)x.substring(x.length-D,x.length-F)==T.substring(T.length-D,T.length-F)?(R=D,F=R):z=D,D=Math.floor((z-R)/2+R);return D}function f(x,T){var R=x.length>T.length?x:T,z=x.length>T.length?T:x;if(R.length<4||z.length*2<R.length)return null;function D(te,oe,X){for(var q=te.substring(X,X+Math.floor(te.length/4)),N=-1,B="",K,Q,J,U;(N=oe.indexOf(q,N+1))!=-1;){var $=h(te.substring(X),oe.substring(N)),se=m(te.substring(0,X),oe.substring(0,N));B.length<se+$&&(B=oe.substring(N-se,N)+oe.substring(N,N+$),K=te.substring(0,X-se),Q=te.substring(X+$),J=oe.substring(0,N-se),U=oe.substring(N+$))}return B.length*2>=te.length?[K,Q,J,U,B]:null}var F=D(R,z,Math.ceil(R.length/4)),P=D(R,z,Math.ceil(R.length/2)),C;if(!F&&!P)return null;P?F?C=F[4].length>P[4].length?F:P:C=P:C=F;var j,L,W,G;x.length>T.length?(j=C[0],L=C[1],W=C[2],G=C[3]):(W=C[0],G=C[1],j=C[2],L=C[3]);var Z=C[4];return[j,L,W,G,Z]}function E(x){x.push([u,""]);for(var T=0,R=0,z=0,D="",F="",P;T<x.length;)switch(x[T][0]){case o:z++,F+=x[T][1],T++;break;case s:R++,D+=x[T][1],T++;break;case u:R+z>1?(R!==0&&z!==0&&(P=h(F,D),P!==0&&(T-R-z>0&&x[T-R-z-1][0]==u?x[T-R-z-1][1]+=F.substring(0,P):(x.splice(0,0,[u,F.substring(0,P)]),T++),F=F.substring(P),D=D.substring(P)),P=m(F,D),P!==0&&(x[T][1]=F.substring(F.length-P)+x[T][1],F=F.substring(0,F.length-P),D=D.substring(0,D.length-P))),R===0?x.splice(T-z,R+z,[o,F]):z===0?x.splice(T-R,R+z,[s,D]):x.splice(T-R-z,R+z,[s,D],[o,F]),T=T-R-z+(R?1:0)+(z?1:0)+1):T!==0&&x[T-1][0]==u?(x[T-1][1]+=x[T][1],x.splice(T,1)):T++,z=0,R=0,D="",F="";break}x[x.length-1][1]===""&&x.pop();var C=!1;for(T=1;T<x.length-1;)x[T-1][0]==u&&x[T+1][0]==u&&(x[T][1].substring(x[T][1].length-x[T-1][1].length)==x[T-1][1]?(x[T][1]=x[T-1][1]+x[T][1].substring(0,x[T][1].length-x[T-1][1].length),x[T+1][1]=x[T-1][1]+x[T+1][1],x.splice(T-1,1),C=!0):x[T][1].substring(0,x[T+1][1].length)==x[T+1][1]&&(x[T-1][1]+=x[T+1][1],x[T][1]=x[T][1].substring(x[T+1][1].length)+x[T+1][1],x.splice(T+1,1),C=!0)),T++;C&&E(x)}var w=c;w.INSERT=o,w.DELETE=s,w.EQUAL=u,n.exports=w;function k(x,T){if(T===0)return[u,x];for(var R=0,z=0;z<x.length;z++){var D=x[z];if(D[0]===s||D[0]===u){var F=R+D[1].length;if(T===F)return[z+1,x];if(T<F){x=x.slice();var P=T-R,C=[D[0],D[1].slice(0,P)],j=[D[0],D[1].slice(P)];return x.splice(z,1,C,j),[z+1,x]}else R=F}}throw new Error("cursor_pos is out of bounds!")}function y(x,T){var R=k(x,T),z=R[1],D=R[0],F=z[D],P=z[D+1];if(F==null)return x;if(F[0]!==u)return x;if(P!=null&&F[1]+P[1]===P[1]+F[1])return z.splice(D,2,P,F),S(z,D,2);if(P!=null&&P[1].indexOf(F[1])===0){z.splice(D,2,[P[0],F[1]],[0,F[1]]);var C=P[1].slice(F[1].length);return C.length>0&&z.splice(D+2,0,[P[0],C]),S(z,D,3)}else return x}function A(x){for(var T=!1,R=function(P){return P.charCodeAt(0)>=56320&&P.charCodeAt(0)<=57343},z=function(P){return P.charCodeAt(P.length-1)>=55296&&P.charCodeAt(P.length-1)<=56319},D=2;D<x.length;D+=1)x[D-2][0]===u&&z(x[D-2][1])&&x[D-1][0]===s&&R(x[D-1][1])&&x[D][0]===o&&R(x[D][1])&&(T=!0,x[D-1][1]=x[D-2][1].slice(-1)+x[D-1][1],x[D][1]=x[D-2][1].slice(-1)+x[D][1],x[D-2][1]=x[D-2][1].slice(0,-1));if(!T)return x;for(var F=[],D=0;D<x.length;D+=1)x[D][1].length>0&&F.push(x[D]);return F}function S(x,T,R){for(var z=T+R-1;z>=0&&z>=T-1;z--)if(z+1<x.length){var D=x[z],F=x[z+1];D[0]===F[1]&&x.splice(z,2,[D[0],D[1]+F[1]])}return x}}),(function(n,i){i=n.exports=typeof Object.keys=="function"?Object.keys:s,i.shim=s;function s(o){var u=[];for(var c in o)u.push(c);return u}}),(function(n,i){var s=(function(){return Object.prototype.toString.call(arguments)})()=="[object Arguments]";i=n.exports=s?o:u,i.supported=o;function o(c){return Object.prototype.toString.call(c)=="[object Arguments]"}i.unsupported=u;function u(c){return c&&typeof c=="object"&&typeof c.length=="number"&&Object.prototype.hasOwnProperty.call(c,"callee")&&!Object.prototype.propertyIsEnumerable.call(c,"callee")||!1}}),(function(n,i){var s=Object.prototype.hasOwnProperty,o="~";function u(){}Object.create&&(u.prototype=Object.create(null),new u().__proto__||(o=!1));function c(v,b,h){this.fn=v,this.context=b,this.once=h||!1}function p(){this._events=new u,this._eventsCount=0}p.prototype.eventNames=function(){var b=[],h,m;if(this._eventsCount===0)return b;for(m in h=this._events)s.call(h,m)&&b.push(o?m.slice(1):m);return Object.getOwnPropertySymbols?b.concat(Object.getOwnPropertySymbols(h)):b},p.prototype.listeners=function(b,h){var m=o?o+b:b,f=this._events[m];if(h)return!!f;if(!f)return[];if(f.fn)return[f.fn];for(var E=0,w=f.length,k=new Array(w);E<w;E++)k[E]=f[E].fn;return k},p.prototype.emit=function(b,h,m,f,E,w){var k=o?o+b:b;if(!this._events[k])return!1;var y=this._events[k],A=arguments.length,S,x;if(y.fn){switch(y.once&&this.removeListener(b,y.fn,void 0,!0),A){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,h),!0;case 3:return y.fn.call(y.context,h,m),!0;case 4:return y.fn.call(y.context,h,m,f),!0;case 5:return y.fn.call(y.context,h,m,f,E),!0;case 6:return y.fn.call(y.context,h,m,f,E,w),!0}for(x=1,S=new Array(A-1);x<A;x++)S[x-1]=arguments[x];y.fn.apply(y.context,S)}else{var T=y.length,R;for(x=0;x<T;x++)switch(y[x].once&&this.removeListener(b,y[x].fn,void 0,!0),A){case 1:y[x].fn.call(y[x].context);break;case 2:y[x].fn.call(y[x].context,h);break;case 3:y[x].fn.call(y[x].context,h,m);break;case 4:y[x].fn.call(y[x].context,h,m,f);break;default:if(!S)for(R=1,S=new Array(A-1);R<A;R++)S[R-1]=arguments[R];y[x].fn.apply(y[x].context,S)}}return!0},p.prototype.on=function(b,h,m){var f=new c(h,m||this),E=o?o+b:b;return this._events[E]?this._events[E].fn?this._events[E]=[this._events[E],f]:this._events[E].push(f):(this._events[E]=f,this._eventsCount++),this},p.prototype.once=function(b,h,m){var f=new c(h,m||this,!0),E=o?o+b:b;return this._events[E]?this._events[E].fn?this._events[E]=[this._events[E],f]:this._events[E].push(f):(this._events[E]=f,this._eventsCount++),this},p.prototype.removeListener=function(b,h,m,f){var E=o?o+b:b;if(!this._events[E])return this;if(!h)return--this._eventsCount===0?this._events=new u:delete this._events[E],this;var w=this._events[E];if(w.fn)w.fn===h&&(!f||w.once)&&(!m||w.context===m)&&(--this._eventsCount===0?this._events=new u:delete this._events[E]);else{for(var k=0,y=[],A=w.length;k<A;k++)(w[k].fn!==h||f&&!w[k].once||m&&w[k].context!==m)&&y.push(w[k]);y.length?this._events[E]=y.length===1?y[0]:y:--this._eventsCount===0?this._events=new u:delete this._events[E]}return this},p.prototype.removeAllListeners=function(b){var h;return b?(h=o?o+b:b,this._events[h]&&(--this._eventsCount===0?this._events=new u:delete this._events[h])):(this._events=new u,this._eventsCount=0),this},p.prototype.off=p.prototype.removeListener,p.prototype.addListener=p.prototype.on,p.prototype.setMaxListeners=function(){return this},p.prefixed=o,p.EventEmitter=p,typeof n<"u"&&(n.exports=p)}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.matchText=i.matchSpacing=i.matchNewline=i.matchBlot=i.matchAttributor=i.default=void 0;var o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(de){return typeof de}:function(de){return de&&typeof Symbol=="function"&&de.constructor===Symbol&&de!==Symbol.prototype?"symbol":typeof de},u=(function(){function de(he,we){var Ae=[],me=!0,Ue=!1,Ke=void 0;try{for(var We=he[Symbol.iterator](),zt;!(me=(zt=We.next()).done)&&(Ae.push(zt.value),!(we&&Ae.length===we));me=!0);}catch(Kt){Ue=!0,Ke=Kt}finally{try{!me&&We.return&&We.return()}finally{if(Ue)throw Ke}}return Ae}return function(he,we){if(Array.isArray(he))return he;if(Symbol.iterator in Object(he))return de(he,we);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),c=(function(){function de(he,we){for(var Ae=0;Ae<we.length;Ae++){var me=we[Ae];me.enumerable=me.enumerable||!1,me.configurable=!0,"value"in me&&(me.writable=!0),Object.defineProperty(he,me.key,me)}}return function(he,we,Ae){return we&&de(he.prototype,we),Ae&&de(he,Ae),he}})(),p=s(3),v=j(p),b=s(2),h=j(b),m=s(0),f=j(m),E=s(5),w=j(E),k=s(10),y=j(k),A=s(9),S=j(A),x=s(36),T=s(37),R=s(13),z=j(R),D=s(26),F=s(38),P=s(39),C=s(40);function j(de){return de&&de.__esModule?de:{default:de}}function L(de,he,we){return he in de?Object.defineProperty(de,he,{value:we,enumerable:!0,configurable:!0,writable:!0}):de[he]=we,de}function W(de,he){if(!(de instanceof he))throw new TypeError("Cannot call a class as a function")}function G(de,he){if(!de)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return he&&(typeof he=="object"||typeof he=="function")?he:de}function Z(de,he){if(typeof he!="function"&&he!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof he);de.prototype=Object.create(he&&he.prototype,{constructor:{value:de,enumerable:!1,writable:!0,configurable:!0}}),he&&(Object.setPrototypeOf?Object.setPrototypeOf(de,he):de.__proto__=he)}var te=(0,y.default)("quill:clipboard"),oe="__ql-matcher",X=[[Node.TEXT_NODE,He],[Node.TEXT_NODE,Fe],["br",pe],[Node.ELEMENT_NODE,Fe],[Node.ELEMENT_NODE,fe],[Node.ELEMENT_NODE,Ce],[Node.ELEMENT_NODE,ie],[Node.ELEMENT_NODE,De],["li",Ee],["b",se.bind(se,"bold")],["i",se.bind(se,"italic")],["style",Oe]],q=[x.AlignAttribute,F.DirectionAttribute].reduce(function(de,he){return de[he.keyName]=he,de},{}),N=[x.AlignStyle,T.BackgroundStyle,D.ColorStyle,F.DirectionStyle,P.FontStyle,C.SizeStyle].reduce(function(de,he){return de[he.keyName]=he,de},{}),B=(function(de){Z(he,de);function he(we,Ae){W(this,he);var me=G(this,(he.__proto__||Object.getPrototypeOf(he)).call(this,we,Ae));return me.quill.root.addEventListener("paste",me.onPaste.bind(me)),me.container=me.quill.addContainer("ql-clipboard"),me.container.setAttribute("contenteditable",!0),me.container.setAttribute("tabindex",-1),me.matchers=[],X.concat(me.options.matchers).forEach(function(Ue){var Ke=u(Ue,2),We=Ke[0],zt=Ke[1];!Ae.matchVisual&&zt===Ce||me.addMatcher(We,zt)}),me}return c(he,[{key:"addMatcher",value:function(Ae,me){this.matchers.push([Ae,me])}},{key:"convert",value:function(Ae){if(typeof Ae=="string")return this.container.innerHTML=Ae.replace(/\>\r?\n +\</g,"><"),this.convert();var me=this.quill.getFormat(this.quill.selection.savedRange.index);if(me[z.default.blotName]){var Ue=this.container.innerText;return this.container.innerHTML="",new h.default().insert(Ue,L({},z.default.blotName,me[z.default.blotName]))}var Ke=this.prepareMatching(),We=u(Ke,2),zt=We[0],Kt=We[1],it=$(this.container,zt,Kt);return J(it,` 820`)&&it.ops[it.ops.length-1].attributes==null&&(it=it.compose(new h.default().retain(it.length()-1).delete(1))),te.log("convert",this.container.innerHTML,it),this.container.innerHTML="",it}},{key:"dangerouslyPasteHTML",value:function(Ae,me){var Ue=arguments.length>2&&arguments[2]!==void 0?arguments[2]:w.default.sources.API;if(typeof Ae=="string")this.quill.setContents(this.convert(Ae),me),this.quill.setSelection(0,w.default.sources.SILENT);else{var Ke=this.convert(me);this.quill.updateContents(new h.default().retain(Ae).concat(Ke),Ue),this.quill.setSelection(Ae+Ke.length(),w.default.sources.SILENT)}}},{key:"onPaste",value:function(Ae){var me=this;if(!(Ae.defaultPrevented||!this.quill.isEnabled())){var Ue=this.quill.getSelection(),Ke=new h.default().retain(Ue.index),We=this.quill.scrollingContainer.scrollTop;this.container.focus(),this.quill.selection.update(w.default.sources.SILENT),setTimeout(function(){Ke=Ke.concat(me.convert()).delete(Ue.length),me.quill.updateContents(Ke,w.default.sources.USER),me.quill.setSelection(Ke.length()-Ue.length,w.default.sources.SILENT),me.quill.scrollingContainer.scrollTop=We,me.quill.focus()},1)}}},{key:"prepareMatching",value:function(){var Ae=this,me=[],Ue=[];return this.matchers.forEach(function(Ke){var We=u(Ke,2),zt=We[0],Kt=We[1];switch(zt){case Node.TEXT_NODE:Ue.push(Kt);break;case Node.ELEMENT_NODE:me.push(Kt);break;default:[].forEach.call(Ae.container.querySelectorAll(zt),function(it){it[oe]=it[oe]||[],it[oe].push(Kt)});break}}),[me,Ue]}}]),he})(S.default);B.DEFAULTS={matchers:[],matchVisual:!0};function K(de,he,we){return(typeof he>"u"?"undefined":o(he))==="object"?Object.keys(he).reduce(function(Ae,me){return K(Ae,me,he[me])},de):de.reduce(function(Ae,me){return me.attributes&&me.attributes[he]?Ae.push(me):Ae.insert(me.insert,(0,v.default)({},L({},he,we),me.attributes))},new h.default)}function Q(de){if(de.nodeType!==Node.ELEMENT_NODE)return{};var he="__ql-computed-style";return de[he]||(de[he]=window.getComputedStyle(de))}function J(de,he){for(var we="",Ae=de.ops.length-1;Ae>=0&&we.length<he.length;--Ae){var me=de.ops[Ae];if(typeof me.insert!="string")break;we=me.insert+we}return we.slice(-1*he.length)===he}function U(de){if(de.childNodes.length===0)return!1;var he=Q(de);return["block","list-item"].indexOf(he.display)>-1}function $(de,he,we){return de.nodeType===de.TEXT_NODE?we.reduce(function(Ae,me){return me(de,Ae)},new h.default):de.nodeType===de.ELEMENT_NODE?[].reduce.call(de.childNodes||[],function(Ae,me){var Ue=$(me,he,we);return me.nodeType===de.ELEMENT_NODE&&(Ue=he.reduce(function(Ke,We){return We(me,Ke)},Ue),Ue=(me[oe]||[]).reduce(function(Ke,We){return We(me,Ke)},Ue)),Ae.concat(Ue)},new h.default):new h.default}function se(de,he,we){return K(we,de,!0)}function ie(de,he){var we=f.default.Attributor.Attribute.keys(de),Ae=f.default.Attributor.Class.keys(de),me=f.default.Attributor.Style.keys(de),Ue={};return we.concat(Ae).concat(me).forEach(function(Ke){var We=f.default.query(Ke,f.default.Scope.ATTRIBUTE);We!=null&&(Ue[We.attrName]=We.value(de),Ue[We.attrName])||(We=q[Ke],We!=null&&(We.attrName===Ke||We.keyName===Ke)&&(Ue[We.attrName]=We.value(de)||void 0),We=N[Ke],We!=null&&(We.attrName===Ke||We.keyName===Ke)&&(We=N[Ke],Ue[We.attrName]=We.value(de)||void 0))}),Object.keys(Ue).length>0&&(he=K(he,Ue)),he}function fe(de,he){var we=f.default.query(de);if(we==null)return he;if(we.prototype instanceof f.default.Embed){var Ae={},me=we.value(de);me!=null&&(Ae[we.blotName]=me,he=new h.default().insert(Ae,we.formats(de)))}else typeof we.formats=="function"&&(he=K(he,we.blotName,we.formats(de)));return he}function pe(de,he){return J(he,` 821`)||he.insert(` 822`),he}function Oe(){return new h.default}function Ee(de,he){var we=f.default.query(de);if(we==null||we.blotName!=="list-item"||!J(he,` 823`))return he;for(var Ae=-1,me=de.parentNode;!me.classList.contains("ql-clipboard");)(f.default.query(me)||{}).blotName==="list"&&(Ae+=1),me=me.parentNode;return Ae<=0?he:he.compose(new h.default().retain(he.length()-1).retain(1,{indent:Ae}))}function Fe(de,he){return J(he,` 824`)||(U(de)||he.length()>0&&de.nextSibling&&U(de.nextSibling))&&he.insert(` 825`),he}function Ce(de,he){if(U(de)&&de.nextElementSibling!=null&&!J(he,` 826 827`)){var we=de.offsetHeight+parseFloat(Q(de).marginTop)+parseFloat(Q(de).marginBottom);de.nextElementSibling.offsetTop>de.offsetTop+we*1.5&&he.insert(` 828`)}return he}function De(de,he){var we={},Ae=de.style||{};return Ae.fontStyle&&Q(de).fontStyle==="italic"&&(we.italic=!0),Ae.fontWeight&&(Q(de).fontWeight.startsWith("bold")||parseInt(Q(de).fontWeight)>=700)&&(we.bold=!0),Object.keys(we).length>0&&(he=K(he,we)),parseFloat(Ae.textIndent||0)>0&&(he=new h.default().insert(" ").concat(he)),he}function He(de,he){var we=de.data;if(de.parentNode.tagName==="O:P")return he.insert(we.trim());if(we.trim().length===0&&de.parentNode.classList.contains("ql-clipboard"))return he;if(!Q(de.parentNode).whiteSpace.startsWith("pre")){var Ae=function(Ue,Ke){return Ke=Ke.replace(/[^\u00a0]/g,""),Ke.length<1&&Ue?" ":Ke};we=we.replace(/\r\n/g," ").replace(/\n/g," "),we=we.replace(/\s\s+/g,Ae.bind(Ae,!0)),(de.previousSibling==null&&U(de.parentNode)||de.previousSibling!=null&&U(de.previousSibling))&&(we=we.replace(/^\s+/,Ae.bind(Ae,!1))),(de.nextSibling==null&&U(de.parentNode)||de.nextSibling!=null&&U(de.nextSibling))&&(we=we.replace(/\s+$/,Ae.bind(Ae,!1)))}return he.insert(we)}i.default=B,i.matchAttributor=ie,i.matchBlot=fe,i.matchNewline=Fe,i.matchSpacing=Ce,i.matchText=He}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function E(w,k){for(var y=0;y<k.length;y++){var A=k[y];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(w,A.key,A)}}return function(w,k,y){return k&&E(w.prototype,k),y&&E(w,y),w}})(),u=function E(w,k,y){w===null&&(w=Function.prototype);var A=Object.getOwnPropertyDescriptor(w,k);if(A===void 0){var S=Object.getPrototypeOf(w);return S===null?void 0:E(S,k,y)}else{if("value"in A)return A.value;var x=A.get;return x===void 0?void 0:x.call(y)}},c=s(6),p=v(c);function v(E){return E&&E.__esModule?E:{default:E}}function b(E,w){if(!(E instanceof w))throw new TypeError("Cannot call a class as a function")}function h(E,w){if(!E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return w&&(typeof w=="object"||typeof w=="function")?w:E}function m(E,w){if(typeof w!="function"&&w!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof w);E.prototype=Object.create(w&&w.prototype,{constructor:{value:E,enumerable:!1,writable:!0,configurable:!0}}),w&&(Object.setPrototypeOf?Object.setPrototypeOf(E,w):E.__proto__=w)}var f=(function(E){m(w,E);function w(){return b(this,w),h(this,(w.__proto__||Object.getPrototypeOf(w)).apply(this,arguments))}return o(w,[{key:"optimize",value:function(y){u(w.prototype.__proto__||Object.getPrototypeOf(w.prototype),"optimize",this).call(this,y),this.domNode.tagName!==this.statics.tagName[0]&&this.replaceWith(this.statics.blotName)}}],[{key:"create",value:function(){return u(w.__proto__||Object.getPrototypeOf(w),"create",this).call(this)}},{key:"formats",value:function(){return!0}}]),w})(p.default);f.blotName="bold",f.tagName=["STRONG","B"],i.default=f}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.addControls=i.default=void 0;var o=(function(){function C(j,L){var W=[],G=!0,Z=!1,te=void 0;try{for(var oe=j[Symbol.iterator](),X;!(G=(X=oe.next()).done)&&(W.push(X.value),!(L&&W.length===L));G=!0);}catch(q){Z=!0,te=q}finally{try{!G&&oe.return&&oe.return()}finally{if(Z)throw te}}return W}return function(j,L){if(Array.isArray(j))return j;if(Symbol.iterator in Object(j))return C(j,L);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),u=(function(){function C(j,L){for(var W=0;W<L.length;W++){var G=L[W];G.enumerable=G.enumerable||!1,G.configurable=!0,"value"in G&&(G.writable=!0),Object.defineProperty(j,G.key,G)}}return function(j,L,W){return L&&C(j.prototype,L),W&&C(j,W),j}})(),c=s(2),p=y(c),v=s(0),b=y(v),h=s(5),m=y(h),f=s(10),E=y(f),w=s(9),k=y(w);function y(C){return C&&C.__esModule?C:{default:C}}function A(C,j,L){return j in C?Object.defineProperty(C,j,{value:L,enumerable:!0,configurable:!0,writable:!0}):C[j]=L,C}function S(C,j){if(!(C instanceof j))throw new TypeError("Cannot call a class as a function")}function x(C,j){if(!C)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return j&&(typeof j=="object"||typeof j=="function")?j:C}function T(C,j){if(typeof j!="function"&&j!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof j);C.prototype=Object.create(j&&j.prototype,{constructor:{value:C,enumerable:!1,writable:!0,configurable:!0}}),j&&(Object.setPrototypeOf?Object.setPrototypeOf(C,j):C.__proto__=j)}var R=(0,E.default)("quill:toolbar"),z=(function(C){T(j,C);function j(L,W){S(this,j);var G=x(this,(j.__proto__||Object.getPrototypeOf(j)).call(this,L,W));if(Array.isArray(G.options.container)){var Z=document.createElement("div");F(Z,G.options.container),L.container.parentNode.insertBefore(Z,L.container),G.container=Z}else typeof G.options.container=="string"?G.container=document.querySelector(G.options.container):G.container=G.options.container;if(!(G.container instanceof HTMLElement)){var te;return te=R.error("Container required for toolbar",G.options),x(G,te)}return G.container.classList.add("ql-toolbar"),G.controls=[],G.handlers={},Object.keys(G.options.handlers).forEach(function(oe){G.addHandler(oe,G.options.handlers[oe])}),[].forEach.call(G.container.querySelectorAll("button, select"),function(oe){G.attach(oe)}),G.quill.on(m.default.events.EDITOR_CHANGE,function(oe,X){oe===m.default.events.SELECTION_CHANGE&&G.update(X)}),G.quill.on(m.default.events.SCROLL_OPTIMIZE,function(){var oe=G.quill.selection.getRange(),X=o(oe,1),q=X[0];G.update(q)}),G}return u(j,[{key:"addHandler",value:function(W,G){this.handlers[W]=G}},{key:"attach",value:function(W){var G=this,Z=[].find.call(W.classList,function(oe){return oe.indexOf("ql-")===0});if(Z){if(Z=Z.slice(3),W.tagName==="BUTTON"&&W.setAttribute("type","button"),this.handlers[Z]==null){if(this.quill.scroll.whitelist!=null&&this.quill.scroll.whitelist[Z]==null){R.warn("ignoring attaching to disabled format",Z,W);return}if(b.default.query(Z)==null){R.warn("ignoring attaching to nonexistent format",Z,W);return}}var te=W.tagName==="SELECT"?"change":"click";W.addEventListener(te,function(oe){var X=void 0;if(W.tagName==="SELECT"){if(W.selectedIndex<0)return;var q=W.options[W.selectedIndex];q.hasAttribute("selected")?X=!1:X=q.value||!1}else W.classList.contains("ql-active")?X=!1:X=W.value||!W.hasAttribute("value"),oe.preventDefault();G.quill.focus();var N=G.quill.selection.getRange(),B=o(N,1),K=B[0];if(G.handlers[Z]!=null)G.handlers[Z].call(G,X);else if(b.default.query(Z).prototype instanceof b.default.Embed){if(X=prompt("Enter "+Z),!X)return;G.quill.updateContents(new p.default().retain(K.index).delete(K.length).insert(A({},Z,X)),m.default.sources.USER)}else G.quill.format(Z,X,m.default.sources.USER);G.update(K)}),this.controls.push([Z,W])}}},{key:"update",value:function(W){var G=W==null?{}:this.quill.getFormat(W);this.controls.forEach(function(Z){var te=o(Z,2),oe=te[0],X=te[1];if(X.tagName==="SELECT"){var q=void 0;if(W==null)q=null;else if(G[oe]==null)q=X.querySelector("option[selected]");else if(!Array.isArray(G[oe])){var N=G[oe];typeof N=="string"&&(N=N.replace(/\"/g,'\\"')),q=X.querySelector('option[value="'+N+'"]')}q==null?(X.value="",X.selectedIndex=-1):q.selected=!0}else if(W==null)X.classList.remove("ql-active");else if(X.hasAttribute("value")){var B=G[oe]===X.getAttribute("value")||G[oe]!=null&&G[oe].toString()===X.getAttribute("value")||G[oe]==null&&!X.getAttribute("value");X.classList.toggle("ql-active",B)}else X.classList.toggle("ql-active",G[oe]!=null)})}}]),j})(k.default);z.DEFAULTS={};function D(C,j,L){var W=document.createElement("button");W.setAttribute("type","button"),W.classList.add("ql-"+j),L!=null&&(W.value=L),C.appendChild(W)}function F(C,j){Array.isArray(j[0])||(j=[j]),j.forEach(function(L){var W=document.createElement("span");W.classList.add("ql-formats"),L.forEach(function(G){if(typeof G=="string")D(W,G);else{var Z=Object.keys(G)[0],te=G[Z];Array.isArray(te)?P(W,Z,te):D(W,Z,te)}}),C.appendChild(W)})}function P(C,j,L){var W=document.createElement("select");W.classList.add("ql-"+j),L.forEach(function(G){var Z=document.createElement("option");G!==!1?Z.setAttribute("value",G):Z.setAttribute("selected","selected"),W.appendChild(Z)}),C.appendChild(W)}z.DEFAULTS={container:null,handlers:{clean:function(){var j=this,L=this.quill.getSelection();if(L!=null)if(L.length==0){var W=this.quill.getFormat();Object.keys(W).forEach(function(G){b.default.query(G,b.default.Scope.INLINE)!=null&&j.quill.format(G,!1)})}else this.quill.removeFormat(L,m.default.sources.USER)},direction:function(j){var L=this.quill.getFormat().align;j==="rtl"&&L==null?this.quill.format("align","right",m.default.sources.USER):!j&&L==="right"&&this.quill.format("align",!1,m.default.sources.USER),this.quill.format("direction",j,m.default.sources.USER)},indent:function(j){var L=this.quill.getSelection(),W=this.quill.getFormat(L),G=parseInt(W.indent||0);if(j==="+1"||j==="-1"){var Z=j==="+1"?1:-1;W.direction==="rtl"&&(Z*=-1),this.quill.format("indent",G+Z,m.default.sources.USER)}},link:function(j){j===!0&&(j=prompt("Enter link URL:")),this.quill.format("link",j,m.default.sources.USER)},list:function(j){var L=this.quill.getSelection(),W=this.quill.getFormat(L);j==="check"?W.list==="checked"||W.list==="unchecked"?this.quill.format("list",!1,m.default.sources.USER):this.quill.format("list","unchecked",m.default.sources.USER):this.quill.format("list",j,m.default.sources.USER)}}},i.default=z,i.addControls=F}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <polyline class="ql-even ql-stroke" points="5 7 3 9 5 11"></polyline> <polyline class="ql-even ql-stroke" points="13 7 15 9 13 11"></polyline> <line class=ql-stroke x1=10 x2=8 y1=5 y2=13></line> </svg>'}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function E(w,k){for(var y=0;y<k.length;y++){var A=k[y];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(w,A.key,A)}}return function(w,k,y){return k&&E(w.prototype,k),y&&E(w,y),w}})(),u=function E(w,k,y){w===null&&(w=Function.prototype);var A=Object.getOwnPropertyDescriptor(w,k);if(A===void 0){var S=Object.getPrototypeOf(w);return S===null?void 0:E(S,k,y)}else{if("value"in A)return A.value;var x=A.get;return x===void 0?void 0:x.call(y)}},c=s(28),p=v(c);function v(E){return E&&E.__esModule?E:{default:E}}function b(E,w){if(!(E instanceof w))throw new TypeError("Cannot call a class as a function")}function h(E,w){if(!E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return w&&(typeof w=="object"||typeof w=="function")?w:E}function m(E,w){if(typeof w!="function"&&w!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof w);E.prototype=Object.create(w&&w.prototype,{constructor:{value:E,enumerable:!1,writable:!0,configurable:!0}}),w&&(Object.setPrototypeOf?Object.setPrototypeOf(E,w):E.__proto__=w)}var f=(function(E){m(w,E);function w(k,y){b(this,w);var A=h(this,(w.__proto__||Object.getPrototypeOf(w)).call(this,k));return A.label.innerHTML=y,A.container.classList.add("ql-color-picker"),[].slice.call(A.container.querySelectorAll(".ql-picker-item"),0,7).forEach(function(S){S.classList.add("ql-primary")}),A}return o(w,[{key:"buildItem",value:function(y){var A=u(w.prototype.__proto__||Object.getPrototypeOf(w.prototype),"buildItem",this).call(this,y);return A.style.backgroundColor=y.getAttribute("value")||"",A}},{key:"selectItem",value:function(y,A){u(w.prototype.__proto__||Object.getPrototypeOf(w.prototype),"selectItem",this).call(this,y,A);var S=this.label.querySelector(".ql-color-label"),x=y&&y.getAttribute("data-value")||"";S&&(S.tagName==="line"?S.style.stroke=x:S.style.fill=x)}}]),w})(p.default);i.default=f}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function E(w,k){for(var y=0;y<k.length;y++){var A=k[y];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(w,A.key,A)}}return function(w,k,y){return k&&E(w.prototype,k),y&&E(w,y),w}})(),u=function E(w,k,y){w===null&&(w=Function.prototype);var A=Object.getOwnPropertyDescriptor(w,k);if(A===void 0){var S=Object.getPrototypeOf(w);return S===null?void 0:E(S,k,y)}else{if("value"in A)return A.value;var x=A.get;return x===void 0?void 0:x.call(y)}},c=s(28),p=v(c);function v(E){return E&&E.__esModule?E:{default:E}}function b(E,w){if(!(E instanceof w))throw new TypeError("Cannot call a class as a function")}function h(E,w){if(!E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return w&&(typeof w=="object"||typeof w=="function")?w:E}function m(E,w){if(typeof w!="function"&&w!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof w);E.prototype=Object.create(w&&w.prototype,{constructor:{value:E,enumerable:!1,writable:!0,configurable:!0}}),w&&(Object.setPrototypeOf?Object.setPrototypeOf(E,w):E.__proto__=w)}var f=(function(E){m(w,E);function w(k,y){b(this,w);var A=h(this,(w.__proto__||Object.getPrototypeOf(w)).call(this,k));return A.container.classList.add("ql-icon-picker"),[].forEach.call(A.container.querySelectorAll(".ql-picker-item"),function(S){S.innerHTML=y[S.getAttribute("data-value")||""]}),A.defaultItem=A.container.querySelector(".ql-selected"),A.selectItem(A.defaultItem),A}return o(w,[{key:"selectItem",value:function(y,A){u(w.prototype.__proto__||Object.getPrototypeOf(w.prototype),"selectItem",this).call(this,y,A),y=y||this.defaultItem,this.label.innerHTML=y.innerHTML}}]),w})(p.default);i.default=f}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function p(v,b){for(var h=0;h<b.length;h++){var m=b[h];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(v,m.key,m)}}return function(v,b,h){return b&&p(v.prototype,b),h&&p(v,h),v}})();function u(p,v){if(!(p instanceof v))throw new TypeError("Cannot call a class as a function")}var c=(function(){function p(v,b){var h=this;u(this,p),this.quill=v,this.boundsContainer=b||document.body,this.root=v.addContainer("ql-tooltip"),this.root.innerHTML=this.constructor.TEMPLATE,this.quill.root===this.quill.scrollingContainer&&this.quill.root.addEventListener("scroll",function(){h.root.style.marginTop=-1*h.quill.root.scrollTop+"px"}),this.hide()}return o(p,[{key:"hide",value:function(){this.root.classList.add("ql-hidden")}},{key:"position",value:function(b){var h=b.left+b.width/2-this.root.offsetWidth/2,m=b.bottom+this.quill.root.scrollTop;this.root.style.left=h+"px",this.root.style.top=m+"px",this.root.classList.remove("ql-flip");var f=this.boundsContainer.getBoundingClientRect(),E=this.root.getBoundingClientRect(),w=0;
828if(E.right>f.right&&(w=f.right-E.right,this.root.style.left=h+w+"px"),E.left<f.left&&(w=f.left-E.left,this.root.style.left=h+w+"px"),E.bottom>f.bottom){var k=E.bottom-E.top,y=b.bottom-b.top+k;this.root.style.top=m-y+"px",this.root.classList.add("ql-flip")}return w}},{key:"show",value:function(){this.root.classList.remove("ql-editing"),this.root.classList.remove("ql-hidden")}}]),p})();i.default=c}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function P(C,j){var L=[],W=!0,G=!1,Z=void 0;try{for(var te=C[Symbol.iterator](),oe;!(W=(oe=te.next()).done)&&(L.push(oe.value),!(j&&L.length===j));W=!0);}catch(X){G=!0,Z=X}finally{try{!W&&te.return&&te.return()}finally{if(G)throw Z}}return L}return function(C,j){if(Array.isArray(C))return C;if(Symbol.iterator in Object(C))return P(C,j);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),u=function P(C,j,L){C===null&&(C=Function.prototype);var W=Object.getOwnPropertyDescriptor(C,j);if(W===void 0){var G=Object.getPrototypeOf(C);return G===null?void 0:P(G,j,L)}else{if("value"in W)return W.value;var Z=W.get;return Z===void 0?void 0:Z.call(L)}},c=(function(){function P(C,j){for(var L=0;L<j.length;L++){var W=j[L];W.enumerable=W.enumerable||!1,W.configurable=!0,"value"in W&&(W.writable=!0),Object.defineProperty(C,W.key,W)}}return function(C,j,L){return j&&P(C.prototype,j),L&&P(C,L),C}})(),p=s(3),v=S(p),b=s(8),h=S(b),m=s(43),f=S(m),E=s(27),w=S(E),k=s(15),y=s(41),A=S(y);function S(P){return P&&P.__esModule?P:{default:P}}function x(P,C){if(!(P instanceof C))throw new TypeError("Cannot call a class as a function")}function T(P,C){if(!P)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return C&&(typeof C=="object"||typeof C=="function")?C:P}
vendor: 27,611 bytes, line 828
828function R(P,C){if(typeof C!="function"&&C!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof C);P.prototype=Object.create(C&&C.prototype,{constructor:{value:P,enumerable:!1,writable:!0,configurable:!0}}),C&&(Object.setPrototypeOf?Object.setPrototypeOf(P,C):P.__proto__=C)}var z=[[{header:["1","2","3",!1]}],["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]],D=(function(P){R(C,P);function C(j,L){x(this,C),L.modules.toolbar!=null&&L.modules.toolbar.container==null&&(L.modules.toolbar.container=z);var W=T(this,(C.__proto__||Object.getPrototypeOf(C)).call(this,j,L));return W.quill.container.classList.add("ql-snow"),W}return c(C,[{key:"extendToolbar",value:function(L){L.container.classList.add("ql-snow"),this.buildButtons([].slice.call(L.container.querySelectorAll("button")),A.default),this.buildPickers([].slice.call(L.container.querySelectorAll("select")),A.default),this.tooltip=new F(this.quill,this.options.bounds),L.container.querySelector(".ql-link")&&this.quill.keyboard.addBinding({key:"K",shortKey:!0},function(W,G){L.handlers.link.call(L,!G.format.link)})}}]),C})(f.default);D.DEFAULTS=(0,v.default)(!0,{},f.default.DEFAULTS,{modules:{toolbar:{handlers:{link:function(C){if(C){var j=this.quill.getSelection();if(j==null||j.length==0)return;var L=this.quill.getText(j);/^\S+@\S+\.\S+$/.test(L)&&L.indexOf("mailto:")!==0&&(L="mailto:"+L);var W=this.quill.theme.tooltip;W.edit("link",L)}else this.quill.format("link",!1)}}}}});var F=(function(P){R(C,P);function C(j,L){x(this,C);var W=T(this,(C.__proto__||Object.getPrototypeOf(C)).call(this,j,L));return W.preview=W.root.querySelector("a.ql-preview"),W}return c(C,[{key:"listen",value:function(){var L=this;u(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"listen",this).call(this),this.root.querySelector("a.ql-action").addEventListener("click",function(W){L.root.classList.contains("ql-editing")?L.save():L.edit("link",L.preview.textContent),W.preventDefault()}),this.root.querySelector("a.ql-remove").addEventListener("click",function(W){if(L.linkRange!=null){var G=L.linkRange;L.restoreFocus(),L.quill.formatText(G,"link",!1,h.default.sources.USER),delete L.linkRange}W.preventDefault(),L.hide()}),this.quill.on(h.default.events.SELECTION_CHANGE,function(W,G,Z){if(W!=null){if(W.length===0&&Z===h.default.sources.USER){var te=L.quill.scroll.descendant(w.default,W.index),oe=o(te,2),X=oe[0],q=oe[1];if(X!=null){L.linkRange=new k.Range(W.index-q,X.length());var N=w.default.formats(X.domNode);L.preview.textContent=N,L.preview.setAttribute("href",N),L.show(),L.position(L.quill.getBounds(L.linkRange));return}}else delete L.linkRange;L.hide()}})}},{key:"show",value:function(){u(C.prototype.__proto__||Object.getPrototypeOf(C.prototype),"show",this).call(this),this.root.removeAttribute("data-mode")}}]),C})(m.BaseTooltip);F.TEMPLATE=['<a class="ql-preview" rel="noopener noreferrer" target="_blank" href="about:blank"></a>','<input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL">','<a class="ql-action"></a>','<a class="ql-remove"></a>'].join(""),i.default=D}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(29),u=me(o),c=s(36),p=s(38),v=s(64),b=s(65),h=me(b),m=s(66),f=me(m),E=s(67),w=me(E),k=s(37),y=s(26),A=s(39),S=s(40),x=s(56),T=me(x),R=s(68),z=me(R),D=s(27),F=me(D),P=s(69),C=me(P),j=s(70),L=me(j),W=s(71),G=me(W),Z=s(72),te=me(Z),oe=s(73),X=me(oe),q=s(13),N=me(q),B=s(74),K=me(B),Q=s(75),J=me(Q),U=s(57),$=me(U),se=s(41),ie=me(se),fe=s(28),pe=me(fe),Oe=s(59),Ee=me(Oe),Fe=s(60),Ce=me(Fe),De=s(61),He=me(De),de=s(108),he=me(de),we=s(62),Ae=me(we);function me(Ue){return Ue&&Ue.__esModule?Ue:{default:Ue}}u.default.register({"attributors/attribute/direction":p.DirectionAttribute,"attributors/class/align":c.AlignClass,"attributors/class/background":k.BackgroundClass,"attributors/class/color":y.ColorClass,"attributors/class/direction":p.DirectionClass,"attributors/class/font":A.FontClass,"attributors/class/size":S.SizeClass,"attributors/style/align":c.AlignStyle,"attributors/style/background":k.BackgroundStyle,"attributors/style/color":y.ColorStyle,"attributors/style/direction":p.DirectionStyle,"attributors/style/font":A.FontStyle,"attributors/style/size":S.SizeStyle},!0),u.default.register({"formats/align":c.AlignClass,"formats/direction":p.DirectionClass,"formats/indent":v.IndentClass,"formats/background":k.BackgroundStyle,"formats/color":y.ColorStyle,"formats/font":A.FontClass,"formats/size":S.SizeClass,"formats/blockquote":h.default,"formats/code-block":N.default,"formats/header":f.default,"formats/list":w.default,"formats/bold":T.default,"formats/code":q.Code,"formats/italic":z.default,"formats/link":F.default,"formats/script":C.default,"formats/strike":L.default,"formats/underline":G.default,"formats/image":te.default,"formats/video":X.default,"formats/list/item":E.ListItem,"modules/formula":K.default,"modules/syntax":J.default,"modules/toolbar":$.default,"themes/bubble":he.default,"themes/snow":Ae.default,"ui/icons":ie.default,"ui/picker":pe.default,"ui/icon-picker":Ce.default,"ui/color-picker":Ee.default,"ui/tooltip":He.default},!0),i.default=u.default}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.IndentClass=void 0;var o=(function(){function w(k,y){for(var A=0;A<y.length;A++){var S=y[A];S.enumerable=S.enumerable||!1,S.configurable=!0,"value"in S&&(S.writable=!0),Object.defineProperty(k,S.key,S)}}return function(k,y,A){return y&&w(k.prototype,y),A&&w(k,A),k}})(),u=function w(k,y,A){k===null&&(k=Function.prototype);var S=Object.getOwnPropertyDescriptor(k,y);if(S===void 0){var x=Object.getPrototypeOf(k);return x===null?void 0:w(x,y,A)}else{if("value"in S)return S.value;var T=S.get;return T===void 0?void 0:T.call(A)}},c=s(0),p=v(c);function v(w){return w&&w.__esModule?w:{default:w}}function b(w,k){if(!(w instanceof k))throw new TypeError("Cannot call a class as a function")}function h(w,k){if(!w)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return k&&(typeof k=="object"||typeof k=="function")?k:w}function m(w,k){if(typeof k!="function"&&k!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof k);w.prototype=Object.create(k&&k.prototype,{constructor:{value:w,enumerable:!1,writable:!0,configurable:!0}}),k&&(Object.setPrototypeOf?Object.setPrototypeOf(w,k):w.__proto__=k)}var f=(function(w){m(k,w);function k(){return b(this,k),h(this,(k.__proto__||Object.getPrototypeOf(k)).apply(this,arguments))}return o(k,[{key:"add",value:function(A,S){if(S==="+1"||S==="-1"){var x=this.value(A)||0;S=S==="+1"?x+1:x-1}return S===0?(this.remove(A),!0):u(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"add",this).call(this,A,S)}},{key:"canAdd",value:function(A,S){return u(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"canAdd",this).call(this,A,S)||u(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"canAdd",this).call(this,A,parseInt(S))}},{key:"value",value:function(A){return parseInt(u(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"value",this).call(this,A))||void 0}}]),k})(p.default.Attributor.Class),E=new f("indent","ql-indent",{scope:p.default.Scope.BLOCK,whitelist:[1,2,3,4,5,6,7,8]});i.IndentClass=E}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(4),u=c(o);function c(m){return m&&m.__esModule?m:{default:m}}function p(m,f){if(!(m instanceof f))throw new TypeError("Cannot call a class as a function")}function v(m,f){if(!m)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:m}function b(m,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);m.prototype=Object.create(f&&f.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(m,f):m.__proto__=f)}var h=(function(m){b(f,m);function f(){return p(this,f),v(this,(f.__proto__||Object.getPrototypeOf(f)).apply(this,arguments))}return f})(u.default);h.blotName="blockquote",h.tagName="blockquote",i.default=h}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function f(E,w){for(var k=0;k<w.length;k++){var y=w[k];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(E,y.key,y)}}return function(E,w,k){return w&&f(E.prototype,w),k&&f(E,k),E}})(),u=s(4),c=p(u);function p(f){return f&&f.__esModule?f:{default:f}}function v(f,E){if(!(f instanceof E))throw new TypeError("Cannot call a class as a function")}function b(f,E){if(!f)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return E&&(typeof E=="object"||typeof E=="function")?E:f}function h(f,E){if(typeof E!="function"&&E!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof E);f.prototype=Object.create(E&&E.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}),E&&(Object.setPrototypeOf?Object.setPrototypeOf(f,E):f.__proto__=E)}var m=(function(f){h(E,f);function E(){return v(this,E),b(this,(E.__proto__||Object.getPrototypeOf(E)).apply(this,arguments))}return o(E,null,[{key:"formats",value:function(k){return this.tagName.indexOf(k.tagName)+1}}]),E})(c.default);m.blotName="header",m.tagName=["H1","H2","H3","H4","H5","H6"],i.default=m}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.default=i.ListItem=void 0;var o=(function(){function x(T,R){for(var z=0;z<R.length;z++){var D=R[z];D.enumerable=D.enumerable||!1,D.configurable=!0,"value"in D&&(D.writable=!0),Object.defineProperty(T,D.key,D)}}return function(T,R,z){return R&&x(T.prototype,R),z&&x(T,z),T}})(),u=function x(T,R,z){T===null&&(T=Function.prototype);var D=Object.getOwnPropertyDescriptor(T,R);if(D===void 0){var F=Object.getPrototypeOf(T);return F===null?void 0:x(F,R,z)}else{if("value"in D)return D.value;var P=D.get;return P===void 0?void 0:P.call(z)}},c=s(0),p=f(c),v=s(4),b=f(v),h=s(25),m=f(h);function f(x){return x&&x.__esModule?x:{default:x}}function E(x,T,R){return T in x?Object.defineProperty(x,T,{value:R,enumerable:!0,configurable:!0,writable:!0}):x[T]=R,x}function w(x,T){if(!(x instanceof T))throw new TypeError("Cannot call a class as a function")}function k(x,T){if(!x)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return T&&(typeof T=="object"||typeof T=="function")?T:x}function y(x,T){if(typeof T!="function"&&T!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof T);x.prototype=Object.create(T&&T.prototype,{constructor:{value:x,enumerable:!1,writable:!0,configurable:!0}}),T&&(Object.setPrototypeOf?Object.setPrototypeOf(x,T):x.__proto__=T)}var A=(function(x){y(T,x);function T(){return w(this,T),k(this,(T.__proto__||Object.getPrototypeOf(T)).apply(this,arguments))}return o(T,[{key:"format",value:function(z,D){z===S.blotName&&!D?this.replaceWith(p.default.create(this.statics.scope)):u(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"format",this).call(this,z,D)}},{key:"remove",value:function(){this.prev==null&&this.next==null?this.parent.remove():u(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"remove",this).call(this)}},{key:"replaceWith",value:function(z,D){return this.parent.isolate(this.offset(this.parent),this.length()),z===this.parent.statics.blotName?(this.parent.replaceWith(z,D),this):(this.parent.unwrap(),u(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"replaceWith",this).call(this,z,D))}}],[{key:"formats",value:function(z){return z.tagName===this.tagName?void 0:u(T.__proto__||Object.getPrototypeOf(T),"formats",this).call(this,z)}}]),T})(b.default);A.blotName="list-item",A.tagName="LI";var S=(function(x){y(T,x),o(T,null,[{key:"create",value:function(z){var D=z==="ordered"?"OL":"UL",F=u(T.__proto__||Object.getPrototypeOf(T),"create",this).call(this,D);return(z==="checked"||z==="unchecked")&&F.setAttribute("data-checked",z==="checked"),F}},{key:"formats",value:function(z){if(z.tagName==="OL")return"ordered";if(z.tagName==="UL")return z.hasAttribute("data-checked")?z.getAttribute("data-checked")==="true"?"checked":"unchecked":"bullet"}}]);function T(R){w(this,T);var z=k(this,(T.__proto__||Object.getPrototypeOf(T)).call(this,R)),D=function(P){if(P.target.parentNode===R){var C=z.statics.formats(R),j=p.default.find(P.target);C==="checked"?j.format("list","unchecked"):C==="unchecked"&&j.format("list","checked")}};return R.addEventListener("touchstart",D),R.addEventListener("mousedown",D),z}return o(T,[{key:"format",value:function(z,D){this.children.length>0&&this.children.tail.format(z,D)}},{key:"formats",value:function(){return E({},this.statics.blotName,this.statics.formats(this.domNode))}},{key:"insertBefore",value:function(z,D){if(z instanceof A)u(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"insertBefore",this).call(this,z,D);else{var F=D==null?this.length():D.offset(this),P=this.split(F);P.parent.insertBefore(z,P)}}},{key:"optimize",value:function(z){u(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"optimize",this).call(this,z);var D=this.next;D!=null&&D.prev===this&&D.statics.blotName===this.statics.blotName&&D.domNode.tagName===this.domNode.tagName&&D.domNode.getAttribute("data-checked")===this.domNode.getAttribute("data-checked")&&(D.moveChildren(this),D.remove())}},{key:"replace",value:function(z){if(z.statics.blotName!==this.statics.blotName){var D=p.default.create(this.statics.defaultChild);z.moveChildren(D),this.appendChild(D)}u(T.prototype.__proto__||Object.getPrototypeOf(T.prototype),"replace",this).call(this,z)}}]),T})(m.default);S.blotName="list",S.scope=p.default.Scope.BLOCK_BLOT,S.tagName=["OL","UL"],S.defaultChild="list-item",S.allowedChildren=[A],i.ListItem=A,i.default=S}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(56),u=c(o);function c(m){return m&&m.__esModule?m:{default:m}}function p(m,f){if(!(m instanceof f))throw new TypeError("Cannot call a class as a function")}function v(m,f){if(!m)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:m}function b(m,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);m.prototype=Object.create(f&&f.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(m,f):m.__proto__=f)}var h=(function(m){b(f,m);function f(){return p(this,f),v(this,(f.__proto__||Object.getPrototypeOf(f)).apply(this,arguments))}return f})(u.default);h.blotName="italic",h.tagName=["EM","I"],i.default=h}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function E(w,k){for(var y=0;y<k.length;y++){var A=k[y];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(w,A.key,A)}}return function(w,k,y){return k&&E(w.prototype,k),y&&E(w,y),w}})(),u=function E(w,k,y){w===null&&(w=Function.prototype);var A=Object.getOwnPropertyDescriptor(w,k);if(A===void 0){var S=Object.getPrototypeOf(w);return S===null?void 0:E(S,k,y)}else{if("value"in A)return A.value;var x=A.get;return x===void 0?void 0:x.call(y)}},c=s(6),p=v(c);function v(E){return E&&E.__esModule?E:{default:E}}function b(E,w){if(!(E instanceof w))throw new TypeError("Cannot call a class as a function")}function h(E,w){if(!E)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return w&&(typeof w=="object"||typeof w=="function")?w:E}function m(E,w){if(typeof w!="function"&&w!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof w);E.prototype=Object.create(w&&w.prototype,{constructor:{value:E,enumerable:!1,writable:!0,configurable:!0}}),w&&(Object.setPrototypeOf?Object.setPrototypeOf(E,w):E.__proto__=w)}var f=(function(E){m(w,E);function w(){return b(this,w),h(this,(w.__proto__||Object.getPrototypeOf(w)).apply(this,arguments))}return o(w,null,[{key:"create",value:function(y){return y==="super"?document.createElement("sup"):y==="sub"?document.createElement("sub"):u(w.__proto__||Object.getPrototypeOf(w),"create",this).call(this,y)}},{key:"formats",value:function(y){if(y.tagName==="SUB")return"sub";if(y.tagName==="SUP")return"super"}}]),w})(p.default);f.blotName="script",f.tagName=["SUB","SUP"],i.default=f}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(6),u=c(o);function c(m){return m&&m.__esModule?m:{default:m}}function p(m,f){if(!(m instanceof f))throw new TypeError("Cannot call a class as a function")}function v(m,f){if(!m)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:m}function b(m,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);m.prototype=Object.create(f&&f.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(m,f):m.__proto__=f)}var h=(function(m){b(f,m);function f(){return p(this,f),v(this,(f.__proto__||Object.getPrototypeOf(f)).apply(this,arguments))}return f})(u.default);h.blotName="strike",h.tagName="S",i.default=h}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=s(6),u=c(o);function c(m){return m&&m.__esModule?m:{default:m}}function p(m,f){if(!(m instanceof f))throw new TypeError("Cannot call a class as a function")}function v(m,f){if(!m)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:m}function b(m,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);m.prototype=Object.create(f&&f.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(m,f):m.__proto__=f)}var h=(function(m){b(f,m);function f(){return p(this,f),v(this,(f.__proto__||Object.getPrototypeOf(f)).apply(this,arguments))}return f})(u.default);h.blotName="underline",h.tagName="U",i.default=h}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function k(y,A){for(var S=0;S<A.length;S++){var x=A[S];x.enumerable=x.enumerable||!1,x.configurable=!0,"value"in x&&(x.writable=!0),Object.defineProperty(y,x.key,x)}}return function(y,A,S){return A&&k(y.prototype,A),S&&k(y,S),y}})(),u=function k(y,A,S){y===null&&(y=Function.prototype);var x=Object.getOwnPropertyDescriptor(y,A);if(x===void 0){var T=Object.getPrototypeOf(y);return T===null?void 0:k(T,A,S)}else{if("value"in x)return x.value;var R=x.get;return R===void 0?void 0:R.call(S)}},c=s(0),p=b(c),v=s(27);function b(k){return k&&k.__esModule?k:{default:k}}function h(k,y){if(!(k instanceof y))throw new TypeError("Cannot call a class as a function")}function m(k,y){if(!k)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y&&(typeof y=="object"||typeof y=="function")?y:k}function f(k,y){if(typeof y!="function"&&y!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof y);k.prototype=Object.create(y&&y.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),y&&(Object.setPrototypeOf?Object.setPrototypeOf(k,y):k.__proto__=y)}var E=["alt","height","width"],w=(function(k){f(y,k);function y(){return h(this,y),m(this,(y.__proto__||Object.getPrototypeOf(y)).apply(this,arguments))}return o(y,[{key:"format",value:function(S,x){E.indexOf(S)>-1?x?this.domNode.setAttribute(S,x):this.domNode.removeAttribute(S):u(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"format",this).call(this,S,x)}}],[{key:"create",value:function(S){var x=u(y.__proto__||Object.getPrototypeOf(y),"create",this).call(this,S);return typeof S=="string"&&x.setAttribute("src",this.sanitize(S)),x}},{key:"formats",value:function(S){return E.reduce(function(x,T){return S.hasAttribute(T)&&(x[T]=S.getAttribute(T)),x},{})}},{key:"match",value:function(S){return/\.(jpe?g|gif|png)$/.test(S)||/^data:image\/.+;base64/.test(S)}},{key:"sanitize",value:function(S){return(0,v.sanitize)(S,["http","https","data"])?S:"//:0"}},{key:"value",value:function(S){return S.getAttribute("src")}}]),y})(p.default.Embed);w.blotName="image",w.tagName="IMG",i.default=w}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0});var o=(function(){function k(y,A){for(var S=0;S<A.length;S++){var x=A[S];x.enumerable=x.enumerable||!1,x.configurable=!0,"value"in x&&(x.writable=!0),Object.defineProperty(y,x.key,x)}}return function(y,A,S){return A&&k(y.prototype,A),S&&k(y,S),y}})(),u=function k(y,A,S){y===null&&(y=Function.prototype);var x=Object.getOwnPropertyDescriptor(y,A);if(x===void 0){var T=Object.getPrototypeOf(y);return T===null?void 0:k(T,A,S)}else{if("value"in x)return x.value;var R=x.get;return R===void 0?void 0:R.call(S)}},c=s(4),p=s(27),v=b(p);function b(k){return k&&k.__esModule?k:{default:k}}function h(k,y){if(!(k instanceof y))throw new TypeError("Cannot call a class as a function")}function m(k,y){if(!k)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y&&(typeof y=="object"||typeof y=="function")?y:k}function f(k,y){if(typeof y!="function"&&y!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof y);k.prototype=Object.create(y&&y.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),y&&(Object.setPrototypeOf?Object.setPrototypeOf(k,y):k.__proto__=y)}var E=["height","width"],w=(function(k){f(y,k);function y(){return h(this,y),m(this,(y.__proto__||Object.getPrototypeOf(y)).apply(this,arguments))}return o(y,[{key:"format",value:function(S,x){E.indexOf(S)>-1?x?this.domNode.setAttribute(S,x):this.domNode.removeAttribute(S):u(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"format",this).call(this,S,x)}}],[{key:"create",value:function(S){var x=u(y.__proto__||Object.getPrototypeOf(y),"create",this).call(this,S);return x.setAttribute("frameborder","0"),x.setAttribute("allowfullscreen",!0),x.setAttribute("src",this.sanitize(S)),x}},{key:"formats",value:function(S){return E.reduce(function(x,T){return S.hasAttribute(T)&&(x[T]=S.getAttribute(T)),x},{})}},{key:"sanitize",value:function(S){return v.default.sanitize(S)}},{key:"value",value:function(S){return S.getAttribute("src")}}]),y})(c.BlockEmbed);w.blotName="video",w.className="ql-video",w.tagName="IFRAME",i.default=w}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.default=i.FormulaBlot=void 0;var o=(function(){function S(x,T){for(var R=0;R<T.length;R++){var z=T[R];z.enumerable=z.enumerable||!1,z.configurable=!0,"value"in z&&(z.writable=!0),Object.defineProperty(x,z.key,z)}}return function(x,T,R){return T&&S(x.prototype,T),R&&S(x,R),x}})(),u=function S(x,T,R){x===null&&(x=Function.prototype);var z=Object.getOwnPropertyDescriptor(x,T);if(z===void 0){var D=Object.getPrototypeOf(x);return D===null?void 0:S(D,T,R)}else{if("value"in z)return z.value;var F=z.get;return F===void 0?void 0:F.call(R)}},c=s(35),p=f(c),v=s(5),b=f(v),h=s(9),m=f(h);function f(S){return S&&S.__esModule?S:{default:S}}function E(S,x){if(!(S instanceof x))throw new TypeError("Cannot call a class as a function")}function w(S,x){if(!S)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return x&&(typeof x=="object"||typeof x=="function")?x:S}function k(S,x){if(typeof x!="function"&&x!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof x);S.prototype=Object.create(x&&x.prototype,{constructor:{value:S,enumerable:!1,writable:!0,configurable:!0}}),x&&(Object.setPrototypeOf?Object.setPrototypeOf(S,x):S.__proto__=x)}var y=(function(S){k(x,S);function x(){return E(this,x),w(this,(x.__proto__||Object.getPrototypeOf(x)).apply(this,arguments))}return o(x,null,[{key:"create",value:function(R){var z=u(x.__proto__||Object.getPrototypeOf(x),"create",this).call(this,R);return typeof R=="string"&&(window.katex.render(R,z,{throwOnError:!1,errorColor:"#f00"}),z.setAttribute("data-value",R)),z}},{key:"value",value:function(R){return R.getAttribute("data-value")}}]),x})(p.default);y.blotName="formula",y.className="ql-formula",y.tagName="SPAN";var A=(function(S){k(x,S),o(x,null,[{key:"register",value:function(){b.default.register(y,!0)}}]);function x(){E(this,x);var T=w(this,(x.__proto__||Object.getPrototypeOf(x)).call(this));if(window.katex==null)throw new Error("Formula module requires KaTeX.");return T}return x})(m.default);i.FormulaBlot=y,i.default=A}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.default=i.CodeToken=i.CodeBlock=void 0;var o=(function(){function R(z,D){for(var F=0;F<D.length;F++){var P=D[F];P.enumerable=P.enumerable||!1,P.configurable=!0,"value"in P&&(P.writable=!0),Object.defineProperty(z,P.key,P)}}return function(z,D,F){return D&&R(z.prototype,D),F&&R(z,F),z}})(),u=function R(z,D,F){z===null&&(z=Function.prototype);var P=Object.getOwnPropertyDescriptor(z,D);if(P===void 0){var C=Object.getPrototypeOf(z);return C===null?void 0:R(C,D,F)}else{if("value"in P)return P.value;var j=P.get;return j===void 0?void 0:j.call(F)}},c=s(0),p=w(c),v=s(5),b=w(v),h=s(9),m=w(h),f=s(13),E=w(f);function w(R){return R&&R.__esModule?R:{default:R}}function k(R,z){if(!(R instanceof z))throw new TypeError("Cannot call a class as a function")}function y(R,z){if(!R)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return z&&(typeof z=="object"||typeof z=="function")?z:R}function A(R,z){if(typeof z!="function"&&z!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof z);R.prototype=Object.create(z&&z.prototype,{constructor:{value:R,enumerable:!1,writable:!0,configurable:!0}}),z&&(Object.setPrototypeOf?Object.setPrototypeOf(R,z):R.__proto__=z)}var S=(function(R){A(z,R);function z(){return k(this,z),y(this,(z.__proto__||Object.getPrototypeOf(z)).apply(this,arguments))}return o(z,[{key:"replaceWith",value:function(F){this.domNode.textContent=this.domNode.textContent,this.attach(),u(z.prototype.__proto__||Object.getPrototypeOf(z.prototype),"replaceWith",this).call(this,F)}},{key:"highlight",value:function(F){var P=this.domNode.textContent;this.cachedText!==P&&((P.trim().length>0||this.cachedText==null)&&(this.domNode.innerHTML=F(P),this.domNode.normalize(),this.attach()),this.cachedText=P)}}]),z})(E.default);S.className="ql-syntax";var x=new p.default.Attributor.Class("token","hljs",{scope:p.default.Scope.INLINE}),T=(function(R){A(z,R),o(z,null,[{key:"register",value:function(){b.default.register(x,!0),b.default.register(S,!0)}}]);function z(D,F){k(this,z);var P=y(this,(z.__proto__||Object.getPrototypeOf(z)).call(this,D,F));if(typeof P.options.highlight!="function")throw new Error("Syntax module requires highlight.js. Please include the library on the page before Quill.");var C=null;return P.quill.on(b.default.events.SCROLL_OPTIMIZE,function(){clearTimeout(C),C=setTimeout(function(){P.highlight(),C=null},P.options.interval)}),P.highlight(),P}return o(z,[{key:"highlight",value:function(){var F=this;if(!this.quill.selection.composing){this.quill.update(b.default.sources.USER);var P=this.quill.getSelection();
828this.quill.scroll.descendants(S).forEach(function(C){C.highlight(F.options.highlight)}),this.quill.update(b.default.sources.SILENT),P!=null&&this.quill.setSelection(P,b.default.sources.SILENT)}}}]),z})(m.default);T.DEFAULTS={highlight:(function(){return window.hljs==null?null:function(R){var z=window.hljs.highlightAuto(R);return z.value}})(),interval:1e3},i.CodeBlock=S,i.CodeToken=x,i.default=T}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=3 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=13 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=9 y1=4 y2=4></line> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=14 x2=4 y1=14 y2=14></line> <line class=ql-stroke x1=12 x2=6 y1=4 y2=4></line> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=5 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=9 y1=4 y2=4></line> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=3 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=3 y1=4 y2=4></line> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <g class="ql-fill ql-color-label"> <polygon points="6 6.868 6 6 5 6 5 7 5.942 7 6 6.868"></polygon> <rect height=1 width=1 x=4 y=4></rect> <polygon points="6.817 5 6 5 6 6 6.38 6 6.817 5"></polygon> <rect height=1 width=1 x=2 y=6></rect> <rect height=1 width=1 x=3 y=5></rect> <rect height=1 width=1 x=4 y=7></rect> <polygon points="4 11.439 4 11 3 11 3 12 3.755 12 4 11.439"></polygon> <rect height=1 width=1 x=2 y=12></rect> <rect height=1 width=1 x=2 y=9></rect> <rect height=1 width=1 x=2 y=15></rect> <polygon points="4.63 10 4 10 4 11 4.192 11 4.63 10"></polygon> <rect height=1 width=1 x=3 y=8></rect> <path d=M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z></path> <path d=M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z></path> <path d=M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z></path> <rect height=1 width=1 x=12 y=2></rect> <rect height=1 width=1 x=11 y=3></rect> <path d=M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z></path> <rect height=1 width=1 x=2 y=3></rect> <rect height=1 width=1 x=6 y=2></rect> <rect height=1 width=1 x=3 y=2></rect> <rect height=1 width=1 x=5 y=3></rect> <rect height=1 width=1 x=9 y=2></rect> <rect height=1 width=1 x=15 y=14></rect> <polygon points="13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174"></polygon> <rect height=1 width=1 x=13 y=7></rect> <rect height=1 width=1 x=15 y=5></rect> <rect height=1 width=1 x=14 y=6></rect> <rect height=1 width=1 x=15 y=8></rect> <rect height=1 width=1 x=14 y=9></rect> <path d=M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z></path> <rect height=1 width=1 x=14 y=3></rect> <polygon points="12 6.868 12 6 11.62 6 12 6.868"></polygon> <rect height=1 width=1 x=15 y=2></rect> <rect height=1 width=1 x=12 y=5></rect> <rect height=1 width=1 x=13 y=4></rect> <polygon points="12.933 9 13 9 13 8 12.495 8 12.933 9"></polygon> <rect height=1 width=1 x=9 y=14></rect> <rect height=1 width=1 x=8 y=15></rect> <path d=M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z></path> <rect height=1 width=1 x=5 y=15></rect> <path d=M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z></path> <rect height=1 width=1 x=11 y=15></rect> <path d=M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z></path> <rect height=1 width=1 x=14 y=15></rect> <rect height=1 width=1 x=15 y=11></rect> </g> <polyline class=ql-stroke points="5.5 13 9 5 12.5 13"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=11 y2=11></line> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <rect class="ql-fill ql-stroke" height=3 width=3 x=4 y=5></rect> <rect class="ql-fill ql-stroke" height=3 width=3 x=11 y=5></rect> <path class="ql-even ql-fill ql-stroke" d=M7,8c0,4.031-3,5-3,5></path> <path class="ql-even ql-fill ql-stroke" d=M14,8c0,4.031-3,5-3,5></path> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <path class=ql-stroke d=M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z></path> <path class=ql-stroke d=M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z></path> </svg>'}),(function(n,i){n.exports='<svg class="" viewbox="0 0 18 18"> <line class=ql-stroke x1=5 x2=13 y1=3 y2=3></line> <line class=ql-stroke x1=6 x2=9.35 y1=12 y2=3></line> <line class=ql-stroke x1=11 x2=15 y1=11 y2=15></line>
828 <line class=ql-stroke x1=15 x2=11 y1=11 y2=15></line> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=7 x=2 y=14></rect> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class="ql-color-label ql-stroke ql-transparent" x1=3 x2=15 y1=15 y2=15></line> <polyline class=ql-stroke points="5.5 11 9 3 12.5 11"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=9 y2=9></line> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <polygon class="ql-stroke ql-fill" points="3 11 5 9 3 7 3 11"></polygon> <line class="ql-stroke ql-fill" x1=15 x2=11 y1=4 y2=4></line> <path class=ql-fill d=M11,3a3,3,0,0,0,0,6h1V3H11Z></path> <rect class=ql-fill height=11 width=1 x=11 y=4></rect> <rect class=ql-fill height=11 width=1 x=13 y=4></rect> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <polygon class="ql-stroke ql-fill" points="15 12 13 10 15 8 15 12"></polygon> <line class="ql-stroke ql-fill" x1=9 x2=5 y1=4 y2=4></line> <path class=ql-fill d=M5,3A3,3,0,0,0,5,9H6V3H5Z></path> <rect class=ql-fill height=11 width=1 x=5 y=4></rect> <rect class=ql-fill height=11 width=1 x=7 y=4></rect> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <path class=ql-fill d=M14,16H4a1,1,0,0,1,0-2H14A1,1,0,0,1,14,16Z /> <path class=ql-fill d=M14,4H4A1,1,0,0,1,4,2H14A1,1,0,0,1,14,4Z /> <rect class=ql-fill x=3 y=6 width=12 height=6 rx=1 ry=1 /> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <path class=ql-fill d=M13,16H5a1,1,0,0,1,0-2h8A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H5A1,1,0,0,1,5,2h8A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=2 y=6 width=14 height=6 rx=1 ry=1 /> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <path class=ql-fill d=M15,8H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,8Z /> <path class=ql-fill d=M15,12H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,12Z /> <path class=ql-fill d=M15,16H5a1,1,0,0,1,0-2H15A1,1,0,0,1,15,16Z /> <path class=ql-fill d=M15,4H5A1,1,0,0,1,5,2H15A1,1,0,0,1,15,4Z /> <rect class=ql-fill x=2 y=6 width=8 height=6 rx=1 ry=1 /> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <path class=ql-fill d=M5,8H3A1,1,0,0,1,3,6H5A1,1,0,0,1,5,8Z /> <path class=ql-fill d=M5,12H3a1,1,0,0,1,0-2H5A1,1,0,0,1,5,12Z /> <path class=ql-fill d=M13,16H3a1,1,0,0,1,0-2H13A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H3A1,1,0,0,1,3,2H13A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=8 y=6 width=8 height=6 rx=1 ry=1 transform="translate(24 18) rotate(-180)"/> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <path class=ql-fill d=M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z></path> <rect class=ql-fill height=1.6 rx=0.8 ry=0.8 width=5 x=5.15 y=6.2></rect> <path class=ql-fill d=M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z></path> </svg>'}),(function(n,i){n.exports='<svg viewBox="0 0 18 18"> <path class=ql-fill d=M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z /> </svg>'}),(function(n,i){n.exports='<svg viewBox="0 0 18 18"> <path class=ql-fill d=M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z /> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=7 x2=13 y1=4 y2=4></line> <line class=ql-stroke x1=5 x2=11 y1=14 y2=14></line> <line class=ql-stroke x1=8 x2=10 y1=14 y2=4></line> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <rect class=ql-stroke height=10 width=12 x=3 y=4></rect> <circle class=ql-fill cx=6 cy=7 r=1></circle> <polyline class="ql-even ql-fill" points="5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12"></polyline> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class="ql-fill ql-stroke" points="3 7 3 11 5 9 3 7"></polyline> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points="5 7 5 11 3 9 5 7"></polyline> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=7 x2=11 y1=7 y2=11></line> <path class="ql-even ql-stroke" d=M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z></path> <path class="ql-even ql-stroke" d=M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z></path> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=7 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=7 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=7 x2=15 y1=14 y2=14></line> <line class="ql-stroke ql-thin" x1=2.5 x2=4.5 y1=5.5 y2=5.5></line> <path class=ql-fill d=M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z></path> <path class="ql-stroke ql-thin" d=M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156></path> <path class="ql-stroke ql-thin" d=M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109></path> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=6 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=6 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=6 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=3 y1=4 y2=4></line> <line class=ql-stroke x1=3 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=3 y1=14 y2=14></line> </svg>'}),(function(n,i){n.exports='<svg class="" viewbox="0 0 18 18"> <line class=ql-stroke x1=9 x2=15 y1=4 y2=4></line> <polyline class=ql-stroke points="3 4 4 5 6 3"></polyline> <line class=ql-stroke x1=9 x2=15 y1=14 y2=14></line> <polyline class=ql-stroke points="3 14 4 15 6 13"></polyline> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points="3 9 4 10 6 8"></polyline> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <path class=ql-fill d=M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z /> <path class=ql-fill d=M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z /> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <path class=ql-fill d=M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z /> <path class=ql-fill d=M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z /> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <line class="ql-stroke ql-thin" x1=15.5 x2=2.5 y1=8.5 y2=9.5></line> <path class=ql-fill d=M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z></path> <path class=ql-fill d=M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z></path> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <path class=ql-stroke d=M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3></path> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=12 x=3 y=15></rect> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <rect class=ql-stroke height=12 width=12 x=3 y=3></rect> <rect class=ql-fill height=12 width=1 x=5 y=3></rect> <rect class=ql-fill height=12 width=1 x=12 y=3></rect> <rect class=ql-fill height=2 width=8 x=5 y=8></rect> <rect class=ql-fill height=1 width=3 x=3 y=5></rect> <rect class=ql-fill height=1 width=3 x=3 y=7></rect> <rect class=ql-fill height=1 width=3 x=3 y=10></rect> <rect class=ql-fill height=1 width=3 x=3 y=12></rect> <rect class=ql-fill height=1 width=3 x=12 y=5></rect> <rect class=ql-fill height=1 width=3 x=12 y=7></rect> <rect class=ql-fill height=1 width=3 x=12 y=10></rect> <rect class=ql-fill height=1 width=3 x=12 y=12></rect> </svg>'}),(function(n,i){n.exports='<svg viewbox="0 0 18 18"> <polygon class=ql-stroke points="7 11 9 13 11 11 7 11"></polygon> <polygon class=ql-stroke points="7 7 9 5 11 7 7 7"></polygon> </svg>'}),(function(n,i,s){Object.defineProperty(i,"__esModule",{value:!0}),i.default=i.BubbleTooltip=void 0;var o=function z(D,F,P){D===null&&(D=Function.prototype);var C=Object.getOwnPropertyDescriptor(D,F);if(C===void 0){var j=Object.getPrototypeOf(D);return j===null?void 0:z(j,F,P)}else{if("value"in C)return C.value;var L=C.get;return L===void 0?void 0:L.call(P)}},u=(function(){function z(D,F){for(var P=0;P<F.length;P++){var C=F[P];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),Object.defineProperty(D,C.key,
828C)}}return function(D,F,P){return F&&z(D.prototype,F),P&&z(D,P),D}})(),c=s(3),p=k(c),v=s(8),b=k(v),h=s(43),m=k(h),f=s(15),E=s(41),w=k(E);function k(z){return z&&z.__esModule?z:{default:z}}function y(z,D){if(!(z instanceof D))throw new TypeError("Cannot call a class as a function")}function A(z,D){if(!z)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return D&&(typeof D=="object"||typeof D=="function")?D:z}function S(z,D){if(typeof D!="function"&&D!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof D);z.prototype=Object.create(D&&D.prototype,{constructor:{value:z,enumerable:!1,writable:!0,configurable:!0}}),D&&(Object.setPrototypeOf?Object.setPrototypeOf(z,D):z.__proto__=D)}var x=[["bold","italic","link"],[{header:1},{header:2},"blockquote"]],T=(function(z){S(D,z);function D(F,P){y(this,D),P.modules.toolbar!=null&&P.modules.toolbar.container==null&&(P.modules.toolbar.container=x);var C=A(this,(D.__proto__||Object.getPrototypeOf(D)).call(this,F,P));return C.quill.container.classList.add("ql-bubble"),C}return u(D,[{key:"extendToolbar",value:function(P){this.tooltip=new R(this.quill,this.options.bounds),this.tooltip.root.appendChild(P.container),this.buildButtons([].slice.call(P.container.querySelectorAll("button")),w.default),this.buildPickers([].slice.call(P.container.querySelectorAll("select")),w.default)}}]),D})(m.default);T.DEFAULTS=(0,p.default)(!0,{},m.default.DEFAULTS,{modules:{toolbar:{handlers:{link:function(D){D?this.quill.theme.tooltip.edit():this.quill.format("link",!1)}}}}});var R=(function(z){S(D,z);function D(F,P){y(this,D);var C=A(this,(D.__proto__||Object.getPrototypeOf(D)).call(this,F,P));return C.quill.on(b.default.events.EDITOR_CHANGE,function(j,L,W,G){if(j===b.default.events.SELECTION_CHANGE)if(L!=null&&L.length>0&&G===b.default.sources.USER){C.show(),C.root.style.left="0px",C.root.style.width="",C.root.style.width=C.root.offsetWidth+"px";var Z=C.quill.getLines(L.index,L.length);if(Z.length===1)C.position(C.quill.getBounds(L));else{var te=Z[Z.length-1],oe=C.quill.getIndex(te),X=Math.min(te.length()-1,L.index+L.length-oe),q=C.quill.getBounds(new f.Range(oe,X));C.position(q)}}else document.activeElement!==C.textbox&&C.quill.hasFocus()&&C.hide()}),C}return u(D,[{key:"listen",value:function(){var P=this;o(D.prototype.__proto__||Object.getPrototypeOf(D.prototype),"listen",this).call(this),this.root.querySelector(".ql-close").addEventListener("click",function(){P.root.classList.remove("ql-editing")}),this.quill.on(b.default.events.SCROLL_OPTIMIZE,function(){setTimeout(function(){if(!P.root.classList.contains("ql-hidden")){var C=P.quill.getSelection();C!=null&&P.position(P.quill.getBounds(C))}},1)})}},{key:"cancel",value:function(){this.show()}},{key:"position",value:function(P){var C=o(D.prototype.__proto__||Object.getPrototypeOf(D.prototype),"position",this).call(this,P),j=this.root.querySelector(".ql-tooltip-arrow");if(j.style.marginLeft="",C===0)return C;j.style.marginLeft=-1*C-j.offsetWidth/2+"px"}}]),D})(h.BaseTooltip);R.TEMPLATE=['<span class="ql-tooltip-arrow"></span>','<div class="ql-tooltip-editor">','<input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL">','<a class="ql-close"></a>',"</div>"].join(""),i.BubbleTooltip=R,i.default=T}),(function(n,i,s){n.exports=s(63)})]).default})})(Ju)),Ju.exports}var tr,lx;function kL(){if(lx)return tr;lx=1;var t=tr&&tr.__extends||(function(){var b=function(h,m){return b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,E){f.__proto__=E}||function(f,E){for(var w in E)E.hasOwnProperty(w)&&(f[w]=E[w])},b(h,m)};return function(h,m){b(h,m);function f(){this.constructor=h}h.prototype=m===null?Object.create(m):(f.prototype=m.prototype,new f)}})(),e=tr&&tr.__assign||function(){return e=Object.assign||function(b){for(var h,m=1,f=arguments.length;m<f;m++){h=arguments[m];for(var E in h)Object.prototype.hasOwnProperty.call(h,E)&&(b[E]=h[E])}return b},e.apply(this,arguments)},n=tr&&tr.__spreadArrays||function(){for(var b=0,h=0,m=arguments.length;h<m;h++)b+=arguments[h].length;for(var f=Array(b),E=0,h=0;h<m;h++)for(var w=arguments[h],k=0,y=w.length;k<y;k++,E++)f[E]=w[k];return f},i=tr&&tr.__importDefault||function(b){return b&&b.__esModule?b:{default:b}},s=i(cc()),o=i(hg()),u=i(vL()),c=i(wL()),p=(function(b){t(h,b);function h(m){var f=b.call(this,m)||this;
vendor: 4,534 bytes, line 828
828f.dirtyProps=["modules","formats","bounds","theme","children"],f.cleanProps=["id","className","style","placeholder","tabIndex","onChange","onChangeSelection","onFocus","onBlur","onKeyPress","onKeyDown","onKeyUp"],f.state={generation:0},f.selection=null,f.onEditorChange=function(w,k,y,A){var S,x,T,R;w==="text-change"?(x=(S=f).onEditorChangeText)===null||x===void 0||x.call(S,f.editor.root.innerHTML,k,A,f.unprivilegedEditor):w==="selection-change"&&((R=(T=f).onEditorChangeSelection)===null||R===void 0||R.call(T,k,A,f.unprivilegedEditor))};var E=f.isControlled()?m.value:m.defaultValue;return f.value=E??"",f}return h.prototype.validateProps=function(m){var f;if(s.default.Children.count(m.children)>1)throw new Error("The Quill editing area can only be composed of a single React element.");if(s.default.Children.count(m.children)){var E=s.default.Children.only(m.children);if(((f=E)===null||f===void 0?void 0:f.type)==="textarea")throw new Error("Quill does not support editing on a <textarea>. Use a <div> instead.")}if(this.lastDeltaChangeSet&&m.value===this.lastDeltaChangeSet)throw new Error("You are passing the `delta` object from the `onChange` event back as `value`. You most probably want `editor.getContents()` instead. See: https://github.com/zenoamaro/react-quill#using-deltas")},h.prototype.shouldComponentUpdate=function(m,f){var E=this,w;if(this.validateProps(m),!this.editor||this.state.generation!==f.generation)return!0;if("value"in m){var k=this.getEditorContents(),y=(w=m.value,w??"");this.isEqualValue(y,k)||this.setEditorContents(this.editor,y)}return m.readOnly!==this.props.readOnly&&this.setEditorReadOnly(this.editor,m.readOnly),n(this.cleanProps,this.dirtyProps).some(function(A){return!u.default(m[A],E.props[A])})},h.prototype.shouldComponentRegenerate=function(m){var f=this;return this.dirtyProps.some(function(E){return!u.default(m[E],f.props[E])})},h.prototype.componentDidMount=function(){this.instantiateEditor(),this.setEditorContents(this.editor,this.getEditorContents())},h.prototype.componentWillUnmount=function(){this.destroyEditor()},h.prototype.componentDidUpdate=function(m,f){var E=this;if(this.editor&&this.shouldComponentRegenerate(m)){var w=this.editor.getContents(),k=this.editor.getSelection();this.regenerationSnapshot={delta:w,selection:k},this.setState({generation:this.state.generation+1}),this.destroyEditor()}if(this.state.generation!==f.generation){var y=this.regenerationSnapshot,w=y.delta,A=y.selection;delete this.regenerationSnapshot,this.instantiateEditor();var S=this.editor;S.setContents(w),v(function(){return E.setEditorSelection(S,A)})}},h.prototype.instantiateEditor=function(){this.editor?this.hookEditor(this.editor):this.editor=this.createEditor(this.getEditingArea(),this.getEditorConfig())},h.prototype.destroyEditor=function(){this.editor&&this.unhookEditor(this.editor)},h.prototype.isControlled=function(){return"value"in this.props},h.prototype.getEditorConfig=function(){return{bounds:this.props.bounds,formats:this.props.formats,modules:this.props.modules,placeholder:this.props.placeholder,readOnly:this.props.readOnly,scrollingContainer:this.props.scrollingContainer,tabIndex:this.props.tabIndex,theme:this.props.theme}},h.prototype.getEditor=function(){if(!this.editor)throw new Error("Accessing non-instantiated editor");return this.editor},h.prototype.createEditor=function(m,f){var E=new c.default(m,f);return f.tabIndex!=null&&this.setEditorTabIndex(E,f.tabIndex),this.hookEditor(E),E},h.prototype.hookEditor=function(m){this.unprivilegedEditor=this.makeUnprivilegedEditor(m),m.on("editor-change",this.onEditorChange)},h.prototype.unhookEditor=function(m){m.off("editor-change",this.onEditorChange)},h.prototype.getEditorContents=function(){return this.value},h.prototype.getEditorSelection=function(){return this.selection},h.prototype.isDelta=function(m){return m&&m.ops},h.prototype.isEqualValue=function(m,f){return this.isDelta(m)&&this.isDelta(f)?u.default(m.ops,f.ops):u.default(m,f)},h.prototype.setEditorContents=function(m,f){var E=this;this.value=f;var w=this.getEditorSelection();typeof f=="string"?m.setContents(m.clipboard.convert(f)):m.setContents(f),v(function(){return E.setEditorSelection(m,w)})},h.prototype.setEditorSelection=function(m,f){if(this.selection=f,f){var E=m.getLength();f.index=Math.max(0,Math.min(f.index,E-1)),f.length=Math.max(0,Math.min(f.length,E-1-f.index)),m.setSelection(f)}},h.prototype.setEditorTabIndex=function(m,f){var E,w;!((w=(E=m)===null||E===void 0?void 0:E.scroll)===null||w===void 0)&&w.domNo
828de&&(m.scroll.domNode.tabIndex=f)},h.prototype.setEditorReadOnly=function(m,f){f?m.disable():m.enable()},h.prototype.makeUnprivilegedEditor=function(m){var f=m;return{getHTML:function(){return f.root.innerHTML},getLength:f.getLength.bind(f),getText:f.getText.bind(f),getContents:f.getContents.bind(f),getSelection:f.getSelection.bind(f),getBounds:f.getBounds.bind(f)}},h.prototype.getEditingArea=function(){if(!this.editingArea)throw new Error("Instantiating on missing editing area");var m=o.default.findDOMNode(this.editingArea);if(!m)throw new Error("Cannot find element for editing area");if(m.nodeType===3)throw new Error("Editing area cannot be a text node");return m},h.prototype.renderEditingArea=function(){var m=this,f=this.props,E=f.children,w=f.preserveWhitespace,k=this.state.generation,y={key:k,ref:function(A){m.editingArea=A}};return s.default.Children.count(E)?s.default.cloneElement(s.default.Children.only(E),y):w?s.default.createElement("pre",e({},y)):s.default.createElement("div",e({},y))},h.prototype.render=function(){var m;return s.default.createElement("div",{id:this.props.id,style:this.props.style,key:this.state.generation,className:"quill "+(m=this.props.className,m??""),onKeyPress:this.props.onKeyPress,onKeyDown:this.props.onKeyDown,onKeyUp:this.props.onKeyUp},this.renderEditingArea())},h.prototype.onEditorChangeText=function(m,f,E,w){var k,y;if(this.editor){var A=this.isDelta(this.value)?w.getContents():w.getHTML();A!==this.getEditorContents()&&(this.lastDeltaChangeSet=f,this.value=A,(y=(k=this.props).onChange)===null||y===void 0||y.call(k,m,f,E,w))}},h.prototype.onEditorChangeSelection=function(m,f,E){var w,k,y,A,S,x;if(this.editor){var T=this.getEditorSelection(),R=!T&&m,z=T&&!m;u.default(m,T)||(this.selection=m,(k=(w=this.props).onChangeSelection)===null||k===void 0||k.call(w,m,f,E),R?(A=(y=this.props).onFocus)===null||A===void 0||A.call(y,m,f,E):z&&((x=(S=this.props).onBlur)===null||x===void 0||x.call(S,T,f,E)))}},h.prototype.focus=function(){this.editor&&this.editor.focus()},h.prototype.blur=function(){this.editor&&(this.selection=null,this.editor.blur())},h.displayName="React Quill",h.Quill=c.default,h.defaultProps={theme:"snow",modules:{},readOnly:!1},h})(s.default.Component);function v(b){Promise.resolve().then(b)}return tr=p,tr}var xL=kL();const AL=uc(xL),EL={toolbar:[[{header:[1,2,3,4,!1]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"}],["blockquote","link","image"],["clean"]]},SL=t=>t.toLowerCase().replace(/ä/g,"ae").replace(/ö/g,"oe").replace(/ü/g,"ue").replace(/Ã/g,"ss").replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").trim(),_L=t=>{const n=(t||"").replace(/<[^>]*>/g," ").trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(n/200))};function TL({article:t,onSaved:e,onCancel:n}){const[i,s]=I.useState({title:(t==null?void 0:t.title)||"",slug:(t==null?void 0:t.slug)||"",excerpt:(t==null?void 0:t.excerpt)||"",content:(t==null?void 0:t.content)||"",cover_image:(t==null?void 0:t.cover_image)||"",author:(t==null?void 0:t.author)||"attriXus Team",category:(t==null?void 0:t.category)||"Grundlagen",tags:(t==null?void 0:t.tags)||"",status:(t==null?void 0:t.status)||"draft",published_at:(t==null?void 0:t.published_at)||new Date().toISOString().split("T")[0],seo_meta_description:(t==null?void 0:t.seo_meta_description)||""}),[o,u]=I.useState(!1),[c,p]=I.useState(null),[v,b]=I.useState(!!(t!=null&&t.slug));I.useEffect(()=>{var E;(E=t==null?void 0:t.content)!=null&&E.startsWith("http")&&fetch(t.content).then(w=>w.text()).then(w=>s(k=>({...k,content:w}))).catch(()=>{})},[t]);const h=(E,w)=>{s(k=>{const y={...k,[E]:w};return E==="title"&&!v&&(y.slug=SL(w)),E==="slug"&&b(!0),y})},m=async E=>{var k;const w=(k=E.target.files)==null?void 0:k[0];if(w)try{const y=await un.integrations.Core.UploadFile({file:w});h("cover_image",y.file_url)}catch(y){p("Bild-Upload fehlgeschlagen: "+y.message)}},f=async()=>{var E,w;if(!i.title.trim()||!i.slug.trim()){p("Titel und Slug sind erforderlich.");return}u(!0),p(null);try{let k=i.content;if(i.content.length>5e3){const A=new Blob([i.content],{type:"text/html"});k=(await un.integrations.Core.UploadFile({file:A})).file_url}const y={...i,content:k,reading_time_minutes:_L(i.content)};t!=null&&t.id?await un.entities.BlogArticle.update(t.id,y):await un.entities.BlogArticle.create(y),e()}catch(k){p("Speichern fehlgeschlagen: "+(((w=(E=k.response)==null?void 0:E.data)==null?void 0:w.error)||k.message))}u(!1)};return d.jsxs("div",{className:"max-w-4xl mx-auto px-5 md:px-8 py-8",children:[d.jsxs("div",{className:"flex items-center justify-between mb-6",children:[d.jsx("h1",{className:"text-xl font-bold text-[#1A1A1A]",children:t?"Artikel bearbeiten":"Neuer Artikel"}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsxs("button",{onClick:n,className:"inline-flex items-center gap-1.5 text-sm text-[#666] hover:text-[#1A1A1A] px-4 py-2",children:[d.jsx(hc,{className:"w-4 h-4"})," Abbrechen"]}),d.jsxs("button",{onClick:f,disabled:o,className:"inline-flex items-center gap-1.5 bg-[#FC9224] hover:bg-[#e8821a] disabled:opacity-50 text-white font-semibold text-sm px-5 py-2 rounded-lg transition-colors",children:[d.jsx(C_,{className:"w-4 h-4"})," ",o?"Speichert...":"Speichern"]})]})]}),c&&d.jsx("div",{className:"bg-red-50 border border-red-200 text-red-700 text-sm rounded-lg px-4 py-3 mb-4",children:c}),d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Titel *"}),d.jsx("input",{type:"text",value:i.title,onChange:E=>h("title",E.target.value),className:"w-full border border-black/10 rounded-lg px-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224]",placeholder:"Artikel-Titel"})]}),d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Slug (URL) *"}),d.jsx("input",{type:"text",value:i.slug,onChange:E=>h("slug",E.target.value),className:"w-full border border-black/10 rounded-lg px-3 py-2.5 text-sm font-mono focus:outline-none focus:border-[#FC9224]",placeholder:"artikel-slug"}),d.jsxs("p",{className:"text-xs text-[#999] mt-1",children:["URL: /magazin/",i.slug||"..."]})]}),d.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Kategorie"}),d.jsx("input",{type:"text",value:i.category,onChange:E=>h("category",E.target.value),className:"w-full border border-black/10 rounded-lg px-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224]",placeholder:"Grundlagen"})]}),d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Status"}),d.jsxs("select",{value:i.status,onChange:E=>h("status",E.target.value),className:"w-full border border-black/10 rounded-lg px-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224] bg-white",children:[d.jsx("option",{value:"draft",children:"Entwurf"}),d.jsx("option",{value:"published",children:"Veröffentlicht"})]})]})]}),d.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Autor"}),d.jsx("input",{type:"text",value:i.author,onChange:E=>h("author",E.target.value),className:"w-full border border-black/10 rounded-lg px-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224]"})]}),d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Veröffentlichungsd
828atum"}),d.jsx("input",{type:"date",value:i.published_at,onChange:E=>h("published_at",E.target.value),className:"w-full border border-black/10 rounded-lg px-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224]"})]})]}),d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Titelbild"}),d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("input",{type:"text",value:i.cover_image,onChange:E=>h("cover_image",E.target.value),className:"flex-1 border border-black/10 rounded-lg px-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224]",placeholder:"https://..."}),d.jsxs("label",{className:"cursor-pointer inline-flex items-center gap-1.5 border border-black/10 hover:bg-gray-50 text-[#1A1A1A] text-sm px-4 py-2.5 rounded-lg transition-colors",children:[d.jsx(V_,{className:"w-4 h-4"})," Upload",d.jsx("input",{type:"file",accept:"image/*",onChange:m,className:"hidden"})]})]}),i.cover_image&&d.jsx("img",{src:i.cover_image,alt:"Vorschau",className:"mt-2 h-32 w-full object-cover rounded-lg border border-black/5"})]}),d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Teaser"}),d.jsx("textarea",{value:i.excerpt,onChange:E=>h("excerpt",E.target.value),rows:2,className:"w-full border border-black/10 rounded-lg px-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224]",placeholder:"Kurzer Teaser für die Ãbersichtsseite..."})]}),d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"SEO Meta Description"}),d.jsx("textarea",{value:i.seo_meta_description,onChange:E=>h("seo_meta_description",E.target.value),rows:2,className:"w-full border border-black/10 rounded-lg px-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224]",placeholder:"Meta Description für Suchmaschinen..."})]}),d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Tags (kommagetrennt)"}),d.jsx("input",{type:"text",value:i.tags,onChange:E=>h("tags",E.target.value),className:"w-full border border-black/10 rounded-lg px-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224]",placeholder:"Attribution, Tracking, SEO"})]}),d.jsxs("div",{children:[d.jsx("label",{className:"block text-sm font-semibold text-[#1A1A1A] mb-1.5",children:"Inhalt"}),d.jsx(AL,{theme:"snow",value:i.content,onChange:E=>h("content",E),modules:EL,className:"bg-white"})]})]})]})}function OL(){const[t,e]=I.useState([]),[n,i]=I.useState(!0),[s,o]=I.useState(null),[u,c]=I.useState(!1),[p,v]=I.useState(""),[b,h]=I.useState(null),[m,f]=I.useState(!1);I.useEffect(()=>{(async()=>{try{const x=await un.auth.me();h(x)}catch{}f(!0)})()},[]);const E=async()=>{i(!0);try{const S=await un.entities.BlogArticle.list("-published_at",100);e(S)}catch{}i(!1)};I.useEffect(()=>{(b==null?void 0:b.role)==="admin"?E():i(!1)},[b]);const w=async S=>{if(confirm("Diesen Artikel wirklich löschen?"))try{await un.entities.BlogArticle.delete(S),e(x=>x.filter(T=>T.id!==S))}catch(x){alert("Löschen fehlgeschlagen: "+x.message)}},k=()=>{c(!1),o(null),E()},y=S=>{try{return DA(new Date(S),"dd.MM.yyyy",{locale:zA})}catch{return S||""}};if(!m)return d.jsx("div",{className:"min-h-screen flex items-center justify-center",children:d.jsx("div",{className:"w-8 h-8 border-4 border-gray-100 border-t-[#FC9224] rounded-full animate-spin"})});if(!b||b.role!=="admin")return d.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gray-50",children:d.jsxs("div",{className:"text-center max-w-md px-5",children:[d.jsx("h1",{className:"text-xl font-bold text-[#1A1A1A] mb-2",children:"Zugriff verweigert"}),d.jsx("p",{className:"text-[#666] mb-6",children:"Sie benötigen Administrator-Rechte, um auf diesen Bereich zuzugreifen."}),d.jsx(lt,{to:"/login",className:"inline-flex items-center gap-2 bg-[#FC9224] hover:bg-[#e8821a] text-white font-semibold text-sm px-5 py-2.5 rounded-lg transition-colors",children:"Zum Login"})]})});if(u)return d.jsxs("div",{className:"min-h-screen bg-gray-50",children:[d.jsx("header",{className:"bg-white border-b border-black/5 sticky top-0 z-40",children:d.jsxs("div",{className:"max-w-7xl mx-auto px-5 md:px-8 h-16 flex items-center justify-between",children:[d.jsxs("button",{onClick:()=>{c(!1),o(null)},className:"inline-flex items-center gap-1.5 text-sm text-[#666] hover:text-[#1A1A1A]",children:[d.jsx(Qu,{className:"w-4 h-4"})," Zurück zur Liste"]}),d.jsx(lt,{to:"/",className:"flex items-center h-7",children:d.jsx("img",{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/dd4106cc8_image.png",alt:"attriXus",className:"h-7 object-contain"})})]})}),d.jsx(TL,{article:s,onSaved:k,onCancel:()=>{c(!1),o(null)}})]});const A=t.filter(S=>{var x,T;return((x=S.title)==null?void 0:x.toLowerCase().includes(p.toLowerCase()))||((T=S.category)==null?void 0:T.toLowerCase().includes(p.toLowerCase()))});return d.jsxs("div",{className:"min-h-screen bg-gray-50",children:[d.jsx("header",{className:"bg-white border-b border-black/5",children:d.jsxs("div",{className:"max-w-7xl mx-auto px-5 md:px-8 h-16 flex items-center justify-between",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx(lt,{to:"/",className:"flex items-center h-7",children:d.jsx("img",{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/dd4106cc8_image.png",alt:"attriXus",className:"h-7 object-contain"})}),d.jsx("span",{className:"text-sm text-[#999]",children:"/ Magazin-Verwaltung"})]}),d.jsxs(lt,{to:"/magazin",className:"text-sm text-[#666] hover:text-[#1A1A1A] flex items-center gap-1",children:["Zur Website ",d.jsx(a_,{className:"w-3.5 h-3.5"})]})]})}),d.jsxs("div",{className:"max-w-7xl mx-auto px-5 md:px-8 py-8",children:[d.jsxs("div",{className:"flex items-center justify-between mb-6",children:[d.jsxs("h1",{className:"text-xl font-bold text-[#1A1A1A]",children:["Artikel (",t.length,")"]}),d.jsxs("button",{onClick:()=>{o(null),c(!0)},className:"inline-flex items-center gap-1.5 bg-[#FC9224] hover:bg-[#e8821a] text-white font-semibold text-sm px-5 py-2.5 rounded-lg transition-colors",children:[d.jsx(O_,{className:"w-4 h-4"})," Neuer Artikel"]})]}),d.jsxs("div",{className:"relative mb-4",children:[d.jsx(_x,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[#999]"}),d.jsx("input",{type:"text",value:p,onChange:S=>v(S.target.value),placeholder:"Artikel suchen...",className:"w-full border border-black/10 rounded-lg pl-10 pr-3 py-2.5 text-sm focus:outline-none focus:border-[#FC9224] bg-white"})]}),n?d.jsx("div",{className:"text-center py-20",children:d.jsx("div",{className:"w-8 h-8 border-4 border-gray-100 border-t-[#FC9224] rounded-full animate-spin mx-auto"})}):A.length===0?d.jsx("div",{className:"text-center py-20 text-[#999]",children:t.length===0?"N
828och keine Artikel vorhanden.":"Keine Artikel gefunden."}):d.jsx("div",{className:"bg-white rounded-xl border border-black/5 overflow-hidden",children:d.jsxs("table",{className:"w-full",children:[d.jsx("thead",{children:d.jsxs("tr",{className:"bg-gray-50 border-b border-black/5",children:[d.jsx("th",{className:"text-left text-xs font-semibold text-[#666] uppercase tracking-wide px-4 py-3",children:"Titel"}),d.jsx("th",{className:"text-left text-xs font-semibold text-[#666] uppercase tracking-wide px-4 py-3 hidden md:table-cell",children:"Kategorie"}),d.jsx("th",{className:"text-left text-xs font-semibold text-[#666] uppercase tracking-wide px-4 py-3",children:"Status"}),d.jsx("th",{className:"text-left text-xs font-semibold text-[#666] uppercase tracking-wide px-4 py-3 hidden md:table-cell",children:"Datum"}),d.jsx("th",{className:"text-right text-xs font-semibold text-[#666] uppercase tracking-wide px-4 py-3",children:"Aktionen"})]})}),d.jsx("tbody",{children:A.map(S=>d.jsxs("tr",{className:"border-b border-black/5 hover:bg-gray-50",children:[d.jsx("td",{className:"px-4 py-3",children:d.jsxs("div",{className:"flex items-center gap-3",children:[S.cover_image&&d.jsx("img",{src:S.cover_image,alt:"",className:"w-10 h-10 rounded object-cover flex-shrink-0"}),d.jsx("span",{className:"text-sm font-medium text-[#1A1A1A] line-clamp-1",children:S.title})]})}),d.jsx("td",{className:"px-4 py-3 hidden md:table-cell",children:d.jsx("span",{className:"text-sm text-[#666]",children:S.category})}),d.jsx("td",{className:"px-4 py-3",children:d.jsx("span",{className:`text-xs font-semibold px-2 py-1 rounded-full ${S.status==="published"?"bg-green-100 text-green-700":"bg-gray-100 text-gray-600"}`,children:S.status==="published"?"Veröffentlicht":"Entwurf"})}),d.jsx("td",{className:"px-4 py-3 hidden md:table-cell",children:d.jsx("span",{className:"text-sm text-[#666]",children:y(S.published_at)})}),d.jsx("td",{className:"px-4 py-3",children:d.jsxs("div",{className:"flex items-center justify-end gap-2",children:[d.jsx("button",{onClick:()=>{o(S),c(!0)},className:"p-2 text-[#666] hover:text-[#FC9224] hover:bg-[#FC9224]/5 rounded-lg transition-colors",title:"Bearbeiten",children:d.jsx(__,{className:"w-4 h-4"})}),d.jsx("button",{onClick:()=>w(S.id),className:"p-2 text-[#666] hover:text-red-500 hover:bg-red-50 rounded-lg transition-colors",title:"Löschen",children:d.jsx(K_,{className:"w-4 h-4"})})]})})]},S.id))})]})})]})]})}const NL=()=>d.jsx("div",{className:"fixed inset-0 flex items-center justify-center",children:d.jsx("div",{className:"w-8 h-8 border-4 border-slate-200 border-t-slate-800 rounded-full animate-spin"})});function CL({fallback:t=d.jsx(NL,{}),unauthenticatedElement:e}){const{isAuthenticated:n,isLoadingAuth:i,authChecked:s,authError:o,checkUserAuth:u}=l0();return I.useEffect(()=>{!s&&!i&&u()},[s,i,u]),i||!s?t:o?o.type==="user_not_registered"?d.jsx(u0,{}):e:n?d.jsx(yN,{}):e}const DL=[{key:"analytics",label:"Analyse & Statistik",desc:"Anonyme Nutzungsdaten zur Reichweite und Performance messen.",icon:Ex},{key:"experience",label:"Nutzererlebnis verbessern",desc:"Klicks, Scrollverhalten und Sitzungen aufzeichnen, um die Bedienung zu optimieren.",icon:x_},{key:"leadinfo",label:"Besucheridentifikation",desc:"Unternehmen erkennen, die deine Website besuchen, um relevanten B2B-Kontakt aufzubauen.",icon:XS}];function zL(){window.leadinfo||(function(t,e,n,i,s,o,u,c){t[s]||(t.GlobalLeadinfoNamespace=t.GlobalLeadinfoNamespace||[],t.GlobalLeadinfoNamespace.push(s),t[s]=function(){(t[s].q=t[s].q||[]).push(arguments)},t[s].t=t[s].t||o,t[s].q=t[s].q||[],c=e.createElement(n),u=e.getElementsByTagName(n)[0],c.async=1,c.src=i,u.parentNode.insertBefore(c,u))})(window,document,"script","https://cdn.leadinfo.eu/ping.js","leadinfo","LI-643E7E2CD6A79")}function RL(){window.gtag&&window.gtag("consent","update",{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted",analytics_storage:"granted"})}function PL(){window.gtag&&window.gtag("consent","update",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied"})}function jL(){window.clarity||(function(t,e,n,i,s,o,u){t[n]=t[n]||function(){(t[n].q=t[n].q||[]).push(arguments)},o=e.createElement(i),o.async=1,o.src="https://www.clarity.ms/tag/"+s,u=e.getElementsByTagName(i)[0],u.parentNode.insertBefore(o,u)})(window,document,"clarity","script","kee4oq1ehq")}function IL(){const[t,e]=I.useState(!1),[n,i]=I.useState(!1),[s,o]=I.useState({analytics:!0,experience:!0,leadinfo:!0});I.useEffect(()=>{const h=localStorage.getItem("attrixus-consent");if(!h)e(!0),document.body.style.overflow="hidden";else try{const m=JSON.parse(h);u(m)}catch{}},[]);const u=h=>{h.analytics?RL():PL(),h.experience&&jL(),h.leadinfo&&zL()},c=h=>{localStorage.setItem("attrixus-consent",JSON.stringify(h)),u(h),document.body.style.overflow="",e(!1)},p=()=>{c({analytics:!0,experience:!0,leadinfo:!0})},v=()=>{c({analytics:!1,experience:!1,leadinfo:!1})},b=()=>{c({analytics:s.analytics,experience:s.experience,leadinfo:s.leadinfo})};return t?d.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center px-4 backdrop-blur-sm bg-black/50",children:d.jsxs("div",{className:"bg-white rounded-xl shadow-2xl max-w-md w-full mx-auto max-h-[90vh] overflow-y-auto relative",children:[d.jsx("div",{className:"h-1 bg-[#FC9224] rounded-t-xl"}),d.jsxs("div",{className:"p-6 md:p-8",children:[d.jsx("img",{src:"https://media.base44.com/images/public/6a4ffb1e5e2f33d33be7b8a6/dd4106cc8_image.png",alt:"attriXus",className:"h-7 md:h-8 object-contain mb-5"}),d.jsx("h2",{className:"text-lg md:text-xl font-bold text-[#1A1A1A] mb-3",children:"Diese Website verwendet Cookies"}),d.jsxs("p",{className:"text-sm text-[#666] leading-relaxed mb-6",children:["Wir nutzen Cookies für Analyse und Marketing. Sie können Ihre Auswahl jederzeit anpassen. Weitere Infos in unserer"," ",d.jsx("a",{href:"/datenschutz",className:"text-[#FC9224] hover:underline",children:"Datenschutzerklärung"}),"."]}),n&&d.jsx("div",{className:"space-y-3 mb-6",children:DL.map(h=>{const m=h.icon,f=s[h.key];return d.jsxs("div",{className:"flex items-start gap-3 border border-black/5 rounded-lg p-3.5",children:[d.jsx("div",{className:"w-8 h-8 rounded-lg bg-[#FC9224]/10 flex items-center justify-center flex-shrink-0 mt-0.5",children:d.jsx(m,{className:"w-4 h-4 text-[#FC9224]"})}),d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"flex items-center justify-between gap-3",children:[d.jsx("h3",{className:"text-sm font-semibold text-[#1A1A1A]",children:h.label}),d.jsx("button",{role:"switch","aria-checked":f,onClick:()=>o(E=>({...E,[h.key]:!E[h.key]})),className:`relative w-11 h-6 rounded-full transition-colors flex-shrink-0 ${f?"bg-[#FC9224]":"bg-gray-200"}`,children:d.jsx("span",{className:`absolute top-0.5 left-0.5 w-
8285 h-5 bg-white rounded-full shadow transition-transform ${f?"translate-x-5":"translate-x-0"}`})})]}),d.jsx("p",{className:"text-xs text-[#666] leading-relaxed mt-1",children:h.desc})]})]},h.key)})}),d.jsx("button",{onClick:n?b:p,className:"w-full bg-[#FC9224] hover:bg-[#e8821a] text-white font-bold text-sm tracking-wide uppercase px-5 py-3.5 rounded-lg transition-colors min-h-[48px]",children:n?"Auswahl bestätigen":"Alle akzeptieren"}),d.jsx("button",{onClick:v,className:"w-full mt-3 border border-[#1A1A1A] text-[#1A1A1A] hover:bg-[#1A1A1A]/5 font-bold text-sm tracking-wide uppercase px-5 py-3.5 rounded-lg transition-colors min-h-[48px]",children:"Nur notwendige Cookies"}),d.jsxs("button",{onClick:()=>i(h=>!h),className:"w-full mt-4 text-xs text-[#999] hover:text-[#FC9224] transition-colors underline flex items-center justify-center gap-1",children:[n?"Einstellungen ausblenden":"Einstellungen anpassen",d.jsx(gg,{className:`w-3 h-3 transition-transform ${n?"rotate-180":""}`})]})]})]})}):null}const ML=()=>{const{isLoadingAuth:t,isLoadingPublicSettings:e,authError:n,navigateToLogin:i}=l0();if(e||t)return d.jsx("div",{className:"fixed inset-0 flex items-center justify-center",children:d.jsx("div",{className:"w-8 h-8 border-4 border-slate-200 border-t-slate-800 rounded-full animate-spin"})});if(n){if(n.type==="user_not_registered")return d.jsx(u0,{});if(n.type==="auth_required")return i(),null}return d.jsxs(kN,{children:[d.jsx(on,{path:"/login",element:d.jsx(a4,{})}),d.jsx(on,{path:"/",element:d.jsx(WP,{})}),d.jsx(on,{path:"/glossar",element:d.jsx(c4,{})}),d.jsx(on,{path:"/glossar/:slug",element:d.jsx(L4,{})}),d.jsx(on,{path:"/impressum",element:d.jsx(B4,{})}),d.jsx(on,{path:"/datenschutz",element:d.jsx(F4,{})}),d.jsx(on,{path:"/magazin",element:d.jsx(K4,{})}),d.jsx(on,{path:"/ueber-uns",element:d.jsx(G4,{})}),d.jsx(on,{path:"/magazin/:slug",element:d.jsx(rM,{})}),d.jsx(on,{path:"/termin",element:d.jsx(iM,{})}),d.jsx(on,{path:"/attrixus_test",element:d.jsx(Fu,{to:"/",replace:!0})}),d.jsx(on,{path:"/attrixus_test/*",element:d.jsx(Fu,{to:"/",replace:!0})}),d.jsx(on,{element:d.jsx(CL,{unauthenticatedElement:d.jsx(Fu,{to:"/login",replace:!0})}),children:d.jsx(on,{path:"/admin/magazin",element:d.jsx(OL,{})})}),d.jsx(on,{path:"*",element:d.jsx(S2,{})})]})};function LL(){return d.jsx(_2,{children:d.jsx(yP,{children:d.jsxs(dO,{client:EO,children:[d.jsxs(ON,{children:[d.jsx(O2,{}),d.jsx(ML,{})]}),d.jsx(IL,{}),d.jsx(BT,{})]})})})}jS.createRoot(document.getElementById("root")).render(d.jsx(LL,{}));export{ar as A,XS as B,ZS as C,x_ as M,Gr as R,M_ as S,Tx as T,hc as X,Ex as a,R_ as b,tt as c,gg as d,nw as h,d as j,I as r,Wt as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.