1/*! For license information please see main.79ccb273.js.LICENSE.txt */ 2(()=>{var e={240:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,i=function(e){return"function"===typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},a=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,o=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!o&&!i)return!1;for(r in e);return"undefined"===typeof r||t.call(e,r)},l=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},s=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(o)return o(e,n).value}return e[n]};e.exports=function e(){var t,n,r,o,c,u,d=arguments[0],p=1,f=arguments.length,m=!1;for("boolean"===typeof d&&(m=d,d=arguments[1]||{},p=2),(null==d||"object"!==typeof d&&"function"!==typeof d)&&(d={});p<f;++p)if(null!=(t=arguments[p]))for(n in t)r=s(d,n),d!==(o=s(t,n))&&(m&&o&&(a(o)||(c=i(o)))?(c?(c=!1,u=r&&i(r)?r:[]):u=r&&a(r)?r:{},l(d,{name:n,newValue:e(m,u,o)})):"undefined"!==typeof o&&l(d,{name:n,newValue:o}));return d}},403:e=>{var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,r=/^\s*/,o=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,a=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,s=/^\s+|\s+$/g,c="";function u(e){return e?e.replace(s,c):c}e.exports=function(e,s){if("string"!==typeof e)throw new TypeError("First argument must be a string");if(!e)return[];s=s||{};var d=1,p=1;function f(e){var t=e.match(n);t&&(d+=t.length);var r=e.lastIndexOf("\n");p=~r?e.length-r:p+e.length}function m(){var e={line:d,column:p};return function(t){return t.position=new h(e),y(),t}}function h(e){this.start=e,this.end={line:d,column:p},this.source=s.source}h.prototype.content=e;var g=[];function b(t){var n=new Error(s.source+":"+d+":"+p+": "+t);if(n.reason=t,n.filename=s.source,n.line=d,n.column=p,n.source=e,!s.silent)throw n;g.push(n)}function v(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function y(){v(r)}function x(e){var t;for(e=e||[];t=w();)!1!==t&&e.push(t);return e}function w(){var t=m();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;c!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,c===e.charAt(n-1))return b("End of comment missing");var r=e.slice(2,n-2);return p+=2,f(r),e=e.slice(n),p+=2,t({type:"comment",comment:r})}}function E(){var e=m(),n=v(o);if(n){if(w(),!v(i))return b("property missing ':'");var r=v(a),s=e({type:"declaration",property:u(n[0].replace(t,c)),value:r?u(r[0].replace(t,c)):c});return v(l),s}}return y(),function(){var e,t=[];for(x(t);e=E();)!1!==e&&(t.push(e),x(t));return t}()}},730:(e,t,n)=>{"use strict";var r=n(43),o=n(853);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var a=new Set,l={};function s(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(l[e]=t,e=0;e<t.length;e++)a.add(t[e])}var u=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[: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]*$/,f={},m={};function h(e,t,n,r,o,i,a){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEac
vendor: 10,652 bytes, line 2
2h((function(e){var t=e[0];g[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new h(e,2,!1,e,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(e){g[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function y(e,t,n,r){var o=g.hasOwnProperty(t)?g[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!d.call(m,e)||!d.call(f,e)&&(p.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"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(e){var t=e.replace(b,v);g[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,v);g[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,v);g[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var x=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),E=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),S=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),L=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var O=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var j=Symbol.iterator;function z(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=j&&e[j]||e["@@iterator"])?e:null}var N,M=Object.assign;function D(e){if(void 0===N)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);N=t&&t[1]||""}return"\n"+N+e}var U=!1;function F(e,t){if(!e||U)return"";U=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"===typeof c.stack){for(var o=c.stack.split("\n"),i=r.stack.split("\n"),a=o.length-1,l=i.length-1;1<=a&&0<=l&&o[a]!==i[l];)l--;for(;1<=a&&0<=l;a--,l--)if(o[a]!==i[l]){if(1!==a||1!==l)do{if(a--,0>--l||o[a]!==i[l]){var s="\n"+o[a].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}}while(1<=a&&0<=l);break}}}finally{U=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?D(e):""}function $(e){switch(e.tag){case 5:return D(e.type);case 16:return D("Lazy");case 13:return D("Suspense");case 19:return D("SuspenseList");case 0:case 2:case 15:return e=F(e.type,!1);case 11:return e=F(e.type.render,!1);case 1:return e=F(e.type,!0);default:return""}}function V(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case _:return"Fragment";case E:return"Portal";case T:return"Profiler";case k:return"StrictMode";case A:return"Suspense";case R:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case S:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case P:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case I:return null!==(t=e.displayName||null)?t:V(e.type)||"Memo";case L:t=e._payload,e=e._init;try{return V(e(t))}catch(n){}}return null}function B(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return V(t);case 8:return t===k?"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("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function G(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=G(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function W(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=G(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function K(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function q(e,t){var n=t.checked;return M({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Q(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function X(e,t){null!=(t=t.checked)&&y(e,"checked",t,!1)}function J(e,t){X(e,t);var n=H(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&K(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return M({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));
2if(te(n)){if(1<n.length)throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function ie(e,t){var n=H(t.value),r=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ae(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function le(e){switch(e){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 se(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?le(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={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},me=["Webkit","ms","Moz","O"];function he(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=he(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(fe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var be=M({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 ve(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(i(62))}}function ye(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){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 xe=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.n
vendor: 5,955 bytes, line 2
2odeType?e.parentNode:e}var Ee=null,_e=null,ke=null;function Te(e){if(e=xo(e)){if("function"!==typeof Ee)throw Error(i(280));var t=e.stateNode;t&&(t=Eo(t),Ee(e.stateNode,e.type,t))}}function Ce(e){_e?ke?ke.push(e):ke=[e]:_e=e}function Se(){if(_e){var e=_e,t=ke;if(ke=_e=null,Te(e),t)for(e=0;e<t.length;e++)Te(t[e])}}function Pe(e,t){return e(t)}function Ae(){}var Re=!1;function Ie(e,t,n){if(Re)return e(t,n);Re=!0;try{return Pe(e,t,n)}finally{Re=!1,(null!==_e||null!==ke)&&(Ae(),Se())}}function Le(e,t){var n=e.stateNode;if(null===n)return null;var r=Eo(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(i(231,t,typeof n));return n}var Oe=!1;if(u)try{var je={};Object.defineProperty(je,"passive",{get:function(){Oe=!0}}),window.addEventListener("test",je,je),window.removeEventListener("test",je,je)}catch(ue){Oe=!1}function ze(e,t,n,r,o,i,a,l,s){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Ne=!1,Me=null,De=!1,Ue=null,Fe={onError:function(e){Ne=!0,Me=e}};function $e(e,t,n,r,o,i,a,l,s){Ne=!1,Me=null,ze.apply(Fe,arguments)}function Ve(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Be(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(Ve(e)!==e)throw Error(i(188))}function Ge(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ve(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var a=o.alternate;if(null===a){if(null!==(r=o.return)){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return He(o),e;if(a===r)return He(o),t;a=a.sibling}throw Error(i(188))}if(n.return!==r.return)n=o,r=a;else{for(var l=!1,s=o.child;s;){if(s===n){l=!0,n=o,r=a;break}if(s===r){l=!0,r=o,n=a;break}s=s.sibling}if(!l){for(s=a.child;s;){if(s===n){l=!0,n=a,r=o;break}if(s===r){l=!0,r=a,n=o;break}s=s.sibling}if(!l)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e))?Ye(e):null}function Ye(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ye(e);if(null!==t)return t;e=e.sibling}return null}var We=o.unstable_scheduleCallback,Ke=o.unstable_cancelCallback,qe=o.unstable_shouldYield,Qe=o.unstable_requestPaint,Xe=o.unstable_now,Je=o.unstable_getCurrentPriorityLevel,Ze=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,rt=o.unstable_IdlePriority,ot=null,it=null;var at=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(lt(e)/st|0)|0},lt=Math.log,st=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){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 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=268435455&n;if(0!==a){var l=a&~o;0!==l?r=dt(l):0!==(i&=a)&&(r=dt(i))}else 0!==(a=n&~o)?r=dt(a):0!==i&&(r=dt(i));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&o)&&((o=r&-r)>=(i=t&-t)||16===o&&0!==(4194240&i)))return t;if(0!==(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-at(t)),r|=e[n],t&=~o;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+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 t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ht(){var e=ct;return 0===(4194240&(ct<<=1))&&(ct=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-at(t)]=n}function vt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-at(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var yt=0;function xt(e){return 1<(e&=-e)?4<e?0!==(268435455&e)?16:536870912:4:1}var wt,Et,_t,kt,Tt,Ct=!1,St=[],Pt=null,At=null,Rt=null,It=new Map,Lt=new Map,Ot=[],jt="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 zt(e,t){switch(e){case"focusin":case"focusout":Pt=null;break;case"dragenter":case"dragleave":At=null;break;case"mouseover":case"mouseout":Rt=null;break;case"pointerover":case"pointerout":It.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Lt.delete(t.pointerId)}}function Nt(e,t,n,r,o,i){return null===e||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[o]},null!==t&&(null!==(t=xo(t))&&Et(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Mt(e){var t=yo(e.target);if(null!==t){var n=Ve(t);
vendor: 5,372 bytes, line 2
2if(null!==n)if(13===(t=n.tag)){if(null!==(t=Be(n)))return e.blockedOn=t,void Tt(e.priority,(function(){_t(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Dt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=xo(n))&&Et(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);xe=r,n.target.dispatchEvent(r),xe=null,t.shift()}return!0}function Ut(e,t,n){Dt(e)&&n.delete(t)}function Ft(){Ct=!1,null!==Pt&&Dt(Pt)&&(Pt=null),null!==At&&Dt(At)&&(At=null),null!==Rt&&Dt(Rt)&&(Rt=null),It.forEach(Ut),Lt.forEach(Ut)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Ft)))}function Vt(e){function t(t){return $t(t,e)}if(0<St.length){$t(St[0],e);for(var n=1;n<St.length;n++){var r=St[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Pt&&$t(Pt,e),null!==At&&$t(At,e),null!==Rt&&$t(Rt,e),It.forEach(t),Lt.forEach(t),n=0;n<Ot.length;n++)(r=Ot[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Ot.length&&null===(n=Ot[0]).blockedOn;)Mt(n),null===n.blockedOn&&Ot.shift()}var Bt=x.ReactCurrentBatchConfig,Ht=!0;function Gt(e,t,n,r){var o=yt,i=Bt.transition;Bt.transition=null;try{yt=1,Wt(e,t,n,r)}finally{yt=o,Bt.transition=i}}function Yt(e,t,n,r){var o=yt,i=Bt.transition;Bt.transition=null;try{yt=4,Wt(e,t,n,r)}finally{yt=o,Bt.transition=i}}function Wt(e,t,n,r){if(Ht){var o=qt(e,t,n,r);if(null===o)Hr(e,t,r,Kt,n),zt(e,r);else if(function(e,t,n,r,o){switch(t){case"focusin":return Pt=Nt(Pt,e,t,n,r,o),!0;case"dragenter":return At=Nt(At,e,t,n,r,o),!0;case"mouseover":return Rt=Nt(Rt,e,t,n,r,o),!0;case"pointerover":var i=o.pointerId;return It.set(i,Nt(It.get(i)||null,e,t,n,r,o)),!0;case"gotpointercapture":return i=o.pointerId,Lt.set(i,Nt(Lt.get(i)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(zt(e,r),4&t&&-1<jt.indexOf(e)){for(;null!==o;){var i=xo(o);if(null!==i&&wt(i),null===(i=qt(e,t,n,r))&&Hr(e,t,r,Kt,n),i===o)break;o=i}null!==o&&r.stopPropagation()}else Hr(e,t,r,null,n)}}var Kt=null;function qt(e,t,n,r){if(Kt=null,null!==(e=yo(e=we(r))))if(null===(t=Ve(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Be(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Kt=e,null}function Qt(e){switch(e){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(Je()){case Ze:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Xt=null,Jt=null,Zt=null;function en(){if(Zt)return Zt;var e,t,n=Jt,r=n.length,o="value"in Xt?Xt.value:Xt.textContent,i=o.length;for(e=0;e<r&&n[e]===o[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===o[i-t];t++);return Zt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,o,i){for(var a in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(a)&&(t=e[a],this[a]=t?t(o):o[a]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return M(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,ln,sn,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(cn),dn=M({},cn,{view:0,detail:0}),pn=on(dn),fn=M({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Tn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.from
vendor: 4,352 bytes, line 2
2Element===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==sn&&(sn&&"mousemove"===e.type?(an=e.screenX-sn.screenX,ln=e.screenY-sn.screenY):ln=an=0,sn=e),an)},movementY:function(e){return"movementY"in e?e.movementY:ln}}),mn=on(fn),hn=on(M({},fn,{dataTransfer:0})),gn=on(M({},dn,{relatedTarget:0})),bn=on(M({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=M({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),yn=on(vn),xn=on(M({},cn,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},En={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"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function kn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function Tn(){return kn}var Cn=M({},dn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?En[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Tn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Sn=on(Cn),Pn=on(M({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),An=on(M({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Tn})),Rn=on(M({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),In=M({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Ln=on(In),On=[9,13,27,32],jn=u&&"CompositionEvent"in window,zn=null;u&&"documentMode"in document&&(zn=document.documentMode);var Nn=u&&"TextEvent"in window&&!zn,Mn=u&&(!jn||zn&&8<zn&&11>=zn),Dn=String.fromCharCode(32),Un=!1;function Fn(e,t){switch(e){case"keyup":return-1!==On.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Vn=!1;var Bn={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 Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Bn[e.type]:"textarea"===t}function Gn(e,t,n,r){Ce(r),0<(t=Yr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Yn=null,Wn=null;function Kn(e){Dr(e,0)}function qn(e){if(W(wo(e)))return e}function Qn(e,t){if("change"===e)return t}var Xn=!1;if(u){var Jn;if(u){var Zn="oninput"in document;if(!Zn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Zn="function"===typeof er.oninput}Jn=Zn}else Jn=!1;Xn=Jn&&(!document.documentMode||9<document.documentMode)}function tr(){Yn&&(Yn.detachEvent("onpropertychange",nr),Wn=Yn=null)}function nr(e){if("value"===e.propertyName&&qn(Wn)){var t=[];Gn(t,Wn,e,we(e)),Ie(Kn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Wn=n,(Yn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return qn(Wn)}function ir(e,t){if("click"===e)return qn(t)}function ar(e,t){if("input"===e||"change"===e)return qn(t)}var lr="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t};function sr(e,t){if(lr(e,t))return!0;
vendor: 4,832 bytes, line 2
2if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!d.call(t,o)||!lr(e[o],t[o]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=K();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=K((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=void 0===r.end?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=ur(n,i);var a=ur(n,r);o&&a&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var hr=u&&"documentMode"in document&&11>=document.documentMode,gr=null,br=null,vr=null,yr=!1;function xr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;yr||null==gr||gr!==K(r)||("selectionStart"in(r=gr)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},vr&&sr(vr,r)||(vr=r,0<(r=Yr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function wr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Er={animationend:wr("Animation","AnimationEnd"),animationiteration:wr("Animation","AnimationIteration"),animationstart:wr("Animation","AnimationStart"),transitionend:wr("Transition","TransitionEnd")},_r={},kr={};function Tr(e){if(_r[e])return _r[e];if(!Er[e])return e;var t,n=Er[e];for(t in n)if(n.hasOwnProperty(t)&&t in kr)return _r[e]=n[t];return e}u&&(kr=document.createElement("div").style,"AnimationEvent"in window||(delete Er.animationend.animation,delete Er.animationiteration.animation,delete Er.animationstart.animation),"TransitionEvent"in window||delete Er.transitionend.transition);var Cr=Tr("animationend"),Sr=Tr("animationiteration"),Pr=Tr("animationstart"),Ar=Tr("transitionend"),Rr=new Map,Ir="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 Lr(e,t){Rr.set(e,t),s(t,[e])}for(var Or=0;Or<Ir.length;Or++){var jr=Ir[Or];Lr(jr.toLowerCase(),"on"+(jr[0].toUpperCase()+jr.slice(1)))}Lr(Cr,"onAnimationEnd"),Lr(Sr,"onAnimationIteration"),Lr(Pr,"onAnimationStart"),Lr("dblclick","onDoubleClick"),Lr("focusin","onFocus"),Lr("focusout","onBlur"),Lr(Ar,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focu
2sin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var zr="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(" "),Nr=new Set("cancel close invalid load scroll toggle".split(" ").concat(zr));function Mr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,o,a,l,s,c){if($e.apply(this,arguments),Ne){if(!Ne)throw Error(i(198));var u=Me;Ne=!1,Me=null,De||(De=!0,Ue=u)}}(r,t,void 0,e),e.currentTarget=null}function Dr(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var a=r.length-1;0<=a;a--){var l=r[a],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==i&&o.isPropagationStopped())break e;Mr(o,l,c),i=s}else for(a=0;a<r.length;a++){if(s=(l=r[a]).instance,c=l.currentTarget,l=l.listener,s!==i&&o.isPropagationStopped())break e;Mr(o,l,c),i=s}}}if(De)throw e=Ue,De=!1,Ue=null,e}function Ur(e,t){var n=t[go];void 0===n&&(n=t[go]=new Set);var r=e+"__bubble";n.has(r)||(Br(t,e,2,!1),n.add(r))}function Fr(e,t,n){var r=0;t&&(r|=4),Br(n,e,r,t)}var $r="_reactListening"+Math.random().toString(36).slice(2);function Vr(e){if(!e[$r]){e[$r]=!0,a.forEach((function(t){"selectionchange"!==t&&(Nr.has(t)||Fr(t,!1,e),Fr(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[$r]||(t[$r]=!0,Fr("selectionchange",!1,t))}}function Br(e,t,n,r){switch(Qt(t)){case 1:var o=Gt;break;case 4:o=Yt;break;default:o=Wt}n=o.bind(null,t,n,e),o=void 0,!Oe||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Hr(e,t,n,r,o){var i=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var a=r.tag;if(3===a||4===a){var l=r.stateNode.containerInfo;if(l===o||8===l.nodeType&&l.parentNode===o)break;if(4===a)for(a=r.return;null!==a;){var s=a.tag;if((3===s||4===s)&&((s=a.stateNode.containerInfo)===o||8===s.nodeType&&s.parentNode===o))return;a=a.return}for(;null!==l;){if(null===(a=yo(l)))return;if(5===(s=a.tag)||6===s){r=i=a;continue e}l=l.parentNode}}r=r.return}Ie((function(){var r=i,o=we(n),a=[];e:{var l=Rr.get(e);if(void 0!==l){var s=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":s=Sn;break;case"focusin":c="focus",s=gn;break;case"focusout":c="blur",s=gn;break;case"beforeblur":case"afterblur":s=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=hn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=An;break;case Cr:case Sr:case Pr:s=bn;break;case Ar:s=Rn;break;case"scroll":s=pn;break;case"wheel":s=Ln;break;case"copy":case"cut":case"paste":s=yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=Pn}var u=0!==(4&t),d=!u&&"scroll"===e,p=u?null!==l?l+"Capture":null:l;u=[];for(var f,m=r;null!==m;){var h=(f=m).stateNode;if(5===f.tag&&null!==h&&(f=h,null!==p&&(null!=(h=Le(m,p))&&u.push(Gr(m,h,f)))),d)break;m=m.return}0<u.length&&(l=new s(l,c,null,n,o),a.push({event:l,listeners:u}))}}if(0===(7&t)){if(s="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||n===xe||!(c=n.relatedTarget||n.fromElement)||!yo(c)&&!c[ho])&&(s||l)&&(l=o.window===o?o:(l=o.ownerDocument)?l.defaultView||l.parentWindow:window,s?(s=r,null!==(c=(c=n.relatedTarget||n.toElement)?yo(c):null)&&(c!==(d=Ve(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(s=null,c=r),s!==c)){if(u=mn,h="onMouseLeave",p="onMouseEnter",m="mou
2se","pointerout"!==e&&"pointerover"!==e||(u=Pn,h="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==s?l:wo(s),f=null==c?l:wo(c),(l=new u(h,m+"leave",s,n,o)).target=d,l.relatedTarget=f,h=null,yo(o)===r&&((u=new u(p,m+"enter",c,n,o)).target=f,u.relatedTarget=d,h=u),d=h,s&&c)e:{for(p=c,m=0,f=u=s;f;f=Wr(f))m++;for(f=0,h=p;h;h=Wr(h))f++;for(;0<m-f;)u=Wr(u),m--;for(;0<f-m;)p=Wr(p),f--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=Wr(u),p=Wr(p)}u=null}else u=null;null!==s&&Kr(a,l,s,u,!1),null!==c&&null!==d&&Kr(a,d,c,u,!0)}if("select"===(s=(l=r?wo(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var g=Qn;else if(Hn(l))if(Xn)g=ar;else{g=or;var b=rr}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(g=ir);switch(g&&(g=g(e,r))?Gn(a,g,n,o):(b&&b(e,l,r),"focusout"===e&&(b=l._wrapperState)&&b.controlled&&"number"===l.type&&ee(l,"number",l.value)),b=r?wo(r):window,e){case"focusin":(Hn(b)||"true"===b.contentEditable)&&(gr=b,br=r,vr=null);break;case"focusout":vr=br=gr=null;break;case"mousedown":yr=!0;break;case"contextmenu":case"mouseup":case"dragend":yr=!1,xr(a,n,o);break;case"selectionchange":if(hr)break;case"keydown":case"keyup":xr(a,n,o)}var v;if(jn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Vn?Fn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Mn&&"ko"!==n.locale&&(Vn||"onCompositionStart"!==y?"onCompositionEnd"===y&&Vn&&(v=en()):(Jt="value"in(Xt=o)?Xt.value:Xt.textContent,Vn=!0)),0<(b=Yr(r,y)).length&&(y=new xn(y,e,null,n,o),a.push({event:y,listeners:b}),v?y.data=v:null!==(v=$n(n))&&(y.data=v))),(v=Nn?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(Un=!0,Dn);case"textInput":return(e=t.data)===Dn&&Un?null:e;default:return null}}(e,n):function(e,t){if(Vn)return"compositionend"===e||!jn&&Fn(e,t)?(e=en(),Zt=Jt=Xt=null,Vn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;
vendor: 12,611 bytes, line 2
2case"compositionend":return Mn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Yr(r,"onBeforeInput")).length&&(o=new xn("onBeforeInput","beforeinput",null,n,o),a.push({event:o,listeners:r}),o.data=v))}Dr(a,t)}))}function Gr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Yr(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,i=o.stateNode;5===o.tag&&null!==i&&(o=i,null!=(i=Le(e,n))&&r.unshift(Gr(e,i,o)),null!=(i=Le(e,t))&&r.push(Gr(e,i,o))),e=e.return}return r}function Wr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Kr(e,t,n,r,o){for(var i=t._reactName,a=[];null!==n&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(null!==s&&s===r)break;5===l.tag&&null!==c&&(l=c,o?null!=(s=Le(n,i))&&a.unshift(Gr(n,s,l)):o||null!=(s=Le(n,i))&&a.push(Gr(n,s,l))),n=n.return}0!==a.length&&e.push({event:t,listeners:a})}var qr=/\r\n?/g,Qr=/\u0000|\uFFFD/g;function Xr(e){return("string"===typeof e?e:""+e).replace(qr,"\n").replace(Qr,"")}function Jr(e,t,n){if(t=Xr(t),Xr(e)!==t&&n)throw Error(i(425))}function Zr(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ro="function"===typeof setTimeout?setTimeout:void 0,oo="function"===typeof clearTimeout?clearTimeout:void 0,io="function"===typeof Promise?Promise:void 0,ao="function"===typeof queueMicrotask?queueMicrotask:"undefined"!==typeof io?function(e){return io.resolve(null).then(e).catch(lo)}:ro;function lo(e){setTimeout((function(){throw e}))}function so(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===r)return e.removeChild(o),void Vt(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=o}while(n);Vt(t)}function co(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var po=Math.random().toString(36).slice(2),fo="__reactFiber$"+po,mo="__reactProps$"+po,ho="__reactContainer$"+po,go="__reactEvents$"+po,bo="__reactListeners$"+po,vo="__reactHandles$"+po;function yo(e){var t=e[fo];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ho]||n[fo]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[fo])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function xo(e){return!(e=e[fo]||e[ho])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function Eo(e){return e[mo]||null}var _o=[],ko=-1;function To(e){return{current:e}}function Co(e){0>ko||(e.current=_o[ko],_o[ko]=null,ko--)}function So(e,t){ko++,_o[ko]=e.current,e.current=t}var Po={},Ao=To(Po),Ro=To(!1),Io=Po;function Lo(e,t){var n=e.type.contextTypes;if(!n)return Po;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,i={};for(o in n)i[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Oo(e){return null!==(e=e.childContextTypes)&&void 0!==e}function jo(){Co(Ro),Co(Ao)}function zo(e,t,n){if(Ao.current!==Po)throw Error(i(168));So(Ao,t),So(Ro,n)}function No(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(i(108,B(e)||"Unknown",o));return M({},n,r)}function Mo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Po,Io=Ao.current,So(Ao,e),So(Ro,Ro.current),!0}function Do(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=No(e,t,Io),r.__reactInternalMemoizedMergedChildContext=e,Co(Ro),Co(Ao),So(Ao,e)):Co(Ro),So(Ro,n)}var Uo=null,Fo=!1,$o=!1;function Vo(e){null===Uo?Uo=[e]:Uo.push(e)}function Bo(){if(!$o&&null!==Uo){$o=!0;var e=0,t=yt;try{var n=Uo;for(yt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Uo=null,Fo=!1}catch(o){throw null!==Uo&&(Uo=Uo.slice(e+1)),We(Ze,Bo),o}finally{yt=t,$o=!1}}return null}var Ho=[],Go=0,Yo=null,Wo=0,Ko=[],qo=0,Qo=null,Xo=1,Jo="";function Zo(e,t){Ho[Go++]=Wo,Ho[Go++]=Yo,Yo=e,Wo=t}function ei(e,t,n){Ko[qo++]=Xo,Ko[qo++]=Jo,Ko[qo++]=Qo,Qo=e;var r=Xo;e=Jo;var o=32-at(r)-1;r&=~(1<<o),n+=1;var i=32-at(t)+o;if(30<i){var a=o-o%5;i=(r&(1<<a)-1).toString(32),r>>=a,o-=a,Xo=1<<32-at(t)+o|n<<o|r,Jo=i+e}else Xo=1<<i|n<<o|r,Jo=e}function ti(e){null!==e.return&&(Zo(e,1),ei(e,1,0))}function ni(e){for(;e===Yo;)Yo=Ho[--Go],Ho[Go]=null,Wo=Ho[--Go],Ho[Go]=null;for(;e===Qo;)Qo=Ko[--qo],Ko[qo]=null,Jo=Ko[--qo],Ko[qo]=null,Xo=Ko[--qo],Ko[qo]=null}var ri=null,oi=null,ii=!1,ai=null;function li(e,t){var n=Ic(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function si(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ri=e,oi=co(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ri=e,oi=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qo?{id:Xo,overflow:Jo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Ic(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ri=e,oi=null,!0);default:return!1}}function ci(e){return 0!==(1&e.mode)&&0===(128&e.flags)}function ui(e){if(ii){var t=oi;if(t){var n=t;if(!si(e,t)){if(ci(e))throw Error(i(418));t=co(n.nextSibling);var r=ri;t&&si(e,t)?li(r,n):(e.flags=-4097&e.flags|2,ii=!1,ri=e)}}else{if(ci(e))throw Error(i(418));e.flags=-4097&e.flags|2,ii=!1,ri=e}}}function di(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ri=e}function pi(e){if(e!==ri)return!1;if(!ii)return di(e),ii=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oi)){if(ci(e))throw fi(),Error(i(418));for(;t;)li(e,t),t=co(t.nextSibling)}if(di(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oi=co(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oi=null}}else oi=ri?co(e.stateNode.nextSibling):null;return!0}function fi(){for(var e=oi;e;)e=co(e.nextSibling)}function mi(){oi=ri=null,ii=!1}function hi(e){null===ai?ai=[e]:ai.push(e)}var gi=x.ReactCurrentBatchConfig;function bi(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var o=r,a=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=o.refs;null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!==typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function vi(e,t){throw e=Object.prototype.toString.call(t),Error(i(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function yi(e){return(0,e._init)(e._payload)}function xi(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Oc(e,t)).index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=2),t}function s(e,t,n,r){return null===t||6!==t.tag?((t=Mc(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function c(e,t,n,r){var i=n.type;return i===_?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===i||"object"===typeof i&&null!==i&&i.$$typeof===L&&yi(i)===t.type)?((r=o(t,n.props)).ref=bi(e,t,n),r.return=e,r):((r=jc(n.type,n.key,n.props,null,e.mode,r)).ref=bi(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Dc(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function d(e,t,n,r,i){return null===t||7!==t.tag?((t=zc(n,e.mode,r,i)).return=e,t):((t=o(t,n)).return=e,t)}function p(e,t,n){if("string"===typeof t&&""!==t||"number"===typeof t)return(t=Mc(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case w:return(n=jc(t.type,t.key,t.props,null,e.mode,n)).ref=bi(e,null,t),n.return=e,n;case E:return(t=Dc(t,e.mode,n)).return=e,t;case L:return p(e,(0,t._init)(t._payload),n)}if(te(t)||z(t))return(t=zc(t,e.mode,n,null)).return=e,t;vi(e,t)}return null}function f(e,t,n,r){var o=null!==t?t.key:null;if("string"===typeof n&&""!==n||"number"===typeof n)return null!==o?null:s(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===o?c(e,t,n,r):null;case E:return n.key===o?u(e,t,n,r):null;case L:return f(e,t,(o=n._init)(n._payload),r)}if(te(n)||z(n))return null!==o?null:d(e,t,n,r,null);vi(e,n)}return null}function m(e,t,n,r,o){if("string"===typeof r&&""!==r||"number"===typeof r)return s(t,e=e.get(n)||null,""+r,o);if("object"===typeof r&&null!==r){switch(r.$$typeof){case w:return c(t,e=e.get(null===r.key?n:r.key)||null,r,o);case E:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case L:return m(e,t,n,(0,r._init)(r._payload),o)}if(te(r)||z(r))return d(t,e=e.get(n)||null,r,o,null);vi(t,r)}return null}function h(o,i,l,s){for(var c=null,u=null,d=i,h=i=0,g=null;null!==d&&h<l.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var b=f(o,d,l[h],s);if(null===b){null===d&&(d=g);break}e&&d&&null===b.alternate&&t(o,d),i=a(b,i,h),null===u?c=b:u.sibling=b,u=b,d=g}if(h===l.length)return n(o,d),ii&&Zo(o,h),c;if(null===d){for(;h<l.length;h++)null!==(d=p(o,l[h],s))&&(i=a(d,i,h),null===u?c=d:u.sibling=d,u=d);return ii&&Zo(o,h),c}for(d=r(o,d);h<l.length;h++)null!==(g=m(d,o,h,l[h],s))&&(e&&null!==g.alternate&&d.delete(null===g.key?h:g.key),i=a(g,i,h),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach((function(e){return t(o,e)})),ii&&Zo(o,h),c}function g(o,l,s,c){var u=z(s);if("function"!==typeof u)throw Error(i(150));if(null==(s=u.call(s)))throw Error(i(151));for(var d=u=null,h=l,g=l=0,b=null,v=s.next();null!==h&&!v.done;g++,v=s.next()){h.index>g?(b=h,h=null):b=h.sibling;var y=f(o,h,v.value,c);if(null===y){null===h&&(h=b);break}e&&h&&null===y.alternate&&t(o,h),l=a(y,l,g),null===d?u=y:d.sibling=y,d=y,h=b}if(v.done)return n(o,h),ii&&Zo(o,g),u;if(null===h){for(;!v.done;g++,v=s.next())null!==(v=p(o,v.value,c))&&(l=a(v,l,g),null===d?u=v:d.sibling=v,d=v);return ii&&Zo(o,g),u}for(h=r(o,h);!v.done;g++,v=s.next())null!==(v=m(h,o,g,v.value,c))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),l=a(v,l,g),null===d?u=v:d.sibling=v,d=v);return e&&h.forEach((function(e){return t(o,e)})),ii&&Zo(o,g),u}return function e(r,i,a,s){if("object"===typeof a&&null!==a&&a.type===_&&null===a.key&&(a=a.props.children),"object"===typeof a&&null!==a){switch(a.$$typeof){case w:e:{for(var c=a.key,u=i;null!==u;){if(u.key===c){if((c=a.type)===_){if(7===u.tag){n(r,u.sibling),(i=o(u,a.props.children)).return=r,r=i;break e}}else if(u.elementType===c||"object"===typeof c&&null!==c&&c.$$typeof===L&&yi(c)===u.type){n(r,u.sibling),(i=o(u,a.props)).ref=bi(r,u,a),i.return=r,r=i;break e}n(r,u);break}t(r,u),u=u.sibling}a.type===_?((i=zc(a.props.children,r.mode,s,a.key)).return=r,r=i):((s=jc(a.type,a.key,a.props,null,r.mode,s)).ref=bi(r,i,a),s.return=r,r=s)}return l(r);case E:e:{for(u=a.key;null!==i;){if(i.key===u){if(4===i.tag&&i.stateNode.containerInfo===a.containerInfo&&i.stateNode.implementation===a.implementation){n(r,i.sibling),(i=o(i,a.children||[])).return=r,r=i;break e}n(r,i);break}t(r,i),i=i.sibling}(i=Dc(a,r.mode,s)).return=r,r=i}return l(r);case L:return e(r,i,(u=a._init)(a._payload),s)}if(te(a))return h(r,i,a,s);if(z(a))return g(r,i,a,s);vi(r,a)}return"string"===typeof a&&""!==a||"number"===typeof a?(a=""+a,null!==i&&6===i.tag?(n(r,i.sibling),(i=o(i,a)).return=r,r=i):(n(r,i),(i=Mc(a,r.mode,s)).return=r,r=i),l(r)):n(r,i)}}var wi=xi(!0),Ei=xi(!1),_i=To(null),ki=null,Ti=null,Ci=null;function Si(){Ci=Ti=ki=null}function Pi(e){var t=_i.current;Co(_i),e._currentValue=t}
vendor: 5,324 bytes, line 2
2function Ai(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ri(e,t){ki=e,Ci=Ti=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(yl=!0),e.firstContext=null)}function Ii(e){var t=e._currentValue;if(Ci!==e)if(e={context:e,memoizedValue:t,next:null},null===Ti){if(null===ki)throw Error(i(308));Ti=e,ki.dependencies={lanes:0,firstContext:e}}else Ti=Ti.next=e;return t}var Li=null;function Oi(e){null===Li?Li=[e]:Li.push(e)}function ji(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,Oi(t)):(n.next=o.next,o.next=n),t.interleaved=n,zi(e,r)}function zi(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ni=!1;function Mi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Di(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ui(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Fi(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&Ps)){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,zi(e,n)}return null===(o=r.interleaved)?(t.next=t,Oi(r)):(t.next=o.next,o.next=t),r.interleaved=t,zi(e,n)}function $i(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}function Vi(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,i=null;if(null!==(n=n.firstBaseUpdate)){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===i?o=i=a:i=i.next=a,n=n.next}while(null!==n);null===i?o=i=t:i=i.next=t}else o=i=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Bi(e,t,n,r){var o=e.updateQueue;Ni=!1;var i=o.firstBaseUpdate,a=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var s=l,c=s.next;s.next=null,null===a?i=c:a.next=c,a=s;var u=e.alternate;null!==u&&((l=(u=u.updateQueue).lastBaseUpdate)!==a&&(null===l?u.firstBaseUpdate=c:l.next=c,u.lastBaseUpdate=s))}if(null!==i){var d=o.baseState;for(a=0,u=c=s=null,l=i;;){var p=l.lane,f=l.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var m=e,h=l;switch(p=t,f=n,h.tag){case 1:if("function"===typeof(m=h.payload)){d=m.call(f,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null===(p="function"===typeof(m=h.payload)?m.call(f,d,p):m)||void 0===p)break e;d=M({},d,p);break e;case 2:Ni=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(p=o.effects)?o.effects=[l]:p.push(l))}else f={eventTime:f,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===u?(c=u=f,s=d):u=u.next=f,a|=p;if(null===(l=l.next)){if(null===(l=o.shared.pending))break;l=(p=l).next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}if(null===u&&(s=d),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=u,null!==(t=o.shared.interleaved)){o=t;do{a|=o.lane,o=o.next}while(o!==t)}else null===i&&(o.shared.lanes=0);Ns|=a,e.lanes=a,e.memoizedState=d}}function Hi(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!==typeof o)throw Error(i(191,o));o.call(r)}}}var Gi={},Yi=To(Gi),Wi=To(Gi),Ki=To(Gi);function qi(e){if(e===Gi)throw Error(i(174));return e}function Qi(e,t){switch(So(Ki,t),So(Wi,e),So(Yi,Gi),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:se(null,"");break;default:t=se(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Co(Yi),So(Yi,t)}function Xi(){Co(Yi),Co(Wi),Co(Ki)}function Ji(e){qi(Ki.current);var t=qi(Yi.current),n=se(t,e.type);t!==n&&(So(Wi,e),So(Yi,n))}function Zi(e){Wi.current===e&&(Co(Yi),Co(Wi))}var ea=To(0);function ta(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var na=[];function ra(){for(var e=0;e<na.length;e++)na[e]._workInProgressVersionPrimary=null;na.length=0}var oa=x.ReactCurrentDispatcher,ia=x.ReactCurrentBatchConfig,aa=0,la=null,sa=null,ca=null,ua=!1,da=!1,pa=0,fa=0;function ma(){throw Error(i(321))}function ha(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!lr(e[n],t[n]))return!1;return!0}function ga(e,t,n,r,o,a){if(aa=a,la=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,oa.current=null===e||null===e.memoizedState?Za:el,e=n(r,o),da){a=0;
vendor: 4,425 bytes, line 2
2do{if(da=!1,pa=0,25<=a)throw Error(i(301));a+=1,ca=sa=null,t.updateQueue=null,oa.current=tl,e=n(r,o)}while(da)}if(oa.current=Ja,t=null!==sa&&null!==sa.next,aa=0,ca=sa=la=null,ua=!1,t)throw Error(i(300));return e}function ba(){var e=0!==pa;return pa=0,e}function va(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ca?la.memoizedState=ca=e:ca=ca.next=e,ca}function ya(){if(null===sa){var e=la.alternate;e=null!==e?e.memoizedState:null}else e=sa.next;var t=null===ca?la.memoizedState:ca.next;if(null!==t)ca=t,sa=e;else{if(null===e)throw Error(i(310));e={memoizedState:(sa=e).memoizedState,baseState:sa.baseState,baseQueue:sa.baseQueue,queue:sa.queue,next:null},null===ca?la.memoizedState=ca=e:ca=ca.next=e}return ca}function xa(e,t){return"function"===typeof t?t(e):t}function wa(e){var t=ya(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=sa,o=r.baseQueue,a=n.pending;if(null!==a){if(null!==o){var l=o.next;o.next=a.next,a.next=l}r.baseQueue=o=a,n.pending=null}if(null!==o){a=o.next,r=r.baseState;var s=l=null,c=null,u=a;do{var d=u.lane;if((aa&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(s=c=p,l=r):c=c.next=p,la.lanes|=d,Ns|=d}u=u.next}while(null!==u&&u!==a);null===c?l=r:c.next=s,lr(r,t.memoizedState)||(yl=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do{a=o.lane,la.lanes|=a,Ns|=a,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Ea(e){var t=ya(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(null!==o){n.pending=null;var l=o=o.next;do{a=e(a,l.action),l=l.next}while(l!==o);lr(a,t.memoizedState)||(yl=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function _a(){}function ka(e,t){var n=la,r=ya(),o=t(),a=!lr(r.memoizedState,o);if(a&&(r.memoizedState=o,yl=!0),r=r.queue,Na(Sa.bind(null,n,r,e),[e]),r.getSnapshot!==t||a||null!==ca&&1&ca.memoizedState.tag){if(n.flags|=2048,Ia(9,Ca.bind(null,n,r,o,t),void 0,null),null===As)throw Error(i(349));0!==(30&aa)||Ta(n,t,o)}return o}function Ta(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=la.updateQueue)?(t={lastEffect:null,stores:null},la.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Ca(e,t,n,r){t.value=n,t.getSnapshot=r,Pa(t)&&Aa(e)}function Sa(e,t,n){return n((function(){Pa(t)&&Aa(e)}))}function Pa(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!lr(e,n)}catch(r){return!0}}function Aa(e){var t=zi(e,1);null!==t&&nc(t,e,1,-1)}function Ra(e){var t=va();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:xa,lastRenderedState:e},t.queue=e,e=e.dispatch=Ka.bind(null,la,e),[t.memoizedState,e]}function Ia(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=la.updateQueue)?(t={lastEffect:null,stores:null},la.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function La(){return ya().memoizedState}function Oa(e,t,n,r){var o=va();la.flags|=e,o.memoizedState=Ia(1|t,n,void 0,void 0===r?null:r)}function ja(e,t,n,r){var o=ya();r=void 0===r?null:r;var i=void 0;if(null!==sa){var a=sa.memoizedState;if(i=a.destroy,null!==r&&ha(r,a.deps))return void(o.memoizedState=Ia(t,n,i,r))}la.flags|=e,o.memoizedState=Ia(1|t,n,i,r)}function za(e,t){return Oa(8390656,8,e,t)}function Na(e,t){return ja(2048,8,e,t)}function Ma(e,t){return ja(4,2,e,t)}function Da(e,t){return ja(4,4,e,t)}function Ua(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Fa(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,ja(4,4,Ua.bind(null,t,e),n)}function $a(){}function Va(e,t){var n=ya();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ha(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ba(e,t){var n=ya();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ha(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}
2function Ha(e,t,n){return 0===(21&aa)?(e.baseState&&(e.baseState=!1,yl=!0),e.memoizedState=n):(lr(n,t)||(n=ht(),la.lanes|=n,Ns|=n,e.baseState=!0),t)}function Ga(e,t){var n=yt;yt=0!==n&&4>n?n:4,e(!0);var r=ia.transition;ia.transition={};try{e(!1),t()}finally{yt=n,ia.transition=r}}function Ya(){return ya().memoizedState}function Wa(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},qa(e))Qa(t,n);else if(null!==(n=ji(e,t,n,r))){nc(n,e,r,ec()),Xa(n,t,r)}}function Ka(e,t,n){var r=tc(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(qa(e))Qa(t,o);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var a=t.lastRenderedState,l=i(a,n);if(o.hasEagerState=!0,o.eagerState=l,lr(l,a)){var s=t.interleaved;return null===s?(o.next=o,Oi(t)):(o.next=s.next,s.next=o),void(t.interleaved=o)}}catch(c){}null!==(n=ji(e,t,o,r))&&(nc(n,e,r,o=ec()),Xa(n,t,r))}}function qa(e){var t=e.alternate;return e===la||null!==t&&t===la}function Qa(e,t){da=ua=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Xa(e,t,n){if(0!==(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}var Ja={readContext:Ii,useCallback:ma,useContext:ma,useEffect:ma,useImperativeHandle:ma,useInsertionEffect:ma,useLayoutEffect:ma,useMemo:ma,useReducer:ma,useRef:ma,useState:ma,useDebugValue:ma,useDeferredValue:ma,useTransition:ma,useMutableSource:ma,useSyncExternalStore:ma,useId:ma,unstable_isNewReconciler:!1},Za={readContext:Ii,useCallback:function(e,t){return va().memoizedState=[e,void 0===t?null:t],e},useContext:Ii,useEffect:za,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Oa(4194308,4,Ua.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Oa(4194308,4,e,t)},useInsertionEffect:function(e,t){return Oa(4,2,e,t)},useMemo:function(e,t){var n=va();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=va();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Wa.bind(null,la,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},va().memoizedState=e},useState:Ra,useDebugValue:$a,useDeferredValue:function(e){return va().memoizedState=e},useTransition:function(){var e=Ra(!1),t=e[0];return e=Ga.bind(null,e[1]),va().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=la,o=va();if(ii){if(void 0===n)throw Error(i(407));n=n()}else{if(n=t(),null===As)throw Error(i(349));0!==(30&aa)||Ta(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,za(Sa.bind(null,r,a,e),[e]),r.flags|=2048,Ia(9,Ca.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=va(),t=As.identifierPrefix;if(ii){var n=Jo;t=":"+t+"R"+(n=(Xo&~(1<<32-at(Xo)-1)).toString(32)+n),0<(n=pa++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=fa++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},el={readContext:Ii,useCallback:Va,useContext:Ii,useEffect:Na,useImperativeHandle:Fa,useInsertionEffect:Ma,useLayoutEffect:Da,useMemo:Ba,useReducer:wa,useRef:La,useState:function(){return wa(xa)},useDebugValue:$a,useDeferredValue:function(e){return Ha(ya(),sa.memoizedState,e)},useTransition:function(){return[wa(xa)[0],ya().memoizedState]},useMutableSource:_a,useSyncExternalStore:ka,useId:Ya,unstable_isNewReconciler:!1},tl={readContext:Ii,useCallback:Va,useContext:Ii,useEffect:Na,useImperativeHandle:Fa,useInsertionEffect:Ma,useLayoutEffect:Da,useMemo:Ba,useReducer:Ea,useRef:La,useState:function(){return Ea(xa)},useDebugValue:$a,useDeferredValue:function(e){var t=ya();return null===sa?t.memoizedState=e:Ha(t,sa.memoizedState,e)},useTransition:function(){return[Ea(xa)[0],ya().memoizedState]},useMutableSource:_a,useSyncExternalStore:ka,useId:Ya,unstable_isNewReconciler:!1};function nl(e,t){if(e&&e.defaultProps){for(var n in t=M({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rl(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:M({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ol={isMounted:function(e){return!!(e=e._reactInternals)&&Ve(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),i=Ui(r,o);i.payload=t,void 0!==n&&null!==n&&(i.callback=n),null!==(t=Fi(e,i,o))&&(nc(t,e,o,r),$i(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),i=Ui(r,o);i.tag=1,i.payload=t,void 0!==n&&null!==n&&(i.callback=n),null!==(t=Fi(e,i,o))&&(nc(t,e,o,r),$i(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),o=Ui(n,r);o.tag=2,void 0!==t&&null!==t&&(o.callback=t),null!==(t=Fi(e,o,r))&&(nc(t,e,r,n),$i(t,e,r))}};function il(e,t,n,r,o,i,a){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,i,a):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(o,i))}function al(e,t,n){var r=!1,o=Po,i=t.contextType;return"object"===typeof i&&null!==i?i=Ii(i):(o=Oo(t)?Io:Ao.current,i=(r=null!==(r=t.contextTypes)&&void 0!==r)?Lo(e,o):Po),t=new t(n,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ol,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=i),t}function ll(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ol.enqueueReplaceState(t,t.state,null)}function sl(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Mi(e);var i=t.contextType;"object"===typeof i&&null!==i?o.context=Ii(i):(i=Oo(t)?Io:Ao.current,o.context=Lo(e,i)),o.state=e.memoizedState,"function"===typeof(i=t.getDerivedStateFromProps)&&(rl(e,t,i,n),o.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof o.getSnapshotBeforeUpdate||"function"!==typeof o.UNSAFE_componentWillMount&&"function"!==typeof o.componentWillMount||(t=o.state,"function"===typeof o.componentWillMount&&o.componentWillMount(),"function"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&ol.enqueueReplaceState(o,o.state,null),Bi(e,n,o,r),o.state=e.memoizedState),"function"===typeof o.componentDidMount&&(e.flags|=4194308)}function cl(e,t){try{var n="",r=t;do{n+=$(r),r=r.return}while(r);var o=n}catch(i){o="\nError generating stack: "+i.message+"\n"+i.stack}return{value:e,source:t,stack:o,digest:null}}function ul(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function dl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var pl="function"===typeof WeakMap?WeakMap:Map;function fl(e,t,n){(n=Ui(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Hs||(Hs=!0,Gs=r),dl(0,t)},n}function ml(e,t,n){(n=Ui(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){dl(0,t)}}var i=e.stateNode;return null!==i&&"function"===typeof i.componentDidCatch&&(n.callback=function(){dl(0,t),"function"!==typeof r&&(null===Ys?Ys=new Set([this]):Ys.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hl(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new pl;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=Tc.bind(null,e,t,n),t.then(e,e))}function gl(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bl(e,t,n,r,o){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Ui(-1,1)).tag=2,Fi(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var vl=x.ReactCurrentOwner,yl=!1;function xl(e,t,n,r){t.child=null===e?Ei(t,null,n,r):wi(t,e.child,n,r)}function wl(e,t,n,r,o){n=n.render;var i=t.ref;return Ri(t,o),r=ga(e,t,n,r,i,o),n=ba(),null===e||yl?(ii&&n&&ti(t),t.flags|=1,xl(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hl(e,t,o))}function El(e,t,n,r,o){if(null===e){var i=n.type;return"function"!==typeof i||Lc(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=jc(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,_l(e,t,i,r,o))}if(i=e.child,0===(e.lanes&o)){var a=i.memoizedProps;if((n=null!==(n=n.compare)?n:sr)(a,r)&&e.ref===t.ref)return Hl(e,t,o)}return t.flags|=1,(e=Oc(i,r)).ref=t.ref,e.return=t,t.child=e}function _l(e,t,n,r,o){if(null!==e){var i=e.memoizedProps;if(sr(i,r)&&e.ref===t.ref){if(yl=!1,t.pendingProps=r=i,0===(e.lanes&o))return t.lanes=e.lanes,Hl(e,t,o);0!==(131072&e.flags)&&(yl=!0)}}return Cl(e,t,n,r,o)}function kl(e,t,n){var r=t.pendingProps,o=r.children,i=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},So(Os,Ls),Ls|=n;else{if(0===(1073741824&n))return e=null!==i?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,So(Os,Ls),Ls|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==i?i.baseLanes:n,So(Os,Ls),Ls|=r}else null!==i?(r=i.baseLanes|n,t.memoizedState=null):r=n,So(Os,Ls),Ls|=r;return xl(e,t,o,n),t.child}function Tl(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}
2function Cl(e,t,n,r,o){var i=Oo(n)?Io:Ao.current;return i=Lo(t,i),Ri(t,o),n=ga(e,t,n,r,i,o),r=ba(),null===e||yl?(ii&&r&&ti(t),t.flags|=1,xl(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hl(e,t,o))}function Sl(e,t,n,r,o){if(Oo(n)){var i=!0;Mo(t)}else i=!1;if(Ri(t,o),null===t.stateNode)Bl(e,t),al(t,n,r),sl(t,n,r,o),r=!0;else if(null===e){var a=t.stateNode,l=t.memoizedProps;a.props=l;var s=a.context,c=n.contextType;"object"===typeof c&&null!==c?c=Ii(c):c=Lo(t,c=Oo(n)?Io:Ao.current);var u=n.getDerivedStateFromProps,d="function"===typeof u||"function"===typeof a.getSnapshotBeforeUpdate;d||"function"!==typeof a.UNSAFE_componentWillReceiveProps&&"function"!==typeof a.componentWillReceiveProps||(l!==r||s!==c)&&ll(t,a,r,c),Ni=!1;var p=t.memoizedState;a.state=p,Bi(t,r,a,o),s=t.memoizedState,l!==r||p!==s||Ro.current||Ni?("function"===typeof u&&(rl(t,n,u,r),s=t.memoizedState),(l=Ni||il(t,n,l,r,p,s,c))?(d||"function"!==typeof a.UNSAFE_componentWillMount&&"function"!==typeof a.componentWillMount||("function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"===typeof a.componentDidMount&&(t.flags|=4194308)):("function"===typeof a.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),a.props=r,a.state=s,a.context=c,r=l):("function"===typeof a.componentDidMount&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Di(e,t),l=t.memoizedProps,c=t.type===t.elementType?l:nl(t.type,l),a.props=c,d=t.pendingProps,p=a.context,"object"===typeof(s=n.contextType)&&null!==s?s=Ii(s):s=Lo(t,s=Oo(n)?Io:Ao.current);var f=n.getDerivedStateFromProps;(u="function"===typeof f||"function"===typeof a.getSnapshotBeforeUpdate)||"function"!==typeof a.UNSAFE_componentWillReceiveProps&&"function"!==typeof a.componentWillReceiveProps||(l!==d||p!==s)&&ll(t,a,r,s),Ni=!1,p=t.memoizedState,a.state=p,Bi(t,r,a,o);var m=t.memoizedState;l!==d||p!==m||Ro.current||Ni?("function"===typeof f&&(rl(t,n,f,r),m=t.memoizedState),(c=Ni||il(t,n,c,r,p,m,s)||!1)?(u||"function"!==typeof a.UNSAFE_componentWillUpdate&&"function"!==typeof a.componentWillUpdate||("function"===typeof a.componentWillUpdate&&a.componentWillUpdate(r,m,s),"function"===typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,m,s)),"function"===typeof a.componentDidUpdate&&(t.flags|=4),"function"===typeof a.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof a.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!==typeof a.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),a.props=r,a.state=m,a.context=s,r=c):("function"!==typeof a.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!==typeof a.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Pl(e,t,n,r,i,o)}function Pl(e,t,n,r,o,i){Tl(e,t);var a=0!==(128&t.flags);if(!r&&!a)return o&&Do(t,n,!1),Hl(e,t,i);r=t.stateNode,vl.current=t;var l=a&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&a?(t.child=wi(t,e.child,null,i),t.child=wi(t,null,l,i)):xl(e,t,l,i),t.memoizedState=r.state,o&&Do(t,n,!0),t.child}function Al(e){var t=e.stateNode;t.pendingContext?zo(0,t.pendingContext,t.pendingContext!==t.context):t.context&&zo(0,t.context,!1),Qi(e,t.containerInfo)}function Rl(e,t,n,r,o){return mi(),hi(o),t.flags|=256,xl(e,t,n,r),t.child}var Il,Ll,Ol,jl,zl={dehydrated:null,treeContext:null,retryLane:0};function Nl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ml(e,t,n){var r,o=t.pendingProps,a=ea.current,l=!1,s=0!==(128&t.flags);if((r=s)||(r=(null===e||null!==e.memoizedState)&&0!==(2&a)),r?(l=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(a|=1),So(ea,1&a),null===e)return ui(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(s=o.children,e=o.fallback,l?(o=t.mode,l=t.child,s={mode:"hidden",children:s},0===(1&o)&&null!==l?(l.childLanes=0,l.pendingProps=s):l=Nc(s,o,0,null),e=zc(e,o,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Nl(n),t.memoizedState=zl,e):Dl(t,s));if(null!==(a=e.memoizedState)&&null!==(r=a.dehydrated))return function(e,t,n,r,o,a,l){if(n)return 256&t.flags?(t.flags&=-257,Ul(e,t,l,r=ul(Error(i(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(a=r.fallback,o=t.mode,r=Nc({mode:"visible",children:r.children}
vendor: 5,026 bytes, line 2
2,o,0,null),(a=zc(a,o,l,null)).flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,0!==(1&t.mode)&&wi(t,e.child,null,l),t.child.memoizedState=Nl(l),t.memoizedState=zl,a);if(0===(1&t.mode))return Ul(e,t,l,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var s=r.dgst;return r=s,Ul(e,t,l,r=ul(a=Error(i(419)),r,void 0))}if(s=0!==(l&e.childLanes),yl||s){if(null!==(r=As)){switch(l&-l){case 4:o=2;break;case 16:o=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:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!==(o&(r.suspendedLanes|l))?0:o)&&o!==a.retryLane&&(a.retryLane=o,zi(e,o),nc(r,e,o,-1))}return hc(),Ul(e,t,l,r=ul(Error(i(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Sc.bind(null,e),o._reactRetry=t,null):(e=a.treeContext,oi=co(o.nextSibling),ri=t,ii=!0,ai=null,null!==e&&(Ko[qo++]=Xo,Ko[qo++]=Jo,Ko[qo++]=Qo,Xo=e.id,Jo=e.overflow,Qo=t),t=Dl(t,r.children),t.flags|=4096,t)}(e,t,s,o,r,a,n);if(l){l=o.fallback,s=t.mode,r=(a=e.child).sibling;var c={mode:"hidden",children:o.children};return 0===(1&s)&&t.child!==a?((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null):(o=Oc(a,c)).subtreeFlags=14680064&a.subtreeFlags,null!==r?l=Oc(r,l):(l=zc(l,s,n,null)).flags|=2,l.return=t,o.return=t,o.sibling=l,t.child=o,o=l,l=t.child,s=null===(s=e.child.memoizedState)?Nl(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},l.memoizedState=s,l.childLanes=e.childLanes&~n,t.memoizedState=zl,o}return e=(l=e.child).sibling,o=Oc(l,{mode:"visible",children:o.children}),0===(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Dl(e,t){return(t=Nc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Ul(e,t,n,r){return null!==r&&hi(r),wi(t,e.child,null,n),(e=Dl(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Fl(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Ai(e.return,t,n)}function $l(e,t,n,r,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o)}function Vl(e,t,n){var r=t.pendingProps,o=r.revealOrder,i=r.tail;if(xl(e,t,r.children,n),0!==(2&(r=ea.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Fl(e,n,t);else if(19===e.tag)Fl(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(So(ea,r),0===(1&t.mode))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ta(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),$l(t,!1,o,n,i);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ta(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}$l(t,!0,n,null,i);break;case"together":$l(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Bl(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Hl(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ns|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Oc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Oc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Gl(e,t){if(!ii)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Yl(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Wl(e,t,n){var r=t.pendingProps;switch(ni(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Yl(t),null;case 1:case 17:return Oo(t.type)&&jo(),Yl(t),null;case 3:return r=t.stateNode,Xi(),Co(Ro),Co(Ao),ra(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(pi(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==ai&&(ac(ai),ai=null))),Ll(e,t),Yl(t),null;
2case 5:Zi(t);var o=qi(Ki.current);if(n=t.type,null!==e&&null!=t.stateNode)Ol(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(i(166));return Yl(t),null}if(e=qi(Yi.current),pi(t)){r=t.stateNode,n=t.type;var a=t.memoizedProps;switch(r[fo]=t,r[mo]=a,e=0!==(1&t.mode),n){case"dialog":Ur("cancel",r),Ur("close",r);break;case"iframe":case"object":case"embed":Ur("load",r);break;case"video":case"audio":for(o=0;o<zr.length;o++)Ur(zr[o],r);break;case"source":Ur("error",r);break;case"img":case"image":case"link":Ur("error",r),Ur("load",r);break;case"details":Ur("toggle",r);break;case"input":Q(r,a),Ur("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!a.multiple},Ur("invalid",r);break;case"textarea":oe(r,a),Ur("invalid",r)}for(var s in ve(n,a),o=null,a)if(a.hasOwnProperty(s)){var c=a[s];"children"===s?"string"===typeof c?r.textContent!==c&&(!0!==a.suppressHydrationWarning&&Jr(r.textContent,c,e),o=["children",c]):"number"===typeof c&&r.textContent!==""+c&&(!0!==a.suppressHydrationWarning&&Jr(r.textContent,c,e),o=["children",""+c
vendor: 7,898 bytes, line 2
2]):l.hasOwnProperty(s)&&null!=c&&"onScroll"===s&&Ur("scroll",r)}switch(n){case"input":Y(r),Z(r,a,!0);break;case"textarea":Y(r),ae(r);break;case"select":case"option":break;default:"function"===typeof a.onClick&&(r.onclick=Zr)}r=o,t.updateQueue=r,null!==r&&(t.flags|=4)}else{s=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=le(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[fo]=t,e[mo]=r,Il(e,t,!1,!1),t.stateNode=e;e:{switch(s=ye(n,r),n){case"dialog":Ur("cancel",e),Ur("close",e),o=r;break;case"iframe":case"object":case"embed":Ur("load",e),o=r;break;case"video":case"audio":for(o=0;o<zr.length;o++)Ur(zr[o],e);o=r;break;case"source":Ur("error",e),o=r;break;case"img":case"image":case"link":Ur("error",e),Ur("load",e),o=r;break;case"details":Ur("toggle",e),o=r;break;case"input":Q(e,r),o=q(e,r),Ur("invalid",e);break;case"option":default:o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=M({},r,{value:void 0}),Ur("invalid",e);break;case"textarea":oe(e,r),o=re(e,r),Ur("invalid",e)}for(a in ve(n,o),c=o)if(c.hasOwnProperty(a)){var u=c[a];"style"===a?ge(e,u):"dangerouslySetInnerHTML"===a?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===a?"string"===typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"===typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&"autoFocus"!==a&&(l.hasOwnProperty(a)?null!=u&&"onScroll"===a&&Ur("scroll",e):null!=u&&y(e,a,u,s))}switch(n){case"input":Y(e),Z(e,r,!1);break;case"textarea":Y(e),ae(e);break;case"option":null!=r.value&&e.setAttribute("value",""+H(r.value));break;case"select":e.multiple=!!r.multiple,null!=(a=r.value)?ne(e,!!r.multiple,a,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof o.onClick&&(e.onclick=Zr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Yl(t),null;case 6:if(e&&null!=t.stateNode)jl(e,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(i(166));if(n=qi(Ki.current),qi(Yi.current),pi(t)){if(r=t.stateNode,n=t.memoizedProps,r[fo]=t,(a=r.nodeValue!==n)&&null!==(e=ri))switch(e.tag){case 3:Jr(r.nodeValue,n,0!==(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Jr(r.nodeValue,n,0!==(1&e.mode))}a&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[fo]=t,t.stateNode=r}return Yl(t),null;case 13:if(Co(ea),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ii&&null!==oi&&0!==(1&t.mode)&&0===(128&t.flags))fi(),mi(),t.flags|=98560,a=!1;else if(a=pi(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(i(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(i(317));a[fo]=t}else mi(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Yl(t),a=!1}else null!==ai&&(ac(ai),ai=null),a=!0;if(!a)return 65536&t.flags?t:null}return 0!==(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!==(1&t.mode)&&(null===e||0!==(1&ea.current)?0===js&&(js=3):hc())),null!==t.updateQueue&&(t.flags|=4),Yl(t),null);case 4:return Xi(),Ll(e,t),null===e&&Vr(t.stateNode.containerInfo),Yl(t),null;case 10:return Pi(t.type._context),Yl(t),null;case 19:if(Co(ea),null===(a=t.memoizedState))return Yl(t),null;if(r=0!==(128&t.flags),null===(s=a.rendering))if(r)Gl(a,!1);else{if(0!==js||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(s=ta(e))){for(t.flags|=128,Gl(a,!1),null!==(r=s.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(a=n).flags&=14680066,null===(s=a.alternate)?(a.childLanes=0,a.lanes=e,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=s.childLanes,a.lanes=s.lanes,a.child=s.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=s.memoizedProps,a.memoizedState=s.memoizedState,a.updateQueue=s.updateQueue,a.type=s.type,e=s.dependencies,a.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return So(ea,1&ea.current|2),t.child}e=e.sibling}null!==a.tail&&Xe()>Vs&&(t.flags|=128,r=!0,Gl(a,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ta(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Gl(a,!0),null===a.tail&&"hidden"===a.tailMode&&!s.alternate&&!ii)return Yl(t),null}else 2*Xe()-a.renderingStartTime>Vs&&1073741824!==n&&(t.flags|=128,r=!0,Gl(a,!1),t.lanes=4194304);a.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=a.last)?n.sibling=s:t.child=s,a.last=s)}return null!==a.tail?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Xe(),t.sibling=null,n=ea.current,So(ea,r?1&n|2:1&n),t):(Yl(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!==(1&t.mode)?0!==(1073741824&Ls)&&(Yl(t),6&t.subtreeFlags&&(t.flags|=8192)):Yl(t),null;case 24:case 25:return null}throw Error(i(156,t.tag))}function Kl(e,t){switch(ni(t),t.tag){case 1:return Oo(t.type)&&jo(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Xi(),Co(Ro),Co(Ao),ra(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Zi(t),null;case 13:if(Co(ea),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));mi()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Co(ea),null;case 4:return Xi(),null;case 10:return Pi(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Il=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ll=function(){},Ol=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,qi(Yi.current);var i,a=null;switch(n){case"input":o=q(e,o),r=q(e,r),a=[];break;case"select":o=M({},o,{value:void 0}),r=M({},r,{value:void 0}),a=[];break;case"textarea":o=re(e,o),r=re(e,r),a=[];break;default:"function"!==typeof o.onClick&&"function"===typeof r.onClick&&(e.onclick=Zr)}for(u in ve(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var s=o[u];for(i in s)s.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(l.hasOwnProperty(u)?a||(a=[]):(a=a||[]).push(u,null));for(u in r){var c=r[u];if(s=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&c!==s&&(null!=c||null!=s))if("style"===u)if(s){for(i in s)!s.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&s[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(a||(a=[]),a.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(a=a||[]).push(u,c)):"children"===u?"string"!==typeof c&&"number"!==typeof c||(a=a||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(l.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&Ur("scroll",e),a||s===c||(a=[])):(a=a||[]).push(u,c))}n&&(a=a||[]).push("style",n);var u=a;(t.updateQueue=u)&&(t.flags|=4)}},jl=function(e,t,n,r){n!==r&&(t.flags|=4)};var ql=!1,Ql=!1,Xl="function"===typeof WeakSet?WeakSet:Set,Jl=null;function Zl(e,t){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(r){kc(e,t,r)}else n.current=null}
vendor: 4,136 bytes, line 2
2function es(e,t,n){try{n()}catch(r){kc(e,t,r)}}var ts=!1;function ns(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,void 0!==i&&es(t,n,i)}o=o.next}while(o!==r)}}function rs(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function os(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"===typeof t?t(e):t.current=e}}function is(e){var t=e.alternate;null!==t&&(e.alternate=null,is(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[fo],delete t[mo],delete t[go],delete t[bo],delete t[vo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function as(e){return 5===e.tag||3===e.tag||4===e.tag}function ls(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||as(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ss(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Zr));else if(4!==r&&null!==(e=e.child))for(ss(e,t,n),e=e.sibling;null!==e;)ss(e,t,n),e=e.sibling}function cs(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cs(e,t,n),e=e.sibling;null!==e;)cs(e,t,n),e=e.sibling}var us=null,ds=!1;function ps(e,t,n){for(n=n.child;null!==n;)fs(e,t,n),n=n.sibling}function fs(e,t,n){if(it&&"function"===typeof it.onCommitFiberUnmount)try{it.onCommitFiberUnmount(ot,n)}catch(l){}switch(n.tag){case 5:Ql||Zl(n,t);case 6:var r=us,o=ds;us=null,ps(e,t,n),ds=o,null!==(us=r)&&(ds?(e=us,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):us.removeChild(n.stateNode));break;case 18:null!==us&&(ds?(e=us,n=n.stateNode,8===e.nodeType?so(e.parentNode,n):1===e.nodeType&&so(e,n),Vt(e)):so(us,n.stateNode));break;case 4:r=us,o=ds,us=n.stateNode.containerInfo,ds=!0,ps(e,t,n),us=r,ds=o;break;case 0:case 11:case 14:case 15:if(!Ql&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,void 0!==a&&(0!==(2&i)||0!==(4&i))&&es(n,t,a),o=o.next}while(o!==r)}ps(e,t,n);break;case 1:if(!Ql&&(Zl(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){kc(n,t,l)}ps(e,t,n);break;case 21:ps(e,t,n);break;case 22:1&n.mode?(Ql=(r=Ql)||null!==n.memoizedState,ps(e,t,n),Ql=r):ps(e,t,n);break;default:ps(e,t,n)}}function ms(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xl),t.forEach((function(t){var r=Pc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function hs(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var a=e,l=t,s=l;e:for(;null!==s;){switch(s.tag){case 5:us=s.stateNode,ds=!1;break e;case 3:case 4:us=s.stateNode.containerInfo,ds=!0;break e}s=s.return}if(null===us)throw Error(i(160));fs(a,l,o),us=null,ds=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(u){kc(o,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gs(t,e),t=t.sibling}function gs(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hs(t,e),bs(e),4&r){try{ns(3,e,e.return),rs(3,e)}catch(g){kc(e,e.return,g)}try{ns(5,e,e.return)}catch(g){kc(e,e.return,g)}}break;case 1:hs(t,e),bs(e),512&r&&null!==n&&Zl(n,n.return);break;case 5:if(hs(t,e),bs(e),512&r&&null!==n&&Zl(n,n.return),32&e.flags){var o=e.stateNode;try{pe(o,"")}catch(g){kc(e,e.return,g)}}if(4&r&&null!=(o=e.stateNode)){var a=e.memoizedProps,l=null!==n?n.memoizedProps:a,s=e.type,c=e.updateQueue;
vendor: 10,182 bytes, line 2
2if(e.updateQueue=null,null!==c)try{"input"===s&&"radio"===a.type&&null!=a.name&&X(o,a),ye(s,l);var u=ye(s,a);for(l=0;l<c.length;l+=2){var d=c[l],p=c[l+1];"style"===d?ge(o,p):"dangerouslySetInnerHTML"===d?de(o,p):"children"===d?pe(o,p):y(o,d,p,u)}switch(s){case"input":J(o,a);break;case"textarea":ie(o,a);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!a.multiple;var m=a.value;null!=m?ne(o,!!a.multiple,m,!1):f!==!!a.multiple&&(null!=a.defaultValue?ne(o,!!a.multiple,a.defaultValue,!0):ne(o,!!a.multiple,a.multiple?[]:"",!1))}o[mo]=a}catch(g){kc(e,e.return,g)}}break;case 6:if(hs(t,e),bs(e),4&r){if(null===e.stateNode)throw Error(i(162));o=e.stateNode,a=e.memoizedProps;try{o.nodeValue=a}catch(g){kc(e,e.return,g)}}break;case 3:if(hs(t,e),bs(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Vt(t.containerInfo)}catch(g){kc(e,e.return,g)}break;case 4:default:hs(t,e),bs(e);break;case 13:hs(t,e),bs(e),8192&(o=e.child).flags&&(a=null!==o.memoizedState,o.stateNode.isHidden=a,!a||null!==o.alternate&&null!==o.alternate.memoizedState||($s=Xe())),4&r&&ms(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ql=(u=Ql)||d,hs(t,e),Ql=u):hs(t,e),bs(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&0!==(1&e.mode))for(Jl=e,d=e.child;null!==d;){for(p=Jl=d;null!==Jl;){switch(m=(f=Jl).child,f.tag){case 0:case 11:case 14:case 15:ns(4,f,f.return);break;case 1:Zl(f,f.return);var h=f.stateNode;if("function"===typeof h.componentWillUnmount){r=f,n=f.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(g){kc(r,n,g)}}break;case 5:Zl(f,f.return);break;case 22:if(null!==f.memoizedState){ws(p);continue}}null!==m?(m.return=f,Jl=m):ws(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{o=p.stateNode,u?"function"===typeof(a=o.style).setProperty?a.setProperty("display","none","important"):a.display="none":(s=p.stateNode,l=void 0!==(c=p.memoizedProps.style)&&null!==c&&c.hasOwnProperty("display")?c.display:null,s.style.display=he("display",l))}catch(g){kc(e,e.return,g)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(g){kc(e,e.return,g)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:hs(t,e),bs(e),4&r&&ms(e);case 21:}}function bs(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(as(n)){var r=n;break e}n=n.return}throw Error(i(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(pe(o,""),r.flags&=-33),cs(e,ls(e),o);break;case 3:case 4:var a=r.stateNode.containerInfo;ss(e,ls(e),a);break;default:throw Error(i(161))}}catch(l){kc(e,e.return,l)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vs(e,t,n){Jl=e,ys(e,t,n)}function ys(e,t,n){for(var r=0!==(1&e.mode);null!==Jl;){var o=Jl,i=o.child;if(22===o.tag&&r){var a=null!==o.memoizedState||ql;if(!a){var l=o.alternate,s=null!==l&&null!==l.memoizedState||Ql;l=ql;var c=Ql;if(ql=a,(Ql=s)&&!c)for(Jl=o;null!==Jl;)s=(a=Jl).child,22===a.tag&&null!==a.memoizedState?Es(o):null!==s?(s.return=a,Jl=s):Es(o);for(;null!==i;)Jl=i,ys(i,t,n),i=i.sibling;Jl=o,ql=l,Ql=c}xs(e)}else 0!==(8772&o.subtreeFlags)&&null!==i?(i.return=o,Jl=i):xs(e)}}function xs(e){for(;null!==Jl;){var t=Jl;if(0!==(8772&t.flags)){var n=t.alternate;try{if(0!==(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Ql||rs(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ql)if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:nl(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;null!==a&&Hi(t,a,r);break;case 3:var l=t.updateQueue;if(null!==l){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Hi(t,l,n)}break;case 5:var s=t.stateNode;if(null===n&&4&t.flags){n=s;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Vt(p)}}}break;default:throw Error(i(163))}Ql||512&t.flags&&os(t)}catch(f){kc(t,t.return,f)}}if(t===e){Jl=null;break}if(null!==(n=t.sibling)){n.return=t.return,Jl=n;break}Jl=t.return}}function ws(e){for(;null!==Jl;){var t=Jl;if(t===e){Jl=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Jl=n;break}Jl=t.return}}function Es(e){for(;null!==Jl;){var t=Jl;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rs(4,t)}catch(s){kc(t,n,s)}break;case 1:var r=t.stateNode;if("function"===typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(s){kc(t,o,s)}}var i=t.return;try{os(t)}catch(s){kc(t,i,s)}break;case 5:var a=t.return;try{os(t)}catch(s){kc(t,a,s)}}}catch(s){kc(t,t.return,s)}if(t===e){Jl=null;break}var l=t.sibling;if(null!==l){l.return=t.return,Jl=l;break}Jl=t.return}}var _s,ks=Math.ceil,Ts=x.ReactCurrentDispatcher,Cs=x.ReactCurrentOwner,Ss=x.ReactCurrentBatchConfig,Ps=0,As=null,Rs=null,Is=0,Ls=0,Os=To(0),js=0,zs=null,Ns=0,Ms=0,Ds=0,Us=null,Fs=null,$s=0,Vs=1/0,Bs=null,Hs=!1,Gs=null,Ys=null,Ws=!1,Ks=null,qs=0,Qs=0,Xs=null,Js=-1,Zs=0;function ec(){return 0!==(6&Ps)?Xe():-1!==Js?Js:Js=Xe()}function tc(e){return 0===(1&e.mode)?1:0!==(2&Ps)&&0!==Is?Is&-Is:null!==gi.transition?(0===Zs&&(Zs=ht()),Zs):0!==(e=yt)?e:e=void 0===(e=window.event)?16:Qt(e.type)}function nc(e,t,n,r){if(50<Qs)throw Qs=0,Xs=null,Error(i(185));bt(e,n,r),0!==(2&Ps)&&e===As||(e===As&&(0===(2&Ps)&&(Ms|=n),4===js&&lc(e,Is)),rc(e,r),1===n&&0===Ps&&0===(1&t.mode)&&(Vs=Xe()+500,Fo&&Bo()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,i=e.pendingLanes;0<i;){var a=31-at(i),l=1<<a,s=o[a];-1===s?0!==(l&n)&&0===(l&r)||(o[a]=ft(l,t)):s<=t&&(e.expiredLanes|=l),i&=~l}}(e,t);var r=pt(e,e===As?Is:0);if(0===r)null!==n&&Ke(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ke(n),1===t)0===e.tag?function(e){Fo=!0,Vo(e)}(sc.bind(null,e)):Vo(sc.bind(null,e)),ao((function(){0===(6&Ps)&&Bo()})),n=null;else{switch(xt(r)){case 1:n=Ze;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Ac(n,oc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function oc(e,t){if(Js=-1,Zs=0,0!==(6&Ps))throw Error(i(327));var n=e.callbackNode;if(Ec()&&e.callbackNode!==n)return null;var r=pt(e,e===As?Is:0);if(0===r)return null;if(0!==(30&r)||0!==(r&e.expiredLanes)||t)t=gc(e,r);else{t=r;var o=Ps;Ps|=2;var a=mc();for(As===e&&Is===t||(Bs=null,Vs=Xe()+500,pc(e,t));;)try{vc();break}catch(s){fc(e,s)}Si(),Ts.current=a,Ps=o,null!==Rs?t=0:(As=null,Is=0,t=js)}if(0!==t){if(2===t&&(0!==(o=mt(e))&&(r=o,t=ic(e,o))),1===t)throw n=zs,pc(e,0),lc(e,r),rc(e,Xe()),n;if(6===t)lc(e,r);else{if(o=e.current.alternate,0===(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],i=o.getSnapshot;o=o.value;try{if(!lr(i(),o))return!1}catch(l){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)&&(2===(t=gc(e,r))&&(0!==(a=mt(e))&&(r=a,t=ic(e,a))),1===t))throw n=zs,pc(e,0),lc(e,r),rc(e,Xe()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(i(345));case 2:case 5:wc(e,Fs,Bs);break;case 3:if(lc(e,r),(130023424&r)===r&&10<(t=$s+500-Xe())){if(0!==pt(e,0))break;if(((o=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ro(wc.bind(null,e,Fs,Bs),t);break}wc(e,Fs,Bs);break;case 4:if(lc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var l=31-at(r);a=1<<l,(l=t[l])>o&&(o=l),r&=~a}if(r=o,10<(r=(120>(r=Xe()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ks(r/1960))-r)){e.timeoutHandle=ro(wc.bind(null,e,Fs,Bs),r);break}wc(e,Fs,Bs);break;default:throw Error(i(329))}}}return rc(e,Xe()),e.callbackNode===n?oc.bind(null,e):null}function ic(e,t){var n=Us;return e.current.memoizedState.isDehydrated&&(pc(e,t).flags|=256),2!==(e=gc(e,t))&&(t=Fs,Fs=n,null!==t&&ac(t)),e}function ac(e){null===Fs?Fs=e:Fs.push.apply(Fs,e)}function lc(e,t){for(t&=~Ds,t&=~Ms,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-at(t),r=1<<n;e[n]=-1,t&=~r}}function sc(e){if(0!==(6&Ps))throw Error(i(327));Ec();var t=pt(e,0);if(0===(1&t))return rc(e,Xe()),null;var n=gc(e,t);if(0!==e.tag&&2===n){var r=mt(e);0!==r&&(t=r,n=ic(e,r))}if(1===n)throw n=zs,pc(e,0),lc(e,t),rc(e,Xe()),n;if(6===n)throw Error(i(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wc(e,Fs,Bs),rc(e,Xe()),null}function cc(e,t){var n=Ps;Ps|=1;try{return e(t)}finally{0===(Ps=n)&&(Vs=Xe()+500,Fo&&Bo())}}function uc(e){null!==Ks&&0===Ks.tag&&0===(6&Ps)&&Ec();var t=Ps;Ps|=1;var n=Ss.transition,r=yt;try{if(Ss.transition=null,yt=1,e)return e()}finally{yt=r,Ss.transition=n,0===(6&(Ps=t))&&Bo()}}function dc(){Ls=Os.current,Co(Os)}function pc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Rs)for(n=Rs.return;null!==n;){var r=n;switch(ni(r),r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&jo();break;case 3:Xi(),Co(Ro),Co(Ao),ra();break;case 5:Zi(r);break;case 4:Xi();break;case 13:case 19:Co(ea);break;case 10:Pi(r.type._context);break;case 22:case 23:dc()}n=n.return}if(As=e,Rs=e=Oc(e.current,null),Is=Ls=t,js=0,zs=null,Ds=Ms=Ns=0,Fs=Us=null,null!==Li){for(t=0;t<Li.length;t++)if(null!==(r=(n=Li[t]).interleaved)){n.interleaved=null;var o=r.next,i=n.pending;if(null!==i){var a=i.next;i.next=o,r.next=a}n.pending=r}Li=null}return e}function fc(e,t){for(;;){var n=Rs;try{if(Si(),oa.current=Ja,ua){for(var r=la.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}ua=!1}
2if(aa=0,ca=sa=la=null,da=!1,pa=0,Cs.current=null,null===n||null===n.return){js=1,zs=t,Rs=null;break}e:{var a=e,l=n.return,s=n,c=t;if(t=Is,s.flags|=32768,null!==c&&"object"===typeof c&&"function"===typeof c.then){var u=c,d=s,p=d.tag;if(0===(1&d.mode)&&(0===p||11===p||15===p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=gl(l);if(null!==m){m.flags&=-257,bl(m,l,s,0,t),1&m.mode&&hl(a,u,t),c=u;var h=(t=m).updateQueue;if(null===h){var g=new Set;g.add(c),t.updateQueue=g}else h.add(c);break e}if(0===(1&t)){hl(a,u,t),hc();break e}c=Error(i(426))}else if(ii&&1&s.mode){var b=gl(l);if(null!==b){0===(65536&b.flags)&&(b.flags|=256),bl(b,l,s,0,t),hi(cl(c,s));break e}}a=c=cl(c,s),4!==js&&(js=2),null===Us?Us=[a]:Us.push(a),a=l;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t,Vi(a,fl(0,c,t));break e;case 1:s=c;var v=a.type,y=a.stateNode;if(0===(128&a.flags)&&("function"===typeof v.getDerivedStateFromError||null!==y&&"function"===typeof y.componentDidCatch&&(null===Ys||!Ys.has(y)))){a.flags|=65536,t&=-t,a.lanes|=t,Vi(a,ml(a,s,t));break e}}a=a.return}while(null!==a)}xc(n)}catch(x){t=x,Rs===n&&null!==n&&(Rs=n=n.return);continue}break}}function mc(){var e=Ts.current;return Ts.current=Ja,null===e?Ja:e}function hc(){0!==js&&3!==js&&2!==js||(js=4),null===As||0===(268435455&Ns)&&0===(268435455&Ms)||lc(As,Is)}function gc(e,t){var n=Ps;Ps|=2;var r=mc();for(As===e&&Is===t||(Bs=null,pc(e,t));;)try{bc();break}catch(o){fc(e,o)}if(Si(),Ps=n,Ts.current=r,null!==Rs)throw Error(i(261));return As=null,Is=0,js}function bc(){for(;null!==Rs;)yc(Rs)}function vc(){for(;null!==Rs&&!qe();)yc(Rs)}function yc(e){var t=_s(e.alternate,e,Ls);e.memoizedProps=e.pendingProps,null===t?xc(e):Rs=t,Cs.current=null}function xc(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(32768&t.flags)){if(null!==(n=Wl(n,t,Ls)))return void(Rs=n)}else{if(null!==(n=Kl(n,t)))return n.flags&=32767,void(Rs=n);if(null===e)return js=6,void(Rs=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Rs=t);Rs=t=e}while(null!==t);0===js&&(js=5)}function wc(e,t,n){var r=yt,o=Ss.transition;try{Ss.transition=null,yt=1,function(e,t,n,r){do{Ec()}while(null!==Ks);if(0!==(6&Ps))throw Error(i(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-at(n),i=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~i}}(e,a),e===As&&(Rs=As=null,Is=0),0===(2064&n.subtreeFlags)&&0===(2064&n.flags)||Ws||(Ws=!0,Ac(tt,(function(){return Ec(),null}))),a=0!==(15990&n.flags),0!==(15990&n.subtreeFlags)||a){a=Ss.transition,Ss.transition=null;var l=yt;yt=1;var s=Ps;Ps|=4,Cs.current=null,function(e,t){if(eo=Ht,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch(w){n=null;break e}var l=0,s=-1,c=-1,u=0,d=0,p=e,f=null;t:for(;;){for(var m;p!==n||0!==o&&3!==p.nodeType||(s=l+o),p!==a||0!==r&&3!==p.nodeType||(c=l+r),3===p.nodeType&&(l+=p.nodeValue.length),null!==(m=p.firstChild);)f=p,p=m;for(;;){if(p===e)break t;if(f===n&&++u===o&&(s=l),f===a&&++d===r&&(c=l),null!==(m=p.nextSibling))break;f=(p=f).parentNode}p=m}n=-1===s||-1===c?null:{start:s,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Ht=!1,Jl=t;null!==Jl;)if(e=(t=Jl).child,0!==(1028&t.subtreeFlags)&&null!==e)e.return=t,Jl=e;else for(;null!==Jl;){t=Jl;try{var h=t.alternate;if(0!==(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var g=h.memoizedProps,b=h.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:nl(t.type,g),b);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var x=t.stateNode.containerInfo;1===x.nodeType?x.textContent="":9===x.nodeType&&x.documentElement&&x.removeChild(x.documentElement);break;default:throw Error(i(163))}}catch(w){kc(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,Jl=e;break}Jl=t.return}h=ts,ts=!1}(e,n),gs(n,e),mr(to),Ht=!!eo,to=eo=null,e.current=n,vs(n,e,o),Qe(),Ps=s,yt=l,Ss.transition=a}else e.current=n;if(Ws&&(Ws=!1,Ks=e,qs=o),a=e.pendingLanes,0===a&&(Ys=null),function(e){if(it&&"function"===typeof it.onCommitFiberRoot)try{it.onCommitFiberRoot(ot,e,void 0,128===(128&e.current.flags))}catch(t){}}(n.stateNode),rc(e,Xe()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],r(o.value,{componentStack:o.stack,digest:o.digest});if(Hs)throw Hs=!1,e=Gs,Gs=null,e;0!==(1&qs)&&0!==e.tag&&Ec(),a=e.pendingLanes,0!==(1&a)?e===Xs?Qs++:(Qs=0,Xs=e):Qs=0,Bo()}(e,t,n,r)}finally{Ss.transition=o,yt=r}return null}function Ec(){if(null!==Ks){var e=xt(qs),t=Ss.transition,n=yt;try{if(Ss.transition=null,yt=16>e?16:e,null===Ks)var r=!1;else{if(e=Ks,Ks=null,qs=0,0!==(6&Ps))throw Error(i(331));var o=Ps;for(Ps|=4,Jl=e.current;null!==Jl;){var a=Jl,l=a.child;
vendor: 7,024 bytes, line 2
2if(0!==(16&Jl.flags)){var s=a.deletions;if(null!==s){for(var c=0;c<s.length;c++){var u=s[c];for(Jl=u;null!==Jl;){var d=Jl;switch(d.tag){case 0:case 11:case 15:ns(8,d,a)}var p=d.child;if(null!==p)p.return=d,Jl=p;else for(;null!==Jl;){var f=(d=Jl).sibling,m=d.return;if(is(d),d===u){Jl=null;break}if(null!==f){f.return=m,Jl=f;break}Jl=m}}}var h=a.alternate;if(null!==h){var g=h.child;if(null!==g){h.child=null;do{var b=g.sibling;g.sibling=null,g=b}while(null!==g)}}Jl=a}}if(0!==(2064&a.subtreeFlags)&&null!==l)l.return=a,Jl=l;else e:for(;null!==Jl;){if(0!==(2048&(a=Jl).flags))switch(a.tag){case 0:case 11:case 15:ns(9,a,a.return)}var v=a.sibling;if(null!==v){v.return=a.return,Jl=v;break e}Jl=a.return}}var y=e.current;for(Jl=y;null!==Jl;){var x=(l=Jl).child;if(0!==(2064&l.subtreeFlags)&&null!==x)x.return=l,Jl=x;else e:for(l=y;null!==Jl;){if(0!==(2048&(s=Jl).flags))try{switch(s.tag){case 0:case 11:case 15:rs(9,s)}}catch(E){kc(s,s.return,E)}if(s===l){Jl=null;break e}var w=s.sibling;if(null!==w){w.return=s.return,Jl=w;break e}Jl=s.return}}if(Ps=o,Bo(),it&&"function"===typeof it.onPostCommitFiberRoot)try{it.onPostCommitFiberRoot(ot,e)}catch(E){}r=!0}return r}finally{yt=n,Ss.transition=t}}return!1}function _c(e,t,n){e=Fi(e,t=fl(0,t=cl(n,t),1),1),t=ec(),null!==e&&(bt(e,1,t),rc(e,t))}function kc(e,t,n){if(3===e.tag)_c(e,e,n);else for(;null!==t;){if(3===t.tag){_c(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Ys||!Ys.has(r))){t=Fi(t,e=ml(t,e=cl(n,e),1),1),e=ec(),null!==t&&(bt(t,1,e),rc(t,e));break}}t=t.return}}function Tc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,As===e&&(Is&n)===n&&(4===js||3===js&&(130023424&Is)===Is&&500>Xe()-$s?pc(e,0):Ds|=n),rc(e,t)}function Cc(e,t){0===t&&(0===(1&e.mode)?t=1:(t=ut,0===(130023424&(ut<<=1))&&(ut=4194304)));var n=ec();null!==(e=zi(e,t))&&(bt(e,t,n),rc(e,n))}function Sc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cc(e,n)}function Pc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(i(314))}null!==r&&r.delete(t),Cc(e,n)}function Ac(e,t){return We(e,t)}function Rc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ic(e,t,n,r){return new Rc(e,t,n,r)}function Lc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Oc(e,t){var n=e.alternate;return null===n?((n=Ic(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function jc(e,t,n,r,o,a){var l=2;if(r=e,"function"===typeof e)Lc(e)&&(l=1);else if("string"===typeof e)l=5;else e:switch(e){case _:return zc(n.children,o,a,t);case k:l=8,o|=8;break;case T:return(e=Ic(12,n,t,2|o)).elementType=T,e.lanes=a,e;case A:return(e=Ic(13,n,t,o)).elementType=A,e.lanes=a,e;case R:return(e=Ic(19,n,t,o)).elementType=R,e.lanes=a,e;case O:return Nc(n,o,a,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case C:l=10;break e;case S:l=9;break e;case P:l=11;break e;case I:l=14;break e;case L:l=16,r=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Ic(l,n,t,o)).elementType=e,t.type=r,t.lanes=a,t}function zc(e,t,n,r){return(e=Ic(7,e,r,t)).lanes=n,e}function Nc(e,t,n,r){return(e=Ic(22,e,r,t)).elementType=O,e.lanes=n,e.stateNode={isHidden:!1},e}function Mc(e,t,n){return(e=Ic(6,e,null,t)).lanes=n,e}function Dc(e,t,n){return(t=Ic(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Uc(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Fc(e,t,n,r,o,i,a,l,s){return e=new Uc(e,t,n,l,s),1===t?(t=1,!0===i&&(t|=8)):t=0,i=Ic(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Mi(i),e}function $c(e){if(!e)return Po;e:{if(Ve(e=e._reactInternals)!==e||1!==e.tag)throw Error(i(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Oo(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(i(171))}if(1===e.tag){var n=e.type;if(Oo(n))return No(e,n,t)}return t}function Vc(e,t,n,r,o,i,a,l,s){return(e=Fc(n,r,!0,e,0,i,0,l,s)).context=$c(null),n=e.current,(i=Ui(r=ec(),o=tc(n))).callback=void 0!==t&&null!==t?t:null,Fi(n,i,o),e.current.lanes=o,bt(e,o,r),rc(e,r),e}function Bc(e,t,n,r){var o=t.current,i=ec(),a=tc(o);return n=$c(n),null===t.context?t.context=n:t.pendingContext=n,(t=Ui(i,a)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Fi(o,t,a))&&(nc(e,o,a,i),$i(e,o,a)),a}function Hc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Gc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Yc(e,t){Gc(e,t),(e=e.alternate)&&Gc(e,t)}_s=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ro.current)yl=!0;else{if(0===(e.lanes&n)&&0===(128&t.flags))return yl=!1,function(e,t,n){switch(t.tag){case 3:Al(t),mi();break;case 5:Ji(t);break;case 1:Oo(t.type)&&Mo(t);break;case 4:Qi(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;So(_i,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(So(ea,1&ea.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Ml(e,t,n):(So(ea,1&ea.current),null!==(e=Hl(e,t,n))?e.sibling:null);So(ea,1&ea.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(128&e.flags)){if(r)return Vl(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),So(ea,ea.current),r)break;return null;case 22:case 23:return t.lanes=0,kl(e,t,n)}return Hl(e,t,n)}
vendor: 4,210 bytes, line 2
2(e,t,n);yl=0!==(131072&e.flags)}else yl=!1,ii&&0!==(1048576&t.flags)&&ei(t,Wo,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Bl(e,t),e=t.pendingProps;var o=Lo(t,Ao.current);Ri(t,n),o=ga(null,t,r,e,o,n);var a=ba();return t.flags|=1,"object"===typeof o&&null!==o&&"function"===typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Oo(r)?(a=!0,Mo(t)):a=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Mi(t),o.updater=ol,t.stateNode=o,o._reactInternals=t,sl(t,r,e,n),t=Pl(null,t,r,!0,a,n)):(t.tag=0,ii&&a&&ti(t),xl(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Bl(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"===typeof e)return Lc(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===P)return 11;if(e===I)return 14}return 2}(r),e=nl(r,e),o){case 0:t=Cl(null,t,r,e,n);break e;case 1:t=Sl(null,t,r,e,n);break e;case 11:t=wl(null,t,r,e,n);break e;case 14:t=El(null,t,r,nl(r.type,e),n);break e}throw Error(i(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,Cl(e,t,r,o=t.elementType===r?o:nl(r,o),n);case 1:return r=t.type,o=t.pendingProps,Sl(e,t,r,o=t.elementType===r?o:nl(r,o),n);case 3:e:{if(Al(t),null===e)throw Error(i(387));r=t.pendingProps,o=(a=t.memoizedState).element,Di(e,t),Bi(t,r,null,n);var l=t.memoizedState;if(r=l.element,a.isDehydrated){if(a={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=a,t.memoizedState=a,256&t.flags){t=Rl(e,t,r,n,o=cl(Error(i(423)),t));break e}if(r!==o){t=Rl(e,t,r,n,o=cl(Error(i(424)),t));break e}for(oi=co(t.stateNode.containerInfo.firstChild),ri=t,ii=!0,ai=null,n=Ei(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mi(),r===o){t=Hl(e,t,n);break e}xl(e,t,r,n)}t=t.child}return t;case 5:return Ji(t),null===e&&ui(t),r=t.type,o=t.pendingProps,a=null!==e?e.memoizedProps:null,l=o.children,no(r,o)?l=null:null!==a&&no(r,a)&&(t.flags|=32),Tl(e,t),xl(e,t,l,n),t.child;case 6:return null===e&&ui(t),null;case 13:return Ml(e,t,n);case 4:return Qi(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=wi(t,null,r,n):xl(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,wl(e,t,r,o=t.elementType===r?o:nl(r,o),n);case 7:return xl(e,t,t.pendingProps,n),t.child;case 8:case 12:return xl(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,a=t.memoizedProps,l=o.value,So(_i,r._currentValue),r._currentValue=l,null!==a)if(lr(a.value,l)){if(a.children===o.children&&!Ro.current){t=Hl(e,t,n);break e}}else for(null!==(a=t.child)&&(a.return=t);null!==a;){var s=a.dependencies;if(null!==s){l=a.child;for(var c=s.firstContext;null!==c;){if(c.context===r){if(1===a.tag){(c=Ui(-1,n&-n)).tag=2;var u=a.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}a.lanes|=n,null!==(c=a.alternate)&&(c.lanes|=n),Ai(a.return,n,t),s.lanes|=n;break}c=c.next}}else if(10===a.tag)l=a.type===t.type?null:a.child;else if(18===a.tag){if(null===(l=a.return))throw Error(i(341));l.lanes|=n,null!==(s=l.alternate)&&(s.lanes|=n),Ai(l,n,t),l=a.sibling}else l=a.child;if(null!==l)l.return=a;else for(l=a;null!==l;){if(l===t){l=null;break}if(null!==(a=l.sibling)){a.return=l.return,l=a;break}l=l.return}a=l}xl(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Ri(t,n),r=r(o=Ii(o)),t.flags|=1,xl(e,t,r,n),t.child;case 14:return o=nl(r=t.type,t.pendingProps),El(e,t,r,o=nl(r.type,o),n);case 15:return _l(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:nl(r,o),Bl(e,t),t.tag=1,Oo(r)?(e=!0,Mo(t)):e=!1,Ri(t,n),al(t,r,o),sl(t,r,o,n),Pl(null,t,r,!0,e,n);case 19:return Vl(e,t,n);case 22:return kl(e,t,n)}throw Error(i(156,t.tag))};var Wc="function"===typeof reportError?reportError:function(e){console.error(e)};function Kc(e){this._internalRoot=e}function qc(e){this._internalRoot=e}function Qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}
vendor: 10,019 bytes, line 2
2function Jc(){}function Zc(e,t,n,r,o){var i=n._reactRootContainer;if(i){var a=i;if("function"===typeof o){var l=o;o=function(){var e=Hc(a);l.call(e)}}Bc(t,a,e,o)}else a=function(e,t,n,r,o){if(o){if("function"===typeof r){var i=r;r=function(){var e=Hc(a);i.call(e)}}var a=Vc(t,r,e,0,null,!1,0,"",Jc);return e._reactRootContainer=a,e[ho]=a.current,Vr(8===e.nodeType?e.parentNode:e),uc(),a}for(;o=e.lastChild;)e.removeChild(o);if("function"===typeof r){var l=r;r=function(){var e=Hc(s);l.call(e)}}var s=Fc(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=s,e[ho]=s.current,Vr(8===e.nodeType?e.parentNode:e),uc((function(){Bc(t,s,n,r)})),s}(n,t,e,o,r);return Hc(a)}qc.prototype.render=Kc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(i(409));Bc(e,t,null,null)},qc.prototype.unmount=Kc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){Bc(null,e,null,null)})),t[ho]=null}},qc.prototype.unstable_scheduleHydration=function(e){if(e){var t=kt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ot.length&&0!==t&&t<Ot[n].priority;n++);Ot.splice(n,0,e),0===n&&Mt(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(vt(t,1|n),rc(t,Xe()),0===(6&Ps)&&(Vs=Xe()+500,Bo()))}break;case 13:uc((function(){var t=zi(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Yc(e,1)}},Et=function(e){if(13===e.tag){var t=zi(e,134217728);if(null!==t)nc(t,e,134217728,ec());Yc(e,134217728)}},_t=function(e){if(13===e.tag){var t=tc(e),n=zi(e,t);if(null!==n)nc(n,e,t,ec());Yc(e,t)}},kt=function(){return yt},Tt=function(e,t){var n=yt;try{return yt=e,t()}finally{yt=n}},Ee=function(e,t,n){switch(t){case"input":if(J(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=Eo(r);if(!o)throw Error(i(90));W(r),J(r,o)}}}break;case"textarea":ie(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Pe=cc,Ae=uc;var eu={usingClientEntryPoint:!1,Events:[xo,wo,Eo,Ce,Se,cc]},tu={findFiberByHostInstance:yo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:x.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ge(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{ot=ru.inject(nu),it=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Qc(t))throw Error(i(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:E,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Qc(e))throw Error(i(299));var n=!1,r="",o=Wc;return null!==t&&void 0!==t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Fc(e,1,!1,null,0,n,0,r,o),e[ho]=t.current,Vr(8===e.nodeType?e.parentNode:e),new Kc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(i(188));throw e=Object.keys(e).join(","),Error(i(268,e))}return e=null===(e=Ge(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Xc(t))throw Error(i(200));return Zc(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Qc(e))throw Error(i(405));var r=null!=n&&n.hydratedSources||null,o=!1,a="",l=Wc;if(null!==n&&void 0!==n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(a=n.identifierPrefix),void 0!==n.onRecoverableError&&(l=n.onRecoverableError)),t=Vc(t,null,e,1,null!=n?n:null,o,0,a,l),e[ho]=t.current,Vr(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new qc(t)},t.render=function(e,t,n){if(!Xc(t))throw Error(i(200));return Zc(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xc(e))throw Error(i(40));return!!e._reactRootContainer&&(uc((function(){Zc(null,null,e,!1,(function(){e._reactRootContainer=null,e[ho]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Xc(n))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return Zc(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},391:(e,t,n)=>{"use strict";var r=n(950);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},950:(e,t,n)=>{"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(730)},153:(e,t,n)=>{"use strict";var r=n(43),o=Symbol.for("react.element"),i=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,i={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)a.call(t,r)&&!s.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===i[r]&&(i[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:i,_owner:l.current}}t.Fragment=i,t.jsx=c,t.jsxs=c},202:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function b(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function v(){}function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)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,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=b.prototype;var x=y.prototype=new v;x.constructor=y,h(x,b.prototype),x.isPureReactComponent=!0;var w=Array.isArray,E=Object.prototype.hasOwnProperty,_={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function T(e,t,r){var o,i={},a=null,l=null;if(null!=t)for(o in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(a=""+t.key),t)E.call(t,o)&&!k.hasOwnProperty(o)&&(i[o]=t[o]);var s=arguments.length-2;if(1===s)i.children=r;else if(1<s){for(var c=Array(s),u=0;u<s;u++)c[u]=arguments[u+2];i.children=c}if(e&&e.defaultProps)for(o in s=e.defaultProps)void 0===i[o]&&(i[o]=s[o]);return{$$typeof:n,type:e,key:a,ref:l,props:i,_owner:_.current}}function C(e){return"object"===typeof e&&null!==e&&e.$$typeof===n}var S=/\/+/g;function P(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function A(e,t,o,i,a){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var s=!1;if(null===e)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case n:case r:s=!0}}if(s)return a=a(s=e),e=""===i?"."+P(s,0):i,w(a)?(o="",null!=e&&(o=e.replace(S,"$&/")+"/"),A(a,t,o,"",(function(e){return e}))):null!=a&&(C(a)&&(a=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(a,o+(!a.key||s&&s.key===a.key?"":(""+a.key).replace(S,"$&/")+"/")+e)),t.push(a)),1;if(s=0,i=""===i?".":i+":",w(e))for(var c=0;c<e.length;c++){var u=i+P(l=e[c],c);s+=A(l,t,o,u,a)}else if(u=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"===typeof u)for(e=u.call(e),c=0;!(l=e.next()).done;)s+=A(l=l.value,t,o,u=i+P(l,c++),a);else if("object"===l)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function R(e,t,n){if(null==e)return e;var r=[],o=0;return A(e,r,"","",(function(e){return t.call(n,e,o++)})),r}function I(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L={current:null},O={transition:null},j={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:O,ReactCurrentOwner:_};function z(){throw Error("act(...) is not supported in production builds of React.")}
vendor: 6,786 bytes, line 2
2t.Children={map:R,forEach:function(e,t,n){R(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return R(e,(function(){t++})),t},toArray:function(e){return R(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=o,t.Profiler=a,t.PureComponent=y,t.StrictMode=i,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=j,t.act=z,t.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=h({},e.props),i=e.key,a=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(a=t.ref,l=_.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)E.call(t,c)&&!k.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=r;else if(1<c){s=Array(c);for(var u=0;u<c;u++)s[u]=arguments[u+2];o.children=s}return{$$typeof:n,type:e.type,key:i,ref:a,props:o,_owner:l}},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=T,t.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:I}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=O.transition;O.transition={};try{e()}finally{O.transition=t}},t.unstable_act=z,t.useCallback=function(e,t){return L.current.useCallback(e,t)},t.useContext=function(e){return L.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return L.current.useDeferredValue(e)},t.useEffect=function(e,t){return L.current.useEffect(e,t)},t.useId=function(){return L.current.useId()},t.useImperativeHandle=function(e,t,n){return L.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return L.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return L.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return L.current.useMemo(e,t)},t.useReducer=function(e,t,n){return L.current.useReducer(e,t,n)},t.useRef=function(e){return L.current.useRef(e)},t.useState=function(e){return L.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return L.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return L.current.useTransition()},t.version="18.3.1"},43:(e,t,n)=>{"use strict";e.exports=n(202)},579:(e,t,n)=>{"use strict";e.exports=n(153)},234:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(!(0<i(o,t)))break e;e[r]=t,e[n]=o,n=r}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,a=o>>>1;r<a;){var l=2*(r+1)-1,s=e[l],c=l+1,u=e[c];if(0>i(s,n))c<o&&0>i(u,s)?(e[r]=u,e[c]=n,r=c):(e[r]=s,e[l]=n,r=l);else{if(!(c<o&&0>i(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var a=performance;t.unstable_now=function(){return a.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var c=[],u=[],d=1,p=null,f=3,m=!1,h=!1,g=!1,b="function"===typeof setTimeout?setTimeout:null,v="function"===typeof clearTimeout?clearTimeout:null,y="undefined"!==typeof setImmediate?setImmediate:null;function x(e){for(var t=r(u);null!==t;){if(null===t.callback)o(u);else{if(!(t.startTime<=e))break;o(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function w(e){if(g=!1,x(e),!h)if(null!==r(c))h=!0,O(E);else{var t=r(u);null!==t&&j(w,t.startTime-e)}}function E(e,n){h=!1,g&&(g=!1,v(C),C=-1),m=!0;var i=f;try{for(x(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!A());){var a=p.callback;if("function"===typeof a){p.callback=null,f=p.priorityLevel;var l=a(p.expirationTime<=n);n=t.unstable_now(),"function"===typeof l?p.callback=l:p===r(c)&&o(c),x(n)}else o(c);p=r(c)}if(null!==p)var s=!0;else{var d=r(u);null!==d&&j(w,d.startTime-n),s=!1}return s}finally{p=null,f=i,m=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,k=!1,T=null,C=-1,S=5,P=-1;function A(){return!(t.unstable_now()-P<S)}function R(){if(null!==T){var e=t.unstable_now();P=e;var n=!0;try{n=T(!0,e)}finally{n?_():(k=!1,T=null)}}else k=!1}if("function"===typeof y)_=function(){y(R)};else if("undefined"!==typeof MessageChannel){var I=new MessageChannel,L=I.port2;I.port1.onmessage=R,_=function(){L.postMessage(null)}}else _=function(){b(R,0)};function O(e){T=e,k||(k=!0,_())}function j(e,n){C=b((function(){e(t.unstable_now())}),n)}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(e){e.callback=null},t.unstable_continueExecution=function(){h||m||(h=!0,O(E))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):S=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,o,i){var a=t.unstable_now();switch("object"===typeof i&&null!==i?i="number"===typeof(i=i.delay)&&0<i?a+i:a:i=a,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:i,expirationTime:l=i+l,sortIndex:-1},i>a?(e.sortIndex=i,n(u,e),null===r(c)&&e===r(u)&&(g?(v(C),C=-1):g=!0,j(w,i-a))):(e.sortIndex=l,n(c,e),h||m||(h=!0,O(E))),e},t.unstable_shouldYield=A,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},853:(e,t,n)=>{"use strict";e.exports=n(234)},324:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;
2if("object"!==typeof e||!e||"object"!==typeof t||!t)return!1;var i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s<i.length;s++){var c=i[s];if(!l(c))return!1;var u=e[c],d=t[c];if(!1===(o=n?n.call(r,u,d,c):void 0)||void 0===o&&u!==d)return!1}return!0}},222:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=null;if(!e||"string"!==typeof e)return n;var r=(0,o.default)(e),i="function"===typeof t;return r.forEach((function(e){if("declaration"===e.type){var r=e.property,o=e.value;i?t(r,o,e):o&&((n=n||{})[r]=o)}})),n};var o=r(n(403))}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(r,o){if(1&o&&(r=this(r)),8&o)return r;if("object"===typeof r&&r){if(4&o&&r.__esModule)return r;if(16&o&&"function"===typeof r.then)return r}var i=Object.create(null);n.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var l=2&o&&r;"object"==typeof l&&!~e.indexOf(l);l=t(l))Object.getOwnPropertyNames(l).forEach((e=>a[e]=()=>r[e]));return a.default=()=>r,n.d(i,a),i}})(),n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0,(()=>{"use strict";var e={};n.r(e),n.d(e,{boolean:()=>Uo,booleanish:()=>Fo,commaOrSpaceSeparated:()=>Go,commaSeparated:()=>Ho,number:()=>Vo,overloadedBoolean:()=>$o,spaceSeparated:()=>Bo});var t={};n.r(t),n.d(t,{attentionMarkers:()=>kl,contentInitial:()=>vl,disable:()=>Tl,document:()=>bl,flow:()=>xl,flowInitial:()=>yl,insideSpan:()=>_l,string:()=>wl,text:()=>El});var r,o=n(43),i=n.t(o,2),a=n(391),l=n(950),s=n.t(l,2);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(r||(r={}));const u="popstate";function d(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}function p(e,t){if(!e){"undefined"!==typeof console&&console.warn(t);try{throw new Error(t)}catch(n){}}}function f(e,t){return{usr:e.state,key:e.key,idx:t}}function m(e,t,n,r){return void 0===n&&(n=null),c({pathname:"string"===typeof e?e:e.pathname,search:"",hash:""},"string"===typeof t?g(t):t,{state:n,key:t&&t.key||r||Math.random().toString(36).substr(2,8)})}function h(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&"?"!==n&&(t+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(t+="#"===r.charAt(0)?r:"#"+r),t}function g(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function b(e,t,n,o){void 0===o&&(o={});let{window:i=document.defaultView,v5Compat:a=!1}=o,l=i.history,s=r.Pop,p=null,g=b();function b(){return(l.state||{idx:null}).idx}function v(){s=r.Pop;let e=b(),t=null==e?null:e-g;g=e,p&&p({action:s,location:x.location,delta:t})}function y(e){let t="null"!==i.location.origin?i.location.origin:i.location.href,n="string"===typeof e?e:h(e);return n=n.replace(/ $/,"%20"),d(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==g&&(g=0,l.replaceState(c({},l.state,{idx:g}),""));let x={get action(){return s},get location(){return e(i,l)},listen(e){if(p)throw new Error("A history only accepts one active listener");return i.addEventListener(u,v),p=e,()=>{i.removeEventListener(u,v),p=null}},createHref:e=>
2t(i,e),createURL:y,encodeLocation(e){let t=y(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){s=r.Push;let o=m(x.location,e,t);n&&n(o,e),g=b()+1;let c=f(o,g),u=x.createHref(o);try{l.pushState(c,"",u)}catch(d){if(d instanceof DOMException&&"DataCloneError"===d.name)throw d;i.location.assign(u)}a&&p&&p({action:s,location:x.location,delta:1})},replace:function(e,t){s=r.Replace;let o=m(x.location,e,t);n&&n(o,e),g=b();let i=f(o,g),c=x.createHref(o);l.replaceState(i,"",c),a&&p&&p({action:s,location:x.location,delta:0})},go:e=>l.go(e)};return x}var v;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(v||(v={}));new Set(["lazy","caseSensitive","path","id","index","children"]);function y(e,t,n){return void 0===n&&(n="/"),x(e,t,n,!1)}function x(e,t,n,r){let o=j(("string"===typeof t?g(t):t).pathname||"/",n);if(null==o)return null;let i=w(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let n=e.length===t.length&&e.slice(0,-1).every(((e,n)=>e===t[n]));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(i);let a=null;for(let l=0;null==a&&l<i.length;++l){let e=O(o);a=I(i[l],e,r)}return a}function w(e,t,n,r){void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r="");let o=(e,o,i)=>{let a={relativePath:void 0===i?e.path||"":i,caseSensitive:!0===e.caseSensitive,childrenIndex:o,route:e};a.relativePath.startsWith("/")&&(d(a.relativePath.startsWith(r),'Absolute route path "'+a.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),a.relativePath=a.relativePath.slice(r.length));let l=U([r,a.relativePath]),s=n.concat(a);e.children&&e.children.length>0&&(d(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+l+'".'),w(e.children,t,s,l)),(null!=e.path||e.index)&&t.push({path:l,score:R(l,e.index),routesMeta:s})};return e.forEach(((e,t)=>{var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?"))for(let r of E(e.path))o(e,t,r);else o(e,t)})),t}function E(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(0===r.length)return o?[i,""]:[i];let a=E(r.join("/")),l=[];return l.push(...a.map((e=>""===e?i:[i,e].join("/")))),o&&l.push(...a),l.map((t=>e.startsWith("/")&&""===t?"/":t))}const _=/^:[\w-]+$/,k=3,T=2,C=1,S=10,P=-2,A=e=>"*"===e;function R(e,t){let n=e.split("/"),r=n.length;return n.some(A)&&(r+=P),t&&(r+=T),n.filter((e=>!A(e))).reduce(((e,t)=>e+(_.test(t)?k:""===t?C:S)),r)}function I(e,t,n){void 0===n&&(n=!1);let{routesMeta:r}=e,o={},i="/",a=[];for(let l=0;l<r.length;++l){let e=r[l],s=l===r.length-1,c="/"===i?t:t.slice(i.length)||"/",u=L({path:e.relativePath,caseSensitive:e.caseSensitive,end:s},c),d=e.route;if(!u&&s&&n&&!r[r.length-1].route.index&&(u=L({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},c)),!u)return null;
2Object.assign(o,u.params),a.push({params:o,pathname:U([i,u.pathname]),pathnameBase:F(U([i,u.pathnameBase])),route:d}),"/"!==u.pathnameBase&&(i=U([i,u.pathnameBase]))}return a}function L(e,t){"string"===typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t,n){void 0===t&&(t=!1);void 0===n&&(n=!0);p("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,((e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(r.push({paramName:"*"}),o+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":""!==e&&"/"!==e&&(o+="(?:(?=\\/|$))");let i=new RegExp(o,t?void 0:"i");return[i,r]}(e.path,e.caseSensitive,e.end),o=t.match(n);if(!o)return null;let i=o[0],a=i.replace(/(.)\/+$/,"$1"),l=o.slice(1),s=r.reduce(((e,t,n)=>{let{paramName:r,isOptional:o}=t;if("*"===r){let e=l[n]||"";a=i.slice(0,i.length-e.length).replace(/(.)\/+$/,"$1")}const s=l[n];return e[r]=o&&!s?void 0:(s||"").replace(/%2F/g,"/"),e}),{});return{params:s,pathname:i,pathnameBase:a,pattern:e}}function O(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(t){return p(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function j(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function z(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(r)+"]. 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 N(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function M(e,t){let n=N(e);return t?n.map(((e,t)=>t===n.length-1?e.pathname:e.pathnameBase)):n.map((e=>e.pathnameBase))}function D(e,t,n,r){let o;void 0===r&&(r=!1),"string"===typeof e?o=g(e):(o=c({},e),d(!o.pathname||!o.pathname.includes("?"),z("?","pathname","search",o)),d(!o.pathname||!o.pathname.includes("#"),z("#","pathname","hash",o)),d(!o.search||!o.search.includes("#"),z("#","search","hash",o)));let i,a=""===e||""===o.pathname,l=a?"/":o.pathname;if(null==l)i=n;else{let e=t.length-1;if(!r&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;o.pathname=t.join("/")}i=e>=0?t[e]:"/"}let s=function(e,t){void 0===t&&(t="/");let{pathname:n,search:r="",hash:o=""}="string"===typeof e?g(e):e,i=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:i,search:$(r),hash:V(o)}}(o,i),u=l&&"/"!==l&&l.endsWith("/"),p=(a||"."===l)&&n.endsWith("/");return s.pathname.endsWith("/")||!u&&!p||(s.pathname+="/"),s}const U=e=>e.join("/").replace(/\/\/+/g,"/"),F=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),$=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",V=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";Error;function B(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const H=["post","put","patch","delete"],G=(new Set(H),["get",...H]);new Set(G),new Set([301,302,303,307,308]),new Set([307,308]);Symbol("deferred");function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Y.apply(this,arguments)}const W=o.createContext(null);const K=o.createContext(null);const q=o.createContext(null);const Q=o.createContext(null);const X=o.createContext({outlet:null,matches:[],isDataRoute:!1});const J=o.createContext(null);function Z(){return null!=o.useContext(Q)}function ee(){return Z()||d(!1),o.useContext(Q).location}function te(e){o.useContext(q).static||o.useLayoutEffect(e)}function ne(){let{isDataRoute:e}=o.useContext(X);return e?function(){let{router:e}=pe(ue.UseNavigateStable),t=me(de.UseNavigateStable),n=o.useRef(!1);return te((()=>{n.current=!0})),o.useCallback((function(r,o){void 0===o&&(o={}),n.current&&("number"===typeof r?e.navigate(r):e.navigate(r,Y({fromRouteId:t},o)))}),[e,t])}():function(){Z()||d(!1);
2let e=o.useContext(W),{basename:t,future:n,navigator:r}=o.useContext(q),{matches:i}=o.useContext(X),{pathname:a}=ee(),l=JSON.stringify(M(i,n.v7_relativeSplatPath)),s=o.useRef(!1);te((()=>{s.current=!0}));let c=o.useCallback((function(n,o){if(void 0===o&&(o={}),!s.current)return;if("number"===typeof n)return void r.go(n);let i=D(n,JSON.parse(l),a,"path"===o.relative);null==e&&"/"!==t&&(i.pathname="/"===i.pathname?t:U([t,i.pathname])),(o.replace?r.replace:r.push)(i,o.state,o)}),[t,r,l,a,e]);return c}()}function re(e,t){let{relative:n}=void 0===t?{}:t,{future:r}=o.useContext(q),{matches:i}=o.useContext(X),{pathname:a}=ee(),l=JSON.stringify(M(i,r.v7_relativeSplatPath));return o.useMemo((()=>D(e,JSON.parse(l),a,"path"===n)),[e,l,a,n])}function oe(e,t,n,i){Z()||d(!1);let{navigator:a}=o.useContext(q),{matches:l}=o.useContext(X),s=l[l.length-1],c=s?s.params:{},u=(s&&s.pathname,s?s.pathnameBase:"/");s&&s.route;let p,f=ee();if(t){var m;let e="string"===typeof t?g(t):t;"/"===u||(null==(m=e.pathname)?void 0:m.startsWith(u))||d(!1),p=e}else p=f;let h=p.pathname||"/",b=h;if("/"!==u){let e=u.replace(/^\//,"").split("/");b="/"+h.replace(/^\//,"").split("/").slice(e.length).join("/")}let v=y(e,{pathname:b});let x=ce(v&&v.map((e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:U([u,a.encodeLocation?a.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?u:U([u,a.encodeLocation?a.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),l,n,i);return t&&x?o.createElement(Q.Provider,{value:{location:Y({pathname:"/",search:"",hash:"",state:null,key:"default"},p),navigationType:r.Pop}},x):x}function ie(){let e=function(){var e;let t=o.useContext(J),n=fe(de.UseRouteError),r=me(de.UseRouteError);if(void 0!==t)return t;return null==(e=n.errors)?void 0:e[r]}(),t=B(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:r};return o.createElement(o.Fragment,null,o.createElement("h2",null,"Unexpected Application Error!"),o.createElement("h3",{style:{fontStyle:"italic"}},t),n?o.createElement("pre",{style:i},n):null,null)}const ae=o.createElement(ie,null);class le extends o.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,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?o.createElement(X.Provider,{value:this.props.routeContext},o.createElement(J.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function se(e){let{routeContext:t,match:n,children:r}=e,i=o.useContext(W);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),o.createElement(X.Provider,{value:t},r)}function ce(e,t,n,r){var i;if(void 0===t&&(t=[]),void 0===n&&(n=null),void 0===r&&(r=null),null==e){var a;if(!n)return null;if(n.errors)e=n.matches;else{if(!(null!=(a=r)&&a.v7_partialHydration&&0===t.length&&!n.initialized&&n.matches.length>0))return null;e=n.matches}}let l=e,s=null==(i=n)?void 0:i.errors;if(null!=s){let e=l.findIndex((e=>e.route.id&&void 0!==(null==s?void 0:s[e.route.id])));e>=0||d(!1),l=l.slice(0,Math.min(l.length,e+1))}let c=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let o=0;o<l.length;o++){let e=l[o];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(u=o),e.route.id){let{loaderData:t,errors:r}=n,o=e.route.loader&&void 0===t[e.route.id]&&(!r||void 0===r[e.route.id]);if(e.route.lazy||o){c=!0,l=u>=0?l.slice(0,u+1):[l[0]];break}}}return l.reduceRight(((e,r,i)=>{let a,d=!1,p=null,f=null;var m;n&&(a=s&&r.route.id?s[r.route.id]:void 0,p=r.route.errorElement||ae,c&&(u<0&&0===i?(m="route-fallback",!1||he[m]||(he[m]=!0),d=!0,f=null):u===i&&(d=!0,f=r.route.hydrateFallbackElement||null)));let h=t.concat(l.slice(0,i+1)),g=()=>{let t;return t=a?p:d?f:r.route.Component?o.createElement(r.route.Component,null):r.route.element?r.route.element:e,o.createElement(se,{match:r,routeContext:{outlet:e,matches:h,isDataRoute:null!=n},children:t})};return n&&(r.route.ErrorBoundary||r.route.errorElement||0===i)?o.createElement(le,{location:n.location,revalidation:n.revalidation,component:p,error:a,children:g(),routeC
2ontext:{outlet:null,matches:h,isDataRoute:!0}}):g()}),null)}var ue=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(ue||{}),de=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(de||{});function pe(e){let t=o.useContext(W);return t||d(!1),t}function fe(e){let t=o.useContext(K);return t||d(!1),t}function me(e){let t=function(){let e=o.useContext(X);return e||d(!1),e}(),n=t.matches[t.matches.length-1];return n.route.id||d(!1),n.route.id}const he={};const ge={};const be=(e,t,n)=>{var r;ge[r="\u26a0\ufe0f React Router Future Flag Warning: "+t+". You can use the `"+e+"` future flag to opt-in early. For more information, see "+n+"."]||(ge[r]=!0,console.warn(r))};function ve(e,t){null!=e&&e.v7_startTransition||be("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),null!=e&&e.v7_relativeSplatPath||t&&t.v7_relativeSplatPath||be("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(t.v7_fetcherPersist||be("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),t.v7_normalizeFormMethod||be("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),t.v7_partialHydration||be("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),t.v7_skipActionErrorRevalidation||be("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}i.startTransition;function ye(e){let{to:t,replace:n,state:r,relative:i}=e;Z()||d(!1);let{future:a,static:l}=o.useContext(q),{matches:s}=o.useContext(X),{pathname:c}=ee(),u=ne(),p=D(t,M(s,a.v7_relativeSplatPath),c,"path"===i),f=JSON.stringify(p);return o.useEffect((()=>u(JSON.parse(f),{replace:n,state:r,relative:i})),[u,f,i,n,r]),null}function xe(e){d(!1)}function we(e){let{basename:t="/",children:n=null,location:i,navigationType:a=r.Pop,navigator:l,static:s=!1,future:c}=e;Z()&&d(!1);let u=t.replace(/^\/*/,"/"),p=o.useMemo((()=>({basename:u,navigator:l,static:s,future:Y({v7_relativeSplatPath:!1},c)})),[u,c,l,s]);"string"===typeof i&&(i=g(i));let{pathname:f="/",search:m="",hash:h="",state:b=null,key:v="default"}=i,y=o.useMemo((()=>{let e=j(f,u);return null==e?null:{location:{pathname:e,search:m,hash:h,state:b,key:v},navigationType:a}}),[u,f,m,h,b,v,a]);return null==y?null:o.createElement(q.Provider,{value:p},o.createElement(Q.Provider,{children:n,value:y}))}function Ee(e){let{children:t,location:n}=e;return oe(_e(t),n)}new Promise((()=>{}));o.Component;function _e(e,t){void 0===t&&(t=[]);let n=[];return o.Children.forEach(e,((e,r)=>{if(!o.isValidElement(e))return;let i=[...t,r];if(e.type===o.Fragment)return void n.push.apply(n,_e(e.props.children,i));e.type!==xe&&d(!1),e.props.index&&e.props.children&&d(!1);let a={id:e.props.id||i.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=_e(e.props.children,i)),n.push(a)})),n}function ke(){return ke=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ke.apply(this,arguments)}function Te(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const Ce=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(Fh){}new Map;const Se=i.startTransition;s.flushSync,i.useId;function Pe(e){let{basename:t,children:n,future:r,window:i}=e,a=o.useRef();var l;null==a.current&&(a.current=(void 0===(l={window:i,v5Compat:!0})&&(l={}),b((function(e,t){let{pathname:n,search:r,hash:o}=e.location;return m("",{pathname:n,search:r,hash:o},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"===typeof t?t:h(t)}),null,l)));let s=a.current,[c,u]=o.useState({action:s.action,location:s.location}),{v7_startTransition:d}=r||{},p=o.useCallback((e=>{d&&Se?Se((()=>u(e))):u(e)}),[u,d]);return o.useLayoutEffect((()=>s.listen(p)),[s,p]),o.useEffect((()=>ve(r)),[r]),o.createElement(we,{basename:t,children:n,location:c.location,navigationType:c.action,navigator:s,future:r})}const Ae="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,Re=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ie=o.forwardRef((function(e,t){let n,{onClick:r,relative:i,reloadDocument:a,replace:l,state:s,target:c,to:u,preventScrollReset:p,viewTransition:f}=e,m=Te(e,Ce),{basename:g}=o.useContext(q),b=!1;
2if("string"===typeof u&&Re.test(u)&&(n=u,Ae))try{let e=new URL(window.location.href),t=u.startsWith("//")?new URL(e.protocol+u):new URL(u),n=j(t.pathname,g);t.origin===e.origin&&null!=n?u=n+t.search+t.hash:b=!0}catch(Fh){}let v=function(e,t){let{relative:n}=void 0===t?{}:t;Z()||d(!1);let{basename:r,navigator:i}=o.useContext(q),{hash:a,pathname:l,search:s}=re(e,{relative:n}),c=l;return"/"!==r&&(c="/"===l?r:U([r,l])),i.createHref({pathname:c,search:s,hash:a})}(u,{relative:i}),y=function(e,t){let{target:n,replace:r,state:i,preventScrollReset:a,relative:l,viewTransition:s}=void 0===t?{}:t,c=ne(),u=ee(),d=re(e,{relative:l});return o.useCallback((t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,n)){t.preventDefault();let n=void 0!==r?r:h(u)===h(d);c(e,{replace:n,state:i,preventScrollReset:a,relative:l,viewTransition:s})}}),[u,c,d,r,i,n,e,a,l,s])}(u,{replace:l,state:s,target:c,preventScrollReset:p,relative:i,viewTransition:f});return o.createElement("a",ke({},m,{href:n||v,onClick:b||a?r:function(e){r&&r(e),e.defaultPrevented||y(e)},ref:t,target:c}))}));var Le,Oe;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Le||(Le={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Oe||(Oe={}));var je=function(){return je=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},je.apply(this,arguments)};Object.create;function ze(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}Object.create;"function"===typeof SuppressedError&&SuppressedError;var Ne=n(324),Me=n.n(Ne),De="-ms-",Ue="-moz-",Fe="-webkit-",$e="comm",Ve="rule",Be="decl",He="@keyframes",Ge=Math.abs,Ye=String.fromCharCode,We=Object.assign;function Ke(e){return e.trim()}function qe(e,t){return(e=t.exec(e))?e[0]:e}function Qe(e,t,n){return e.replace(t,n)}function Xe(e,t,n){return e.indexOf(t,n)}function Je(e,t){return 0|e.charCodeAt(t)}function Ze(e,t,n){return e.slice(t,n)}function et(e){return e.length}function tt(e){return e.length}function nt(e,t){return t.push(e),e}function rt(e,t){return e.filter((function(e){return!qe(e,t)}))}var ot=1,it=1,at=0,lt=0,st=0,ct="";function ut(e,t,n,r,o,i,a,l){return{value:e,root:t,parent:n,type:r,props:o,children:i,line:ot,column:it,length:a,return:"",siblings:l}}function dt(e,t){return We(ut("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},t)}function pt(e){for(;e.root;)e=dt(e.root,{children:[e]});nt(e,e.siblings)}function ft(){return st=lt>0?Je(ct,--lt):0,it--,10===st&&(it=1,ot--),st}function mt(){return st=lt<at?Je(ct,lt++):0,it++,10===st&&(it=1,ot++),st}function ht(){return Je(ct,lt)}function gt(){return lt}function bt(e,t){return Ze(ct,e,t)}function vt(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function yt(e){return ot=it=1,at=et(ct=e),lt=0,[]}function xt(e){return ct="",e}function wt(e){return Ke(bt(lt-1,kt(91===e?e+2:40===e?e+1:e)))}function Et(e){for(;(st=ht())&&st<33;)mt();return vt(e)>2||vt(st)>3?"":" "}function _t(e,t){for(;--t&&mt()&&!(st<48||st>102||st>57&&st<65||st>70&&st<97););return bt(e,gt()+(t<6&&32==ht()&&32==mt()))}function kt(e){for(;mt();)switch(st){case e:return lt;case 34:case 39:34!==e&&39!==e&&kt(st);break;case 40:41===e&&kt(e);break;case 92:mt()}return lt}function Tt(e,t){for(;mt()&&e+st!==57&&(e+st!==84||47!==ht()););return"/*"+bt(t,lt-1)+"*"+Ye(47===e?e:mt())}function Ct(e){for(;!vt(ht());)mt();return bt(e,lt)}function St(e,t){for(var n="",r=0;r<e.length;r++)n+=t(e[r],r,e,t)||"";return n}function Pt(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case Be:return e.return=e.return||e.value;case $e:return"";case He:return e.return=e.value+"{"+St(e.children,r)+"}";case Ve:if(!et(e.value=e.props.join(",")))return""}return et(n=St(e.children,r))?e.return=e.value+"{"+n+"}":""}function At(e,t,n){switch(function(e,t){return 45^Je(e,0)?(((t<<2^Je(e,0))<<2^Je(e,1))<<2^Je(e,2))<<2^Je(e,3):0}(e,t)){case 5103:return Fe+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Fe+e+e;case 4789:return Ue+e+e;
vendor: 5,399 bytes, line 2
2case 5349:case 4246:case 4810:case 6968:case 2756:return Fe+e+Ue+e+De+e+e;case 5936:switch(Je(e,t+11)){case 114:return Fe+e+De+Qe(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Fe+e+De+Qe(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Fe+e+De+Qe(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return Fe+e+De+e+e;case 6165:return Fe+e+De+"flex-"+e+e;case 5187:return Fe+e+Qe(e,/(\w+).+(:[^]+)/,Fe+"box-$1$2"+De+"flex-$1$2")+e;case 5443:return Fe+e+De+"flex-item-"+Qe(e,/flex-|-self/g,"")+(qe(e,/flex-|baseline/)?"":De+"grid-row-"+Qe(e,/flex-|-self/g,""))+e;case 4675:return Fe+e+De+"flex-line-pack"+Qe(e,/align-content|flex-|-self/g,"")+e;case 5548:return Fe+e+De+Qe(e,"shrink","negative")+e;case 5292:return Fe+e+De+Qe(e,"basis","preferred-size")+e;case 6060:return Fe+"box-"+Qe(e,"-grow","")+Fe+e+De+Qe(e,"grow","positive")+e;case 4554:return Fe+Qe(e,/([^-])(transform)/g,"$1"+Fe+"$2")+e;case 6187:return Qe(Qe(Qe(e,/(zoom-|grab)/,Fe+"$1"),/(image-set)/,Fe+"$1"),e,"")+e;case 5495:case 3959:return Qe(e,/(image-set\([^]*)/,Fe+"$1$`$1");case 4968:return Qe(Qe(e,/(.+:)(flex-)?(.*)/,Fe+"box-pack:$3"+De+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Fe+e+e;case 4200:if(!qe(e,/flex-|baseline/))return De+"grid-column-align"+Ze(e,t)+e;break;case 2592:case 3360:return De+Qe(e,"template-","")+e;case 4384:case 3616:return n&&n.some((function(e,n){return t=n,qe(e.props,/grid-\w+-end/)}))?~Xe(e+(n=n[t].value),"span",0)?e:De+Qe(e,"-start","")+e+De+"grid-row-span:"+(~Xe(n,"span",0)?qe(n,/\d+/):+qe(n,/\d+/)-+qe(e,/\d+/))+";":De+Qe(e,"-start","")+e;case 4896:case 4128:return n&&n.some((function(e){return qe(e.props,/grid-\w+-start/)}))?e:De+Qe(Qe(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return Qe(e,/(.+)-inline(.+)/,Fe+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(et(e)-1-t>6)switch(Je(e,t+1)){case 109:if(45!==Je(e,t+4))break;case 102:return Qe(e,/(.+:)(.+)-([^]+)/,"$1"+Fe+"$2-$3$1"+Ue+(108==Je(e,t+3)?"$3":"$2-$3"))+e;case 115:return~Xe(e,"stretch",0)?At(Qe(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return Qe(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,(function(t,n,r,o,i,a,l){return De+n+":"+r+l+(o?De+n+"-span:"+(i?a:+a-+r)+l:"")+e}));case 4949:if(121===Je(e,t+6))return Qe(e,":",":"+Fe)+e;break;case 6444:switch(Je(e,45===Je(e,14)?18:11)){case 120:return Qe(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Fe+(45===Je(e,14)?"inline-":"")+"box$3$1"+Fe+"$2$3$1"+De+"$2box$3")+e;case 100:return Qe(e,":",":"+De)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Qe(e,"scroll-","scroll-snap-")+e}return e}function Rt(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case Be:return void(e.return=At(e.value,e.length,n));case He:return St([dt(e,{value:Qe(e.value,"@","@"+Fe)})],r);case Ve:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,(function(t){switch(qe(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":pt(dt(e,{props:[Qe(t,/:(read-\w+)/,":-moz-$1")]})),pt(dt(e,{props:[t]})),We(e,{props:rt(n,r)});break;case"::placeholder":pt(dt(e,{props:[Qe(t,/:(plac\w+)/,":"+Fe+"input-$1")]})),pt(dt(e,{props:[Qe(t,/:(plac\w+)/,":-moz-$1")]})),pt(dt(e,{props:[Qe(t,/:(plac\w+)/,De+"input-$1")]})),pt(dt(e,{props:[t]})),We(e,{props:rt(n,r)})}return""}))}}function It(e){return xt(Lt("",null,null,null,[""],e=yt(e),0,[0],e))}function Lt(e,t,n,r,o,i,a,l,s){for(var c=0,u=0,d=a,p=0,f=0,m=0,h=1,g=1,b=1,v=0,y="",x=o,w=i,E=r,_=y;g;)switch(m=v,v=mt()){case 40:if(108!=m&&58==Je(_,d-1)){-1!=Xe(_+=Qe(wt(v),"&","&\f"),"&\f",Ge(c?l[c-1]:0))&&(b=-1);break}case 34:case 39:case 91:_+=wt(v);break;case 9:case 10:case 13:case 32:_+=Et(m);break;case 92:_+=_t(gt()-1,7);continue;case 47:switch(ht()){case 42:case 47:nt(jt(Tt(mt(),gt()),t,n,s),s);break;default:_+="/"}break;case 123*h:l[c++]=et(_)*b;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:-1==b&&(_=Qe(_,/\f/g,"")),f>0&&et(_)-d&&nt(f>32?zt(_+";",r,n,d-1,s):zt(Qe(_," ","")+";",r,n,d-2,s),s);break;case 59:_+=";";default:if(nt(E=Ot(_,t,n,c,u,o,l,y,x=[],w=[],d,i),i),123===v)if(0===u)Lt(_,t,E,E,x,i,d,l,w);else switch(99===p&&110===Je(_,3)?100:p){case 100:case 108:case 109:case 115:Lt(e,E,E,r&&nt(Ot(e,E,E,0,0,o,l,y,o,x=[],d,w),w),o,w,d,l,r?x:w);break;default:Lt(_,E,E,E,[""],w,0,l,w)}}c=u=f=0,h=b=1,y=_="",d=a;break;case 58:d=1+et(_),f=m;default:if(h<1)if(123==v)--h;else if(125==v&&0==h++&&125==ft())continue;switch(_+=Ye(v),v*h){case 38:b=u>0?1:(_+="\f",-1);break;case 44:l[c++]=(et(_)-1)*b,b=1;break;case 64:45===ht()&&(_+=wt(mt())),p=ht(),u=d=et(y=_+=Ct(gt())),v++;break;case 45:45===m&&2==et(_)&&(h=0)}}return i}function Ot(e,t,n,r,o,i,a,l,s,c,u,d){for(var p=o-1,f=0===o?i:[""],m=tt(f),h=0,g=0,b=0;h<r;++h)for(var v=0,y=Ze(e,p+1,p=Ge(g=a[h])),x=e;v<m;++v)(x=Ke(g>0?f[v]+" "+y:Qe(y,/&\f/g,f[v])))&&(s[b++]=x);return ut(e,t,n,0===o?Ve:l,s,c,u,d)}function jt(e,t,n,r){return ut(e,t,n,$e,Ye(st),Ze(e,2,-2),0,r)}function zt(e,t,n,r,o){return ut(e,t,n,Be,Ze(e,0,r),Ze(e,r+1,-1),r,o)}var Nt={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGr
2idRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Mt="undefined"!=typeof process&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}&&({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.REACT_APP_SC_ATTR||{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.SC_ATTR)||"data-styled",Dt="active",Ut="data-styled-version",Ft="6.1.13",$t="/*!sc*/\n",Vt="undefined"!=typeof window&&"HTMLElement"in window,Bt=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.REACT_APP_SC_DISABLE_SPEEDY&&""!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.REACT_APP_SC_DISABLE_SPEEDY?"false"!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.REACT_APP_SC_DISABLE_SPEEDY&&{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.SC_DISABLE_SPEEDY&&""!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.SC_DISABLE_SPEEDY&&("false"!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.SC_DISABLE_SPEEDY&&{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
2,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.SC_DISABLE_SPEEDY)),Ht={},Gt=(new Set,Object.freeze([])),Yt=Object.freeze({});function Wt(e,t,n){return void 0===n&&(n=Yt),e.theme!==n.theme&&e.theme||t||n.theme}var Kt=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),qt=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,Qt=/(^-|-$)/g;function Xt(e){return e.replace(qt,"-").replace(Qt,"")}var Jt=/(a)(d)/gi,Zt=function(e){return String.fromCharCode(e+(e>25?39:97))};function en(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=Zt(t%52)+n;return(Zt(t%52)+n).replace(Jt,"$1-$2")}var tn,nn=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},rn=function(e){return nn(5381,e)};function on(e){return en(rn(e)>>>0)}function an(e){return e.displayName||e.name||"Component"}function ln(e){return"string"==typeof e&&!0}var sn="function"==typeof Symbol&&Symbol.for,cn=sn?Symbol.for("react.memo"):60115,un=sn?Symbol.for("react.forward_ref"):60112,dn={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},pn={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},fn={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},mn=((tn={})[un]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},tn[cn]=fn,tn);function hn(e){return("type"in(t=e)&&t.type.$$typeof)===cn?fn:"$$typeof"in e?mn[e.$$typeof]:dn;var t}var gn=Object.defineProperty,bn=Object.getOwnPropertyNames,vn=Object.getOwnPropertySymbols,yn=Object.getOwnPropertyDescriptor,xn=Object.getPrototypeOf,wn=Object.prototype;function En(e,t,n){if("string"!=typeof t){if(wn){var r=xn(t);r&&r!==wn&&En(e,r,n)}var o=bn(t);vn&&(o=o.concat(vn(t)));for(var i=hn(e),a=hn(t),l=0;l<o.length;++l){var s=o[l];if(!(s in pn||n&&n[s]||a&&s in a||i&&s in i)){var c=yn(t,s);try{gn(e,s,c)}catch(e){}}}}return e}function _n(e){return"function"==typeof e}function kn(e){return"object"==typeof e&&"styledComponentId"in e}function Tn(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function Cn(e,t){if(0===e.length)return"";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function Sn(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function Pn(e,t,n){if(void 0===n&&(n=!1),!n&&!Sn(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=Pn(e[r],t[r]);else if(Sn(t))for(var r in t)e[r]=Pn(e[r],t[r]);return e}function An(e,t){Object.defineProperty(e,"toString",{value:t})}function Rn(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(e," for more information.").concat(t.length>0?" Args: ".concat(t.join(", ")):""))}var In=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw Rn(16,"".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var i=r;i<o;i++)this.groupSizes[i]=0}for(var a=this.indexOfGroup(e+1),l=(i=0,t.length);i<l;i++)this.tag.insertRule(a,t[i])&&(this.groupSizes[e]++,a++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,i=r;i<o;i++)t+="".concat(this.tag.getRule(i)).concat($t);return t},e}(),Ln=new Map,On=new Map,jn=1,zn=function(e){if(Ln.has(e))return Ln.get(e);for(;On.has(jn);)jn++;var t=jn++;return Ln.set(e,t),On.set(t,e),t},Nn=function(e,t){jn=t+1,Ln.set(e,t),On.set(t,e)},Mn="style[".concat(Mt,"][").concat(Ut,'="').concat(Ft,'"]'),Dn=new RegExp("^".concat(Mt,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),Un=function(e,t,n){for(var r,o=n.split(","),i=0,a=o.length;i<a;i++)(r=o[i])&&e.registerName(t,r)},Fn=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:"").split($t),o=[],i=0,a=r.length;i<a;i++){var l=r[i].trim();if(l){var s=l.match(Dn);if(s){var c=0|parseInt(s[1],10),u=s[2];0!==c&&(Nn(u,c),Un(e,u,s[3]),e.getTag().insertRules(c,o)),o.length=0}else o.push(l)}}},$n=function(e){for(var t=document.querySelectorAll(Mn),n=0,r=t.length;n<r;n++){var o=t[n];o&&o.getAttribute(Mt)!==Dt&&(Fn(e,o),o.parentNode&&o.parentNode.removeChild(o))}};function Vn(){return n.nc}var Bn=function(e){var t=document.head,n=e||t,r=document.createElement("style"),o=function(e){var t=Array.from(e.querySelectorAll("style[".concat(Mt,"]")));return t[t.length-1]}(n),i=void 0!==o?o.nextSibling:null;r.setAttribute(Mt,Dt),r.setAttribute(Ut,Ft);var a=Vn();return a&&r.setAttribute("nonce",a),n.insertBefore(r,i),r},Hn=function(){function e(e){this.element=Bn(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}throw Rn(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),Gn=function(){function e(e){this.element=Bn(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),Yn=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),Wn=Vt,Kn={isServer:!Vt,useCSSOMInjection:!Bt},qn=function(){function e(e,t,n){void 0===e&&(e=Yt),void 0===t&&(t={});var r=this;this.options=je(je({},Kn),e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&Vt&&Wn&&(Wn=!1,$n(this)),An(this,(function(){return function(e){for(var t=e.getTag(),n=t.length,r="",o=function(n){var o=function(e){return On.get(e)}(n);if(void 0===o)return"continue";var i=e.names.get(o),a=t.getGroup(n);if(void 0===i||!i.size||0===a.length)return"continue";var l="".concat(Mt,".g").concat(n,'[id="').concat(o,'"]'),s="";
2void 0!==i&&i.forEach((function(e){e.length>0&&(s+="".concat(e,","))})),r+="".concat(a).concat(l,'{content:"').concat(s,'"}').concat($t)},i=0;i<n;i++)o(i);return r}(r)}))}return e.registerId=function(e){return zn(e)},e.prototype.rehydrate=function(){!this.server&&Vt&&$n(this)},e.prototype.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(je(je({},this.options),t),this.gs,n&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new Yn(n):t?new Hn(n):new Gn(n)}(this.options),new In(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(zn(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(zn(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(zn(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),Qn=/&/g,Xn=/^\s*\/\/.*$/gm;function Jn(e,t){return e.map((function(e){return"rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map((function(e){return"".concat(t," ").concat(e)}))),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=Jn(e.children,t)),e}))}function Zn(e){var t,n,r,o=void 0===e?Yt:e,i=o.options,a=void 0===i?Yt:i,l=o.plugins,s=void 0===l?Gt:l,c=function(e,r,o){return o.startsWith(n)&&o.endsWith(n)&&o.replaceAll(n,"").length>0?".".concat(t):e},u=s.slice();u.push((function(e){e.type===Ve&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(Qn,n).replace(r,c))})),a.prefix&&u.push(Rt),u.push(Pt);var d=function(e,o,i,l){void 0===o&&(o=""),void 0===i&&(i=""),void 0===l&&(l="&"),t=l,n=o,r=new RegExp("\\".concat(n,"\\b"),"g");var s=e.replace(Xn,""),c=It(i||o?"".concat(i," ").concat(o," { ").concat(s," }"):s);a.namespace&&(c=Jn(c,a.namespace));var d,p=[];return St(c,function(e){var t=tt(e);return function(n,r,o,i){for(var a="",l=0;l<t;l++)a+=e[l](n,r,o,i)||"";return a}}(u.concat((d=function(e){return p.push(e)},function(e){e.root||(e=e.return)&&d(e)})))),p};return d.hash=s.length?s.reduce((function(e,t){return t.name||Rn(15),nn(e,t.name)}),5381).toString():"",d}var er=new qn,tr=Zn(),nr=o.createContext({shouldForwardProp:void 0,styleSheet:er,stylis:tr}),rr=(nr.Consumer,o.createContext(void 0));function or(){return(0,o.useContext)(nr)}function ir(e){var t=(0,o.useState)(e.stylisPlugins),n=t[0],r=t[1],i=or().styleSheet,a=(0,o.useMemo)((function(){var t=i;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target,i]),l=(0,o.useMemo)((function(){return Zn({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})}),[e.enableVendorPrefixes,e.namespace,n]);(0,o.useEffect)((function(){Me()(n,e.stylisPlugins)||r(e.stylisPlugins)}),[e.stylisPlugins]);var s=(0,o.useMemo)((function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:a,stylis:l}}),[e.shouldForwardProp,a,l]);return o.createElement(nr.Provider,{value:s},o.createElement(rr.Provider,{value:l},e.children))}var ar=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=tr);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,An(this,(function(){throw Rn(12,String(n.name))}))}return e.prototype.getName=function(e){return void 0===e&&(e=tr),this.name+e.hash},e}(),lr=function(e){return e>="A"&&e<="Z"};function sr(e){for(var t="",n=0;n<e.length;n++){var r=e[n];if(1===n&&"-"===r&&"-"===e[0])return e;lr(r)?t+="-"+r.toLowerCase():t+=r}return t.startsWith("ms-")?"-"+t:t}var cr=function(e){return null==e||!1===e||""===e},ur=function(e){var t,n,r=[];for(var o in e){var i=e[o];e.hasOwnProperty(o)&&!cr(i)&&(Array.isArray(i)&&i.isCss||_n(i)?r.push("".concat(sr(o),":"),i,";"):Sn(i)?r.push.apply(r,ze(ze(["".concat(o," {")],ur(i),!1),["}"],!1)):r.push("".concat(sr(o),": ").concat((t=o,null==(n=i)||"boolean"==typeof n||""===n?"":"number"!=typeof n||0===n||t in Nt||t.startsWith("--")?String(n).trim():"".concat(n,"px")),";")))}return r};function dr(e,t,n,r){return cr(e)?[]:kn(e)?[".".concat(e.styledComponentId)]:_n(e)?!_n(o=e)||o.prototype&&o.prototype.isReactComponent||!t?[e]:dr(e(t),t,n,r):e instanceof ar?n?(e.inject(n,r),[e.getName(r)]):[e]:Sn(e)?ur(e):Array.isArray(e)?Array.prototype.concat.apply(Gt,e.map((function(e){return dr(e,t,n,r)}))):[e.toString()];var o}function pr(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(_n(n)&&!kn(n))return!1}return!0}var fr=rn(Ft),mr=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&pr(e),this.componentId=t,this.baseHash=nn(fr,t),this.baseStyle=n,qn.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n
2):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=Tn(r,this.staticRulesId);else{var o=Cn(dr(this.rules,e,t,n)),i=en(nn(this.baseHash,o)>>>0);if(!t.hasNameForId(this.componentId,i)){var a=n(o,".".concat(i),void 0,this.componentId);t.insertRules(this.componentId,i,a)}r=Tn(r,i),this.staticRulesId=i}else{for(var l=nn(this.baseHash,n.hash),s="",c=0;c<this.rules.length;c++){var u=this.rules[c];if("string"==typeof u)s+=u;else if(u){var d=Cn(dr(u,e,t,n));l=nn(l,d+c),s+=d}}if(s){var p=en(l>>>0);t.hasNameForId(this.componentId,p)||t.insertRules(this.componentId,p,n(s,".".concat(p),void 0,this.componentId)),r=Tn(r,p)}}return r},e}(),hr=o.createContext(void 0);hr.Consumer;function gr(e){var t=o.useContext(hr),n=(0,o.useMemo)((function(){return function(e,t){if(!e)throw Rn(14);if(_n(e))return e(t);if(Array.isArray(e)||"object"!=typeof e)throw Rn(8);return t?je(je({},t),e):e}(e.theme,t)}),[e.theme,t]);return e.children?o.createElement(hr.Provider,{value:n},e.children):null}var br={};new Set;function vr(e,t,n){var r=kn(e),i=e,a=!ln(e),l=t.attrs,s=void 0===l?Gt:l,c=t.componentId,u=void 0===c?function(e,t){var n="string"!=typeof e?"sc":Xt(e);br[n]=(br[n]||0)+1;var r="".concat(n,"-").concat(on(Ft+n+br[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):c,d=t.displayName,p=void 0===d?function(e){return ln(e)?"styled.".concat(e):"Styled(".concat(an(e),")")}(e):d,f=t.displayName&&t.componentId?"".concat(Xt(t.displayName),"-").concat(t.componentId):t.componentId||u,m=r&&i.attrs?i.attrs.concat(s).filter(Boolean):s,h=t.shouldForwardProp;if(r&&i.shouldForwardProp){var g=i.shouldForwardProp;if(t.shouldForwardProp){var b=t.shouldForwardProp;h=function(e,t){return g(e,t)&&b(e,t)}}else h=g}var v=new mr(n,f,r?i.componentStyle:void 0);function y(e,t){return function(e,t,n){var r=e.attrs,i=e.componentStyle,a=e.defaultProps,l=e.foldedComponentIds,s=e.styledComponentId,c=e.target,u=o.useContext(hr),d=or(),p=e.shouldForwardProp||d.shouldForwardProp,f=Wt(t,u,a)||Yt,m=function(e,t,n){for(var r,o=je(je({},t),{className:void 0,theme:n}),i=0;i<e.length;i+=1){var a=_n(r=e[i])?r(o):r;for(var l in a)o[l]="className"===l?Tn(o[l],a[l]):"style"===l?je(je({},o[l]),a[l]):a[l]}return t.className&&(o.className=Tn(o.className,t.className)),o}(r,t,f),h=m.as||c,g={};for(var b in m)void 0===m[b]||"$"===b[0]||"as"===b||"theme"===b&&m.theme===f||("forwardedAs"===b?g.as=m.forwardedAs:p&&!p(b,h)||(g[b]=m[b]));var v=function(e,t){var n=or();return e.generateAndInjectStyles(t,n.styleSheet,n.stylis)}(i,m),y=Tn(l,s);return v&&(y+=" "+v),m.className&&(y+=" "+m.className),g[ln(h)&&!Kt.has(h)?"class":"className"]=y,g.ref=n,(0,o.createElement)(h,g)}(x,e,t)}y.displayName=p;var x=o.forwardRef(y);return x.attrs=m,x.componentStyle=v,x.displayName=p,x.shouldForwardProp=h,x.foldedComponentIds=r?Tn(i.foldedComponentIds,i.styledComponentId):"",x.styledComponentId=f,x.target=r?i.target:e,Object.defineProperty(x,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=r?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)Pn(e,o[r],!0);return e}({},i.defaultProps,e):e}}),An(x,(function(){return".".concat(x.styledComponentId)})),a&&En(x,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),x}function yr(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n}var xr=function(e){return Object.assign(e,{isCss:!0})};function wr(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(_n(e)||Sn(e))return xr(dr(yr(Gt,ze([e],t,!0))));var r=e;return 0===t.length&&1===r.length&&"string"==typeof r[0]?dr(r):xr(dr(yr(r,t)))}function Er(e,t,n){if(void 0===n&&(n=Yt),!t)throw Rn(1,t);var r=function(r){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];return e(t,n,wr.apply(void 0,ze([r],o,!1)))};return r.attrs=function(r){return Er(e,t,je(je({},n),{attrs:Array.prototype.concat(n.attrs,r).filter(Boolean)}))},r.withConfig=function(r){return Er(e,t,je(je({},n),r))},r}var _r=function(e){return Er(vr,e)},kr=_r;Kt.forEach((function(e){kr[e]=_r(e)}));var Tr=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=pr(e),qn.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,r){var o=r(Cn(dr(this.rules,t,n,r)),""),i=this.componentId+e;n.insertRules(i,i,o)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&qn.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function Cr(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=wr.apply(void 0,ze([e],t,!1)),i="sc-global-".concat(on(JSON.stringify(r))),a=new Tr(r,i),l=function(e){var t=or(),n=o.useContext(hr),r=o.useRef(t.styleSheet.allocateGSInstance(i)).current;return t.styleSheet.server&&s(r,e,t.styleSheet,n,t.stylis),o.useLayoutEffect((function(){if(!t.styleSheet.server)return s(r,e,t.styleSheet,n,t.stylis),function(){return a.removeStyles(r,t.styleSheet)}}),[r,e,t.styleSheet,n,t.stylis]),null};function s(e,t,n,r,o){if(a.isStatic)a.renderStyles(e,Ht,n,o);else{var i=je(je({},t),{theme:Wt(t,r,l.defaultProps)});a.renderStyles(e,i,n,o)}}return o.memo(l)}function Sr(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];
2var r=Cn(wr.apply(void 0,ze([e],t,!1))),o=on(r);return new ar(o,r)}(function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=Vn(),r=Cn([n&&'nonce="'.concat(n,'"'),"".concat(Mt,'="true"'),"".concat(Ut,'="').concat(Ft,'"')].filter(Boolean)," ");return"<style ".concat(r,">").concat(t,"</style>")},this.getStyleTags=function(){if(e.sealed)throw Rn(2);return e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)throw Rn(2);var n=e.instance.toString();if(!n)return[];var r=((t={})[Mt]="",t[Ut]=Ft,t.dangerouslySetInnerHTML={__html:n},t),i=Vn();return i&&(r.nonce=i),[o.createElement("style",je({},r,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new qn({isServer:!0}),this.sealed=!1}e.prototype.collectStyles=function(e){if(this.sealed)throw Rn(2);return o.createElement(ir,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw Rn(3)}})(),"__sc-".concat(Mt,"__");const Pr=kr.div` 3 min-height: 100vh; 4 display: flex; 5`,Ar=kr.aside` 6 width: 260px; 7 background-color: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 8 border-right: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 9 padding: 1.5rem; 10 height: 100vh; 11 position: fixed; 12 left: 0; 13 display: flex; 14 flex-direction: column; 15 z-index: 999; 16 transition: transform 0.3s ease; 17 18 @media (max-width: 1100px) { 19 transform: translateX(${e=>{let{isOpen:t}=e;return t?"0":"-100%"}}); 20 } 21`,Rr=kr.main` 22 flex: 1; 23 margin-left: 260px; 24 padding: 2rem; 25 overflow-x: hidden; 26 27 @media (max-width: 1100px) { 28 margin-left: 0; 29 padding: 1.25rem; 30 margin-top: 64px; 31 } 32 33 @media (max-width: 480px) { 34 padding: 0.75rem; 35 margin-top: 60px; 36 } 37`,Ir=kr.button` 38 display: none; 39 position: fixed; 40 top: 1rem; 41 right: 1rem; 42 z-index: 1000; 43 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 44 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 45 padding: 0.625rem; 46 border-radius: 10px; 47 cursor: pointer; 48 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 49 min-width: 44px; 50 min-height: 44px; 51 display: none; 52 align-items: center; 53 justify-content: center; 54 55 i { 56 font-size: 24px; 57 display: block; 58 } 59 60 &:active { 61 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 62 } 63 64 @media (max-width: 1100px) { 65 display: flex; 66 } 67`,Lr=kr.div` 68 display: ${e=>{let{isOpen:t}=e;return t?"block":"none"}}; 69 position: fixed; 70 top: 0; 71 left: 0; 72 right: 0; 73 bottom: 0; 74 background: rgba(0, 0, 0, 0.5); 75 z-index: 998; 76`,Or=kr.div` 77 display: flex; 78 align-items: center; 79 gap: 1rem; 80 padding-bottom: 1.5rem; 81 border-bottom: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 82 margin-bottom: 1.5rem; 83`,jr=kr.div` 84 width: 44px; 85 height: 44px; 86 border-radius: 12px; 87 background-size: cover; 88 background-position: center; 89`,zr=kr.div` 90 h2 { 91 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 92 font-size: 1rem; 93 font-weight: 600; 94 } 95 96 p { 97 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 98 font-size: 0.875rem; 99 } 100`,Nr=kr.div` 101 display: flex; 102 flex-direction: column; 103 gap: 0.25rem; 104`,Mr=kr.div` 105 margin-top: auto; 106 padding-top: 1.5rem; 107 border-top: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 108`,Dr=kr(Ie)` 109 display: flex; 110 align-items: center; 111 gap: 0.75rem; 112 padding: 0.75rem; 113 border-radius: 8px; 114 color: ${e=>{let{$isActive:t,theme:n}=e;return t?n.colors.blue9:n.colors.blue11}}; 115 background-color: ${e=>{let{$isActive:t,theme:n}=e;return t?n.colors.blue3:"transparent"}}; 116 transition: all 0.2s ease; 117 text-decoration: none; 118 119 &:hover { 120 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 121 background-color: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 122 transform: translateX(4px); 123 } 124 125 &:active { 126 transform: translateX(2px); 127 } 128 129 i { 130 font-size: 1.25rem; 131 } 132`,Ur=kr.a` 133 display: flex; 134 align-items: center; 135 justify-content: center; 136 gap: 0.6rem; 137 width: 100%; 138 padding: 0.7rem 1rem; 139 background-color: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 140 border-radius: 8px; 141 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 142 font-size: 0.9rem; 143 font-weight: 500; 144 text-decoration: none; 145 transition: all 0.2s ease; 146 147 i { 148 font-size: 1.25rem; 149 } 150 151 &:hover { 152 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 153 background-color: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 154 transform: translateY(-2px); 155 } 156 157 &:active { 158 transform: translateY(-1px); 159 } 160`,Fr={LayoutContainer:Pr,Sidebar:Ar,MainContent:Rr,MobileMenuButton:Ir,Overlay:Lr,Profile:Or,ProfileImage:jr,ProfileInfo:zr,NavLinks:Nr,SocialLinks:Mr,NavLinkWrapper:Dr,YouTubeLink:Ur};var $r=n(579);const Vr=[{path:"/",icon:"bx bx-home",label:"Home"},{path:"/portfolio",icon:"bx bx-book-alt",label:"Portfolio"},{path:"/projects",icon:"bx bx-layer",label:"Projects"},{path:"/blog",icon:"bx bx-pen",label:"Blog"},{path:"/contact",icon:"bx bx-phone",label:"Contact"}],Br=e=>{let{children:t}=e;const[n,r]=(0,o.useState)(!1),i=ee(),a=()=>r(!n),l=e=>{let{item:t}=e;const n=i.pathname===t.path;
160return(0,$r.jsxs)(Fr.NavLinkWrapper,{to:t.path,$isActive:n,onClick:()=>r(!1),children:[(0,$r.jsx)("i",{className:t.icon}),t.label]})};return(0,$r.jsxs)(Fr.LayoutContainer,{children:[(0,$r.jsx)(Fr.MobileMenuButton,{onClick:a,"aria-label":n?"Close navigation menu":"Open navigation menu","aria-expanded":n,children:(0,$r.jsx)("i",{className:"bx bx-menu"})}),(0,$r.jsx)(Fr.Overlay,{isOpen:n,onClick:a}),(0,$r.jsxs)(Fr.Sidebar,{isOpen:n,children:[(0,$r.jsxs)(Fr.Profile,{children:[(0,$r.jsx)(Fr.ProfileImage,{style:{backgroundImage:"url('https://64.media.tumblr.com/6301cf4c94d066c9579b2793781d7f2f/20c99a0f9ebff902-e0/s2048x3072/39d455383d100643b051d73059a46beac9b086a4.pnj')"}}),(0,$r.jsxs)(Fr.ProfileInfo,{children:[(0,$r.jsx)("h2",{children:"Austin Davenport"}),(0,$r.jsx)("p",{children:"Video Editor"})]})]}),(0,$r.jsx)("nav",{children:(0,$r.jsx)(Fr.NavLinks,{children:Vr.map((e=>(0,$r.jsx)(l,{item:e},e.path)))})}),(0,$r.jsx)(Fr.SocialLinks,{children:(0,$r.jsxs)(Fr.YouTubeLink,{href:"https://www.youtube.com/@AustinDavenport",target:"_blank",rel:"noopener noreferrer",children:[(0,$r.jsx)("i",{className:"bx bxl-youtube"}),"YouTube"]})})]}),(0,$r.jsx)(Fr.MainContent,{as:"main",children:t})]})},Hr=Cr` 161 /* Remove the @import and use <link> in index.html instead */ 162 163 * { 164 margin: 0; 165 padding: 0; 166 box-sizing: border-box; 167 } 168 169 body { 170 font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; 171 background-color: ${e=>{let{theme:t}=e;return t.colors.blue1}}; 172 color: ${e=>{let{theme:t}=e;return t.colors.blue12}}; 173 min-height: 100vh; 174 } 175 176 a { 177 text-decoration: none; 178 color: inherit; 179 } 180 181 :focus-visible { 182 outline: 2px solid ${e=>{let{theme:t}=e;return t.colors.blue8}}; 183 outline-offset: 2px; 184 border-radius: 2px; 185 } 186 187 button, [role="button"] { 188 cursor: pointer; 189 } 190`,Gr={colors:{blue1:"#0f1113",blue2:"#17191c",blue3:"#212326",blue4:"#282a2d",blue5:"#2f3135",blue6:"#383b3e",blue7:"#46484c",blue8:"#5f6165",blue9:"#fafcff",blue10:"#f1f3f6",blue11:"#b1b4b8",blue12:"#eceef1"}},Yr=kr.button` 191 display: inline-flex; 192 align-items: center; 193 gap: 0.5rem; 194 padding: 0.75rem 1.5rem; 195 background-color: ${e=>{let{theme:t,variant:n}=e;return"secondary"===n?t.colors.blue3:t.colors.blue4}}; 196 border: none; 197 border-radius: 8px; 198 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 199 font-size: 0.775rem; 200 font-weight: 500; 201 cursor: pointer; 202 transition: all 0.2s ease; 203 font-family: 'Poppins', sans-serif; 204 205 &:hover { 206 background-color: ${e=>{let{theme:t,variant:n}=e;return"secondary"===n?t.colors.blue4:t.colors.blue5}}; 207 transform: translateY(-2px); 208 } 209 210 i { 211 font-size: 1.25rem; 212 } 213`,Wr=e=>{let{variant:t="primary",icon:n,children:r,as:o,...i}=e;return(0,$r.jsxs)(Yr,{as:o,variant:t,...i,children:[n&&(0,$r.jsx)("i",{className:n}),r]})},Kr=[{id:"34daec43-57ea-40ae-994d-e8cddfcd7e5a",title:"How To Fix OBS Audio Delay And Audio Drift",slug:"fix-obs-audio-delay-audio-drift",excerpt:"Learn how to permanently fix OBS audio sync delay, latency, and drifting audio issues using sync offsets, frame conversion, and sample rate matching.",content:'\n# How To Fix OBS Audio Delay And Audio Drift\n\nIf you\u2019ve ever recorded a video in OBS and noticed your lips don\u2019t match your audio, you\u2019re not alone. Audio sync issues are one of the most common problems creators run into when recording tutorials, livestreams, podcasts, or gameplay.\n\nThe good news is that most OBS audio sync issues are completely fixable.\n\nIn this guide, we\u2019ll break down:\n- What audio latency is\n- How OBS sync offset works\n- How to convert frames to milliseconds\n- Why audio drift happens\n- How to permanently fix drifting audio in OBS\n\nIf you\u2019re creating YouTube videos, streaming, or recording long-form content, this can save you hours of editing.\n\n---\n\n## What Causes Audio Delay In OBS?\n\nAudio delay happens when your microphone audio and video capture are arriving at different speeds.\n\nThis usually shows up like this:\n- You speak\n- Your audio plays\n- Your lips move a split second later\n\nThat means your audio is ahead of your video.\n\nIn OBS, this is called **audio latency**, and the fix is built directly into the softw
213are.\n\n---\n\n## Where To Find Sync Offset In OBS\n\nOBS includes a setting called **Sync Offset** inside the Advanced Audio Properties panel.\n\nTo access it:\n\n1. Open OBS\n2. Locate the Audio Mixer\n3. Click the gear icon next to your microphone\n4. Select **Advanced Audio Properties**\n\nYou\u2019ll see a column labeled:\n\n> Sync Offset (ms)\n\nThis controls how many milliseconds your audio is delayed or advanced.\n\n<iframe width="100%" height="400" src="https://www.youtube.com/embed/rBQ8Y0TGU0c?start=0&end=82" title="Finding Sync Offset In OBS" frameborder="0" allowfullscreen></iframe>\n\n---\n\n## Understanding Positive vs Negative Sync Offset\n\nThis part confuses a lot of creators.\n\nA **positive value** delays your audio.\n\nUse this when:\n- Your audio plays BEFORE your video\n- You hear a clap before hands touch on screen\n\nA **negative value** effectively makes your audio appear earlier relative to the rest of the recording.\n\nUse this when:\n- Your audio is BEHIND your video\n- Your lips move before sound plays\n\nThe important thing to understand is:\n\nOBS is actually shifting the audio timing in the recording itself. This is not just a preview effect.\n\n---\n\n## How To Convert Frames To Milliseconds\n\nMost video editors measure sync problems in **frames**, but OBS uses **milliseconds**.\n\nSo you need to convert between the two.\n\n### Step 1 \u2014 Record A Test Clip\n\nCreate a short recording in OBS.\n\nA simple clap test works best:\n- Clap once in front of the camera\n- Record 10 seconds\n- Import into your editor\n\n### Step 2 \u2014 Measure The Offset\n\nFind:\n- The frame where your hands touch\n- The matching audio spike in the waveform\n\nCount how many frames they\u2019re apart.\n\n### Step 3 \u2014 Check Your OBS Frame Rate\n\nIn OBS:\n1. Open Settings\n2. Go to Video\n3. Check your output FPS\n\nMost creators use:\n- 30 FPS\n- 60 FPS\n\n### Step 4 \u2014 Convert Frames To Milliseconds\n\nAt 60 FPS:\n- 1 frame \u2248 16.7 milliseconds\n\nExample:\n- 18 frame delay\n- 18 \xd7 16.7\n- \u2248 300 milliseconds\n\nSo you would enter:\n\n-300 ms\n\ninside OBS Sync Offset.\n\n<iframe width="100%" height="400" src="https://www.youtube.com/embed/rBQ8Y0TGU0c?start=82&end=154" title="Converting OBS Frames To Milliseconds" frameborder="0" allowfullscreen></iframe>\n\n---\n\n## Important OBS Audio Sync Tips\n\nBefore finalizing your sync offset:\n\n### Always Test Again\n\nEven after calculating the exact value, you may still need:\n- \xb15 ms\n- \xb110 ms\n\nTiny adjustments matter.\n\n### Use A Clap Test\n\nThis is still the fastest and most accurate method for checking sync visually.\n\n### OBS Has A Delay Limit\n\nOBS caps sync offset around:\n- 950 milliseconds\n\nIf you need more than that, the issue is likely:\n- Bluetooth latency\n- Audio interface buffering\n- External hardware delays\n\nAt that point, you should troubleshoot the actual hardware causing latency.\n\n---\n\n## What Is Audio Drift?\n\nSome creators run into a different issue entirely.\n\nInstead of a fixed delay, the audio slowly drifts further out of sync over time.\n\nThis usually happens during:\n- Long recordings\n- Podcasts\n- Livestreams\n- Multi-hour gameplay sessions\n\nSymptoms include:\n- Audio starts synced\n- Gets progressively worse\n- Audio length no longer matches video length\n\nThis is NOT a standard latency problem.\n\nThis is called:\n\n## Audio Drift\n\nAnd Sync Offset will not fix it.\n\n---\n\n## The Most Common Cause Of Audio Drift\n\nAudio drift is usually caused by a **sample rate mismatch**.\n\nFor example:\n- Your microphone runs at 44.1kHz\n- OBS runs at 48kHz\n\nBecause both devices are using different timing clocks, they slowly drift apart over time.\n\n---\n\n## How To Fix Audio Drift In OBS\n\n### Step 1 \u2014 Set OBS To 48kHz\n\nInside OBS:\n1. Open Settings\n2. Go to Audio\n3. Set Sample Rate to:\n - 48kHz\n\n### Step 2 \u2014 Match Windows Audio Settings\n\nIn Windows:\n1. Open Sound Settings\n2. Select your audio device\n3. Open Properties\n4. Go to Advanced\n5. Set the device to:\n - 48,000Hz\n\nDo this for:\n- Microphones\n- Interfaces\n- Headphones\n- Capture devices\n\nEverything should match.\n\n<iframe width="100%" height="400" src="https://www.youtube.com/embed/rBQ8Y0TGU0c?start=193&end=318" title="Fixing OBS Audio Drift" frameborder="0" allowfullscreen></iframe>\n\n---\n\n## Can You Fix Drift After Recording?\n\nUnfortunately, not automatically.\n\nIf drift already exists in a recording, you\u2019ll need to:\n- Manually resync audio\n- Cut the timeline into sections\n- Realign the waveform repeatedly\n\nIt\u2019s tedious, but once sample rates are fixed, future recordings should stay synced properly.\n\n---\n\n## Final Thoughts\n\nOBS audio sync problems usually come down to one of two issues:\n- Audio latency\n- Audio drift\n\nLatency is fixed using Sync Offset.\n\nDrift is fixed by matching sample rates across all devices.\n\nOnce these settings are dialed in, you\u2019ll save yourself massive amounts of time in post-production and avoid ruining long recordings.\n\nSmall settings changes can completely transform your recording workflow.\n\n',category:"Tutorials",image_url:"https://64.media.tumblr.com/29f5478755aea11ee7341d475e4fc380/9f2d8855982dbf65-4d/s2048x3072/bee0524e2044a63555a7f44a5e9a49eaa208a69d.pnj",featured:!0,published:!0,read_time:8,views:0,likes:0,published_at:"2026-05-24T20:24:30.739191+00:00",created_at:"2026-05-24T20:24:30.739191+00:00",updated_at:"2026-05-24T20:24:30.739191+00:00",youtube_video_id:""},{id:"c5409686-932d-40b3-b5e8-42899b644be7",title:"Clipboard It: Copy / Paste Images Straight into Premiere",slug:"clipboard-it-premiere-pro-plugin-image-import",excerpt:"Stop wasting time importing images into Premiere Pro. Clipboard It lets you copy any image from anywhere and paste it directly into your project bins with automatic format conversion and organization.",content:"## The Problem Every Video E
213ditor Knows Too Well\n\nYou're deep in a creative flow, editing a project in Premiere Pro, when you need to grab a quick reference image or logo from the web. What should take 5 seconds turns into a 3-minute workflow interruption. You have to right-click to save the image, navigate through folders to find the right location, deal with incompatible formats like WebP or AVIF, convert them to something Premiere can actually use, then import into Premiere and finally organize everything into the proper bins.\n\nThis friction breaks your creative momentum dozens of times per project. Every interruption pulls you away from the storytelling, the pacing decisions, and the artistic choices that make great video content. For professional editors working on tight deadlines, these micro-interruptions compound into hours of lost productivity each week.\n\n## Introducing Clipboard It\n\nClipboard It is an Adobe-approved Premiere Pro plugin that eliminates the traditional image import workflow entirely. The concept is beautifully simple: copy any image from anywhere on your computer or the web, and paste it directly into your chosen Premiere bin. No saving, no folder navigation, no format conversion headaches.\n\nThe plugin seamlessly integrates into Premiere Pro's panel system, appearing as a clean, minimal interface that doesn't clutter your workspace. Once you set your destination folder and bin name, the entire process becomes as simple as copy and paste. The image appears in your project panel, properly formatted and organized, ready to use in your timeline.\n\n## How It Actually Works\n\nThe magic happens through intelligent automation that handles all the technical complexity behind the scenes. When you copy an image from any source, Clipboard It recognizes the clipboard content and prepares it for Premiere Pro's specific requirements. You simply click the paste button in the plugin panel, and within seconds, your image appears in the designated bin with proper naming and organization.\n\nThe plugin automatically converts problematic web formats like WebP and AVIF to PNG, preserving transparency and ensuring compatibility with Premiere Pro's media engine. It handles JPEG, PNG, and other standard formats without any user intervention. Custom file naming uses intelligent auto-incrementing, so your images are systematically organized as Image_1, Image_2, and so on, or with custom prefixes that match your project structure.\n\n## System Requirements and Compatibility\n\nClipboard It integrates with Adobe Premiere Pro 2023 and later versions, ensuring compatibility with current professional workflows. The plugin supports both Windows 10+ and macOS 10.15+ operating systems, covering the vast majority of professional editing workstations. System requirements are minimal, requiring only 4GB of RAM and an internet connection for initial activation.\n\nThe lightweight architecture ensures the plugin doesn't impact Premiere Pro's performance or stability. Unlike some extensions that can slow down the host application, Clipboard It operates efficiently in the background, only activating when needed for image processing.\n\n## Installation and Professional Setup\n\nGetting started with Clipboard It follows Adobe's standard plugin installation process. After purchasing from the Adobe Exchange marketplace, the plugin installs automatically through Creative Cloud, integrating seamlessly with your existing Premiere Pro installation. Initial configuration involves setting default folder locations and naming preferences, which can be customized for different project types or client requirements.\n\nProfessional editors often benefit from creating project-specific configurations that match their established folder structures and naming conventions. The plugin respects these organizational systems while eliminating the manual steps that typically slow down asset management.\n\n## Professional Benefits\n\n### Enhanced Productivity\n- Maintains creative flow\n- Reduces context switching\n- Eliminates file management overhead\n- Speeds up revision cycles\n\n### Improved Organization\n- Consistent file naming\n- Automatic bin organization\n- Project-specific folder structure\n- Version control friendly\n\n### Cost Efficiency\n- One-time purchase at $19.99 (launch price)\n- No subscription fees\n- Lifetime updates included\n- ROI achieved in first week of use\n\n## User Testimonials\n\n> \"Clipboard It has transformed how I approach video editing. What used to interrupt my flow for minutes now takes seconds. It's become an essential part of my toolkit.\" - Professional Video Editor\n\n> \"As a content creator, I'm constantly pulling images from research. This plugin has easily saved me hours every week.\" - YouTube Creator\n\n## Comparison with Alternatives\n\nUnlike workaround solutions or external tools:\n- **Native Premiere Integration**: No external applications required\n- **Automatic Processing**: Format conversion happens automatically\n- **Direct Bin Import**: Skips Premiere's import dialogs entirely\n- **Affordable**: One-time purchase vs. subscription tools\n\n## Future Development\n\nPlanned features based on user feedback:\n- Batch paste functionality\n- Custom naming templates\n- Integration with stock photo services\n- Advanced format options\n\n## Getting Started Today\n\nClipboard It is available now on Adobe Exchange with launch pricing through December 31, 2025:\n\n- **Regular Price**: $24.99\n- **Launch Sale**: $19.99\n- **Includes**: Lifetime updates and email support\n\n### Quick Start Tips\n\n1. **Set Default Preferences**: Configure your most-used folder and bin name\n2. **Create Keyboard Shortcut**: Assign a hotkey for even faster access\n3. **Test with Screenshots**: Try the drag-and-drop functionality\n4. **Organize Project Bins**: Use consistent naming for better organization\n\n## Conclusion\n\nVideo editing is a creative process that requires focus and flow. Every interruption, every context switch, every manual file operation pulls
213you away from your creative vision.\n\nClipboard It eliminates one of the most common workflow interruptions in Premiere Pro, letting you maintain momentum and focus on what matters: creating compelling content.\n\nThe plugin pays for itself in time saved within the first week of use. For professional editors, content creators, and anyone who values their creative flow, Clipboard It represents a fundamental workflow improvement.\n\n**Available now on Adobe Exchange**: [clipboard.it](https://clipboard.it.com/)\n\n### Ready to Transform Your Editing Workflow?\n\nDownload Clipboard It today and experience the difference of frictionless image importing. Your creative flow - and your deadline schedule - will thank you.\n\n\nDownload Clipboard It today and experience the difference of frictionless image importing. Your creative flow - and your deadline schedule - will thank you.",category:"Video Editing",image_url:"https://64.media.tumblr.com/53a71223aa60e721f77f8f5ebd50dc94/88dcf1fd9aea7926-7f/s2048x3072/d9f549f15f4bc2c7dc4f7825945da9216f139bb3.pnj",featured:!0,published:!0,read_time:8,views:0,likes:0,published_at:"2025-10-28T03:59:39.712851+00:00",created_at:"2025-10-28T03:59:39.712851+00:00",updated_at:"2025-10-28T03:59:39.712851+00:00",youtube_video_id:"XQDdJJSzntQ"},{id:"409cc297-917c-41bd-9551-a79723337b66",title:"Building My Own VidIQ",slug:"building-my-own-vidiq",excerpt:"Learn how I turned frustration with expensive analytics into YouTool.io, a free suite of professional YouTube tools designed to help every creator grow.",content:"## I Built YouTool.io to Level the Playing Field for Creators\n\nIf you've ever tried to grow a YouTube channel, you know the story. You juggle ideas, filming and editing while buried under graphs, metadata and inscrutable algorithms. I've been there. A few years ago I set out to fix the problem that kept me and countless other creators up at night: **why are professional analytics tools so expensive, complicated or hidden behind paywalls?**\n\n### The Spark That Started It All\n\nWhen I was analyzing my own channel, I realized I was spending more time wrangling data than making videos. That frustration turned into a question: *what if creators of every size had access to the same quality of insights as the top channels \u2014 without paying a dime?* That question became **YouTool.io**. On our home page we boldly state our promise to \"accelerate your YouTube growth\" through \"professional\u2011grade analytics and optimization tools\" \u2014 not because it sounds catchy, but because I lived the struggle.\n\nOver countless nights and lots of coffee, a small team of developers and YouTube enthusiasts joined me to bring YouTool to life. Our **About** page shares how this side project grew into something much bigger when we discovered how many creators were facing the same challenges.\n\n> **Our mission:** *to democratize YouTube analytics by providing powerful, professional\u2011grade tools that are completely free and accessible to creators of all sizes*. \n> We'll never charge for basic analytics, hide features behind tiers, or sell your data \u2014 that's a promise.\n\n### What Sets YouTool Apart?\n\nHere's what I'm most proud of:\n\n- **Always Free** \u2013 zero hidden fees or premium tiers. \n- **Human\u2011Friendly** \u2013 designed so you don't need a degree to understand your data. \n- **Privacy\u2011First** \u2013 your data belongs to you, not us. \n- **Made by Creators** \u2013 every tool is built by people who know what it's like to press \"Upload\". \n\n### Meet the Tools\n\nWe've packed more than **15 tools** into YouTool, organized to match the way creators work. Whether you're deep\u2011diving into channel performance, researching keywords or testing thumbnails, there's a tool for that.\n\n- **Deep Analytics** \u2013 Track video performance, engagement and audience insights to see what's working and what isn't. \n- **SEO Optimization** \u2013 Uncover keywords, tags, titles and competitor strategies to boost discoverability. \n- **Success Patterns** \u2013 Study viral videos and top creators to identify trends, content gaps and opportunities. \n\nSome of my favorites:\n\n*Channel Analyzer* for growth tracking and competitor analysis, *Video Analyzer* for per\u2011video metrics, *Keyword Analyzer* to find high\u2011value search terms, and the AI\u2011powered *Tag Generator* to optimize your tags. There's also a *Thumbnail Tester* to see exactly how your artwork will appear across devices, plus tools to compare channels and uncover outlier hits.\n\n### Your Guided Growth Path\n\nAnalytics are only useful if you know
213what to do next. That's why we built an **interactive learning path**. Think of it as your roadmap:\n\n- **Analyze & Understand** \u2013 start with Channel Analyzer, Video Analyzer, Keyword Analyzer, Outlier Finder and Comment Downloader to evaluate what's really happening on your channel. \n- **Optimize & Execute** \u2013 use the Channel Consultant, Tag Generator and Thumbnail Tester to make data\u2011driven improvements. \n- **Scale & Accelerate** \u2013 when you're ready to grow faster, tools like the QR Code Generator, Thumbnail Downloader, Subscriber Link Creator and Color Picker help streamline workflows and strengthen your brand. \n\n### Did You Know? Utility Tools Make Life Easier\n\nBeyond analytics, we've added a suite of utilities to simplify the day\u2011to\u2011day. These tools save time and ensure your content and channel look polished:\n\n- **Comment Downloader** \u2013 pull all comments from any video for sentiment analysis. \n- **Content Moderation Checker** \u2013 scan scripts and descriptions for potential policy issues before you hit publish. \n- **Color Palette & Picker** \u2013 extract beautiful color schemes from images and copy hex codes. \n- **YouTube Calculator & Comment Picker** \u2013 estimate earnings and run fair giveaways. \n- **Subscribe Link Generator** \u2013 create a personalized subscription link that invites viewers to join your community. \n\n### Our Impact & Roadmap\n\nSince launch, YouTool has analyzed **over 50 000 videos**, offered **15+ free tools** and helped **1 000+ creators** around the world. Every week we listen to feedback and roll out improvements. Our roadmap is shaped by what creators actually need \u2014 not by what we think they should want. If you've got an idea, drop me a line; YouTool exists because of creators like you.\n\n### Join Us \u2013 It's Free\n\nThousands of creators already trust YouTool to understand their performance, optimize their content and achieve their goals. Our home page invites you to start analyzing your channel today. Whether you're just uploading your first video or you're managing a thriving channel, YouTool gives you the insights you need \u2014 without the cost or complexity.\n\nReady to level the playing field? **[Visit YouTool.io](https://youtool.io)** and let's grow together.\n\n\u2014 **Austin Davenport**",category:"Announcements",image_url:"https://64.media.tumblr.com/bc7008fd1bf9c3eb021945eed64bf52e/89a1c25a6c9a85d3-d0/s2048x3072/16a11c45b02fe249c90d4761d1c258211a949b5f.pnj",featured:!0,published:!0,read_time:9,views:0,likes:0,published_at:"2025-08-12T02:00:59.937229+00:00",created_at:"2025-08-12T02:00:59.937229+00:00",updated_at:"2025-08-12T02:00:59.937229+00:00"},{id:"ac6933ec-3bb4-478e-8d4d-6d57fb69b633",title:"Upgrade to Windows 11: A Simple Guide for Windows 10 Users",slug:"upgrade-to-windows-11-guide",excerpt:"Still stuck on Windows 10? This step-by-step guide helps you fix TPM issues and smoothly upgrade to Windows 11\u2014even if your PC says it\u2019s ineligible.",content:"\n## Introduction\nMany users are still running Windows 10 either due to uncertainty or compatibility errors. This guide walks you through upgrading from Windows 10 to Windows 11, including TPM 2.0 BIOS settings and installation instructions.\n\nPC Health Check (Microsoft): https://support.microsoft.com/en-us/windows/how-to-use-the-pc-health-check-app-9c8abd9b-03ba-4e67-81ef-36f37caa7844\n\nWindows 11 Installation Assistant: https://www.microsoft.com/en-us/software-download/windows11\n\n## Step 1: Check Eligibility\nDownload Microsoft\u2019s **PC Health Check Tool**. If you're eligible, skip ahead. If not, don\u2019t panic\u2014there\u2019s a fix.\n\n## Step 2: Understand TPM 2.0 Requirements\nYou may see an ineligibility error related to TPM 2.0. This can often be resolved by enabling TPM in your BIOS settings.\n\n## Step 3: Enable TPM in BIOS\n1. Press `Windows + R` and enter `tpm.msc`\n2. If TPM is not found, restart into BIOS:\n - Go to **Settings > Update & Security > Recovery > Restart Now**\n - Navigate: **Troubleshoot > Advanced Options > UEFI Firmware Settings**\n - Enable **Intel PTT** under **Peripherals**\n - Set **Security Device Support** to Enabled under **Trusted Computing**\n\n## Step 4: Install Windows 11\nUse the **Windows 11 Installation Assistant**. Follow the prompts to complete the upgrade. This will take 20\u201340 minutes and your files should remain intact.\n\n> Pro Tip: Always back up your files before any major OS upgrade.\n\n## Summary\nEven if your PC says it\u2019s not eligible, you can likely upgrade by enabling TPM. Follow the steps, run the Installation Assistant, and enjoy Windows 11.\n\n## Key Takeaways\n- Use PC Health Check to verify eligibility\n- Enable TPM 2.0 in BIOS if needed\n- Windows 11 upgrade is possible even on custom builds\n\n",category:"Tutorials",image_url:"https://64.media.tumblr.com/dc04d21c18163f2abf9779fe8fb062f8/10f2c05eaf745466-f9/s2048x3072/a84711a6cbb470e31c126542e3487df90dfa3ca1.pnj",featured:!0,published:!0,read_time:5,views:0,likes:0,published_at:"2025-05-28T20:29:46.671148+00:00",created_at:"2025-05-28T20:29:46.671148+00:00",updated_at:"2025-05-28T20:29:46.671148+00:00",youtube_video_id:"XpYrLeXIjwI"},{id:"d6557a3e-2c3e-4144-a38d-a29ba1111577",title:"Fifine Profile3 Review: Pro Audio on a Budget",slug:"fifine-profile3-review-pro-audio-on-a-budget",excerpt:"Discover how the Fifine Profile3 USB microphone delivers professional-grade sound quality with user-friendly features, all at an affordable price point.",content:"## Introduction\n\nIn the realm of content creation, audio quality can make or break your production. The Fifine Profile3 USB microphone emerges as a game-changer, offering professional-grade sound without the hefty price tag.\n\n## Design and Build Quality\n\n- **All-Metal Construction:** Ensures durability and a premium feel.\n- **Compact Form Factor:** Ideal for desktop setups and on-the-go recording.\n- **User-Friendly Controls:** Front-facing mute button and intuitive knobs for gain and headphone volume.\n\n## Audio Performance\n\n- **24-bit/192kHz Resolution:** Delivers high-fidelity sound that captures every nuance.\n- **Cardioid Polar Pattern:** Focuses on your voice while minimizing background noise.\n- **Low-Cut Filter:** Helps eliminate room rumble and low-frequency noise for cleaner audio.\n\n## Connectivity and Compatibility\n\n- **USB-C Interface:** Enables plug-and-play functionality with modern devices.\n- **Real-Time Monitoring:** Lets you hear your voice without delay.\n- **Monitor Mix Control:** Adjust the balance between your voice and computer audio on the fly.\n\n## Ideal Use Cases\n\n- **Podcasters and Streamers:** Great for solo creators and live broadcasts.\n- **Musicians:** Perfect for vocals and instrumentals, with flexible monitoring.\n- **Remote Workers:** Simplifies video calls and virtual meetings with clear audio.\n\n## Pros and Cons\n\n**Pros:**\n\n- High-resolution audio capture.\n- Sturdy and sleek design.\n- User-friendly controls.\n- Affordable price point.\n\n**Cons:**\n\n- USB-C cable placement may limit stand rotation.\n- Lacks included USB-C to USB-A adapter.\n\n## Conclusion\n\nThe Fifine Profile3 stands out as a top-tier choice for creators seeking quality and affordability. Its combination of professional features and ease of use makes it a valuable addition to any setup.\n\n## Key Takeaways\n\n- Offers professional-grade audio at an accessible price.\n- Features intuitive controls and robust build quality.\n- Suitable for a wide range of content creation needs.\n",category:"Tech Reviews",image_url:"https://64.media.tumblr.com/d87f001ed68003ef4e6e04b5936f28b7/983e40e16bd91724-a9/s2048x3072/9828d4e7d598af9f923a096988a185be63e61a74.pnj",featured:!0,published:!0,read_time:5,views:0,likes:0,published_at:"2025-05-21T03:27:25.550046+00:00",created_at:"2025-05-21T03:27:25.550046+00:00",updated_at:"2025-05-21T03:27:25.550046+00:00",youtube_video_id:"pJJ0ws44sJw"},{id:"5b2ab00f-1f99-4017-bb76-f0ce5cdfea4f",title:"Marble Racing Game",slug:"marble-racing",excerpt:"An interactive 3D marble racing game with betting mechanics built using Three.js",content:'## Marble Racing Game\n\nThis interactive 3D marble racing game was built using Three.js for the physics simulation and rendering. The game includes a betting system where players can wager on different c
213olored marbles to win virtual currency.\n\n### Development Process\n\nThe game was developed in two main phases:\n1. **Physics and Game Mechanics**: The core simulation was developed using Grok 3 AI to create the Three.js physics engine that powers the marble movement and collisions.\n2. **User Interface and Visuals**: Claude AI was used to enhance the UI design, create smoother animations, and improve the overall user experience.\n\n### Key Features\n\n- 3D physics simulation with realistic marble movement\n- Dynamic track generation that changes with each race\n- Betting system with different payouts based on finishing position\n- Track color varies based on width (blue to red gradient)\n- Countdown timer for race starts\n- Statistics tracking for win rates and balance\n\n### Technical Details\n\nThe game uses several advanced web technologies:\n- Three.js for 3D rendering and physics\n- CSS3 for styling and animations\n- ES6 JavaScript for game logic\n\n### How to Play\n\n1. Choose a marble to bet on\n2. Set your wager amount\n3. Press "Start Race" and watch your marble compete!\n4. Marbles that finish 1st, 2nd, or 3rd will pay out at different rates\n5. Try to reach $10,000 before 20 races to win!',category:"Code Projects",image_url:"https://64.media.tumblr.com/975406e0fc23729e811c737bd34ea8ef/996a325fcd52a59a-09/s2048x3072/8478bf267257c547dbc761ffe4172e1b707cbaea.pnj",featured:!1,published:!0,read_time:5,views:0,likes:0,published_at:"2025-05-20T05:04:51.013162+00:00",created_at:"2025-05-20T05:04:51.013162+00:00",updated_at:"2025-05-20T05:04:51.013162+00:00",html_code:"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n <title>Marble Racing Simulator</title>\n \x3c!-- Updated to different fonts --\x3e\n <link href=\"https://fonts.googleapis.com/css2?family=Russo+One&family=Exo+2:wght@400;700&display=swap\" rel=\"stylesheet\">\n \x3c!-- Boxicons for money icons and other symbols --\x3e\n <link href='https://unpkg.com/[email protected]/css/boxicons.min.css' rel='stylesheet'>\n <style>\n body { \n margin: 0; \n overflow: hidden; \n user-select: none;\n -webkit-user-select: none;\n font-family: 'Exo 2', Arial, sans-serif;\n color: white;\n background: #222;\n touch-action: manipulation;\n }\n canvas { \n display: block; \n }\n #info {\n position: absolute;\n top: 10px;\n left: 10px;\n color: white;\n font-size: 14px;\n background: rgba(0, 0, 0, 0.5);\n padding: 10px;\n border-radius: 8px;\n backdrop-filter: blur(5px);\n box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);\n z-index: 100;\n width: 220px;\n min-height: 80px;\n max-height: 40vh;\n overflow-y: auto;\n }\n .game-screen {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: linear-gradient(to bottom, #1a237e, #000000);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n padding: 10px;\n box-sizing: border-box;\n }\n .screen-content {\n text-align: center;\n background: rgba(30, 30, 40, 0.95);\n padding: 20px;\n border-radius: 20px;\n box-shadow: 0 0 40px rgba(0, 0, 0, 0.6);\n max-width: 800px;\n width: 90%;\n max-height: 90vh;\n overflow-y: auto;\n }\n .game-title {\n font-family: 'Russo One', sans-serif;\n font-size: 48px;\n margin-bottom: 30px;\n background: linear-gradient(45deg, #4FC3F7, #7C4DFF);\n -webkit-background-clip: text;\n background-clip: text;\n color: transparent;\n text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);\n }\n h2, h3 {\n font-family: 'Russo One', sans-serif;\n color: #ddd;\n }\n .menu-button {\n width: 80%;\n padding: 15px;\n margin: 10px auto;\n font-size: 20px;\n cursor: pointer;\n border: none;\n border-radius: 10px;\n color: white;\n transition: transform 0.2s, background 0.3s;\n display: block;\n font-family: 'Exo 2', Arial, sans-serif;\n min-height: 50px;\n }\n .menu-button:hover {\n transform: translateY(-2px);\n }\n .play-button {\n background: linear-gradient(45deg, #2196F3, #1976D2);\n }\n .play-button:hover {\n background: linear-gradient(45deg, #1976D2, #1565C0);\n }\n .back-button {\n background: linear-gradient(45deg, #546E7A, #455A64);\n width: auto;\n padding: 10px 20px;\n font-size: 16px;\n margin: 10px;\n }\n .stats-container {\n margin-top: 20px;\n padding: 15px;\n background: rgba(255, 255, 255, 0.1);\n border-radius: 10px;\n }\n .stats-item {\n margin: 10px 0;\n font-size: 16px;\n color: #B0BEC5;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n }\n .stats-item i {\n font-size: 1.2em;\n color: #64B5F6;\n }\n .goal-text {\n font-family: 'Russo One', sans-serif;\n color: #FFD700;\n font-size: 1.2em;\n margin-bottom: 15px;\n }\n /* Wager Screen Styles */\n #marblesContainer {\n display: grid;\n grid-template-columns: repeat(6, 1fr);\n gap: 5px;\n margin: 10px 0;\n padding: 10px;\n background: rgba(255, 255, 255, 0.05);\n border-radius: 10px;\n }\n .marble-option {\n aspect-ratio: 1;\n border-radius: 50%;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n transition: transform 0.2s, box-shadow 0.2s;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);\n min-width: 40px;\n min-height: 40px;\n max-width: 50px;\n max-height: 50px;\n margin: 0 auto;\n }\n .marble-option:hover {\n transform: scale(1.1);\n box-shadow: 0 0 20px rgba(255, 255, 255, 0.2);\n }\n .marble-option.selected {\n border: 3px solid white;\n box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);\n }\n .marble-option p {\n color: black;\n font-weight: bold;\n text-shadow: none;\n margin: 0;\n padding: 0;\n }\n #wagerInput {\n background: rgba(255, 255, 255, 0.1);\n border: 2px solid rgba(255, 255, 255, 0.2);\n border-radius: 8px;\n padding: 10px;\n color: white;\n font-size: 18px;\n width: 120px;\n text-align: center;\n margin: 10px 0;\n }\n #wagerInput:focus {\n outline: none;\n border-color: #2196F3;\n }\n .wager-label {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n margin-bottom: 5px;\n }\n .wager-label i {\n color: #FFD700;\n }\n #balance, #payoutText, #newBalanceText {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n font-size: 1.2em;\n font-weight: bold;\n }\n #balance i, #payoutText i, #newBalanceText i {\n color: #FFD700;\n }\n .amount-control {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n margin: 10px 0;\n }\n .amount-btn {\n background: rgba(255, 255, 255, 0.1);\n border: none;\n color: white;\n width: 44px;\n height: 44px;\n border-radius: 50%;\n font-size: 20px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.2s;\n }\n .amount-btn:hover {\n background: rgba(255, 255, 255, 0.2);\n }\n /* Game Over Screen */\n .game-result {\n font-size: 24px;\n margin: 20px 0;\n padding: 15px;\n border-radius: 10px;\n }\n .win-result {\n background: rgba(76, 175, 80, 0.3);\n color: #CCFF90;\n }\n .lose-result {\n background: rgba(244, 67, 54, 0.3);\n color: #FFCDD2;\n }\n .final-stats {\n font-size: 18px;\n margin: 20px 0;\n }\n\n /* Mobile-specific styles */\n @media (max-width: 768px) {\n .game-title {\n font-size: 36px;\n margin-bottom: 15px;\n }\n \n .screen-content {\n padding: 12px;\n width: 95%;\n max-height: 100vh;\n }\n \n .menu-button {\n width: 100%;\n padding: 10px;\n font-size: 18px;\n margin: 8px auto;\n }\n \n .back-button {\n padding: 8px 12px;\n font-size: 14px;\n margin: 3px;\n }\n \n .stats-container {\n padding: 8px;\n margin-top: 10px;\n }\n \n .stats-item {\n font-size: 14px;\n margin: 5px 0;\n }\n \n .goal-text {\n font-size: 1em;\n margin-bottom: 10px;\n }\n \n #info {\n width: 160px;\n font-size: 12px;\n padding: 6px;\n top: 5px;\n left: 5px;\n }\n \n .game-result {\n font-size: 18px;\n padding: 10px;\n margin: 15px 0;\n }\n \n .final-stats {\n font-size: 16px;\n margin: 15px 0;\n }\n \n h2 {\n font-size: 20px;\n margin: 10px 0;\n }\n \n h3 {\n font-size: 16px;\n margin: 8px 0;\n }\n \n #wagerInput {\n width: 80px;\n font-size: 16px;\n padding: 8px;\n }\n \n .amount-btn {\n width: 36px;\n height: 36px;\n }\n }\n \n @media (max-width: 480px) {\n .game-title {\n font-size: 24px;\n margin-bottom: 10px;\n }\n \n .screen-content {\n padding: 10px;\n }\n \n #info {\n width: 130px;\n font-size: 10px;\n padding: 5px;\n }\n \n .menu-button {\n font-size: 15px;\n padding: 8px;\n margin: 5px auto;\n }\n \n .amount-control {\n gap: 5px;\n }\n \n .marble-option p {\n font-size: 10px;\n }\n \n #marblesContainer {\n padding: 5px;\n margin: 5px 0;\n gap: 3px;\n }\n \n .marble-option {\n min-width: 36px;\n min-height: 36px;\n }\n }\n </style>\n</head>\n<body>\n <div id=\"info\">\n \x3c!-- Rankings will always be visible --\x3e\n </div>
213\n\n \x3c!-- Main Menu Screen --\x3e\n <div id=\"mainMenuScreen\" class=\"game-screen\">\n <div class=\"screen-content\">\n <h1 class=\"game-title\">Marble Racing</h1>\n <button class=\"menu-button play-button\" onclick=\"showScreen('wagerScreen')\">Play</button>\n <div class=\"stats-container\">\n <div class=\"goal-text\">Goal: Get <i class='bx bx-dollar-circle'></i>10,000 in 20 or fewer races!</div>\n <div class=\"stats-item\"><i class='bx bx-dollar-circle'></i> Current Balance: $1000</div>\n <div class=\"stats-item\"><i class='bx bx-run'></i> Races Completed: 0/20</div>\n <div class=\"stats-item\"><i class='bx bx-check-circle'></i> Win Rate: 0%</div>\n </div>\n </div>\n </div>\n\n \x3c!-- Wager Screen --\x3e\n <div id=\"wagerScreen\" class=\"game-screen\" style=\"display: none;\">\n <div class=\"screen-content\">\n <button class=\"menu-button back-button\" onclick=\"showScreen('mainMenuScreen')\"><i class='bx bx-arrow-back'></i> Back</button>\n <h2><i class='bx bx-coin'></i> Place Your Bet</h2>\n <p id=\"balance\">Balance: <i class='bx bx-dollar-circle'></i>1000</p>\n \n <div style=\"display: flex; flex-direction: column; gap: 5px;\">\n <div id=\"marbleSelection\" style=\"margin-bottom: 0;\">\n <h3 style=\"margin: 5px 0;\"><i class='bx bx-circle'></i> Choose Marble:</h3>\n <div id=\"marblesContainer\">\n \x3c!-- Marble buttons will be generated here --\x3e\n </div>\n </div>\n \n <div id=\"wagerSection\" style=\"margin-top: 0;\">\n <label class=\"wager-label\" for=\"wagerInput\"><i class='bx bx-money'></i> Wager:</label>\n <div class=\"amount-control\">\n <button class=\"amount-btn\" onclick=\"adjustWager(-10)\"><i class='bx bx-minus'></i></button>\n <input type=\"number\" id=\"wagerInput\" min=\"1\" value=\"100\">\n <button class=\"amount-btn\" onclick=\"adjustWager(10)\"><i class='bx bx-plus'></i></button>\n </div>\n </div>\n </div>\n \n <button class=\"menu-button play-button\" onclick=\"startRace()\"><i class='bx bx-flag'></i> Start Race</button>\n </div>\n </div>\n\n \x3c!-- End Screen --\x3e\n <div id=\"endScreen\" class=\"game-screen\" style=\"display: none;\">\n <div class=\"screen-content\">\n <h2><i class='bx bx-trophy'></i> Race Results</h2>\n <p id=\"resultText\"></p>\n <p id=\"payoutText\"></p>\n <p id=\"newBalanceText\"></p>\n <p id=\"racesRemainingText\"></p>\n <button class=\"menu-button play-button\" onclick=\"showScreen('wagerScreen')\"><i class='bx bx-refresh'></i> New Race</button>\n </div>\n </div>\n\n \x3c!-- Game Over Screen --\x3e\n <div id=\"gameOverScreen\" class=\"game-screen\" style=\"display: none;\">\n <div class=\"screen-content\">\n <h2><i class='bx bx-game'></i> Game Over</h2>\n <div id=\"gameResultText\" class=\"game-result\"></div>\n <div class=\"final-stats\">\n <p>Final Balance: <span id=\"finalBalance\"></span></p>\n <p>Races Completed: <span id=\"finalRaces\"></span></p>\n </div>\n <button class=\"menu-button play-button\" onclick=\"resetGame()\"><i class='bx bx-restart'></i> Play Again</button>\n </div>\n </div>\n\n <script src=\"https://cdnjs.cloudflare.com/ajax/libs/three.js/r134/three.min.js\"><\/script>\n <script>\n // Add this at the beginning of your script section\n function showScreen(screenId) {\n // Hide all screens\n const screens = ['mainMenuScreen', 'wagerScreen', 'endScreen', 'gameOverScreen'];\n screens.forEach(screen => {\n document.getElementById(screen).style.display = 'none';\n });\n \n // Show the requested screen\n document.getElementById(screenId).style.display = 'flex';\n \n // Special handling for different screens\n if (screenId === 'wagerScreen') {\n updateStartScreen();\n }
213 else if (screenId === 'mainMenuScreen') {\n // Update main menu stats\n const statsContainer = document.querySelector('.stats-container');\n statsContainer.innerHTML = `\n <div class=\"goal-text\">Goal: Get <i class='bx bx-dollar-circle'></i>10,000 in 20 or fewer races!</div>\n <div class=\"stats-item\"><i class='bx bx-dollar-circle'></i> Current Balance: $${playerBalance}</div>\n <div class=\"stats-item\"><i class='bx bx-run'></i> Races Completed: ${totalRaces}/20</div>\n <div class=\"stats-item\"><i class='bx bx-check-circle'></i> Win Rate: ${totalRaces > 0 ? ((playerWins / totalRaces) * 100).toFixed(1) : 0}%</div>\n `;\n }\n }\n\n function adjustWager(amount) {\n const input = document.getElementById('wagerInput');\n let newValue = parseInt(input.value) + amount;\n newValue = Math.max(1, Math.min(newValue, playerBalance));\n input.value = newValue;\n }\n\n // Info panel reference\n const infoDiv = document.getElementById('info');\n\n // Handle mobile device orientation changes\n window.addEventListener('orientationchange', function() {\n setTimeout(function() {\n onWindowResize();\n }, 100);\n });\n\n // Reset game\n function resetGame() {\n playerBalance = 1000;\n totalRaces = 0;\n playerWins = 0;\n winCounts = [0, 0, 0, 0, 0, 0];\n showScreen('mainMenuScreen');\n }\n\n // Scene setup\n const scene = new THREE.Scene();\n scene.background = new THREE.Color(0x87CEEB);\n const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);\n const renderer = new THREE.WebGLRenderer({ antialias: true });\n renderer.setSize(window.innerWidth, window.innerHeight);\n renderer.shadowMap.enabled = true;\n renderer.shadowMap.type = THREE.PCFSoftShadowMap;\n document.body.appendChild(renderer.domElement);\n\n // Lighting\n const ambientLight = new THREE.AmbientLight(0xffffff, 0.5);\n scene.add(ambientLight);\n const directionalLight = new THREE.DirectionalLight(0xffffff, 0.8);\n directionalLight.position.set(0, 100, 0);\n directionalLight.castShadow = true;\n directionalLight.shadow.mapSize.width = 2048;\n directionalLight.shadow.mapSize.height = 2048;\n directionalLight.shadow.camera.near = 0.5;\n directionalLight.shadow.camera.far = 500;\n directionalLight.shadow.camera.left = -100;\n directionalLight.shadow.camera.right = 100;\n directionalLight.shadow.camera.top = 200; // Increased to cover track start\n directionalLight.shadow.camera.bottom = -200; // Extended to cover below track\n scene.add(directionalLight);\n\n // Track parameters - now with variable width\n let trackWidth = 14; // Will be randomized between 14-19\n const trackLength = 300;\n const controlPoints = 30;\n const segmentCount = 150;\n\n // Track variables\n let track;\n let trackCurve;\n let startRamp;\n\n // Static texture\n const canvas = document.createElement('canvas');\n canvas.width = 256;\n canvas.height = 256;\n const ctx = canvas.getContext('2d');\n ctx.fillStyle = '#808080';\n ctx.fillRect(0, 0, 256, 256);\n ctx.strokeStyle = '#606060';\n ctx.lineWidth = 4;\n for (let i = 0; i < 256; i += 20) {\n ctx.beginPath();\n ctx.moveTo(i, 0);\n ctx.lineTo(i, 256);\n ctx.stroke();\n }\n const texture = new THREE.CanvasTexture(canvas);\n texture.wrapS = THREE.RepeatWrapping;\n texture.wrapT = THREE.RepeatWrapping;\n texture.repeat.set(10, 1);\n\n // Track material (will be updated based on width)\n const trackMaterial = new THREE.MeshPhongMaterial({ \n map: texture,\n color: 0x2142d9, // Default blue\n side: THREE.DoubleSide,\n shininess: 10\n });\n\n // Ramp material\n const rampMaterial = new THREE.MeshPhongMaterial({\n color: 0x333333,\n side: THREE.DoubleSide,\n shininess: 20\n });\n\n // Create checkered texture for finish line\n function createCheckeredTexture() {\n const canvas = document.createElement('canvas');\n canvas.width = 64;\n canvas.height = 64;\n const ctx = canvas.getContext('2d');\n \n // Create checkered pattern\n const squareSize = 8;\n for (let x = 0; x < canvas.width; x += squareSize) {\n for (let y = 0; y < canvas.height; y += squareSize) {\n const isEven = ((x / squareSize) + (y / squareSize)) % 2 === 0;\n ctx.fillStyle = isEven ? '#ffffff' : '#000000';\n ctx.fillRect(x, y, squareSize, squareSize);\n }\n }
213\n \n return new THREE.CanvasTexture(canvas);\n }\n\n // Generate track with variable width and color\n function generateTrack() {\n // Randomize track width between 14 and 19\n trackWidth = 14 + Math.random() * 5;\n \n // Determine track color based on width (blue at 14, red at 19, purple in between)\n const t = (trackWidth - 14) / 5; // Normalized value 0-1\n const r = Math.floor(33 + (211 - 33) * t); // 0x21 to 0xD3\n const g = Math.floor(66 + (33 - 66) * t); // 0x42 to 0x21\n const b = Math.floor(217 + (33 - 217) * t); // 0xD9 to 0x21\n const trackColor = (r << 16) | (g << 8) | b;\n \n // Update track material color\n trackMaterial.color.set(trackColor);\n \n const trackPoints = [];\n let currentHeight = 150;\n let currentX = 0;\n \n for (let i = 0; i < controlPoints; i++) {\n const t = i / (controlPoints - 1);\n const z = -trackLength / 2 + t * trackLength;\n if (i > 0) {\n currentX += (Math.random() - 0.5) * 15 - currentX * 0.03;\n currentX = Math.max(Math.min(currentX, 60), -60);\n \n // Increased steepness variation\n const descent = 3 + Math.random() * 3; \n currentHeight -= descent;\n }\n trackPoints.push(new THREE.Vector3(currentX, currentHeight, z));\n }\n \n const newTrackCurve = new THREE.CatmullRomCurve3(trackPoints);\n const trackGeometry = new THREE.TubeGeometry(newTrackCurve, segmentCount, trackWidth / 2, 32, false);\n const newTrack = new THREE.Mesh(trackGeometry, trackMaterial);\n newTrack.receiveShadow = true;\n newTrack.castShadow = false;\n \n // Create starting ramp inside the tube - FIXED TO USE newTrackCurve\n if (startRamp) {\n scene.remove(startRamp);\n }\n \n const startPoint = trackPoints[0];\n const startTangent = new THREE.Vector3(0, 0, 1);\n \n // Create a shorter ramp inside the tube\n const rampLength = 8;\n const rampWidth = trackWidth * 0.8; // Slightly narrower than the tube\n \n const rampGeometry = new THREE.BoxGeometry(rampWidth, 0.5, rampLength);\n const newRamp = new THREE.Mesh(rampGeometry, rampMaterial);\n \n // Position the ramp inside the tube at the start - FIXED TO USE newTrackCurve\n const rampPosition = newTrackCurve.getPointAt(0.02); // Using newTrackCurve here\n newRamp.position.copy(rampPosition);\n newRamp.position.y += 0.5; // Slight elevation to make a ramp effect\n \n // Orient ramp to match tube direction - FIXED TO USE newTrackCurve\n const rampLookAt = newTrackCurve.getPointAt(0.05); // Using newTrackCurve here\n newRamp.lookAt(rampLookAt);\n \n newRamp.receiveShadow = true;\n newRamp.castShadow = false;\n newRamp.visible = false; // Make the ramp invisible\n scene.add(newRamp);\n startRamp = newRamp;\n \n return { track: newTrack, trackCurve: newTrackCurve };\n }\n\n // Marbles array to store shuffled positions\n let marblePositions = [];\n\n // Set up or reset race\n function setupRace() {\n if (track) {\n scene.remove(track);\n track.geometry.dispose();\n }\n const { track: newTrack, trackCurve: newTrackCurve } = generateTrack();\n track = newTrack;\n trackCurve = newTrackCurve;\n scene.add(track);\n \n // Position start and finish lines\n const startPoint = trackCurve.getPointAt(0);\n const startTangent = trackCurve.getTangentAt(0);\n startLine.position.copy(startPoint);\n startLine.position.y += 0.1;\n startLine.lookAt(startPoint.clone().add(startTangent));\n \n // Update finish line geometry based on track width\n if (finishLine) {\n scene.remove(finishLine);\n }\n const finishLineGeometry = new THREE.RingGeometry(trackWidth / 2 - 0.1, trackWidth / 2, 32);\n const checkeredTexture = createCheckeredTexture();\n const finishLineMaterial = new THREE.MeshBasicMaterial({ \n map: checkeredTexture, \n side: THREE.DoubleSide \n });\n finishLine = new THREE.Mesh(finishLineGeometry, finishLineMaterial);\n scene.add(finishLine);\n \n const finishT = 0.99;\n const finishPoint = trackCurve.getPointAt(finishT);\n const finishTangent = trackCurve.getTangentAt(finishT);\n finishLine.position.copy(finishPoint);\n finishLine.position.y += 0.1;\n finishLine.lookAt(finishPoint.clone().add(finishTangent));\n \n // Shuffle marble positions\n marblePositions = [0, 1, 2, 3, 4, 5];\n for (let i = marblePositions.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [marblePositions[i], marblePositions[j]] = [marblePositions[j], marblePositions[i]];\n }\n \n // Reset marbles with new positions\n marbles.forEac
213h((marble, index) => marble.resetPosition(index));\n \n // Clear the info panel at the start of a race\n infoDiv.innerHTML = '';\n }\n\n function restartRace() {\n setupRace();\n \n // Create a starting countdown\n const countdownDiv = document.createElement('div');\n countdownDiv.style.position = 'absolute';\n countdownDiv.style.top = '50%';\n countdownDiv.style.left = '50%';\n countdownDiv.style.transform = 'translate(-50%, -50%)';\n countdownDiv.style.fontSize = '100px';\n countdownDiv.style.fontFamily = \"'Russo One', sans-serif\";\n countdownDiv.style.color = 'white';\n countdownDiv.style.textShadow = '0 0 10px rgba(0,0,0,0.5)';\n countdownDiv.style.zIndex = '1001';\n countdownDiv.textContent = '3';\n \n // Make countdown responsive for mobile\n if (window.innerWidth < 480) {\n countdownDiv.style.fontSize = '60px';\n }\n \n document.body.appendChild(countdownDiv);\n \n let countdown = 3;\n const countdownInterval = setInterval(() => {\n countdown--;\n if (countdown > 0) {\n countdownDiv.textContent = countdown.toString();\n } else if (countdown === 0) {\n countdownDiv.textContent = 'GO!';\n \n // Start the race\n startTime = Date.now();\n startGateOpen = true;\n } else {\n clearInterval(countdownInterval);\n document.body.removeChild(countdownDiv);\n }\n }, 1000);\n \n startGateOpen = false;\n raceStarted = true;\n }\n\n // Shadow plane\n const shadowGeometry = new THREE.PlaneGeometry(600, 600);\n const shadowMaterial = new THREE.ShadowMaterial({ opacity: 0.3 });\n const shadowPlane = new THREE.Mesh(shadowGeometry, shadowMaterial);\n shadowPlane.rotation.x = -Math.PI / 2;\n shadowPlane.position.y = -10;\n shadowPlane.receiveShadow = true;\n scene.add(shadowPlane);\n\n // Marbles\n const marbleRadius = 0.5;\n const marbleColors = [0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xff00ff, 0x00ffff];\n const marbles = [];\n\n class Marble {\n constructor(color, index) {\n const geometry = new THREE.SphereGeometry(marbleRadius, 32, 32);\n const material = new THREE.MeshPhongMaterial({ color: color });\n this.mesh = new THREE.Mesh(geometry, material);\n this.mesh.castShadow = true;\n this.mesh.receiveShadow = true;\n this.velocity = new THREE.Vector3();\n this.finished = false;\n this.finishTime = 0;\n scene.add(this.mesh);\n }\n \n resetPosition(index) {\n if (!trackCurve || !startRamp) return;\n \n // Get a position slightly into the tube\n const trackStartPos = trackCurve.getPointAt(0.02);\n const trackTangent = trackCurve.getTangentAt(0.02);\n const trackNormal = new THREE.Vector3(0, 1, 0).cross(trackTangent).normalize();\n \n // Use shuffled positions for side-to-side arrangement\n const position = marblePositions[index];\n const offsetX = (position - 2.5) * (trackWidth / 7); // Side-to-side spacing based on track width\n \n // Calculate position within the tube\n const marblePos = trackStartPos.clone().add(\n trackNormal.clone().multiplyScalar(offsetX)\n );\n \n // Ensure marbles are above the bottom of the tube\n marblePos.y += marbleRadius + 0.1;\n \n // Set position and give a small initial push along the track\n this.mesh.position.copy(marblePos);\n \n // Calculate initial velocity based on track direction\n this.velocity.copy(trackTangent.clone().multiplyScalar(0.5));\n this.velocity.y += 0.1; // Slight upward component to prevent sticking\n \n this.finished = false;\n this.finishTime = 0;\n }\n }\n\n // Start and finish lines\n const lineGeometry = new THREE.RingGeometry(trackWidth / 2 - 0.1, trackWidth / 2, 32);\n const startLine = new THREE.Mesh(lineGeometry, new THREE.MeshBasicMaterial({ color: 0x00ff00, side: THREE.DoubleSide }));\n scene.add(startLine);\n let finishLine; // Will be created in setupRace\n\n // Initialize marbles\n function initializeMarbles() {\n marbleColors.forEac
213h((color, index) => {\n marbles.push(new Marble(color, index));\n });\n }\n\n // Physics parameters\n const gravity = new THREE.Vector3(0, -14.71, 0);\n const friction = 0.999;\n let startTime = 0;\n let raceStarted = false;\n let startGateOpen = false;\n\n // Camera setup\n const cameraOffset = new THREE.Vector3(0, 5, -10);\n let cameraTarget = new THREE.Vector3();\n function setInitialCamera() {\n if (trackCurve) {\n const startPoint = trackCurve.getPointAt(0.03);\n const trackTangent = trackCurve.getTangentAt(0.03);\n \n // Position camera slightly behind and above the start point\n camera.position.copy(startPoint);\n camera.position.y += 3;\n camera.position.z -= 8;\n \n camera.lookAt(startPoint);\n }\n }\n\n // Window resize\n function onWindowResize() {\n camera.aspect = window.innerWidth / window.innerHeight;\n camera.updateProjectionMatrix();\n renderer.setSize(window.innerWidth, window.innerHeight);\n renderer.render(scene, camera);\n }\n window.addEventListener('resize', onWindowResize);\n\n // Game variables\n let playerBalance = 1000;\n let selectedMarble = null;\n let wagerAmount = 0;\n let winCounts = [0, 0, 0, 0, 0, 0];\n let totalRaces = 0;\n let playerWins = 0;\n const goalAmount = 10000;\n const maxRaces = 20;\n\n // Update start screen\n function updateStartScreen() {\n document.getElementById('balance').innerHTML = `Balance: <i class='bx bx-dollar-circle'></i>${playerBalance}`;\n const container = document.getElementById('marblesContainer');\n container.innerHTML = '';\n \n marbles.forEach((marble, index) => {\n const marbleDiv = document.createElement('div');\n marbleDiv.className = 'marble-option';\n marbleDiv.style.backgroundColor = `#${marbleColors[index].toString(16).padStart(6, '0')}`;\n \n marbleDiv.addEventListener('click', () => {\n selectedMarble = index;\n const marbleDivs = container.querySelectorAll('.marble-option');\n marbleDivs.forEach(div => div.classList.remove('selected'));\n marbleDiv.classList.add('selected');\n });\n \n // Only show win percentages if we've had races\n if (totalRaces > 0) {\n const marbleText = document.createElement('p');\n const winPercent = (winCounts[index] / totalRaces * 100).toFixed(1);\n marbleText.textContent = `${winPercent}%`;\n marbleDiv.appendChild(marbleText);\n }\n \n container.appendChild(marbleDiv);\n });\n \n document.getElementById('wagerInput').max = playerBalance;\n }\n\n // Physics update\n function updatePhysics(delta) {\n if (!startGateOpen) return; // Don't update physics until starting gate opens\n \n marbles.forEach(marble => {\n if (!marble.finished) {\n marble.velocity.add(gravity.clone().multiplyScalar(delta));\n marble.velocity.multiplyScalar(friction);\n marble.mesh.position.add(marble.velocity.clone().multiplyScalar(delta));\n \n // Find closest point on track\n if (trackCurve) {\n let t = 0;\n let minDistance = Infinity;\n const tempPoint = new THREE.Vector3();\n \n for (let i = 0; i <= 200; i++) {\n const testT = i / 200;\n trackCurve.getPointAt(testT, tempPoint);\n const distance = marble.mesh.position.distanceTo(tempPoint);\n if (distance < minDistance) {\n minDistance = distance;\n t = testT;\n }\n }\n \n // Track collision\n const trackPoint = trackCurve.getPointAt(t);\n const normal = marble.mesh.position.clone().sub(trackPoint);\n const distanceFromTrack = normal.length();\n \n if (distanceFromTrack > trackWidth / 2 - marbleRadius) {\n normal.normalize();\n const reflection = marble.velocity.clone().reflect(normal);\n marble.velocity.lerp(reflection, 0.8);\n marble.mesh.position.copy(trackPoint).add(normal.multiplyScalar(trackWidth / 2 - marbleRadius));\n }
213\n \n // Finish line detection\n const finishT = 0.99;\n const finishPoint = trackCurve.getPointAt(finishT);\n const finishNormal = trackCurve.getTangentAt(finishT).normalize();\n const finishPlane = new THREE.Plane().setFromNormalAndCoplanarPoint(finishNormal, finishPoint);\n const distanceToFinish = finishPlane.distanceToPoint(marble.mesh.position);\n \n if (distanceToFinish > 0 && !marble.finished) {\n marble.finished = true;\n marble.finishTime = (Date.now() - startTime) / 1000;\n }\n }\n \n // Floor collision\n if (marble.mesh.position.y < marbleRadius) {\n marble.mesh.position.y = marbleRadius;\n marble.velocity.y = Math.abs(marble.velocity.y) * 0.5; // Bounce\n }\n }\n });\n \n // Marble collision detection\n for (let i = 0; i < marbles.length; i++) {\n for (let j = i + 1; j < marbles.length; j++) {\n const m1 = marbles[i];\n const m2 = marbles[j];\n const distance = m1.mesh.position.distanceTo(m2.mesh.position);\n \n if (distance < marbleRadius * 2) {\n const normal = m1.mesh.position.clone().sub(m2.mesh.position).normalize();\n const relativeVelocity = m1.velocity.clone().sub(m2.velocity);\n const speed = relativeVelocity.dot(normal);\n \n if (speed < 0) {\n const impulse = normal.multiplyScalar(Math.min(speed * 1.2, 10));\n m1.velocity.sub(impulse);\n m2.velocity.add(impulse);\n \n const overlap = marbleRadius * 2 - distance;\n const correction = normal.clone().multiplyScalar(overlap / 2);\n m1.mesh.position.add(correction);\n m2.mesh.position.sub(correction);\n \n const maxSpeed = 30;\n if (m1.velocity.length() > maxSpeed) m1.velocity.normalize().multiplyScalar(maxSpeed);\n if (m2.velocity.length() > maxSpeed) m2.velocity.normalize().multiplyScalar(maxSpeed);\n }\n }\n }\n }\n }\n\n // Camera update\n function updateCamera() {\n if (selectedMarble !== null && raceStarted) {\n const followedMarble = marbles[selectedMarble];\n const marblePos = followedMarble.mesh.position;\n \n if (trackCurve) {\n let t = 0;\n let minDistance = Infinity;\n const tempPoint = new THREE.Vector3();\n \n for (let i = 0; i <= 200; i++) {\n const testT = i / 200;\n trackCurve.getPointAt(testT, tempPoint);\n const distance = marblePos.distanceTo(tempPoint);\n if (distance < minDistance) {\n minDistance = distance;\n t = testT;\n }\n }\n \n const trackPoint = trackCurve.getPointAt(t);\n const trackTangent = trackCurve.getTangentAt(t);\n const cameraPosition = trackPoint.clone().add(trackTangent.clone().multiplyScalar(-5));\n cameraPosition.y += 2;\n \n cameraTarget.lerp(marblePos, 0.1);\n camera.position.lerp(cameraPosition, 0.008);\n camera.lookAt(cameraTarget);\n }\n }\n }\n\n // UI update\n function updateUI() {\n // Only show time if the race has started AND the countdown is over (gate is open)\n const elapsed
213= (raceStarted && startGateOpen) ? (Date.now() - startTime) / 1000 : 0;\n \n const rankings = marbles\n .map((m, i) => ({ \n index: i, \n z: m.mesh.position.z, \n finished: m.finished, \n time: m.finishTime || Infinity,\n color: `#${marbleColors[i].toString(16).padStart(6, '0')}`\n }))\n .sort((a, b) => a.finished && b.finished ? a.time - b.time : a.finished ? -1 : b.finished ? 1 : b.z - a.z);\n \n // Only show the rankings UI if the race has actually started\n if (raceStarted) {\n let html = `<div style=\"font-family: 'Russo One', sans-serif; font-size: 12px;\">`;\n \n // Only show the time if the countdown is over\n if (startGateOpen) {\n html += `<div style=\"margin-bottom: 8px;\"><i class='bx bx-time'></i> Time: ${elapsed.toFixed(2)}s</div>`;\n }\n \n html += `<div style=\"margin-top: 8px;\"><i class='bx bx-list-ol'></i> Rankings:</div>`;\n \n rankings.forEach((r, i) => {\n // Highlight the player's selected marble\n const isPlayerMarble = r.index === selectedMarble;\n const style = isPlayerMarble ? 'font-weight: bold; background: rgba(255,255,255,0.2); border-radius: 4px; padding: 2px 4px;' : '';\n \n html += `<div style=\"display: flex; align-items: center; margin: 3px 0; ${style}\">\n <span style=\"font-weight: bold; margin-right: 5px;\">${i + 1}.</span>\n <span style=\"color:${r.color}; font-size: 12px; margin-right: 5px;\">\u25cf</span>\n <span style=\"font-size: 12px;\">Marble ${r.index + 1}</span>\n ${r.finished ? `<span style=\"margin-left: auto; font-size: 12px;\">${r.time.toFixed(2)}s</span>` : ''}\n </div>`;\n });\n \n html += `</div>`;\n infoDiv.innerHTML = html;\n } else {\n infoDiv.innerHTML = ''; // Clear the info when not racing\n }\n }\n\n // Show end screen and reset game state\n function showEndScreen() {\n const finishedMarbles = marbles.filter(m => m.finished);\n finishedMarbles.sort((a, b) => a.finishTime - b.finishTime);\n const finishingOrder = finishedMarbles.map(m => marbles.indexOf(m));\n const playerPosition = finishingOrder.indexOf(selectedMarble) + 1;\n \n let payout = 0;\n if (playerPosition === 1) {\n payout = wagerAmount * 2;\n playerWins++;\n } else if (playerPosition === 2) {\n payout = wagerAmount * 1.5;\n } else if (playerPosition === 3) {\n payout = wagerAmount;\n }\n \n playerBalance += payout - wagerAmount;\n const winnerIndex = finishingOrder[0];\n winCounts[winnerIndex]++;\n totalRaces++;\n \n const position = playerPosition === 1 ? '1st' : \n playerPosition === 2 ? '2nd' : \n playerPosition === 3 ? '3rd' : `${playerPosition}th`;\n \n document.getElementById('resultText').innerHTML = `\n <div style=\"display: flex; align-items: center; justify-content: center; margin-bottom: 15px;\">\n <span style=\"color:${`#${marbleColors[selectedMarble].toString(16).padStart(6, '0')}`}; font-size: 24px; margin-right: 10px;\">\u25cf</span>\n Your marble finished in ${position} place\n </div>`;\n \n document.getElementById('payoutText').innerHTML = `Payout: <i class='bx bx-dollar-circle'></i>${payout}`;\n document.getElementById('newBalanceText').innerHTML = `New Balance: <i class='bx bx-dollar-circle'></i>${playerBalance}`;\n document.getElementById('racesRemainingText').innerHTML = `Races Remaining: ${maxRaces - totalRaces}`;\n \n // Check for game over conditions\n if (playerBalance >= goalAmount || totalRaces >= maxRaces || playerBalance <= 0) {\n setTimeout(() =>
213 {\n showGameOverScreen();\n }, 2000);\n } else {\n showScreen('endScreen');\n }\n \n setupRace(); // Reset marbles and track\n setInitialCamera(); // Reset camera\n }\n \n // Show game over screen\n function showGameOverScreen() {\n const gameWon = playerBalance >= goalAmount;\n const brokeOut = playerBalance <= 0;\n const resultDiv = document.getElementById('gameResultText');\n \n if (gameWon) {\n resultDiv.className = 'game-result win-result';\n resultDiv.innerHTML = `<i class='bx bx-trophy'></i> Victory! You reached $${playerBalance} in ${totalRaces} races!`;\n } else if (brokeOut) {\n resultDiv.className = 'game-result lose-result';\n resultDiv.innerHTML = `<i class='bx bx-money-withdraw'></i> Game Over! You're out of money!`;\n } else {\n resultDiv.className = 'game-result lose-result';\n resultDiv.innerHTML = `<i class='bx bx-sad'></i> Game Over! You've used all ${maxRaces} races.`;\n }\n \n document.getElementById('finalBalance').textContent = `$${playerBalance}`;\n document.getElementById('finalRaces').textContent = totalRaces;\n \n showScreen('gameOverScreen');\n }\n\n // Start race function\n function startRace() {\n if (selectedMarble === null) {\n alert('Please select a marble.');\n return;\n }\n \n const wagerInput = document.getElementById('wagerInput');\n const wager = parseInt(wagerInput.value);\n \n if (isNaN(wager) || wager <= 0 || wager > playerBalance) {\n alert('Invalid wager amount.');\n return;\n }\n \n wagerAmount = wager;\n document.getElementById('wagerScreen').style.display = 'none';\n restartRace();\n }\n \n // Prevent scrolling and bouncing on mobile devices\n document.addEventListener('touchmove', function(e) {\n if (e.target.tagName !== 'INPUT') {\n e.preventDefault();\n }\n }, { passive: false });\n \n // Animation loop\n let lastTime = performance.now();\n function animate() {\n requestAnimationFrame(animate);\n const currentTime = performance.now();\n const delta = Math.min((currentTime - lastTime) / 1000, 0.1);\n lastTime = currentTime;\n \n if (raceStarted) {\n updatePhysics(delta);\n updateCamera();\n updateUI();\n \n if (marbles.every(m => m.finished)) {\n raceStarted = false;\n showEndScreen();\n }\n }\n \n renderer.render(scene, camera);\n }\n\n // Initial setup\n initializeMarbles();\n setupRace();\n updateStartScreen();\n setInitialCamera();\n animate();\n <\/script>\n</body>\n</html>"},{id:"bb2fd5ec-2503-440b-ab25-bb8a285e2d81",title:"YouTube Thumbnail Battle",slug:"youtube-thumbnail-battle",excerpt:"A game that tests your ability to identify high-performing YouTube thumbnails with view count guessing mechanics",content:'## YouTube Thumbnail Battle\n\nThis interactive game challenges players to develop an eye for viral content by guessing which YouTube thumbnail received more views. It uses the YouTube Data API to fetch real video data and helps content creators build intuition for effective thumbnail design.\n\n### Development Process\n\nThe game was developed using:\n1. **YouTube Data API Integration**: Pulls real YouTube videos and their view counts for comparison.\n2. **Responsive User Interface**: Clean, dark-themed design following my personal brand guidelines.\n3. **Custom Game Mechanics**: Includes streak tracking, time pressure, and instant feedback.\n\n### Key Features\n\n- Real YouTube thumbnails from long-form videos (no Shorts)\n- English-language video filtering\n- Countdown timer adding time pressure to decisions\n- Streak tracking system with personal bests\n- Fallback system with mock data if API limits are reached\n- Mobile-responsive design that works on all devices\n- Personalized feedback based on performance\n\n### Technical Details\n\nThe game leverages several web technologies:\n- YouTube Data API for video fetching\n- Custom CSS animations and transitions\n- LocalStorage for saving user statistics\n- ES6 JavaScript for game logic and API interaction\n\n### How to Play\n\n1. Click "Start Game" to begin\n2. Two YouTube thumbnails will appear - choose which one you think has more views\n3. Try to build the longest streak possible by guessing correctly\n4. Beat your high score and develop your content creator instincts!',category:"Code Projects",image_url:"https://64.media.tumblr.com/08e5fec9cc4c073e7598bad4ecf07959/996a325fcd52a59a-0a/s2048x3072/b214c7f61e6665fab8ae4d4c3a8e976821ce2aff.pnj",featured:!1,published:!0,read_time:5,views:0,likes:0,published_at:"2025-05-20T05:02:01.352122+00:00",created_at:"2025-05-20T05:02:01.352122+00:00",updated_at:"2025-05-20T05:02:01.352122+00:00",html_code:"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Thumbnail Battle</title>\n <link href=\"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap\" rel=\"stylesheet\">\n <style>\n :root {\n --bg-primary: #0c0e10;\n --bg-secondary: #14161a;\n --bg-card: #1a1d22;\n --bg-accent: #22262d;\n --border-subtle:#1f2228;\n --border-color: #2a2e38;\n --border-hover: #383d4a;\n --text-primary: #f0f2f5;\n --text-secondary:#9aa0b0;\n --text-muted: #4a5060;\n --green: #22c55e;\n --red: #ef4444;\n --yellow: #f59e0b;\n --purple: #818cf8;\n }\n\n * { margin: 0; padding: 0; box-sizing: border-box; }\n\n body {\n font-family: 'Poppins', sans-serif;\n background: var(--bg-primary);\n color: var(--text-primary);\n min-height: 100vh;\n -webkit-font-smoothing: antialiased;\n }\n\n .container {\n max-width: 860px;\n margin: 0 auto;\n padding: 20px 14px 48px;\n }\n\n .hidden { display: none !important; }\n\n /* \u2500\u2500 LOGO \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .logo {\n text-align: center;\n margin-bottom: 28px;\n }\n\n .logo h1 {\n font-size: clamp(2rem, 6vw, 3rem);\n font-weight: 900;\n letter-spacing: -0.04em;\n background: linear-gradient(135deg, #ffffff 20%, #6366f1 80%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n line-height: 1.1;\n }\n\n .logo p {\n color: var(--text-muted);\n font-size: 0.88rem;\n margin-top: 6px;\n font-weight: 500;\n }\n\n /* \u2500\u2500 SECTION LABEL \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .section-label {\n font-size: 0.72rem;\n font-weight: 700;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.12em;\n margin-bottom: 10px;\n }\n\n /* \u2500\u2500 NICHE GRID \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .niche-grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 8px;\n margin-bottom: 20px;\n }\n\n .niche-card {\n background: var(--bg-card);\n border: 2px solid var(--border-color);\n border-radius: 14px;\n padding: 14px 8px 12px;\n text-align: center;\n cursor: pointer;\n transition: all 0.18s ease;\n user-select: none;\n }\n\n .niche-card:hover {\n border-color: var(--border-hover);\n background: var(--bg-accent);\n transform: translateY(-2px);\n }\n\n .niche-card.selected {\n border-color: #6366f1;\n background: rgba(99, 102, 241, 0.1);\n }\n\n .niche-emoji {\n font-size: 1.65rem;\n display: block;\n margin-bottom: 5px;\n line-height: 1;\n }\n\n .niche-label {\n font-size: 0.75rem;\n font-weight: 700;\n color: var(--text-secondary);\n }\n\n .niche-card.selected .niche-label { color: #a5b4fc; }\n\n /* \u2500\u2500 BUTTONS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .btn {\n width: 100%;\n padding: 15px;\n border: none;\n border-radius: 12px;\n cursor: pointer;\n font-family: 'Poppins', sans-serif;\n font-weight: 700;\n font-size: 1rem;\n letter-spacing: -0.01em;\n transition: all 0.2s ease;\n -webkit-tap-highlight-color: transparent;\n touch-action: manipulation;\n }\n\n .btn-primary {\n background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);\n color: #fff;\n box-shadow: 0 4px 20px rgba(99,102,241,0.3);\n }\n\n .btn-primary:hover {\n background: linear-gradient(135deg, #818cf8 0%, #6366f1 100%);\n transform: translateY(-2px);\n box-shadow: 0 8px 28px rgba(99,102,241,0.45);\n }\n\n .btn-secondary {\n background: var(--bg-accent);\n color: var(--text-secondary);\n margin-top: 10px;\n }\n\n .btn-secondary:hover {\n background: var(--border-color);\n transform: translateY(-1px);\n }\n\n .btn:disabled {\n opacity: 0.45;
213\n cursor: not-allowed;\n transform: none !important;\n box-shadow: none !important;\n }\n\n /* \u2500\u2500 STATS BAR \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .stats-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: var(--bg-card);\n border: 1px solid var(--border-color);\n border-radius: 14px;\n padding: 12px 18px;\n margin-bottom: 12px;\n }\n\n .stat-item { text-align: center; }\n\n .stat-val {\n font-size: 1.5rem;\n font-weight: 800;\n line-height: 1;\n letter-spacing: -0.03em;\n }\n\n .stat-lbl {\n font-size: 0.68rem;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n margin-top: 2px;\n }\n\n /* \u2500\u2500 META BAR \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .meta-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n }\n\n .niche-pill {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n background: rgba(99,102,241,0.12);\n border: 1px solid rgba(99,102,241,0.25);\n border-radius: 20px;\n padding: 4px 12px;\n font-size: 0.78rem;\n font-weight: 700;\n color: #a5b4fc;\n }\n\n .timer-text {\n font-size: 0.8rem;\n font-weight: 700;\n color: var(--text-muted);\n min-width: 28px;\n text-align: right;\n }\n\n /* \u2500\u2500 TIMER BAR \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .timer-track {\n height: 3px;\n background: var(--border-color);\n border-radius: 2px;\n margin-bottom: 14px;\n overflow: hidden;\n }\n\n .timer-fill {\n height: 100%;\n width: 100%;\n border-radius: 2px;\n background: var(--green);\n transition: background-color 0.4s;\n }\n\n /* \u2500\u2500 RESULT MESSAGE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .result-msg {\n padding: 11px 16px;\n border-radius: 10px;\n font-weight: 700;\n font-size: 0.9rem;\n margin-bottom: 12px;\n display: none;\n animation: popIn 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);\n }\n\n @keyframes popIn {\n from { opacity: 0; transform: scale(0.94) translateY(-4px); }\n to { opacity: 1; transform: scale(1) translateY(0); }\n }\n\n .result-correct {\n background: rgba(34,197,94,0.12);\n border: 1px solid rgba(34,197,94,0.35);\n color: #4ade80;\n }\n\n .result-wrong {\n background: rgba(239,68,68,0.12);\n border: 1px solid rgba(239,68,68,0.35);\n color: #f87171;\n }\n\n /* \u2500\u2500 BATTLE AREA \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .battle-row {\n display: flex;\n gap: 10px;\n align-items: stretch;\n margin-bottom: 12px;\n }\n\n .vs-col {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n\n .vs-circle {\n width: 34px;\n height: 34px;\n background: var(--bg-accent);\n border: 2px solid var(--border-color);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.62rem;\n font-weight: 800;\n color: var(--text-muted);\n flex-shrink: 0;\n }\n\n /* \u2500\u2500 THUMBNAIL CARD \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .thumb-card {\n flex: 1;\n min-width: 0;\n background: var(--bg-card);\n border: 2px solid var(--border-color);\n border-radius: 16px;\n overflow: hidden;\n cursor: pointer;\n transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s, opacity 0.3s;\n position: relative;\n }\n\n .thumb-card:hover:not(.revealed):not(.no-interact) {\n border-color: #6366f1;\n transform: translateY(-4px);\n box-shadow: 0 10px 32px rgba(99,102,241,0.22);\n }\n\n .thumb-card img {\n width: 100%;\n aspect-ratio: 16/9;\n object-fit: cover;\n display: block;\n }\n\n .thumb-info {\n padding: 10px 12px 12px;\n }\n\n .thumb-channel {\n font-size: 0.68rem;\n font-weight: 600;\n color: var(--text-muted);\n margin-bottom: 3px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .thumb-title {\n font-size: 0.8rem;\n font-weight: 600;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n color: var(--text-primary);\n min-height: 2.24em;\n }\n\n /* After reveal */\n .thumb-card.winner { border-color: var(--green); }\n .thumb-card.loser { border-color: var(--red); opacity: 0.7; }\n\n /* \u2500\u2500 REVEAL OVERLAY \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .reveal-overlay {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: none;\n border-radius: 14px;\n }\n\n .thumb-card.revealed .reveal-overlay { opacity: 1; }\n .thumb-card.winner .reveal-overlay { background: rgba(34,197,94,0.52); }\n .thumb-card.loser .reveal-overlay { background: rgba(239,68,68,0.52); }\n\n .overlay-icon { font-size: 2.4rem; line-height: 1; margin-bottom: 4px; }\n .overlay-views { font-size: 0.85rem; font-weight: 800; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,0.6); }\n\n /* \u2500\u2500 COMPARISON BOX \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .compare-box {\n background: var(--bg-card);\n border: 1px solid var(--border-color);\n border-radius: 14px;\n padding: 14px 16px;\n margin-bottom: 12px;\n animation: popIn 0.3s ease;\n }\n\n .compare-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n }\n\n .compare-title {\n font-size: 0.7rem;\n font-weight: 700;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.1em;\n }\n\n .diff-pill {\n padding: 3px 9px;\n border-radius: 6px;\n font-size: 0.7rem;\n font-weight: 800;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n }\n\n .diff-easy { background: rgba(34,197,94,0.12); color: #4ade80; }\n .diff-medium { background: rgba(245,158,11,0.12); color: #fbbf24; }\n .diff-hard { background: rgba(239,68,68,0.12); color: #f87171; }\n\n .bar-track {\n height: 8px;\n background: rgba(239,68,68,0.2);\n border-radius: 4px;\n overflow: hidden;\n margin-bottom: 8px;\n }\n\n .bar-fill {\n height: 100%;\n background: linear-gradient(90deg, #22c55e, #16a34a);\n border-radius: 4px;\n transition: width 0.7s cubic-bezier(0.34, 1.1, 0.64, 1);\n width: 0%;\n }\n\n .bar-labels {\n display: flex;\n justify-content: space-between;\n }\n\n .bar-val { font-size: 0.8rem; font-weight: 700; }\n .bar-val.high { color: #4ade80; }\n .bar-val.low { color: #f87171; }\n\n /* \u2500\u2500 LOADING \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .loading-state {\n padding: 56px 0;\n text-align: center;\n color: var(--text-muted);\n }\n\n .spinner {\n width: 38px;\n height: 38px;\n border: 3px solid var(--border-color);\n border-top-color: #6366f1;\n border-radius: 50%;\n animation: spin 0.75s linear infinite;\n margin: 0 auto 14px;\n }\n\n @keyframes spin { to { transform: rotate(360deg); } }\n .loading-state p { font-size: 0.88rem; font-weight: 500; }\n\n /* \u2500\u2500 NEXT BUTTON ANIMATION \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n @keyframes slideUp {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n .slide-up { animation: slideUp 0.3s ease forwards; }\n\n /* \u2500\u2500 GAME OVER \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .gameover-box {\n background: var(--bg-card);\n border: 1px solid var(--border-color);\n border-radius: 18px;\n padding: 36px 24px 28px;\n text-align: center;\n animation: popIn 0.35s ease;\n }\n\n .go-emoji { font-size: 3.5rem; line-height: 1; margin-bottom: 10px; }\n .go-streak { font-size: 4.5rem; font-weight: 900; letter-spacing: -0.05em; line-height: 1; margin-bottom: 4px; }\n .go-sublbl { font-size: 0.72rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 18px; }\n .go-msg { color: var(--text-secondary); font-size: 0.9rem; line-height: 1.65; margin-bottom: 20px; }\n\n .go-stats {\n display: flex;\n justify-content: center;\n gap: 28px;\n margin-bottom: 24px;\n padding: 14px;\n background: var(--bg-accent);\n border-radius: 10px;\n }\n\n .gs-item { text-align: center; }\n .gs-val { font-size: 1.4rem; font-weight: 800; letter-spacing: -0.03em; }\n .gs-lbl { font-size: 0.68rem; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em; }\n\n /* \u2500\u2500 RESPONSIVE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n @media (max-width: 440px) {\n .niche-grid { gap: 6px; }\n .niche-emoji { font-size: 1.4rem; }\n .niche-label { font-size: 0.68rem; }\n .stats-bar { padding: 10px 12px; }\n .stat-val { font-size: 1.25rem; }\n .go-streak { font-size: 3.5rem; }\n }\n </style>\n</head>\n<body>\n<div class=\"container\">\n\n \x3c!-- \u2550\u2550\u2550 START SCREEN \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --\x3e\n <div id=\"start-screen\">\n <div class=\"logo\">\n <h1>Thumbnail Battle</h1>\n <p>Pick the thumbnail with more views \u2014 stay within one niche</p>\n </div>\n <div class=\"section-label\">Choose your niche</div>\n <div class=\"niche-grid\" id=\"niche-grid\"></div>\n <button class=\"btn btn-primary\" id=\"start-btn\">\u26a1 Start Battle</button>\n </div>\n\n \x3c!-- \u2550\u2550\u2550 GAME SCREEN \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --\x3e\n <div id=\"game-screen\" class=\"hidden\">\n\n <div class=\"stats-bar\">\n <div class=\"stat-item\">\n <div class=\"stat-val\" id=\"streak-val\">0</div>\n <div class=\"stat-lbl\">Streak</div>\n </div>\n <div class=\"stat-item\">\n <div class=\"stat-val\" id=\"best-val\">0</div>\n <div class=\"stat-lbl\">Best</div>\n </div>\n <div class=\"stat-item\">\n <div class=\"stat-val\" id=\"round-val\">1</div>\n <div class=\"stat-lbl\">Round</div>\n </div>\n <div class=\"stat-item\">\n <div class=\"stat-val\" id=\"correct-val\">0</div>\n <div class=\"stat-lbl\">Correct</div>\n </div>\n </div>\n\n <div class=\"meta-bar\">\n <div class=\"niche-pill\" id=\"niche-pill\">\ud83c\udfb2 Random</div>\n <div class=\"timer-text\" id=\"timer-text\">15s</div>\n </div>\n <div class=\"timer-track\">\n <div class=\"timer-fill\" id=\"timer-fill\"></div>\n </div>\n\n <div id=\"loading-state\" class=\"loading-state\">\n <div class=\"spinner\"></div>\n <p id=\"loading-text\">Loading videos\u2026</p>\n </div>\n\n <div id=\"battle-content\" class=\"hidden\">\n <div class=\"result-msg\" id=\"result-msg\"></div>\n\n <div class=\"battle-row\">\n <div class=\"thumb-card\" id=\"card-0\">\n <img id=\"img-0\" src=\"\" alt=\"Thumbnail A\">\n <div class=\"thumb-info\">\n <div class=\"thumb-channel\" id=\"channel-0\"></div>\n <div class=\"thumb-title\" id=\"title-0\"></div>\n </div>\n <div class=\"reveal-overlay\">\n <div class=\"overlay-icon\" id=\"icon-0\"></div>\n <div class=\"overlay-views\" id=\"views-0\"></div>\n </div>\n </div>\n\n <div class=\"vs-col\">\n <div class=\"vs-circle\">VS</div>\n </
213div>\n\n <div class=\"thumb-card\" id=\"card-1\">\n <img id=\"img-1\" src=\"\" alt=\"Thumbnail B\">\n <div class=\"thumb-info\">\n <div class=\"thumb-channel\" id=\"channel-1\"></div>\n <div class=\"thumb-title\" id=\"title-1\"></div>\n </div>\n <div class=\"reveal-overlay\">\n <div class=\"overlay-icon\" id=\"icon-1\"></div>\n <div class=\"overlay-views\" id=\"views-1\"></div>\n </div>\n </div>\n </div>\n\n <div class=\"compare-box hidden\" id=\"compare-box\">\n <div class=\"compare-header\">\n <span class=\"compare-title\">View Count Breakdown</span>\n <span class=\"diff-pill\" id=\"diff-pill\"></span>\n </div>\n <div class=\"bar-track\">\n <div class=\"bar-fill\" id=\"bar-fill\"></div>\n </div>\n <div class=\"bar-labels\">\n <span class=\"bar-val\" id=\"bar-left\"></span>\n <span class=\"bar-val\" id=\"bar-right\"></span>\n </div>\n </div>\n\n <button class=\"btn btn-primary hidden\" id=\"next-btn\">Next Round \u2192</button>\n </div>\n </div>\n\n \x3c!-- \u2550\u2550\u2550 GAME OVER SCREEN \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --\x3e\n <div id=\"gameover-screen\" class=\"hidden\">\n <div class=\"gameover-box\">\n <div class=\"go-emoji\" id=\"go-emoji\">\ud83d\udc80</div>\n <div class=\"go-streak\" id=\"go-streak\">0</div>\n <div class=\"go-sublbl\">Final Streak</div>\n <div class=\"go-msg\" id=\"go-msg\"></div>\n <div class=\"go-stats\">\n <div class=\"gs-item\">\n <div class=\"gs-val\" id=\"go-best\">0</div>\n <div class=\"gs-lbl\">All-Time Best</div>\n </div>\n <div class=\"gs-item\">\n <div class=\"gs-val\" id=\"go-rounds\">0</div>\n <div class=\"gs-lbl\">Rounds</div>\n </div>\n <div class=\"gs-item\">\n <div class=\"gs-val\" id=\"go-correct\">0</div>\n <div class=\"gs-lbl\">Correct</div>\n </div>\n </div>\n <button class=\"btn btn-primary\" id=\"play-again-btn\">Play Again</button>\n <button class=\"btn btn-secondary\" id=\"change-niche-btn\">Change Niche</button>\n </div>\n </div>\n\n</div>\n<script>\n// \u2500\u2500\u2500 CONFIG \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst API_KEY = 'AIzaSyB6_g7WVkxbAURYMwxAGvs5eupZ6iF7jGc';\nconst TIMER_DURATION = 15;\n\nconst NICHES = [\n { id:'gaming', emoji:'\ud83c\udfae', label:'Gaming', terms:['gaming highlights 2024','best gaming moments','minecraft gameplay let\\'s play','gaming setup tour','fps montage 2024','game review'] },\n { id:'tech', emoji:'\ud83d\udcbb', label:'Tech', terms:['tech review 2024','best smartphone 2024','laptop review','AI tools 2024','gadget unboxing','phone comparison review'] },\n { id:'cooking', emoji:'\ud83c\udf73', label:'Cooking', terms:['easy recipe tutorial','cooking challenge','what I eat in a week','food hack recipe','baking from scratch','quick dinner recipe'] },\n { id:'fitness', emoji:'\ud83d\udcaa', label:'Fitness', terms:['home workout routine','gym transformation','weight loss journey','full body workout','fitness tips beginners','get fit challenge'] },\n { id:'music', emoji:'\ud83c\udfb5', label:'Music', terms:['music reaction video','song cover 2024','singing tutorial','music producer beats','live performance 2024','new music react'] },\n { id:'travel', emoji:'\u2708\ufe0f', label:'Travel', terms:['travel vlog 2024','solo travel guide','budget travel tips','travel destinations 2024','backpacking abroad','travel day in my life'] },\n { id:'money', emoji:'\ud83d\udcb0', label:'Money', terms:['passive income 2024','investing for beginners','how to make money online','side hustle ideas','financial freedom tips','stock market beginners'] },\n { id:'vlogs', emoji:'\ud83d\udcf9', label:'Vlogs', terms:['day in my life vlog','weekly vlog 2024','moving vlog','college vlog','productive day routine','NYC vlog'] },\n { id:'random', emoji:'\ud83c\udfb2', label:'Random', terms:null, isRandom:true },\n];\n\n// \u2500\u2500\u2500 STATE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nlet selectedNiche = NICHES.find(n => n.isRandom);\nlet currentStreak = 0;\nlet bestStreak = 0;\nlet roundNum = 1;\nlet totalCorrect = 0;\nlet currentVideos = [];\nlet hasGuessed = false;\nlet timerInterval = null;\nlet timerStart = null;\nlet lastEndedStreak = 0;\n\n// \u2500\u2500\u2500 HELPERS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst $ = id => document.getElementById(id);\n\nfunction fmtViews(n) {\n if (n >= 1e9) return (n/1e9).toFixed(1).replace(/\\.0$/,'')+'B';\n if (n >= 1e6) return (n/1e6).toFixed(1).replace(/\\.0$/,'')+'M';\n if (n >= 1e3) return (n/1e3).toFixed(1).replace(/\\.0$/,'')+'K';\n return n.toString();\n}\n\nfunction randFrom(arr) { return arr[Math.floor(Math.random()*arr.length)]; }\n\nfunction shuffle(arr) {\n for (let i=arr.length-1;i>0;i--){\n const j=Math.floor(Math.random()*(i+1));\n [arr[i],arr[j]]=[arr[j],arr[i]];\n }\n return arr;\n}\n\n// \u2500\u2500\u2500 PERSISTENCE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction loadStats() {\n const s = JSON.parse(localStorage.getItem('thumbBattle_v3')||'{}');\n bestStreak = s.bestStreak || 0;\n totalCorrect = s.totalCorrect || 0;\n}\n\nfunction saveStats() {\n localStorage.setItem('thumbBattle_v3', JSON.stringify({bestStreak, totalCorrect}));\n}\n\nfunction updateUI() {\n let sv = String(currentStreak);\n if (currentStreak >= 10) sv = currentStreak+' \ud83d\udd25\ud83d\udd25';\n else if (currentStreak >= 5) sv = currentStreak+' \ud83d\udd25';\n else if (currentStreak >= 3) sv = currentStreak+' \u26a1';\n $('streak-val').textContent = sv;\n $('best-val').textContent = bestStreak;\n $('round-val').textContent = roundNum;\n $('correct-val').textContent = totalCorrect;\n}\n\n// \u2500\u2500\u2500 NICHE GRID \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction buildGrid() {\n const grid = $('niche
213-grid');\n NICHES.forEach(niche => {\n const card = document.createElement('div');\n card.className = 'niche-card'+(niche.isRandom?' selected':'');\n card.innerHTML = `<span class=\"niche-emoji\">${niche.emoji}</span><span class=\"niche-label\">${niche.label}</span>`;\n card.addEventListener('click', () => {\n document.querySelectorAll('.niche-card').forEach(c=>c.classList.remove('selected'));\n card.classList.add('selected');\n selectedNiche = niche;\n });\n grid.appendChild(card);\n });\n}\n\n// \u2500\u2500\u2500 ROUND FLOW \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction activeNiche() {\n if (selectedNiche.isRandom) return randFrom(NICHES.filter(n=>!n.isRandom));\n return selectedNiche;\n}\n\nasync function loadRound() {\n stopTimer();\n hasGuessed = false;\n $('loading-state').classList.remove('hidden');\n $('battle-content').classList.add('hidden');\n $('result-msg').style.display = 'none';\n $('compare-box').classList.add('hidden');\n $('next-btn').classList.add('hidden');\n $('next-btn').disabled = true;\n\n const niche = activeNiche();\n $('niche-pill').textContent = niche.emoji+' '+niche.label;\n $('loading-text').textContent = 'Finding '+niche.label+' videos\u2026';\n updateUI();\n\n try {\n currentVideos = await fetchVideos(niche);\n showVideos();\n } catch(e) {\n console.warn('API error, using fallback:', e.message);\n useFallback();\n }\n}\n\n// \u2500\u2500\u2500 YOUTUBE API (SAME NICHE) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nasync function fetchVideos(niche) {\n const term = randFrom(niche.terms);\n\n // Search\n const sr = await fetch(`https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&q=${encodeURIComponent(term)}&type=video&videoDuration=medium&relevanceLanguage=en&key=${API_KEY}`);\n const sd = await sr.json();\n if (sd.error) throw new Error(sd.error.message);\n if (!sd.items?.length) throw new Error('No search results');\n\n const ids = sd.items.map(i=>i.id.videoId).join(',');\n\n // Stats\n const vr = await fetch(`https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&id=${ids}&key=${API_KEY}`);\n const vd = await vr.json();\n if (vd.error) throw new Error(vd.error.message);\n\n // Filter: >10K views, not a short, has thumbnail\n const valid = (vd.items||[]).filter(v => {\n if (!v.statistics?.viewCount) return false;\n const views = parseInt(v.statistics.viewCount);\n if (views < 10000) return false;\n const title = (v.snippet?.title||'').toLowerCase();\n if (/#shorts|#short|\\bshorts\\b/.test(title)) return false;\n if (!v.snippet?.thumbnails?.high?.url) return false;\n return true;\n });\n\n if (valid.length < 2) throw new Error('Not enough valid videos');\n shuffle(valid);\n\n // Find a good pair: ratio 1.5x\u201340x (clear winner, not absurd gap)\n for (let i=0; i<Math.min(valid.length-1, 18); i++) {\n for (let j=i+1; j<Math.min(valid.length, 22); j++) {\n const a = parseInt(valid[i].statistics.viewCount);\n const b = parseInt(valid[j].statistics.viewCount);\n const ratio = Math.max(a,b)/Math.min(a,b);\n if (ratio >= 1.5 && ratio <= 40) return [valid[i], valid[j]];\n }\n }\n\n return [valid[0], valid[1]];\n}\n\n// \u2500\u2500\u2500 DISPLAY \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction showVideos() {\n const [v0, v1] = currentVideos;
213\n $('img-0').src = v0.snippet.thumbnails.high.url;\n $('img-1').src = v1.snippet.thumbnails.high.url;\n $('channel-0').textContent = v0.snippet.channelTitle;\n $('channel-1').textContent = v1.snippet.channelTitle;\n $('title-0').textContent = v0.snippet.title;\n $('title-1').textContent = v1.snippet.title;\n\n ['card-0','card-1'].forEach(id => $(id).className='thumb-card');\n ['icon-0','icon-1','views-0','views-1'].forEach(id => $(id).textContent='');\n\n $('loading-state').classList.add('hidden');\n $('battle-content').classList.remove('hidden');\n startTimer();\n}\n\n// \u2500\u2500\u2500 GUESS HANDLER \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction handleGuess(idx) {\n if (hasGuessed) return;\n hasGuessed = true;\n stopTimer();\n\n const v0 = parseInt(currentVideos[0].statistics.viewCount);\n const v1 = parseInt(currentVideos[1].statistics.viewCount);\n const win = v0 >= v1 ? 0 : 1;\n const ok = idx === win;\n\n // Reveal\n $('card-0').classList.add('revealed', win===0?'winner':'loser');\n $('card-1').classList.add('revealed', win===1?'winner':'loser');\n $('icon-0').textContent = win===0 ? '\ud83d\udc51' : '\u2715';\n $('icon-1').textContent = win===1 ? '\ud83d\udc51' : '\u2715';\n $('views-0').textContent = fmtViews(v0)+' views';\n $('views-1').textContent = fmtViews(v1)+' views';\n\n showComparison(v0, v1);\n\n if (ok) {\n currentStreak++;\n totalCorrect++;\n if (currentStreak > bestStreak) { bestStreak = currentStreak; }\n saveStats();\n\n const msg = $('result-msg');\n msg.className = 'result-msg result-correct';\n msg.textContent = successMsg(currentStreak);\n msg.style.display = 'block';\n\n const btn = $('next-btn');\n btn.classList.remove('hidden');\n btn.classList.add('slide-up');\n btn.disabled = false;\n } else {\n lastEndedStreak = currentStreak;\n currentStreak = 0;\n saveStats();\n\n const msg = $('result-msg');\n msg.className = 'result-msg result-wrong';\n msg.textContent = lastEndedStreak > 0\n ? `\u2715 Wrong! Your streak of ${lastEndedStreak} has ended.`\n : '\u2715 Wrong \u2014 no streak this time. Try again!';\n msg.style.display = 'block';\n\n $('card-0').classList.add('no-interact');\n $('card-1').classList.add('no-interact');
213\n setTimeout(showGameOver, 1900);\n }\n\n updateUI();\n}\n\nfunction showComparison(v0, v1) {\n const pct0 = (v0/(v0+v1))*100;\n const ratio = Math.max(v0,v1)/Math.min(v0,v1);\n\n let diffText, diffCls;\n if (ratio >= 8) { diffText='\u26a1 Easy'; diffCls='diff-easy'; }\n else if (ratio>=2){ diffText='\ud83c\udfaf Medium'; diffCls='diff-medium'; }\n else { diffText='\ud83d\udd25 Tough'; diffCls='diff-hard'; }\n\n $('diff-pill').textContent = diffText;\n $('diff-pill').className = 'diff-pill '+diffCls;\n\n const high0 = v0>=v1;\n $('bar-left').textContent = fmtViews(v0)+' views';\n $('bar-left').className = 'bar-val '+(high0?'high':'low');\n $('bar-right').textContent = fmtViews(v1)+' views';\n $('bar-right').className = 'bar-val '+(!high0?'high':'low');\n\n const fill = $('bar-fill');\n fill.style.width = '0%';\n setTimeout(() => { fill.style.width = pct0+'%'; }, 60);\n\n $('compare-box').classList.remove('hidden');\n}\n\n// \u2500\u2500\u2500 MESSAGES \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction successMsg(s) {\n if (s>=10) return `\ud83d\udd25\ud83d\udd25 UNSTOPPABLE! ${s} in a row!`;\n if (s>=7) return `\ud83d\udd25 On a tear! ${s} straight!`;\n if (s>=5) return `\u26a1 Hot streak \u2014 ${s} and counting!`;\n if (s>=3) return `\u26a1 ${s} in a row \u2014 you're getting it!`;\n return randFrom(['\u2713 Correct! Nice eye.','\u2713 Got it! Keep going.','\u2713 That\\'s the one!','\u2713 Good pick!']);\n}\n\n// \u2500\u2500\u2500 GAME OVER \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction showGameOver() {\n $('game-screen').classList.add('hidden');\n\n const ls = lastEndedStreak;\n let emoji = '\ud83d\udc80';\n if (ls>=15) emoji='\ud83c\udfc6';\n else if (ls>=10) emoji='\ud83d\udd25';\n else if (ls>=5) emoji='\u26a1';\n else if (ls>=3) emoji='\ud83d\udc4d';\n\n $('go-emoji').textContent = emoji;\n $('go-streak').textContent = String(ls);\n $('go-best').textContent = bestStreak;\n $('go-rounds').textContent = roundNum-1;\n $('go-correct').textContent = totalCorrect;\n\n let msg;\n if (ls===0) msg='Every pro started here. Keep sharpening that eye!';\n else if (ls<4) msg='Decent start! Your thumbnail instincts are developing.';\n else if (ls<8) msg='Solid run! You\\'ve got real feel for viral content.';\n else if (ls<15) msg='Impressive! You think like a content creator.';\n else msg='\ud83c\udfc6 Legendary instincts \u2014 you belong in a creator studio.';\n\n $('go-msg').textContent = msg;\n $('gameover-screen').classList.remove('hidden');\n}\n\n// \u2500\u2500\u2500 TIMER \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction startTimer() {\n const fill = $('timer-fill');\n fill.style.width = '100%';\n fill.style.background = '#22c55e';\n $('timer-text').textContent = TIMER_DURATION+'s';\n timerStart = Date.now();\n\n timerInterval = setInterval(() => {\n const elapsed = (Date.now()-timerStart)/1000;\n const remaining = Math.max(0, TIMER_DURATION-elapsed);\n const pct = (remaining/TIMER_DURATION)*100;\n\n fill.style.width = pct+'%';\n $('timer-text').textContent = Math.ceil(remaining)+'s';\n\n if (pct<25) fill.style.background='#ef4444';\n else if (pct<55) fill.style.background='#f59e0b';\n else fill.style.background='#22c55e';\n\n if (remaining<=0) timeUp();\n }, 50);\n}\n\nfunction stopTimer() { clearInterval(timerInterval); timerInterval=null; }\n\nfunction timeUp() {\n stopTimer();\n if (!hasGuessed) {\n hasGuessed = true;\n lastEndedStreak = currentStreak;\n currentStreak = 0;\n saveStats();\n $('game-screen').classList.add('hidden');\n $('go-emoji').textContent = '\u23f0';\n $('go-streak').textContent = String(lastEndedStreak);\n $('go-best').textContent = bestStreak;\n $('go-rounds').textContent = roundNum-1;\n $('go-correct').textContent = totalCorrect;\n $('go-msg').textContent = 'Time\\'s up! Trust your instincts faster next time.';\n $('gameover-screen').classList.remove('hidden');\n }\n}\n\n// \u2500\u2500\u2500 FALLBACK \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst FALLBACK = [\n {id:'f1',snippet:{title:'I Built a $500 Gaming PC \u2014 Was It Worth It?', channelTitle:'TechBuilds', thumbnails:{high:{url:'https://i.ytimg.com/vi/jptY2DC3DV0/hqdefault.jpg'}}},statistics:{viewCount:'3500000'}},\n {id:'f2',snippet:{title:'10 Minecraft Tips Every Player Should Know', channelTitle:'CraftMaster', thumbnails:{high:{url:'https://i.ytimg.com/vi/V8lbiiTF2P0/hqdefault.jpg'}}},statistics:{viewCount:'920000'}},\n {id:'f3',snippet:{title:'I Ate Only Street Food for 30 Days', channelTitle:'FoodDares', thumbnails:{high:{url:'https://i.ytimg.com/vi/KMY7MzLG5k8/hqdefault.jpg'}}},statistics:{viewCount:'5680000'}},\n {id:'f4',snippet:{title:'5 Passive Income Streams That Actually Work', channelTitle:'MoneyMoves', thumbnails:{high:{url:'https://i.ytimg.com/vi/t_ispmWmdjY/hqdefault.jpg'}}},statistics:{viewCount:'1890000'}},\n {id:'f5',snippet:{title:'30-Min Full Body Workout (Zero Equipment)', channelTitle:'FitWithMike', thumbnails:{high:{url:'https://i.ytimg.com/vi/unO7pFz85MI/hqdefault.jpg'}}},statistics:{viewCount:'2340000'}},\n {id:'f6',snippet:{title:'Best Budget Smartphones of 2024 \u2014 Ranked', channelTitle:'TechTalk', thumbnails:{high:{url:'https://i.ytimg.com/vi/WFiW_tvE6iE/hqdefault.jpg'}}},statistics:{viewCount:'4250000'}},\n {id:'f7',snippet:{title:'Solo Travel Europe on $50 a Day', channelTitle:'Wanderlust', thumbnails:{high:{url:'https://i.ytimg.com/vi/V4akMaeZ0-k/hqdefault.jpg'}}},statistics:{viewCount:'7820000'}},\n {id:'f8',snippet:{title:'I Learned Guitar in 30 Days \u2014 Here\\'s What Happened',channelTitle:'MusicJourney',thumbnails:{high:{url:'https://i.ytimg.com/vi/DhBPFr3RRso/hqdefault.jpg'}}},statistics:{viewCount:'1730000'}},\n];\n\nfunction useFallback() {\n const pool = shuffle([...FALLBACK]);\n currentVideos = [pool[0], pool[1]];\n showVideos();\n}
213\n\n// \u2500\u2500\u2500 EVENTS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n$('start-btn').addEventListener('click', () => {\n $('start-screen').classList.add('hidden');\n $('game-screen').classList.remove('hidden');\n currentStreak = 0; roundNum = 1; totalCorrect = 0; lastEndedStreak = 0;\n updateUI();\n loadRound();\n});\n\n$('next-btn').addEventListener('click', () => {\n $('next-btn').disabled = true;\n roundNum++;\n loadRound();\n});\n\n$('play-again-btn').addEventListener('click', () => {\n $('gameover-screen').classList.add('hidden');\n $('game-screen').classList.remove('hidden');\n currentStreak = 0; roundNum = 1; totalCorrect = 0; lastEndedStreak = 0;\n updateUI();\n loadRound();\n});\n\n$('change-niche-btn').addEventListener('click', () => {\n $('gameover-screen').classList.add('hidden');\n $('start-screen').classList.remove('hidden');\n});\n\n$('card-0').addEventListener('click', () => handleGuess(0));\n$('card-1').addEventListener('click', () => handleGuess(1));\n\n// \u2500\u2500\u2500 INIT \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nbuildGrid();\nloadStats();\n<\/script>\n</body>\n</html>\n"},{id:"b70f6021-c9c9-4313-a7e2-386071a9e3ca",title:"Enhanced Flappy Bird",slug:"flappy-bird",excerpt:"A responsive HTML5 Canvas implementation of Flappy Bird with improved gameplay mechanics and visual effects",content:"## Enhanced Flappy Bird\n\nThis modern implementation of the classic Flappy Bird game is built entirely with HTML5 Canvas and vanilla JavaScript. It features responsive design, smooth animations, and carefully tuned gameplay mechanics for an engaging yet accessible experience.\n\n### Development Process\n\nThe game was developed with a focus on:\n1. **Responsive Design**: Adapts to any screen size while maintaining the correct aspect ratio\n2. **Gameplay Tuning**: Carefully balanced difficulty with forgiving hitboxes and gentler physics\n3. **Visual Polish**: Cloud backgrounds, particle effects, and smooth animations enhance the visual experience\n\n### Key Features\n\n- Responsive canvas that works on both mobile and desktop\n- Forgiving hitboxes (reduced by 20%) for less frustrating gameplay\n- Dynamic cloud backgrounds with parallax scrolling effect\n- Visual jump indicator to help with timing\n- Bird rotation based on velocity for smooth animations\n- Web Audio API for procedurally generated sound effects\n- Local storage for saving high scores\n- Mute/unmute toggle for sound effects\n- Touch and keyboard controls\n\n### Technical Details\n\nThe game uses several modern web technologies:\n- HTML5 Canvas for rendering\n- Vanilla JavaScript for game logic\n- Web Audio API for dynamic sound generation\n- LocalStorage API for persistent high scores\n- CSS3 for styling and responsive design\n\n### How to Play\n\n1. Tap the screen or press the SPACE key to make the bird flap its wings\n2. Navigate through pipes without hitting them\n3. Each pipe you pass earns one point\n4. Try to beat your high score!",category:"Code Projects",image_url:"https://64.media.tumblr.com/e708c0073d4a4243e6da8caf4d17971c/19f7abb1e1bdb515-70/s2048x3072/f68116010dbb0b5837f4878fa5376cc8a26e15c8.pnj",featured:!0,published:!0,read_time:5,views:0,likes:0,published_at:"2025-05-20T04:52:17.853803+00:00",created_at:"2025-05-20T04:52:17.853803+00:00",updated_at:"2025-05-20T04:52:17.853803+00:00",html_code:'<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="UTF-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />\n <title>Enhanced Flappy Bird</title>\n <style>\n /* Improved styling */\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n body {\n background: #70c5ce;\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 100vh;\n font-family: \'Arial Rounded MT Bold\', \'Arial\', sans-serif;\n overflow: hidden;\n touch-action: manipulation;\n }\n #gameContainer {\n position: relative;\n width: 100%;\n max-width: 600px;\n margin: 0 auto;\n }\n canvas {\n display: block;\n width: 100%;\n height: auto;\n border: 4px solid #333;\n border-radius: 10px;\n background: #70c5ce;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);\n }\n #muteButton {\n position: absolute;\n top: 15px;\n right: 15px;\n background: rgba(255, 255, 255, 0.7);\n border: none;\n border-radius: 50%;\n width: 40px;\n height: 40px;\n font-size: 20px;\n cursor: pointer;\n z-index: 10;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n #muteButton:focus {\n outline: none;\n }\n .instruction {\n position: absolute;\n bottom: 15px;\n width: 100%;\n text-align: center;\n color: white;\n background: rgba(0, 0, 0, 0.3);\n padding: 10px;\n border-radius: 10px;\n font-size: 16px;\n }\n </style>\n</head>\n<body>\n <div id="gameContainer">
213\n <canvas id="gameCanvas" width="480" height="640"></canvas>\n <button id="muteButton">\ud83d\udd0a</button>\n <div class="instruction" id="instructionText">Tap or press SPACE to flap</div>\n </div>\n\n <script>\n // Get canvas and context\n const canvas = document.getElementById(\'gameCanvas\');\n const ctx = canvas.getContext(\'2d\');\n const muteButton = document.getElementById(\'muteButton\');\n const instructionText = document.getElementById(\'instructionText\');\n\n // Make canvas responsive\n function resizeCanvas() {\n const container = document.getElementById(\'gameContainer\');\n const containerWidth = container.clientWidth;\n // Maintain aspect ratio\n canvas.style.width = containerWidth + \'px\';\n canvas.style.height = (containerWidth * (canvas.height / canvas.width)) + \'px\';\n }\n \n // Call resize on load and when window size changes\n window.addEventListener(\'load\', resizeCanvas);\n window.addEventListener(\'resize\', resizeCanvas);\n\n // ----- Game States -----\n let gameState = "menu";\n let muted = false;\n\n // ----- Game Constants ----- (Tweaked for much easier gameplay)\n const GRAVITY = 0.25; // Drastically reduced gravity (was 0.5, then 0.35)\n const JUMP_STRENGTH = -6; // Even gentler jump (was -8, then -7)\n const PIPE_WIDTH = 60;
213 // Wider pipes\n const PIPE_GAP = 220; // Much larger gap between pipes (was 120, then 170)\n const PIPE_SPEED = 1.5; // Slower pipes (was 2, then 1.8)\n const PIPE_SPAWN_INTERVAL = 150; // Greatly increased spawn interval (was 90, then 110)\n\n // ----- Game Variables -----\n let bird = {\n x: 80,\n y: canvas.height / 2,\n width: 40,\n height: 40,\n velocity: 0,\n rotation: 0\n };\n\n let pipes = [];\n let frameCount = 0;\n let score = 0;\n let highScore = localStorage.getItem(\'flappyHighScore\') || 0;\n let started = false;\n let jumpIndicator = { active: false, y: 0 };\n\n // ----- Clouds for the Background -----\n let clouds = [];\n // Create several clouds with random positions, speeds, and scales\n for (let i = 0; i < 8; i++) {\n clouds.push({\n x: Math.random() * canvas.width,\n y: Math.random() * (canvas.height / 2),\n speed: 0.3 + Math.random() * 0.3,\n scale: 0.5 + Math.random() * 0.5\n });\n }\n\n // ----- Audio Setup -----\n let audioContext;\n let sounds = {};\n \n function initAudio() {\n try {\n audioContext = new (window.AudioContext || window.webkitAudioContext)();\n \n // Create sounds\n createSound(\'jump\', createJumpSound);\n createSound(\'score\', createScoreSound);\n createSound(\'hit\', createHitSound);\n createSound(\'gameOver\', createGameOverSound);\n } catch (e) {\n console.error("Web Audio API is not supported in this browser", e);\n }\n }\n \n function createSound(name, creatorFunction) {\n sounds[name] = { play: () => {} }; // Default empty function\n if (audioContext) {\n sounds[name] = creatorFunction();\n }\n }\n \n function playSound(name) {\n if (!muted && sounds[name]) {\n sounds[name].play();\n }\n }\n \n function createJumpSound() {\n return {\n play: function() {\n const oscillator = audioContext.createOscillator();\n const gainNode = audioContext.createGain();\n \n oscillator.type = \'sine\';\n oscillator.frequency.setValueAtTime(480, audioContext.currentTime);\n oscillator.frequency.exponentialRampToValueAtTime(680, audioContext.currentTime + 0.1);\n \n gainNode.gain.setValueAtTime(0.3, audioContext.currentTime);\n gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.2);\n \n oscillator.connect(gainNode);\n gainNode.connect(audioContext.destination);\n \n oscillator.start();\n oscillator.stop(audioContext.currentTime + 0.2);\n }\n };\n }\n \n function createScoreSound() {\n return {\n play: function() {\n const oscillator = audioContext.createOscillator();\n const gainNode = audioContext.createGain();\n \n oscillator.type = \'sine\';\n oscillator.frequency.setValueAtTime(440, audioContext.currentTime);\n oscillator.frequency.exponentialRampToValueAtTime(880, audioContext.currentTime + 0.1);\n \n gainNode.gain.setValueAtTime(0.2, audioContext.currentTime);\n gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.3);\n \n oscillator.connect(gainNode);\n gainNode.connect(audioContext.destination);\n \n oscillator.start();\n oscillator.stop(audioContext.currentTime + 0.3);\n }\n };\n }\n \n function createHitSound() {\n return {\n play: function() {\n const oscillator = audioContext.createOscillator();\n const gainNode = audioContext.createGain();\n \n oscillator.type = \'sawtooth\';\n oscillator.frequency.setValueAtTime(160, audioContext.currentTime);\n oscillator.frequency.exponentialRampToValueAtTime(120, audioContext.currentTime + 0.2);\n \n gainNode.gain.setValueAtTime(0.3, audioContext.currentTime);\n gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.3);\n \n oscillator.connect(gainNode);\n gainNode.connect(audioContext.destination);\n \n oscillator.start();\n oscillator.stop(audioContext.currentTime + 0.3);\n }\n };\n }\n \n function createGameOverSound() {\n return {\n play: function() {\
213n const oscillator = audioContext.createOscillator();\n const gainNode = audioContext.createGain();\n \n oscillator.type = \'triangle\';\n oscillator.frequency.setValueAtTime(220, audioContext.currentTime);\n oscillator.frequency.exponentialRampToValueAtTime(110, audioContext.currentTime + 0.5);\n \n gainNode.gain.setValueAtTime(0.3, audioContext.currentTime);\n gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.7);\n \n oscillator.connect(gainNode);\n gainNode.connect(audioContext.destination);\n \n oscillator.start();\n oscillator.stop(audioContext.currentTime + 0.7);\n }\n };\n }\n \n // Toggle mute/unmute\n muteButton.addEventListener(\'click\', function() {\n muted = !muted;\n muteButton.textContent = muted ? \'\ud83d\udd07\' : \'\ud83d\udd0a\';\n \n // Initialize audio if first click\n if (!audioContext && !muted) {\n initAudio();\n }\n });\n\n // ----- Reset Game Function -----\n function resetGame() {\n bird.y = canvas.height / 2;\n bird.velocity = 0;\n bird.rotation = 0;\n pipes = [];\n frameCount = 0;\n score = 0;\n started = false;\n }\n\n // ----- Pipe Spawner -----\n function spawnPipe() {\n const margin = 40; // Prevent pipes from touching the very top/bottom\n const gapY = Math.floor(\n Math.random() * (canvas.height - PIPE_GAP - margin * 2)\n ) + margin;\n pipes.push({\n x: canvas.width,\n gapY: gapY,\n passed: false\n });\n }\n\n // ----- Update Clouds -----\n function updateClouds() {\n clouds.forEach(cloud => {\n cloud.x -= cloud.speed;\n // When a cloud moves off-screen, reposition it to the right\n if (cloud.x + 100 * cloud.scale < 0) {\n cloud.x = canvas.width + Math.random() * 50;\n cloud.y = Math.random() * (canvas.height / 2);\n cloud.speed = 0.3 + Math.random() * 0.3;\n cloud.scale = 0.5 + Math.random() * 0.5;\n }\n });\n }\n\n // ----- Update Game (only when playing) -----\n function updateGame() {\n // Apply gravity\n bird.velocity += GRAVITY;\n bird.y += bird.velocity;\n \n // Update bird rotation based on velocity\n bird.rotation = bird.velocity * 2;\n if (bird.rotation > 45) bird.rotation = 45;\n if (bird.rotation < -45) bird.rotation = -45;\n\n // Pipe spawn logic\n frameCount++;\n if (frameCount % PIPE_SPAWN_INTERVAL === 0) {\n spawnPipe();\n }\n\n // Move pipes to the left\n for (let i = 0; i < pipes.length; i++) {\n pipes[i].x -= PIPE_SPEED;\n \n // Score when passing through pipes\n if (!pipes[i].passed && pipes[i].x + PIPE_WIDTH < bird.x) {\n pipes[i].passed = true;\n score++;\n playSound(\'score\');\n \n // Update high score\n if (score > highScore) {\n highScore = score;\n localStorage.setItem(\'flappyHighScore\', highScore);\n }\n }\n }\n\n // Remove pipes that have moved off screen\n if (pipes.length && pipes[0].x + PIPE_WIDTH < 0) {\n pipes.shift();\n }\n\n // Update jump indicator\n if (jumpIndicator.active) {\n jumpIndicator.y += bird.velocity;\n jumpIndicator.active = jumpIndicator.y < canvas.height;\n }\n\n // Collision detection with forgiving hitboxes (reduced by 20%)\n const hitboxReducer = 0.2;\n const birdHitboxX = bird.x + bird.width * hitboxReducer;\n const birdHitboxY = bird.y + bird.height * hitboxReducer;\n const birdHitboxW = bird.width * (1 - 2 * hitboxReducer);\n const birdHitboxH = bird.height * (1 - 2 * hitboxReducer);\n \n // Collision with ground or ceiling\n if (birdHitboxY + birdHitboxH > canvas.height || birdHitboxY < 0) {\n playSound(\'hit\');\n gameState = "gameover";\n playSound(\'gameOver\');\n }\n\n // Collision with pipes\n for (let i = 0; i < pipes.length;
213 i++) {\n const pipe = pipes[i];\n if (\n birdHitboxX < pipe.x + PIPE_WIDTH &&\n birdHitboxX + birdHitboxW > pipe.x\n ) {\n if (birdHitboxY < pipe.gapY || birdHitboxY + birdHitboxH > pipe.gapY + PIPE_GAP) {\n playSound(\'hit\');\n gameState = "gameover";\n playSound(\'gameOver\');\n break;\n }\n }\n }\n }\n\n // ----- Draw Clouds -----\n function drawClouds() {\n clouds.forEach(cloud => {\n ctx.save();\n ctx.fillStyle = \'rgba(255, 255, 255, 0.8)\';\n ctx.shadowColor = \'rgba(0,0,0,0.2)\';\n ctx.shadowBlur = 8;\n // Draw a simple cloud using three arcs\n let cloudWidth = 100 * cloud.scale;\n let cloudHeight = 50 * cloud.scale;\n ctx.beginPath();\n ctx.arc(cloud.x, cloud.y, cloudHeight / 2, Math.PI * 0.5, Math.PI * 1.5);\n ctx.arc(cloud.x + cloudWidth / 2, cloud.y - cloudHeight / 2, cloudHeight / 2, Math.PI, 2 * Math.PI);\n ctx.arc(cloud.x + cloudWidth, cloud.y, cloudHeight / 2, Math.PI * 1.5, Math.PI * 0.5);\n ctx.closePath();\n ctx.fill();\n ctx.restore();\n });\n }\n\n // ----- Draw Jump Indicator -----\n function drawJumpIndicator() {\n if (jumpIndicator.active && gameState === "playing") {\n ctx.save();\n ctx.strokeStyle = \'rgba(255, 255, 255, 0.5)\';\n ctx.setLineDash([5, 5]);\n ctx.beginPath();\n ctx.moveTo(bird.x + bird.width / 2, bird.y + bird.height / 2);\n ctx.lineTo(bird.x + bird.width / 2, jumpIndicator.y + bird.height / 2);\n ctx.stroke();\n ctx.restore();\n }\n }\n\n // ----- Draw the Redesigned Bird -----\n function drawBird() {\n ctx.save();\n // Set the center for rotation\n const centerX = bird.x + bird.width / 2;\n const centerY = bird.y + bird.height / 2;\n \n // Rotate around the center\n ctx.translate(centerX, centerY);\n ctx.rotate(bird.rotation * Math.PI / 180);\n ctx.translate(-centerX, -centerY);\n \n // Set a subtle shadow for the bird\n ctx.shadowColor = "rgba(0,0,0,0.3)";\n ctx.shadowBlur = 10;\n \n // Draw the bird body\n let radius = bird.width / 2;\n let gradient = ctx.createRadialGradient(centerX, centerY, radius * 0.2, centerX, centerY, radius);\n gradient.addColorStop(0, "#FFD700"); // bright yellow\n gradient.addColorStop(1, "#FFA500"); // orange\n ctx.fillStyle = gradient;\n ctx.beginPath();\n ctx.arc(centerX, centerY, radius, 0, Math.PI * 2);\n ctx.fill();\n\n // Draw an eye\n ctx.fillStyle = "#fff";\n ctx.beginPath();\n ctx.arc(centerX + radius * 0.3, centerY - radius * 0.2, radius * 0.3, 0, Math.PI * 2);\n ctx.fill();\n ctx.fillStyle = "#000";\n ctx.beginPath();\n ctx.arc(centerX + radius * 0.3, centerY - radius * 0.2, radius * 0.15, 0, Math.PI * 2);\n ctx.fill();\n \n // Draw wings\n ctx.fillStyle = "#FFA500";\n ctx.beginPath();\n ctx.ellipse(\n centerX - radius * 0.5, \n centerY, \n radius * 0.5, \n radius * 0.8, \n 0, 0, Math.PI * 2\n );\n ctx.fill();\n \n // Draw beak\n ctx.fillStyle = "#FF6347";\n ctx.beginPath();\n ctx.moveTo(centerX + radius * 0.8, centerY);\n ctx.lineTo(centerX + radius * 1.2, centerY);\n ctx.lineTo(centerX + radius * 0.8, centerY + radius * 0.2);\n ctx.closePath();\n ctx.fill();\n \n ctx.restore();\n }\n\n // ----- Draw Pipes with Improved Design -----\n function drawPipes() {\n ctx.save();\n \n pipes.forEach(pipe => {\n // Pipe gradient\n const pipeGradient = ctx.createLinearGradient(pipe.x, 0, pipe.x + PIPE_WIDTH, 0);\n pipeGradient.addColorStop(0, "#228B22"); // forest green\n pipeGradient.addColorStop(0.5, "#32CD32"); // lime green\n pipeGradient.addColorStop(1, "#228B22"); // forest green\n \n ctx.fillStyle = pipeGradient;\n ctx.shadowColor = "rgba(0,0,0,0.5)";\n ctx.shadowBlur = 10;\n \n // Top pipe with decorative end\n ctx.fillRect(pipe.x, 0, PIPE_WIDTH, pipe.gapY);\n ctx.fillStyle = "#32CD32";\n ctx.fillRect(pipe.x - 5, pipe.gapY - 20, PIPE_WIDTH + 10, 20);\n \n // Bottom pipe with decorative end\n ctx.fillStyle = pipeGradient;\n ctx.fillRect(pipe.x, pipe.gapY + PIPE_GAP, PIPE_WIDTH, canvas.height - pipe.ga
213pY - PIPE_GAP);\n ctx.fillStyle = "#32CD32";\n ctx.fillRect(pipe.x - 5, pipe.gapY + PIPE_GAP, PIPE_WIDTH + 10, 20);\n });\n \n ctx.restore();\n }\n\n // ----- Draw Score and High Score -----\n function drawScore() {\n ctx.save();\n ctx.textAlign = "center";\n \n // Current score\n ctx.fillStyle = "#fff";\n ctx.font = "bold 40px Arial";\n ctx.shadowColor = "rgba(0,0,0,0.5)";\n ctx.shadowBlur = 5;\n ctx.fillText(score, canvas.width / 2, 60);\n \n // High score\n if (gameState === "gameover" || gameState === "menu") {\n ctx.font = "20px Arial";\n ctx.fillText(`High Score: ${highScore}`, canvas.width / 2, 100);\n }\n \n ctx.restore();\n }\n\n // ----- Draw Start Menu -----\n function drawMenu() {\n ctx.save();\n ctx.fillStyle = "rgba(0, 0, 0, 0.6)";\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n \n // Title\n ctx.fillStyle = "#FFF";\n ctx.textAlign = "center";\n ctx.font = "bold 48px Arial";\n ctx.shadowColor = "rgba(0,0,0,0.5)";\n ctx.shadowBlur = 10;\n ctx.fillText("Flappy Bird", canvas.width / 2, canvas.height / 2 - 60);\n \n // Start instructions\n ctx.font = "24px Arial";\n ctx.fillText("Tap or Press Space to Start", canvas.width / 2, canvas.height / 2 + 20);\n \n // Bird animation on menu\n let menuBirdY = canvas.height / 2 - 100 + Math.sin(Date.now() / 300) * 15;\n ctx.restore();\n \n // Save position and draw the bird manually\n let originalY = bird.y;\n bird.y = menuBirdY;\n drawBird();\n bird.y = originalY;\n }\n\n // ----- Draw Game Over Screen -----\n function drawGameOver() {\n ctx.save();\n ctx.fillStyle = "rgba(0, 0, 0, 0.6)";\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n \n ctx.fillStyle = "#FFF";\n ctx.textAlign = "center";\n ctx.shadowColor = "rgba(0,0,0,0.5)";\n ctx.shadowBlur = 10;\n \n // Game Over text\n ctx.font = "bold 48px Arial";\n ctx.fillText("Game Over", canvas.width / 2, canvas.height / 2 - 80);\n \n // Score\n ctx.font = "32px Arial";\n ctx.fillText(`Score: ${score}`, canvas.width / 2, canvas.height / 2 - 20);\n \n // High Score\n if (score >= highScore) {\n ctx.fillStyle = "#FFD700";\n ctx.fillText("New High Score!", canvas.width / 2, canvas.height / 2 + 30);\n }\n \n // Restart instructions\n ctx.fillStyle = "#FFF";\n ctx.font = "24px Arial";\n ctx.fillText("Tap or Press Space to Restart", canvas.width / 2, canvas.height / 2 + 80);\n \n ctx.restore();\n }\n\n // ----- Main Game Loop -----\n function gameLoop() {\n // Clear canvas\n ctx.fillStyle = "#70c5ce";\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n \n // Always update and draw the clouds in the background\n updateClouds();\n drawClouds();\n\n // Update and render based on the game state\n if (gameState === "playing") {\n updateGame();\n drawJumpIndicator();\n drawPipes();\n drawBird();\n drawScore();\n \n // Hide instruction after game starts\n if (started) {\n instructionText.style.display = \'none\';\n }\n } else if (gameState === "menu") {\n drawMenu();\n instructionText.style.display = \'block\';\n } else if (gameState === "gameover") {\n drawPipes();\n drawBird();\n drawScore();\n drawGameOver();\n instructionText.style.display = \'none\';\n }\n\n requestAnimationFrame(gameLoop);\n }\n\n // ----- Input Handling -----\n function handleInput() {\n // Initialize audio on first interaction\n if (!audioContext && !muted) {\n initAudio();\n }\n \n if (gameState === "menu") {\n gameState = "playing";\n resetGame();\n } else if (gameState === "playing") {\n // Make the bird jump\n bird.velocity = JUMP_STRENGTH;\n playSound(\'jump\');\n \n // Set jump indicator\n jumpIndicator.active = true;\n jumpIndicator.y = bird.y;\n \n // Mark that the game has started\n started = true;\n } else if (gameState === "gameover") {\n // Return to the menu to start again\n gameState = "menu";\n }\n }\n\n // ----- Event Listeners -----\n // Keyboard controls\n document.addEventListener("keydown", (e) => {\n if (e.code === "Space") {\n e.preventDefault(); // Prevent page scrolling\n handleInput();\n }\n });\n \n // Touch/click controls\n canvas.addEventListener("click", handleInput);\n canvas.addEventListener("touchstart", function(e) {\n e.preventDefault(); // Prevent double-firing on mobile\n handleInput();\n }, {passive: false});\n\n // ----- Start the Game -----\n resetGame();\n gameLoop();\n <\/script>\n</body>\n</html>'},{id:"fb1b565e-8f78-4fa4-a1e2-8c7ac7b95180",title:"Speed Up Your Slow MacBook in 2025",slug:"speed-up-your-slow-macbook-in-2025",excerpt:"Discover how to clean up your Mac, free disk space, and boost performance using free tools and simple tips in this 2025 guide.",content:'\n## Speed Up Your Slow MacBook in 2025\n\nIf your MacBook feels sluggish, don\u2019t rush to replace it. There\u2019s a solid chance your system just needs a tune-up. Whether you\'re a casual user or a creative professional, these steps will help your Mac run faster using built-in tools and free apps.\n\n### Start with Software Updates\n\nOutdated apps and macOS versions often cause slowdowns. \n**Steps:** \n- Open Settings > General > Software Update \n- Install any available updates\n\n### Clear Cache Files\n\nOver time, cache files accumulate and can slow down your system. \n**How to clear them:** \n- Press `Command + Shift + G` in Finder \n- Navigate to `~/Library/Caches` \n- Delete unnecessary folders \n\n> Tip: Clearing cache may temporarily slow down apps as they rebuild cache files.\n\n### Check Your Disk Space\n\nMaintaining at least 10 to 15 percent of free storage is essential for smooth performance. \n**Steps:** \n- Go to Finder > Go > Computer \n- Right-click your drive > Manage Storage \n- Remove large, unused applications and files\n\n### Use Activity Monitor\n\nMonitor your system for resource-heavy applications. \n**Access it via:** Launc
213hpad > Utilities > Activity Monitor \nCheck the CPU, Memory, and Disk tabs for apps using excessive resources and end those processes if needed.\n\n### Disable Login Items\n\nPrevent non-essential apps from launching at startup. \n**Steps:** \n- Go to Settings > Login Items \n- Remove unnecessary apps from the startup list\n\n### Use the Terminal to Free RAM\n\nThe following command clears temporary files from your RAM:\nsudo purge\n\n> Tip: Use this after rendering or extended recording sessions to reclaim memory.\n\n### Run Disk Utility\n\nRepair disk permissions and verify drive integrity. \n**Steps:** \n- Open Disk Utility via Launchpad \n- Select your drive > Run "First Aid"\n\n### Reduce Visual Effects\n\nFor older MacBooks, turning off certain visual effects can improve responsiveness. \n**Steps:** \n- Go to Settings > Accessibility > Display \n- Enable \u201cReduce Motion\u201d and \u201cReduce Transparency\u201d\n\n### Use CCleaner (Free Version)\n\nCCleaner helps you clean: \n- App cache and logs \n- System junk \n- Large and duplicate files \n- Browser cookies and history\n\n> In our example, CCleaner removed over 1.3 terabytes of unnecessary data.\n\n### Scan for Duplicate Files\n\nCCleaner can locate duplicate files across your system, a useful feature if your file management is disorganized.\n\n### Summary\n\nImproving your MacBook\u2019s performance does not require expensive upgrades. By following this guide, you can clean up storage, optimize system resources, and extend your Mac\u2019s life span.\n\n### Key Takeaways\n\n- Keep macOS and apps updated \n- Regularly clear cache and unused files \n- Monitor and manage resource usage \n- Use Disk Utility and Terminal for deeper optimizations \n- Leverage free tools like CCleaner for advanced cleanup\n\n',category:"Tutorials",image_url:"https://64.media.tumblr.com/f9d07706c1bbc0cbae5c1e8137fe7b8e/79a6571ff7113728-5d/s2048x3072/824414d890064219e2b2ab88594ff20151fa3dd1.pnj",featured:!1,published:!0,read_time:8,views:0,likes:0,published_at:"2025-03-25T16:46:49.412151+00:00",created_at:"2025-03-25T16:46:49.412151+00:00",updated_at:"2025-03-25T16:46:49.412151+00:00",youtube_video_id:"0Fkq2lSsXyc"},{id:"c097a8ec-648e-47f7-a6c9-d4a4e2da3a27",title:"How This Budget Mic Helps Creators Go Viral",slug:"budget-mic-helps-creators-go-viral",excerpt:"Learn how creators are using unconventional strategies like household items and the FIFINE M9 mic to capture attention, boost retention, and grow on YouTube.",content:"\n## Why Unconventional Strategies Grab Attention \n\nIf you\u2019ve been on YouTube lately, you\u2019ve probably seen a bizarre trend: creators using **toilet seats, spatulas**, and even **pool noodles** as microphones. It\u2019s strange, quirky, and undeniably attention-grabbing. \n\nThis trend isn\u2019t just a silly fad \u2013 it\u2019s a **smart strategy**. With so much content uploaded to YouTube every second, creators are looking for ways to stand out from the crowd. \n\n---\n\n## Why Does This Work? \n\n### **1. Pattern Interrupt** \nHumans are creatures of habit. When scrolling through videos, viewers expect the same visuals: \n- Someone sitting at a desk \n- Talking into a fancy microphone \n- Predictable setups \n\nBut when a creator holds up a **spatula** and starts talking into it, the brain takes notice. It\u2019s unexpected. It breaks the monotony of \u201cnormal\u201d content and forces viewers to ask, *\u201cWhat\u2019s going on here?\u201d* \n\nThis extra second of curiosity makes a huge difference. The YouTube algorithm loves retention. If you can get someone to pause for even a few seconds longer, it increases the likelihood of your video performing well.\n\n### **2. Emotional Connection Through Humor** \nUsing unconventional items adds a layer of **humor and relatability** to your content. People love to laugh, and seeing someone creatively turn a household item into a microphone gives off a playful, **low-budget genius** vibe. \n\nIt sends the message: \n> \u201cYou don\u2019t need expensive gear to be creative or successful.\u201d \n\nThat kind of relatability builds trust with your audience and keeps them coming back for more.\n\n---\n\n## The FIFINE M9 \u2013 The Hidden Hero Behind the Trend \n\nThese unconventional videos work because creators use a wireless lavalier mic setup like the **FIFINE M9**. Here\u2019s why the M9 is the perfect tool for this viral strategy: \n\n- **Dual Microphones**: Two mics let you record dynamic interviews or double the creativity. \n- **Compact & Discreet**: The M9 is small and lightweight, making it easy to hide in **anything** \u2013 even a pool no
213odle! \n- **Budget-Friendly**: At under $100, it\u2019s a steal compared to competitors like the Rode Wireless Go ($300+). \n- **High-Quality Audio**: Despite its low price, the M9 delivers clear, natural sound with a frequency range of 20Hz-20kHz. \n\nWhether you\u2019re attaching it to a **toilet seat** or your standard boom arm, the M9 performs consistently. It\u2019s reliable, simple to set up, and just works.\n\n---\n\n## Standing Out as a Small Creator \n\nIn today\u2019s oversaturated creator landscape, blending in is the fastest route to obscurity. Successful creators know that **being different is an advantage**. \n\nHere are a few takeaways for small creators looking to grow: \n\n- **Be Unpredictable**: Find ways to surprise your audience. Unique props, unusual setups, and creative edits can grab attention. \n- **Use Affordable Gear**: Tools like the FIFINE M9 prove you don\u2019t need expensive equipment to make great content. Focus on storytelling and creativity instead. \n- **Lean Into Humor and Creativity**: People love content that feels authentic and playful. It doesn\u2019t need to be overly polished. \n\n> *\u201cThe people who think outside the box are often the ones who succeed.\u201d* \n\nDon\u2019t be afraid to try something different \u2013 you never know what will resonate with your audience and go viral.\n\n---\n\n## Downsides to Keep in Mind \n\nWhile the FIFINE M9 is fantastic for most use cases, it does have a couple of limitations: \n\n- **No Button Lock**: If your subject holds the mic directly, they might accidentally press buttons. Make sure to clip it securely. \n\n---\n\n## Final Verdict \n\nThe FIFINE M9 wireless mic setup is a game-changer for small creators. It\u2019s affordable, compact, and delivers impressive audio quality for its price. Paired with a little creative thinking, this mic can help you produce content that stands out, captures attention, and keeps viewers engaged. \n\nIf you\u2019re looking for a way to grow on YouTube without spending a fortune, the FIFINE M9 is worth every penny.\n\n---\n\n## Want a Chance to Win One? \n\nI\u2019m giving away a set of FIFINE M9 microphones to one lucky subscriber! \ud83c\udf81 \n\nHere\u2019s how to enter: \n1. Subscribe to my channel \n2. Like this video \n3. Leave a comment below \n\nI\u2019ll announce the winner on **Christmas morning** \u2013 so you might wake up to an extra present under your tree. \ud83c\udf84 \n\n---\n\n## The Bottom Line \n\nYou don\u2019t need the fanciest gear or the biggest budget to go viral. Sometimes, all it takes is a creative idea, a budget mic like the FIFINE M9, and the courage to stand out from the crowd.\n\nHappy creating! \ud83c\udfa4 \n",category:"Tech Reviews",image_url:"https://64.media.tumblr.com/109cd3e443b92c3db0e6d367f3b53d81/199e0ea0f1e96b18-a3/s2048x3072/1667c513f171a77aad0de2b5c9dd54410f87b11c.pnj",featured:!1,published:!0,read_time:10,views:731,likes:0,published_at:"2024-12-17T19:18:57.061659+00:00",created_at:"2024-12-17T19:18:57.061659+00:00",updated_at:"2024-12-17T19:18:57.061659+00:00",youtube_video_id:"_H51RZC6RUk"},{id:"33c2d130-a3b6-4f7a-bfcc-9bbaf023f5a9",title:"ElevenLabs Sound Effect Generator: AI-Powered Audio Creation Tutorial",slug:"elevenlabs-sound-effect-generator-ai-audio-creation-tutorial",excerpt:"Discover ElevenLabs' innovative sound effect generator that creates custom audio effects through text descriptions. Learn how to use this free tool to enhance your content with AI-generated sound effects.",content:"## Introducing ElevenLabs'' Sound Effect Generator\n\nElevenLabs, known for their voice cloning technology, has launched an impressive text-to-sound effect generator. This tool allows content creators to generate custom sound effects simply by describing them in text, offering a compelling alternative to traditional sound effect libraries.\n\n### Getting Started with the Free Plan\n\nEvery new user starts with:\n- 10,000 monthly characters\n- Each sound generation costs 200 characters\n- Four unique variations per generation\n- Access to custom voices and speech generation features\n\n> **Pro Tip**: Even though each generation costs 200 characters, you''re essentially getting 50 different sound effect options with the free plan!\n\n### Key Features and Capabilities\n\n#### Duration and Prompt Control\n- Adjustable clip length (default: 2-3 seconds)\n- Prompt adherence settings (0-100%)\n- Multiple variations per generation\n- History tracking for previous generations\n\n#### Generation Examples\n\n##### Simple Environmental Sounds\n```text\n\"Calm ocean waves with gentle seagull in the background\"\n```\nResults: Creates realistic wave sounds with occasional seagull calls, though seagull presence varies between generations.\n\n##### Atmospheric Effects\n```text\n\"Haunting wind with distant eerie whispers\"\n```\nResults: Produces compelling atmospheric sounds suitable for horror or suspense scenes.\n\n##### UI/UX Sounds\n```text\n\"Satisfying UI button click\"\n```\nResults: Generates clean, precise button sounds ideal for interface design.\n\n### Current Limitations\n\nThe tool excels at common sound effects but may struggle with:\n- Complex sound combinations\n- Unrealistic sce
213narios (e.g., \"rain hitting lava\")\n- Highly specific or technical sound requirements\n\n### Best Practices\n\n1. **Keep Descriptions Broad**: Broader prompts often yield better results than overly specific ones\n2. **Adjust Settings Carefully**: \n - Use 100% prompt adherence for precise needs\n - Adjust duration based on your specific use case\n3. **Save Successful Generations**: Use the history feature to track and reuse effective sounds\n\n## Why Choose ElevenLabs'' Sound Generator?\n\n#### Advantages\n- Free to try with generous character allowance\n- No subscription required\n- Instant generation\n- Multiple variations per prompt\n- High-quality output for common effects\n\n#### Perfect For\n- Content creators\n- Game developers\n- UI/UX designers\n- Podcast producers\n- Video editors\n\n### Future Potential\n\nWhile still in its early stages, the tool shows remarkable promise for:\n- Reducing dependency on traditional sound libraries\n- Creating unique, custom sound effects\n- Streamlining the audio production workflow\n\n## Conclusion\n\nElevenLabs'' Sound Effect Generator represents a significant step forward in AI-powered audio production. While it may not completely replace traditional sound libraries yet, it offers a valuable, free tool for creators needing quick, custom sound effects.",category:"Tutorials",image_url:"https://64.media.tumblr.com/033c4c2864db3b858863997996615638/aef36cfda904ace6-cb/s2048x3072/76075881908817b486fd3835f507cdc11ca6e7b5.pnj",featured:!1,published:!0,read_time:8,views:94,likes:0,published_at:"2024-11-16T17:35:25.419+00:00",created_at:"2024-11-16T17:35:25.419+00:00",updated_at:"2024-11-16T17:35:25.419+00:00",youtube_video_id:"723726piv4M"},{id:"096e9020-07d6-4aec-bfd6-383020bddee6",title:"Hidden CapCut Browser Tools: Free Video Editing Power Suite",slug:"hidden-capcut-browser-tools-free-video-editing",excerpt:"Discover CapCuts suite of powerful browser-based editing tools, including batch editors, background removers, and AI-powered features - all completely free with no subscription required.",content:"## Unlocking CapCut's Secret Browser Tools\n\nWhile CapCut is already known for its mobile editing capabilities, few creators realize it offers a powerful suite of browser-based tools - completely free and with no subscription required. These tools rival premium alternatives and can significantly enhance your content creation workflow.\n\n### Accessing the Tools\n\nThere are two main ways to access CapCut's browser tools:\n1. Direct tools splash page\n2. Project page (requires sign-in) \u2192 Magic Tools section\n\n> **Pro Tip**: The project page interface provides a more organized view of all available tools and features.\n\n### Key Features Overview\n\n#### \ud83c\udfac Video Enhancement Tools\n- Long video to shorts converter\n- Video upscaler\n- Video stabilization\n- Super slow motion effects\n\n#### \ud83c\udfa8 Image Processing\n- Batch editing capabilities\n- Background removal\n- Image upscaler\n- Photo colorizer (B&W to color)\n\n#### \ud83e\udd16 AI-Powered Features\n- Script to video generation\n- AI character creation\n- Text to design conversion\n- Ad creation assistance\n\n### Spotlight: Background Removal Tool\n\nThe background removal tool offers professional-grade capabilities:\n\n1. **Auto Detection**\n - Intelligent subject recognition\n - One-click removal option\n\n2. **Customization Options**\n - Multiple background color choices\n - Custom color selection\n - Export for further editing\n\n3. **Integration Tips**\n - Export with colored background for keying\n - Compatible with major editing software\n - Supports both images and videos\n\n### Batch Editing: A Game-Changer\n\n#### Key Features\n- Process up to 50 images simultaneously\n- Automatic background removal\n- Unified styling options\n- Consistent branding application\n\n#### Perfect For:\n- E-commerce product photos\n- Social media content creators\n- Brand consistency maintenance\n- Bulk image processing\n\n> **Use Case**: Ideal for online sellers needing consistent product photography across platforms like Amazon or eBay.\n\n### Script to Video Generator\n\nWhile still in early stages, this tool offers:\n- AI-powered script generation\n- Automatic video creation\n- Custom media integration options\n- Multiple preset topics\n\n### Advanced Features\n\n#### Video Enhancement\n- Professional upscaling\n- Stability improvement\n- Frame rate optimization\n- Quality enhancement\n\n#### Image Processing\n- AI-powered colorization\n- Resolution improvement\n- Batch processing\n- Style transfer\n\n## Best Practices\n\n### For Optimal Results\n1. Use appropriate background colors for keying\n2. Batch process similar content together\n3. Export in highest quality when available\n4. Test AI features with simple projects first\n\n### Time-Saving Tips\n- Utilize batch processing for similar items\n- Save commonly used settings\n- Use preset templates when available\n- Keep original files backed up\n\n## Conclusion\n\nCapCut's browser-based tools offer a remarkable suite of features that rival premium alternatives. While some features like the script-to-video generator are still maturing, the core tools provide professional-grade capabilities without any cost barr
213ier.\n\n### Key Takeaways\n- Completely free to use\n- No software installation required\n- Professional-grade results\n- Regular updates and improvements\n- Broad range of applications\n\nWhether you're a content creator, small business owner, or casual editor, these tools can significantly streamline your workflow without impacting your budget.",category:"Video Editing",image_url:"https://64.media.tumblr.com/1502cb4b63e7a648d5d6919bea588d35/aef36cfda904ace6-62/s2048x3072/bec7864b183f1516e9bfbccd2f6689e740d64d02.pnj",featured:!1,published:!0,read_time:9,views:234,likes:0,published_at:"2024-11-16T17:35:15.52348+00:00",created_at:"2024-11-16T17:35:15.52348+00:00",updated_at:"2024-11-16T17:35:15.52348+00:00",youtube_video_id:"lYpz9XEpgEw"},{id:"40ed41f7-e798-4b21-ba20-1e01ab5f38ce",title:"Fine SC3 Mixer Review: A Budget-Friendly Audio Solution for Creators",slug:"fine-sc3-mixer-review-budget-audio-solution",excerpt:"Exploring the Fine SC3 audio mixer, an affordable choice for beginner creators and streamers looking for solid audio control without breaking the bank.",content:'\n## Introduction\nIn the world of streaming and content creation, having reliable audio equipment is key, but high-quality gear often comes with a high price tag. Enter the **Fine SC3 Mixer** \u2013 a budget-friendly audio mixer aimed at new streamers and content creators. Priced under $60, the SC3 offers a range of features suited to those starting their journey without a pro-level setup.\n\n## Features and Key Benefits\nThe Fine SC3 packs several impressive features for its price point:\n\n- **XLR Input with Phantom Power**: Supports both condenser and dynamic mics, powered by its 48V phantom power, making it versatile for various microphone types.\n- **Voice Modulation Options**: Six voice effects, including robot and monster modes, add a fun element for live streams.\n- **Audio Sample Buttons**: Record small audio samples for playback during streaming, a useful tool for quick sound effects.\n- **Integrated Faders**: While they may feel less premium, the faders provide light indicators for adjusting gain levels and audio monitoring.\n\n## How It Stacks Up\nReviewer Harris Heller highlighted some limitations, notably around controlling PC and mic audio levels independently. While he has a point, I found that while the Fine SC3 doesn\u2019t have separate controls for PC and mic levels, it does allow overall volume adjustments, which is more than reasonable at this price.\n\n> "It\u2019s not a full-fledged audio interface like the GoXLR, but for under $60, it\u2019s a great entry-level option for creators."\n\n## Ideal Setup and Usage\nThe SC3 works best with a **single PC setup**. When connected via USB-C, it provides both input and output audio options, making it simple for a first-time streamer to monitor their audio. For musicians, like pianists or guitarists, the mixer also accepts line-in options, expanding its use case.\n\n### Pro Tips\n- For live streaming, keep mic monitoring on to catch audio issues in real time.\n- Consider this mixer if you need an affordable way to integrate multiple audio sources (e.g., vocals and instruments) into your stream.\n\n## Final Thoughts\nWhile the Fine SC3 lacks some advanced features, it brings solid audio mixing c
213apabilities to creators on a budget. If you\u2019re new to streaming and need a straightforward, functional audio mixer, this device deserves your attention.\n\n### Key Takeaways\n- Budget-friendly, feature-packed mixer ideal for single-PC setups.\n- Suitable for new creators and musicians.\n- Lacks independent audio controls but offers overall volume adjustment.\n\n',category:"Tech Reviews",image_url:"https://64.media.tumblr.com/2dc2d797a734b17459ff6b4aa7e47434/ca81ffb1e97d1366-fb/s2048x3072/5e8d0f3e373adcfc5fb5e73be24d9475a96494fb.pnj",featured:!1,published:!0,read_time:5,views:147,likes:0,published_at:"2024-11-12T02:42:57.004697+00:00",created_at:"2024-11-12T02:42:57.004697+00:00",updated_at:"2024-11-12T02:42:57.004697+00:00",youtube_video_id:"-ptMZOtRGYo"},{id:"1344819b-ce66-4967-9f2a-92df176708e7",title:"How to Create Perfect Karaoke Tracks: A Free Alternative to Vocal Remover",slug:"create-perfect-karaoke-tracks-free-alternative-vocal-remover",excerpt:"Learn how to isolate vocals and create karaoke versions of any song using Ultimate Vocal Remover 5, a powerful, free tool that runs locally on your machine. No subscriptions needed!",content:'## Creating Professional Karaoke Tracks with Ultimate Vocal Remover 5\n\nLooking for a reliable way to create karaoke versions of your favorite songs? While online tools like vocal remover.org work well, they often come with limitations and subscription fees. Today, I\'ll introduce you to Ultimate Vocal Remover 5, a free, locally-running solution that offers even better vocal isolation capabilities.\n\n### Key Benefits of Ultimate Vocal Remover 5\n- 100% free to use\n- Runs locally on your machine\n- No usage limitations\n- Superior vocal isolation quality\n- Supports both vocal removal and isolation\n\n### Installation Guide\n\n#### Windows Users\n1. Visit ultimatevocalremover.com\n2. Click "Download UVR" to access the GitHub link\n3. Use the main download link for Windows\n4. Run the UVR setup file\n5. Follow the standard installation process (Next > Next > Install)\n\n#### Mac Users\n1. Follow the same website path\n2. Choose the appropriate download:\n - Apple Silicon: Use the specific Apple Silicon link\n - Intel Mac: Use the Intel-specific link\n3. Drag the UVR icon to your Applications folder\n\n### Using Ultimate Vocal Remover 5\n\n#### Initial Setup\n1. Launch Ultimate Vocal Remover\n2. Download the recommended model:\n - Click "Choose Model"\n - Select the middle category\n - Scroll to find "NET-voc ft"\n - Download the model\n\n#### Processing Your First Track\n1. Select your input audio file\n2. Choose an output folder\n3. Select either:\n - "Vocals Only" for isolated vocals\n - "Instrumental Only" for karaoke backing tracks\n4. Click "Start Processing"\n\n> **Pro Tip**: The "NET-voc ft" model is specifically trained for optimal music and vocal separation, providing superior results compared to the default model.\n\n### Performance Notes\n- Processing time varies by song length\n- Example processing time: ~3.5 minutes per track\n- No internet connection required during processing\n- Maintains high-quality audio output\n\n## Summary\nUltimate Vocal Remover 5 provides a professional-grade solution for creating karaoke tracks and isolating vocals. Its local processing capability, combined with zero cost and unlimited usage, makes it an essential tool for content creators, musicians, and karaoke enthusiasts.\n\n### Key Takeaways\n- Free alternative to subscription-based services\n- Local processing ensures privacy and unlimited use\n- High-quality vocal separation using advanced AI models\n- Supports both vocal isolation and removal\n- User-friendly interface for all skill levels',category:"Tutorials",image_url:"https://64.media.tumblr.com/6a634bd2afa492bc6c2415582c027b32/c7c326bb8a77b230-9a/s1280x1920/160dd18212c955d0f61281d375f576dd008ff331.pnj",featured:!1,published:!0,read_time:7,views:114,likes:0,published_at:"2024-11-09T22:54:31.33732+00:00",created_at:"2024-11-09T22:54:31.33732+00:00",updated_at:"2024-11-09T22:54:31.33732+00:00",youtube_video_id:"Xfnu3GjDHno"},{id:"cccc7fa7-b43e-45f9-ab76-8aad96b5d038",title:"Finding Your Perfect YouTube Niche: A Strategic Guide for New Creators",slug:"finding-youtube-niche-strategy-guide",excerpt:"Learn how to identify and validate your ideal YouTube niche. Discover the balance between passion and profitability, and understand which content format suits your style best.",content:"## Choosing Your YouTube Direction: Niche and Format Guide\n\nOne of the most crucial decisions you'll make as a new creator is choosing your niche and content format. Let's break down how to make this decision strategically.\n\n### Understanding Content Formats\n\n#### Long-Form Content (10+ minutes)\n**Pros:**\n- Better monetization potential\n- Builds deeper audience connection\n- Higher search visibility\n- More room for detailed content\n\n**Cons:**\n- Requires more production time\n- Harder to maintain consistent schedule\n- Need for extensive planning\n\n#### Short-Form Content (< 3 minutes)\n**Pros:**\n- Faster to produce\n- Easier to experiment\n- Higher chance of viral growth\n- Perfect for busy creators\n\n**Cons:**\n- Lower monetization potential\n- Harder to build loyal audience\n- More competition\n\n#### Live Streaming\n**Pros:**\n- Immediate audience interaction\n- Less editing required\n- Creates strong community bonds\n- Regular engagement\n\n**Cons:**\n- Requires set schedule\n- Technical challenges\n- Need for constant energy\n- Less evergreen value\n\n### Finding Your Niche\n\n#### Step 1: Initial Brainstorming\n1. List your:\n - Hobbies\n - Professional skills\n - Daily activities\n - Topics you enjoy learning about\n\n2. Consider:\n - What do people ask your advice about?\n - What could you talk about for hours?\n - What problems can you solve?\n\n#### Step 2: Market Research\n1. Analyze Competition\n - Search your topics on YouTube\n - Study successful channels\n - Look for underserved angles\n\n2. Check Search Volume\n - Use YouTube search suggestions\n - Try Google Trends\n - Review related keywords\n\n#### Step 3: Validate Your Niche\n\n**The Perfect Niche Formula:**\n```\nYour Passion + Audience Demand + Monetization Potential = Viable Niche\n```\n\nAsk yourself:\n1. Can you create 100+ videos on this topic?\n2. Is there search volume for this content?\n3. Are there products/services to promote?\n4. Does this topic have staying power?\n\n### Choosing Your Format\n\nConsider these factors:\n1. **Your Schedule**\n - Long-form: 10+ hours/video\n - Short-form: 2-4 hours/video\n - Live: Set schedule needed\n\n2. **Your Personality**\n - Comfortable on camera?\n - Good at improvising?\n - Prefer scripted content?\n\n3. **Your Goals**\n - Build authority? (Long-form)\n - Quick growth? (Shorts)\n - Community building? (Live)\n\n### Testing Your Choice\n\n1. **Create Test Content**\n - Make 3-5 videos in each format\n - Try different approaches\n - Monitor viewer response\n\n2. **Analyze Results**\n - Watch time\n - Engagement rates\n - Your enjoyment level\n - Production efficie
213ncy\n\n### Red Flags to Watch For\n- Oversaturated niches\n- Trending topics with short lifespans\n- Topics you don't genuinely enjoy\n- Formats that drain your energy\n\n## Action Steps\n1. Complete the niche brainstorming exercise\n2. Research top 10 channels in your potential niche\n3. Create content in different formats\n4. Analyze results after 30 days\n5. Commit to your chosen direction\n\nRemember: Your first niche choice isn't permanent. Many successful creators pivot as they grow and learn more about their audience and themselves.",category:"YouTube Growth",image_url:"https://64.media.tumblr.com/f45ef4c45d6f61aa4b7b7996a1a5ad89/f0906578731fe354-68/s2048x3072/3340c7e5d53f24df1fbdfeee3e5f9db49bf12b0d.pnj",featured:!1,published:!0,read_time:10,views:369,likes:0,published_at:"2024-11-07T04:06:29+00:00",created_at:"2024-11-10T04:06:29+00:00",updated_at:"2024-10-31T03:06:29+00:00"},{id:"d43fb626-bb6a-4619-a313-e94f9d9f12b3",title:"How to Grow on YouTube While Working Full-Time: A Beginner's Guide",slug:"grow-youtube-channel-with-full-time-job",excerpt:"Discover practical strategies for building a successful YouTube channel while maintaining a 9-5 job. Learn time management techniques, content planning, and sustainable growth tactics for part-time creators.",content:"## Building a YouTube Channel Around Your 9-5 Schedule\n\nStarting a YouTube channel while working full-time might seem daunting, but with the right approach, you can build a thriving channel without burning out. Here's your roadmap to making it work.\n\n### Setting Realistic Expectations\n- Start with 1-2 videos per month\n- Focus on quality over quantity\n- Accept slower initial growth\n- Remember: consistency beats frequency\n\n### Time Management Essentials\n1. **Batch Content Creation**\n - Film multiple videos in one session\n - Edit several videos when you're in the flow\n - Schedule uploads in advance\n\n2. **Create a Sustainable Schedule**\n - Dedicate specific weekday evenings to filming\n - Use weekends for editing\n - Plan content month by month\n\n### Maximize Your Limited Time\n\n#### Content Planning (2-3 hours monthly)\n- Research trending topics in your niche\n- Create content calendar\n- Outline video scripts\n\n#### Filming (4-6 hours monthly)\n- Set up permanent filming space\n- Use natural light when possible\n- Film 2-3 videos per session\n\n#### Editing (8-10 hours monthly)\n- Create templates for intros/outros\n- Use keyboard shortcuts\n- Consider outsourcing when profitable\n\n### Growth Strategies for Part-Time Creators\n\n1. **Focus on Searchable Content**\n - Tutorial-based videos\n - How-to guides\n - Problem-solving content\n\n2. **Optimize Your Videos**\n - Strong titles and thumbnails\n - Detailed descriptions\n - Strategic tag usage\n\n3. **Build Systems**\n - Video templates\n - Description templates\n - Thumbnail templates\n\n### Managing Your Energy\n\n1. **Morning Routine**\n - Wake up 1 hour earlier\n - Work on YouTube before your day job\n - Focus on high-energy tasks\n\n2. **Evening Schedule**\n - Set aside 1-2 hours after work\n - Break tasks into 25-minute segments\n - Take regular breaks\n\n### Key Success Factors\n- Maintain a healthy work-life balance\n- Set realistic milestone goals\n- Track your progress\n- Adjust strategy based on analytics\n\n## Final Thoughts\nBuilding a YouTube channel while working full-time is a marathon, not a sprint. Focus on creating systems that work for your schedule, and remember that steady progress beats sporadic bursts of activity.",category:"YouTube Growth",image_url:"https://64.media.tumblr.com/87c298ec041d4e868c599da5d82d4b94/5f91b894e443a2f8-cb/s2048x3072/668407c19a3a01fa1bb7c8f6efe7e784eabac89f.pnj",featured:!1,published:!0,read_time:8,views:615,likes:0,published_at:"2024-11-07T04:06:29+00:00",created_at:"2024-11-08T04:06:29+00:00",updated_at:"2024-10-31T03:06:29+00:00"}],qr=()=>Kr.filter((e=>e.published)).sort(((e,t)=>{const n=new Date(t.published_at).getTime()-new Date(e.published_at).getTime();return 0!==n?n:new Date(t.created_at).getTime()-new Date(e.created_at).getTime()}
213)),Qr={async getFeaturedPost(){const e=qr();return e.find((e=>"building-my-own-vidiq"===e.slug))||e.find((e=>e.featured))||e[0]||null},async getPosts(e){let{category:t,page:n=1,limit:r=6,searchQuery:o=""}=e;const i=o.trim().toLowerCase();let a=qr();t&&"All"!==t&&(a=a.filter((e=>e.category===t))),i&&(a=a.filter((e=>`${e.title} ${e.content}`.toLowerCase().includes(i))));const l=(n-1)*r,s=l+r;return{posts:a.slice(l,s),total:a.length}},getCategories:async()=>Array.from(new Set(qr().map((e=>e.category)))).sort(((e,t)=>e.localeCompare(t))).map((e=>({id:e,name:e,slug:e.toLowerCase().replace(/\s+/g,"-")}))),getPostBySlug:async e=>qr().find((t=>t.slug===e))||null},Xr=kr.div` 214 padding: 3rem 2rem; 215 max-width: 1200px; 216 margin: 0 auto; 217 218 @media (max-width: 768px) { 219 padding: 1rem 0.85rem 2.75rem; 220 } 221`,Jr=kr.div` 222 margin-bottom: 3rem; 223 224 @media (max-width: 768px) { 225 margin-bottom: 1.25rem; 226 } 227`,Zr=kr.h1` 228 font-size: 2.5rem; 229 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 230 margin-bottom: 1rem; 231 232 @media (max-width: 768px) { 233 font-size: 1.55rem; 234 margin-bottom: 0.45rem; 235 } 236`,eo=kr.p` 237 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 238 font-size: 1.1rem; 239 line-height: 1.6; 240 margin-bottom: 2rem; 241 242 @media (max-width: 768px) { 243 font-size: 0.82rem; 244 line-height: 1.35; 245 margin-bottom: 0.9rem; 246 max-width: 24rem; 247 } 248`,to=kr.div` 249 display: flex; 250 gap: 1rem; 251 margin-bottom: 2rem; 252 flex-wrap: wrap; 253 254 @media (max-width: 768px) { 255 display: none; 256 } 257`,no=kr.button` 258 background: ${e=>{let{theme:t,active:n}=e;return n?t.colors.blue4:t.colors.blue3}}; 259 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 260 padding: 0.5rem 1rem; 261 border-radius: 8px; 262 font-size: 0.9rem; 263 border: none; 264 cursor: pointer; 265 white-space: nowrap; 266 transition: all 0.2s ease; 267 font-family: 'Poppins', sans-serif; 268 269 &:hover { 270 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 271 } 272`,ro=kr.div` 273 display: none; 274 275 @media (max-width: 768px) { 276 display: grid; 277 gap: 0.35rem; 278 } 279`,oo=kr.label` 280 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 281 font-size: 0.72rem; 282 font-weight: 700; 283`,io=kr.select` 284 width: 100%; 285 min-height: 44px; 286 appearance: none; 287 background: 288 linear-gradient(45deg, transparent 50%, ${e=>{let{theme:t}=e;return t.colors.blue10}} 50%) right 0.85rem center / 5px 5px no-repeat, 289 linear-gradient(135deg, ${e=>{let{theme:t}=e;return t.colors.blue2}}, ${e=>{let{theme:t}=e;return t.colors.blue3}}); 290 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 291 border-radius: 8px; 292 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 293 font-family: 'Poppins', sans-serif; 294 font-size: 0.86rem; 295 font-weight: 700; 296 padding: 0.7rem 1.75rem 0.7rem 0.8rem; 297`,ao=kr.div` 298 position: relative; 299 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 300 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 301 border-radius: 16px; 302 overflow: hidden; 303 margin-bottom: 3rem; 304 display: grid; 305 grid-template-columns: 1.2fr 1fr; 306 cursor: pointer; 307 transition: all 0.2s ease; 308 309 &:hover { 310 transform: translateY(-4px); 311 border-color: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 312 } 313 314 @media (max-width: 768px) { 315 grid-template-columns: 1fr; 316 border-color: ${e=>{let{theme:t}=e;return t.colors.blue5}}; 317 border-radius: 12px; 318 margin-bottom: 1.25rem; 319 box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18); 320 } 321`,lo=kr.div` 322 position: relative; 323 aspect-ratio: 16/9; 324 background-size: cover; 325 background-position: center; 326 background-color: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 327 328 @media (max-width: 768px) { 329 aspect-ratio: 16 / 9; 330 } 331`,so=kr.div` 332 padding: 2rem; 333 display: flex; 334 flex-direction: column; 335 336 @media (max-width: 768px) { 337 padding: 1rem; 338 339 button { 340 margin-top: 0.9rem !important; 341 padding: 0.65rem 0.9rem; 342 font-size: 0.8rem; 343 } 344 } 345`,co=kr.div` 346 display: grid; 347 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 348 gap: 1.5rem; 349 margin-bottom: 3rem; 350 351 @media (max-width: 768px) { 352 grid-template-columns: repeat(2, minmax(0, 1fr)); 353 gap: 0.7rem; 354 margin-bottom: 2rem; 355 } 356`,uo=kr.div` 357 position: relative; 358 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 359 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 360 border-radius: 16px; 361 overflow: hidden; 362 transition: all 0.2s ease;
363 cursor: pointer; 364 365 &:hover { 366 transform: translateY(-4px); 367 border-color: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 368 } 369 370 @media (max-width: 768px) { 371 border-radius: 10px; 372 } 373`,po=kr.div` 374 width: 100%; 375 aspect-ratio: 16/9; 376 background-size: cover; 377 background-position: center; 378 background-color: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 379 380 @media (max-width: 768px) { 381 aspect-ratio: 4 / 3; 382 } 383`,fo=kr.div` 384 padding: 1.5rem; 385 386 @media (max-width: 768px) { 387 padding: 0.65rem; 388 } 389`,mo=kr.span` 390 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 391 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 392 padding: 0.25rem 0.75rem; 393 border-radius: 6px; 394 font-size: 0.8rem; 395 font-weight: 500; 396 display: inline-block; 397 margin-bottom: 1rem; 398 399 @media (max-width: 768px) { 400 border-radius: 4px; 401 font-size: 0.58rem; 402 line-height: 1.1; 403 margin-bottom: 0.45rem; 404 max-width: 100%; 405 overflow: hidden; 406 padding: 0.22rem 0.42rem; 407 text-overflow: ellipsis; 408 white-space: nowrap; 409 } 410`,ho=kr.h2` 411 font-size: 1.5rem; 412 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 413 margin-bottom: 0.75rem; 414 font-weight: 600; 415 line-height: 1.3; 416 417 ${ao} & { 418 @media (max-width: 768px) { 419 font-size: 1.12rem; 420 line-height: 1.25; 421 margin-bottom: 0.7rem; 422 } 423 } 424 425 @media (max-width: 768px) { 426 font-size: 0.86rem; 427 line-height: 1.2; 428 margin-bottom: 0.65rem; 429 } 430`,go=kr.p` 431 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 432 font-size: 0.9rem; 433 line-height: 1.6; 434 margin-bottom: 1.5rem; 435 436 ${ao} & { 437 @media (max-width: 768px) { 438 display: -webkit-box; 439 font-size: 0.78rem; 440 line-height: 1.35; 441 margin-bottom: 0.75rem; 442 overflow: hidden; 443 -webkit-box-orient: vertical; 444 -webkit-line-clamp: 2; 445 } 446 } 447 448 @media (max-width: 768px) { 449 display: none; 450 } 451`,bo=kr.div` 452 display: flex; 453 align-items: center; 454 gap: 1rem; 455 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 456 font-size: 0.85rem; 457 458 @media (max-width: 768px) { 459 gap: 0.35rem; 460 font-size: 0.62rem; 461 line-height: 1.2; 462 margin-top: 0.15rem; 463 } 464`,vo=kr.div` 465 display: flex; 466 justify-content: center; 467 align-items: center; 468 min-height: 300px; 469 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 470 font-size: 1.1rem; 471`,yo=kr.div` 472 display: flex; 473 flex-direction: column; 474 justify-content: center; 475 align-items: center; 476 gap: 1rem; 477 min-height: 300px; 478 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 479 text-align: center; 480 481 div { 482 font-size: 1.1rem; 483 } 484`,xo=kr.div` 485 grid-column: 1 / -1; 486 display: flex; 487 justify-content: center; 488 align-items: center; 489 min-height: 200px; 490 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 491 text-align: center; 492 font-size: 1.1rem; 493`,wo=kr.span` 494 position: absolute; 495 top: 12px; 496 right: 12px; 497 background: ${e=>{let{theme:t}=e;return t.colors.blue5}}; 498 color: ${e=>{let{theme:t}=e;return t.colors.blue10}}; 499 padding: 0.25rem 0.75rem; 500 border-radius: 6px; 501 font-size: 0.8rem; 502 font-weight: 500; 503 display: inline-flex; 504 align-items: center; 505 gap: 0.25rem; 506 z-index: 2; /* Keep it above other elements */ 507 508 i { 509 font-size: 1rem; 510 } 511 512 @media (max-width: 768px) { 513 top: 8px; 514 right: 8px; 515 font-size: 0; 516 padding: 0.35rem; 517 518 i { 519 font-size: 0.85rem; 520 } 521 } 522`,Eo=kr.div` 523 position: absolute; 524 left: 1rem; 525 top: 1rem; 526 z-index: 2; 527 background: rgba(15, 17, 19, 0.78); 528 border: 1px solid rgba(250, 252, 255, 0.14); 529 border-radius: 999px; 530 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 531 font-size: 0.72rem; 532 font-weight: 800; 533 letter-spacing: 0.08em; 534 padding: 0.42rem 0.68rem; 535 text-transform: uppercase; 536 537 @media (max-width: 768px) { 538 left: 0.65rem; 539 top: 0.65rem; 540 font-size: 0.66rem; 541 padding: 0.34rem 0.52rem; 542 } 543`,_o="https://austindavenport.com",ko=`${_o}/social-preview.png`,To=(e,t,n)=>{const r=document.querySelector(e);r&&r.setAttribute(t,n)},Co=e=>{let{title:t,description:n,path:r,image:i=ko}=e;(0,o.useEffect)((()=>{const e=`${_o}${r}`;document.title=t,To('meta[name="description"]',"content",n),To('link[rel="canonical"]',"href",e),To('meta[property="og:url"]',"content",e),To('meta[property="og:title"]',"content",t),To('meta[property="og:description"]',"content",n),To('meta[property="og:image"]',"content",i),To('meta[name="twitter:title"]',"content",t),To('meta[name="twitter:description"]',"content",n),To('meta[name="twitter:image"]',"content",i)}),[t,n,r,i])},So=()=>{const e=ne(),[t,n]=(0,o.useState)(!0),[r,i]=(0,o.useState)(null),[a,l]=(0,o.useState)(null),[s,c]=(0,o.useState)([]),[u,d]=(0,o.useState)([]),[p,f]=(0,o.useState)("All"),[m,h]=(0,o.useState)(1);Co({title:"Blog | Austin Davenport",description:"Austin Davenport blog posts on video editing, creator workflows, YouTube growth, software builds, AI, and productivity.",path:"/blog"}),(0,o.useEffect)((()=>{g()}),[]),(0,o.useEffect)((()=>{b()}),[p,m]);const g=async()=>{try{n(!0),i(null);
543const[e,t]=await Promise.all([Qr.getFeaturedPost().catch((()=>null)),Qr.getCategories().catch((()=>[]))]);l(e),d(t)}catch{i("Failed to load blog data. Please try again later.")}finally{n(!1)}},b=async()=>{try{n(!0),i(null);const{posts:e}=await Qr.getPosts({category:"All"===p?void 0:p,page:m,limit:50});c(e)}catch{i("Failed to load blog posts. Please try again later.")}finally{n(!1)}},v=e=>{f(e),h(1)},y=t=>{e(`/blog/${t}`)},x=e=>{try{return new Intl.DateTimeFormat("en-US",{year:"numeric",month:"long",day:"numeric"}).format(new Date(e))}catch{return e}};return t?(0,$r.jsx)(Xr,{children:(0,$r.jsx)(vo,{children:(0,$r.jsx)("div",{children:"Loading blog posts..."})})}):r?(0,$r.jsx)(Xr,{children:(0,$r.jsxs)(yo,{children:[(0,$r.jsx)("div",{children:r}),(0,$r.jsx)(Wr,{onClick:()=>window.location.reload(),children:"Try Again"})]})}):(0,$r.jsxs)(Xr,{children:[(0,$r.jsxs)(Jr,{children:[(0,$r.jsx)(Zr,{children:"Blog"}),(0,$r.jsx)(eo,{children:"Tips, tutorials, and insights on content creation, YouTube growth, and building your online presence."}),(0,$r.jsxs)(ro,{children:[(0,$r.jsx)(oo,{htmlFor:"blog-category",children:"Filter"}),(0,$r.jsxs)(io,{id:"blog-category",value:p,onChange:e=>v(e.target.value),children:[(0,$r.jsx)("option",{value:"All",children:"All Posts"}),u.map((e=>(0,$r.jsx)("option",{value:e.name,children:e.name},e.id)))]})]}),(0,$r.jsxs)(to,{children:[(0,$r.jsx)(no,{active:"All"===p,onClick:()=>v("All"),"aria-pressed":"All"===p,children:"All Posts"}),u.map((e=>(0,$r.jsx)(no,{active:p===e.name,onClick:()=>v(e.name),"aria-pressed":p===e.name,children:e.name},e.id)))]})]}),a&&"All"===p&&(0,$r.jsxs)(ao,{onClick:()=>y(a.slug),children:[(0,$r.jsx)(lo,{style:{backgroundImage:`url(${a.image_url})`},children:(0,$r.jsx)(Eo,{children:"Featured Article"})}),(0,$r.jsxs)(so,{children:[(0,$r.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,$r.jsx)(mo,{children:a.category}),a.html_code&&(0,$r.jsxs)(wo,{children:[(0,$r.jsx)("i",{className:"bx bx-code-alt"}),"Interactive"]})]}),(0,$r.jsx)(ho,{children:a.title}),(0,$r.jsx)(go,{children:a.excerpt}),(0,$r.jsxs)(bo,{children:[(0,$r.jsx)("span",{children:x(a.published_at)}),(0,$r.jsx)("span",{children:"\u2022"}),(0,$r.jsxs)("span",{children:[a.read_time," min read"]})]}),(0,$r.jsx)(Wr,{icon:"bx bx-right-arrow-alt",style:{marginTop:"1.5rem"},children:"Read Article"})]})]}),(0,$r.jsx)(co,{children:s.length>0?s.map((e=>(0,$r.jsxs)(uo,{onClick:()=>y(e.slug),children:[(0,$r.jsx)(po,{style:{backgroundImage:`url(${e.image_url})`}}),(0,$r.jsxs)(fo,{children:[(0,$r.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,$r.jsx)(mo,{children:e.category}),e.html_code&&(0,$r.jsxs)(wo,{children:[(0,$r.jsx)("i",{className:"bx bx-code-alt"}),"Interactive"]})]}),(0,$r.jsx)(ho,{children:e.title}),(0,$r.jsx)(go,{children:e.excerpt}),(0,$r.jsxs)(bo,{children:[(0,$r.jsx)("span",{children:x(e.published_at)}),(0,$r.jsx)("span",{children:"\u2022"}),(0,$r.jsxs)("span",{children:[e.read_time," min read"]})]})]})]},e.id))):(0,$r.jsx)(xo,{children:(0,$r.jsx)("div",{children:"No posts found in this category."})})})]})};const Po=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ao=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ro={};function Io(e,t){return((t||Ro).jsx?Ao:Po).test(e)}const Lo=/[ \t\n\f\r]/g;function Oo(e){return""===e.replace(Lo,"")}class jo{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}function zo(e,t){const n={},r={};let o=-1;for(;++o<e.length;)Object.assign(n,e[o].property),Object.assign(r,e[o].normal);return new jo(n,r,t)}function No(e){return e.toLowerCase()}jo.prototype.property={},jo.prototype.normal={},jo.prototype.space=null;class Mo{constructor(e,t){this.property=e,this.attribute=t}}Mo.prototype.space=null,Mo.prototype.boolean=!1,Mo.prototype.booleanish=!1,Mo.prototype.overloadedBoolean=!1,Mo.prototype.number=!1,Mo.prototype.commaSeparated=!1,Mo.prototype.spaceSeparated=!1,Mo.prototype.commaOrSpaceSeparated=!1,Mo.prototype.mustUseProperty=!1,Mo.prototype.defined=!1;let Do=0;const Uo=Yo(),Fo=Yo(),$o=Yo(),Vo=Yo(),Bo=Yo(),Ho=Yo(),Go=Yo();function Yo(){return 2**++Do}const Wo=Object.keys(e);class Ko extends Mo{constructor(t,n,r,o){let i=-1;
vendor: 4,772 bytes, line 543
543if(super(t,n),qo(this,"space",o),"number"===typeof r)for(;++i<Wo.length;){const t=Wo[i];qo(this,Wo[i],(r&e[t])===e[t])}}}function qo(e,t,n){n&&(e[t]=n)}Ko.prototype.defined=!0;const Qo={}.hasOwnProperty;function Xo(e){const t={},n={};let r;for(r in e.properties)if(Qo.call(e.properties,r)){const o=e.properties[r],i=new Ko(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(i.mustUseProperty=!0),t[r]=i,n[No(r)]=r,n[No(i.attribute)]=r}return new jo(t,n,e.space)}const Jo=Xo({space:"xlink",transform:(e,t)=>"xlink:"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),Zo=Xo({space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function ei(e,t){return t in e?e[t]:t}function ti(e,t){return ei(e,t.toLowerCase())}const ni=Xo({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:ti,properties:{xmlns:null,xmlnsXLink:null}}),ri=Xo({transform:(e,t)=>"role"===t?t:"aria-"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:Fo,ariaAutoComplete:null,ariaBusy:Fo,ariaChecked:Fo,ariaColCount:Vo,ariaColIndex:Vo,ariaColSpan:Vo,ariaControls:Bo,ariaCurrent:null,ariaDescribedBy:Bo,ariaDetails:null,ariaDisabled:Fo,ariaDropEffect:Bo,ariaErrorMessage:null,ariaExpanded:Fo,ariaFlowTo:Bo,ariaGrabbed:Fo,ariaHasPopup:null,ariaHidden:Fo,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Bo,ariaLevel:Vo,ariaLive:null,ariaModal:Fo,ariaMultiLine:Fo,ariaMultiSelectable:Fo,ariaOrientation:null,ariaOwns:Bo,ariaPlaceholder:null,ariaPosInSet:Vo,ariaPressed:Fo,ariaReadOnly:Fo,ariaRelevant:null,ariaRequired:Fo,ariaRoleDescription:Bo,ariaRowCount:Vo,ariaRowIndex:Vo,ariaRowSpan:Vo,ariaSelected:Fo,ariaSetSize:Vo,ariaSort:null,ariaValueMax:Vo,ariaValueMin:Vo,ariaValueNow:Vo,ariaValueText:null,role:null}}),oi=Xo({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:ti,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ho,acceptCharset:Bo,accessKey:Bo,action:null,allow:null,allowFullScreen:Uo,allowPaymentRequest:Uo,allowUserMedia:Uo,alt:null,as:null,async:Uo,autoCapitalize:null,autoComplete:Bo,autoFocus:Uo,autoPlay:Uo,blocking:Bo,capture:null,charSet:null,checked:Uo,cite:null,className:Bo,cols:Vo,colSpan:null,content:null,contentEditable:Fo,controls:Uo,controlsList:Bo,coords:Vo|Ho,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Uo,defer:Uo,dir:null,dirName:null,disabled:Uo,download:$o,draggable:Fo,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Uo,formTarget:null,headers:Bo,height:Vo,hidden:Uo,high:Vo,href:null,hrefLang:null,htmlFor:Bo,httpEquiv:Bo,id:null,imageSizes:null,imageSrcSet:null,inert:Uo,inputMode:null,integrity:null,is:null,isMap:Uo,itemId:null,itemProp:Bo,itemRef:Bo,itemScope:Uo,itemType:Bo,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Uo,low:Vo,manifest:null,max:null,maxLength:Vo,media:null,method:null,min:null,minLength:Vo,multiple:Uo,muted:Uo,name:null,nonce:null,noModule:Uo,noValidate:Uo,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Uo,optimum:Vo,pattern:null,ping:Bo,placeholder:null,playsInl
543ine:Uo,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Uo,referrerPolicy:null,rel:Bo,required:Uo,reversed:Uo,rows:Vo,rowSpan:Vo,sandbox:Bo,scope:null,scoped:Uo,seamless:Uo,selected:Uo,shadowRootClonable:Uo,shadowRootDelegatesFocus:Uo,shadowRootMode:null,shape:null,size:Vo,sizes:null,slot:null,span:Vo,spellCheck:Fo,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Vo,step:null,style:null,tabIndex:Vo,target:null,title:null,translate:null,type:null,typeMustMatch:Uo,useMap:null,value:Fo,width:Vo,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Bo,axis:null,background:null,bgColor:null,border:Vo,borderColor:null,bottomMargin:Vo,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Uo,declare:Uo,event:null,face:null,frame:null,frameBorder:null,hSpace:Vo,leftMargin:Vo,link:null,longDesc:null,lowSrc:null,marginHeight:Vo,marginWidth:Vo,noResize:Uo,noHref:Uo,noShade:Uo,noWrap:Uo,object:null,profile:null,prompt:null,rev:null,rightMargin:Vo,rules:null,scheme:null,scrolling:Fo,standby:null,summary:null,text:null,topMargin:Vo,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Vo,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Uo,disableRemotePlayback:Uo,prefix:null,property:null,results:Vo,security:null,unselectable:null}}),ii=Xo({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav
543-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:ei,properties:{about:Go,accentHeight:Vo,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Vo,amplitude:Vo,arabicForm:null,ascent:Vo,attributeName:null,attributeType:null,azimuth:Vo,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Vo,by:null,calcMode:null,capHeight:Vo,className:Bo,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Vo,diffuseConstant:Vo,direction:null,display:null,dur:null,divisor:Vo,dominantBaseline:null,download:Uo,dx:null,dy:null,edgeMode:null,editable:null,elevation:Vo,enableBackground:null,end:null,event:null,exponent:Vo,externalResourcesRequired:null,fill:null,fillOpacity:Vo,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ho,g2:Ho,glyphName:Ho,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Vo,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Vo,horizOriginX:Vo,horizOriginY:Vo,id:null,ideographic:Vo,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Vo,k:Vo,k1:Vo,k2:Vo,k3:Vo,k4:Vo,kernelMatrix:Go,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Vo,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Vo,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,on
543Zoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Vo,overlineThickness:Vo,paintOrder:null,panose1:null,path:null,pathLength:Vo,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Bo,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Vo,pointsAtY:Vo,pointsAtZ:Vo,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Go,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Go,rev:Go,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Go,requiredFeatures:Go,requiredFonts:Go,requiredFormats:Go,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Vo,specularExponent:Vo,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Vo,strikethroughThickness:Vo,string:null,stroke:null,strokeDashArray:Go,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Vo,strokeOpacity:Vo,strokeWidth:null,style:null,surfaceScale:Vo,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Go,tabIndex:Vo,tableValues:null,target:null,targetX:Vo,targetY:Vo,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Go,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Vo,underlineThickness:Vo,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Vo,values:null,vAlphabetic:Vo,vMathematical:Vo,vectorEffect:null,vHanging:Vo,vIdeographic:Vo,version:null,vertAdvY:Vo,vertOriginX:Vo,vertOriginY:Vo,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Vo,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),ai=zo([Zo,Jo,ni,ri,oi],"html"),li=zo([Zo,Jo,ni,ri,ii],"svg"),si=/^data[-\w.:]+$/i,ci=/-[a-z]/g,ui=/[A-Z]/g;function di(e){return"-"+e.toLowerCase()}function pi(e){return e.charAt(1).toUpperCase()}const fi={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var mi=n(222);const hi=mi.default||mi,gi=vi("end"),bi=vi("start");function vi(e){return function(t){const n=t&&t.position&&t.position[e]||{};if("number"===typeof n.line&&n.line>0&&"number"===typeof n.column&&n.column>0)return{line:n.line,column:n.column,offset:"number"===typeof n.offset&&n.offset>-1?n.offset:void 0}}}function yi(e){return e&&"object"===typeof e?"position"in e||"type"in e?wi(e.position):"start"in e||"end"in e?wi(e):"line"in e||"column"in e?xi(e):"":""}function xi(e){return Ei(e&&e.line)+":"+Ei(e&&e.column)}function wi(e){return xi(e&&e.start)+"-"+xi(e&&e.end)}function Ei(e){return e&&"number"===typeof e?e:1}class _i extends Error{constructor(e,t,n){super(),"string"===typeof t&&(n=t,t=void 0);let r="",o={},i=!1;if(t&&(o="line"in t&&"column"in t||"start"in t&&"end"in t?{place:t}:"type"in t?{ancestors:[t],place:t.position}:{...t}),"string"===typeof e?r=e:!o.cause&&e&&(i=!0,r=e.message,o.cause=e),!o.ruleId&&!o.source&&"string"===typeof n){const e=n.indexOf(":");-1===e?o.ruleId=n:(o.source=n.slice(0,e),o.ruleId=n.slice(e+1))}if(!o.place&&o.ancestors&&o.ancestors){const e=o.ancestors[o.ancestors.length-1];e&&(o.place=e.position)}const a=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=a?a.line:void 0,this.name=yi(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=i&&o.cause&&"string"===typeof o.cause.stack?o.cause.stack:"",this.actual,this.expected,this.note,this.url}}_i.prototype.file="",_i.prototype.name="",_i.prototype.reason="",_i.prototype.message="",_i.prototype.stack="",_i.prototype.column=void 0,_i.prototype.line=void 0,_i.prototype.ancestors=void 0,_i.prototype.cause=void 0,_i.prototype.fatal=void 0,_i.prototype.place=void 0,_i.prototype.ruleId=void 0,_i.prototype.source=void 0;const ki={}.hasOwnProperty,Ti=new Map,Ci=/[A-Z]/g,Si=/-([a-z])/g,Pi=new Set(["table","tbody","thead","tfoot","tr"]),Ai=new Set(["td","th"]),Ri="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Ii(e,t){if(!t||void 0===t.Fragment)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if("function"!==typeof t.jsxDEV)throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=function(e,t){return n;function n(n,r,o,i){const a=Array.isArray(o.children),l=bi(n);return t(r,o,i,a,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}(n,t.jsxDEV)}else{if("function"!==typeof t.jsx)throw new TypeError("Expected `jsx` in production options");
vendor: 9,615 bytes, line 543
543if("function"!==typeof t.jsxs)throw new TypeError("Expected `jsxs` in production options");r=function(e,t,n){return r;function r(e,r,o,i){const a=Array.isArray(o.children)?n:t;return i?a(r,o,i):a(r,o)}}(0,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:"svg"===t.space?li:ai,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},i=Li(o,e,void 0);return i&&"string"!==typeof i?i:o.create(e,o.Fragment,{children:i||void 0},void 0)}function Li(e,t,n){return"element"===t.type?function(e,t,n){const r=e.schema;let o=r;"svg"===t.tagName.toLowerCase()&&"html"===r.space&&(o=li,e.schema=o);e.ancestors.push(t);const i=Mi(e,t.tagName,!1),a=function(e,t){const n={};let r,o;for(o in t.properties)if("children"!==o&&ki.call(t.properties,o)){const i=Ni(e,o,t.properties[o]);if(i){const[o,a]=i;e.tableCellAlignToStyle&&"align"===o&&"string"===typeof a&&Ai.has(t.tagName)?r=a:n[o]=a}}if(r){(n.style||(n.style={}))["css"===e.stylePropertyNameCase?"text-align":"textAlign"]=r}return n}(e,t);let l=zi(e,t);Pi.has(t.tagName)&&(l=l.filter((function(e){return"string"!==typeof e||!("object"===typeof(t=e)?"text"===t.type&&Oo(t.value):Oo(t));var t})));return Oi(e,a,i,t),ji(a,l),e.ancestors.pop(),e.schema=r,e.create(t,i,a,n)}(e,t,n):"mdxFlowExpression"===t.type||"mdxTextExpression"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater){const n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}Di(e,t.position)}(e,t):"mdxJsxFlowElement"===t.type||"mdxJsxTextElement"===t.type?function(e,t,n){const r=e.schema;let o=r;"svg"===t.name&&"html"===r.space&&(o=li,e.schema=o);e.ancestors.push(t);const i=null===t.name?e.Fragment:Mi(e,t.name,!0),a=function(e,t){const n={};for(const r of t.attributes)if("mdxJsxExpressionAttribute"===r.type)if(r.data&&r.data.estree&&e.evaluater){const t=r.data.estree.body[0];t.type;const o=t.expression;o.type;const i=o.properties[0];i.type,Object.assign(n,e.evaluater.evaluateExpression(i.argument))}else Di(e,t.position);else{const o=r.name;let i;if(r.value&&"object"===typeof r.value)if(r.value.data&&r.value.data.estree&&e.evaluater){const t=r.value.data.estree.body[0];t.type,i=e.evaluater.evaluateExpression(t.expression)}else Di(e,t.position);else i=null===r.value||r.value;n[o]=i}return n}(e,t),l=zi(e,t);return Oi(e,a,i,t),ji(a,l),e.ancestors.pop(),e.schema=r,e.create(t,i,a,n)}(e,t,n):"mdxjsEsm"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Di(e,t.position)}(e,t):"root"===t.type?function(e,t,n){const r={};return ji(r,zi(e,t)),e.create(t,e.Fragment,r,n)}(e,t,n):"text"===t.type?function(e,t){return t.value}(0,t):void 0}function Oi(e,t,n,r){"string"!==typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function ji(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function zi(e,t){const n=[];let r=-1;const o=e.passKeys?new Map:Ti;for(;++r<t.children.length;){const i=t.children[r];let a;if(e.passKeys){const e="element"===i.type?i.tagName:"mdxJsxFlowElement"===i.type||"mdxJsxTextElement"===i.type?i.name:void 0;if(e){const t=o.get(e)||0;a=e+"-"+t,o.set(e,t+1)}}const l=Li(e,i,a);void 0!==l&&n.push(l)}return n}function Ni(e,t,n){const r=function(e,t){const n=No(t);let r=t,o=Mo;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&"data"===n.slice(0,4)&&si.test(t)){if("-"===t.charAt(4)){const e=t.slice(5).replace(ci,pi);r="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{const e=t.slice(4);if(!ci.test(e)){let n=e.replace(ui,di);"-"!==n.charAt(0)&&(n="-"+n),t="data"+n}}o=Ko}return new o(r,t)}(e.schema,t);if(!(null===n||void 0===n||"number"===typeof n&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?function(e,t){const n=t||{};return(""===e[e.length-1]?[...e,""]:e).join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim()}(n):n.join(" ").trim()),"style"===r.property){let t="object"===typeof n?n:function(e,t){const n={};try{hi(t,r)}catch(o){if(!e.ignoreInvalidStyle){const t=o,n=new _i("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:t,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=Ri+"#cannot-parse-style-attribute",n}}return n;function r(e,t){let r=e;"--"!==r.slice(0,2)&&("-ms-"===r.slice(0,4)&&(r="ms-"+r.slice(4)),r=r.replace(Si,Fi)),n[r]=t}}(e,String(n));return"css"===e.stylePropertyNameCase&&(t=function(e){const t={};let n;for(n in e)ki.call(e,n)&&(t[Ui(n)]=e[n]);return t}(t)),["style",t]}return["react"===e.elementAttributeNameCase&&r.space?fi[r.property]||r.property:r.attribute,n]}}function Mi(e,t,n){let r;if(n)if(t.includes(".")){const e=t.split(".");let n,o=-1;for(;++o<e.length;){const t=Io(e[o])?{type:"Identifier",name:e[o]}:{type:"Literal",value:e[o]};n=n?{type:"MemberExpression",object:n,property:t,computed:Boolean(o&&"Literal"===t.type),optional:!1}:t}r=n}else r=Io(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};else r={type:"Literal",value:t};if("Literal"===r.type){const t=r.value;return ki.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);Di(e)}function Di(e,t){const n=new _i("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=Ri+"#cannot-handle-mdx-estrees-without-createevaluater",n}function Ui(e){let t=e.replace(Ci,$i);return"ms-"===t.slice(0,3)&&(t="-"+t),t}function Fi(e,t){return t.toUpperCase()}function $i(e){return"-"+e.toLowerCase()}const Vi={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},Bi={};function Hi(e,t,n){if(function(e){return Boolean(e&&"object"===typeof e)}(e)){if("value"in e)return"html"!==e.type||n?e.value:"";if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Gi(e.children,t,n)}return Array.isArray(e)?Gi(e,t,n):""}function Gi(e,t,n){const r=[];let o=-1;for(;++o<e.length;)r[o]=Hi(e[o],t,n);return r.join("")}function Yi(e,t,n,r){const o=e.length;let i,a=0;if(t=t<0?-t>o?0:o+t:t>o?o:t,n=n>0?n:0,r.length<1e4)i=Array.from(r),i.unshift(t,n),e.splice(...i);else for(n&&e.splice(t,n);a<r.length;)i=r.slice(a,a+1e4),i.unshift(t,0),e.splice(...i),a+=1e4,t+=1e4}function Wi(e,t){return e.length>0?(Yi(e,e.length,0,t),e):t}class Ki{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){const n=null===t||void 0===t?Number.POSITIVE_INFINITY:t;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){const r=t||0;this.setCursor(Math.trunc(e));const o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return n&&qi(this.left,n),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),qi(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),qi(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&0===this.right.length||e<0&&0===this.left.length))if(e<this.left.length){const t=this.left.splice(e,Number.POSITIVE_INFINITY);qi(this.right,t.reverse())}else{const t=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);qi(this.left,t.reverse())}}}function qi(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Qi(e){const t={};let n,r,o,i,a,l,s,c=-1;const u=new Ki(e);for(;++c<u.length;){for(;c in t;)c=t[c];if(n=u.get(c),c&&"chunkFlow"===n[1].type&&"listItemPrefix"===u.get(c-1)[1].type&&(l=n[1]._tokenizer.events,o=0,o<l.length&&"lineEndingBlank"===l[o][1].type&&(o+=2),o<l.length&&"content"===l[o][1].type))for(;++o<l.length&&"content"!==l[o][1].type;)"chunkText"===l[o][1].type&&(l[o][1]._isInFirstContentOfListItem=!0,o++);if("enter"===n[0])n[1].contentType&&(Object.assign(t,Xi(u,c)),c=t[c],s=!0);else if(n[1]._container){for(o=c,r=void 0;o--&&(i=u.get(o),"lineEnding"===i[1].type||"lineEndingBlank"===i[1].type);)"enter"===i[0]&&(r&&(u.get(r)[1].type="lineEndingBlank"),i[1].type="lineEnding",r=o);r&&(n[1].end=Object.assign({},u.get(r)[1].start),a=u.slice(r,c),a.unshift(n),u.splice(r,c-r+1,a))}}return Yi(e,0,Number.POSITIVE_INFINITY,u.slice(0)),!s}function Xi(e,t){const n=e.get(t)[1],r=e.get(t)[2];let o=t-1;const i=[],a=n._tokenizer||r.parser[n.contentType](n.start),l=a.events,s=[],c={};let u,d,p=-1,f=n,m=0,h=0;const g=[h];for(;f;){for(;e.get(++o)[1]!==f;);i.push(o),f._tokenizer||(u=r.sliceStream(f),f.next||u.push(null),d&&a.defineSki
vendor: 8,740 bytes, line 543
543p(f.start),f._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=!0),a.write(u),f._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=void 0)),d=f,f=f.next}for(f=n;++p<l.length;)"exit"===l[p][0]&&"enter"===l[p-1][0]&&l[p][1].type===l[p-1][1].type&&l[p][1].start.line!==l[p][1].end.line&&(h=p+1,g.push(h),f._tokenizer=void 0,f.previous=void 0,f=f.next);for(a.events=[],f?(f._tokenizer=void 0,f.previous=void 0):g.pop(),p=g.length;p--;){const t=l.slice(g[p],g[p+1]),n=i.pop();s.push([n,n+t.length-1]),e.splice(n,2,t)}for(s.reverse(),p=-1;++p<s.length;)c[m+s[p][0]]=m+s[p][1],m+=s[p][1]-s[p][0]-1;return c}const Ji={}.hasOwnProperty;function Zi(e,t){let n;for(n in t){const r=(Ji.call(e,n)?e[n]:void 0)||(e[n]={}),o=t[n];let i;if(o)for(i in o){Ji.call(r,i)||(r[i]=[]);const e=o[i];ea(r[i],Array.isArray(e)?e:e?[e]:[])}}}function ea(e,t){let n=-1;const r=[];for(;++n<t.length;)("after"===t[n].add?e:r).push(t[n]);Yi(e,0,0,r)}const ta=fa(/[A-Za-z]/),na=fa(/[\dA-Za-z]/),ra=fa(/[#-'*+\--9=?A-Z^-~]/);function oa(e){return null!==e&&(e<32||127===e)}const ia=fa(/\d/),aa=fa(/[\dA-Fa-f]/),la=fa(/[!-/:-@[-`{-~]/);function sa(e){return null!==e&&e<-2}function ca(e){return null!==e&&(e<0||32===e)}function ua(e){return-2===e||-1===e||32===e}const da=fa(/\p{P}|\p{S}/u),pa=fa(/\s/);function fa(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function ma(e,t,n,r){const o=r?r-1:Number.POSITIVE_INFINITY;let i=0;return function(r){if(ua(r))return e.enter(n),a(r);return t(r)};function a(r){return ua(r)&&i++<o?(e.consume(r),a):(e.exit(n),t(r))}}const ha={tokenize:function(e){const t=e.attempt(this.parser.constructs.contentInitial,(function(n){if(null===n)return void e.consume(n);return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),ma(e,t,"linePrefix")}),(function(t){return e.enter("paragraph"),r(t)}));let n;return t;function r(t){const r=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){return null===t?(e.exit("chunkText"),e.exit("paragraph"),void e.consume(t)):sa(t)?(e.consume(t),e.exit("chunkText"),r):(e.consume(t),o)}}};const ga={tokenize:function(e){const t=this,n=[];let r,o,i,a=0;return l;function l(r){if(a<n.length){const o=n[a];return t.containerState=o[1],e.attempt(o[0].continuation,s,c)(r)}return c(r)}function s(e){if(a++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,r&&v();const n=t.events.length;let o,i=n;for(;i--;)if("exit"===t.events[i][0]&&"chunkFlow"===t.events[i][1].type){o=t.events[i][1].end;break}b(a);let l=n;for(;l<t.events.length;)t.events[l][1].end=Object.assign({},o),l++;return Yi(t.events,i+1,0,t.events.slice(n)),t.events.length=l,c(e)}return l(e)}function c(o){if(a===n.length){if(!r)return p(o);if(r.currentConstruct&&r.currentConstruct.concrete)return m(o);t.interrupt=Boolean(r.currentConstruct&&!r._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(ba,u,d)(o)}function u(e){return r&&v(),b(a),p(e)}function d(e){return t.parser.lazy[t.now().line]=a!==n.length,i=t.now().offset,m(e)}function p(n){return t.containerState={},e.attempt(ba,f,m)(n)}function f(e){return a++,n.push([t.currentConstruct,t.containerState]),p(e)}function m(n){return null===n?(r&&v(),b(0),void e.consume(n)):(r=r||t.parser.flow(t.now()),e.enter("chunkFlow",{contentType:"flow",previous:o,_tokenizer:r}),h(n))}function h(n){return null===n?(g(e.exit("chunkFlow"),!0),b(0),void e.consume(n)):sa(n)?(e.consume(n),g(e.exit("chunkFlow")),a=0,t.interrupt=void 0,l):(e.consume(n),h)}function g(e,n){const l=t.sliceStream(e);if(n&&l.push(null),e.previous=o,o&&(o.next=e),o=e,r.defineSkip(e.start),r.write(l),t.parser.lazy[e.start.line]){let e=r.events.length;for(;e--;)if(r.events[e][1].start.offset<i&&(!r.events[e][1].end||r.events[e][1].end.offset>i))return;const n=t.events.length;let o,l,s=n;for(;s--;)if("exit"===t.events[s][0]&&"chunkFlow"===t.events[s][1].type){if(o){l=t.events[s][1].end;break}o=!0}for(b(a),e=n;e<t.events.length;)t.events[e][1].end=Object.assign({},l),e++;Yi(t.events,s+1,0,t.events.slice(n)),t.events.length=e}}function b(r){let o=n.length;for(;o-- >r;){const r=n[o];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){r.write([null]),o=void 0,r=void 0,t.containerState._closeFlow=void 0}}},ba={tokenize:function(e,t,n){return ma(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};const va={tokenize:function(e,t,n){return function(t){return ua(t)?ma(e,r,"linePrefix")(t):r(t)};function r(e){return null===e||sa(e)?t(e):n(e)}},partial:!0};const ya={tokenize:function(e,t){let n;return function(t){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),r(t)};function r(t){return null===t?o(t):sa(t)?e.check(xa,i,o)(t):(e.consume(t),r)}function o(n){return e.exit("chunkContent"),e.exit("content"),t(n)}function i(t){return e.consume(t),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,r}},resolve:function(e){return Qi(e),e}},xa={tokenize:function(e,t,n){const r=this;return function(t){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),ma(e,o,"linePrefix")};function o(o){if(null===o||sa(o))return n(o);const i=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}},partial:!0};const wa={tokenize:function(e){const t=this,n=e.attempt(va,(function(r){if(null===r)return void e.consume(r);return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,r,ma(e,e.attempt(this.parser.constructs.flow,r,e.attempt(ya,r)),"linePrefix")));return n;function r(r){if(null!==r)return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(r)}}};const Ea={resolveAll:Ca()},_a=Ta("string"),ka=Ta("text");function Ta(e){return{tokenize:function(t){const n=this,r=this.parser.constructs[e],o=t.attempt(r,i,a);return i;function i(e){return s(e)?o(e):a(e)}function a(e){if(null!==e)return t.enter("data"),t.consume(e),l;t.consume(e)}function l(e){return s(e)?(t.exit("data"),o(e)):(t.consume(e),l)}function s(e){if(null===e)return!0;const t=r[e];let o=-1;if(t)for(;++o<t.length;){const e=t[o];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}},resolveAll:Ca("text"===e?Sa:void 0)}}function Ca(e){return function(t,n){let r,o=-1;for(;++o<=t.length;)void 0===r?t[o]&&"data"===t[o][1].type&&(r=o,o++):t[o]&&"data"===t[o][1].type||(o!==r+2&&(t[r][1].end=t[o-1][1].end,t.splice(r+2,o-r-2),o=r+2),r=void 0);return e?e(t,n):t}}function Sa(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||"lineEnding"===e[n][1].type)&&"data"===e[n-1][1].type){const r=e[n-1][1],o=t.sliceStream(r);let i,a=o.length,l=-1,s=0;for(;a--;){const e=o[a];if("string"===typeof e){for(l=e.length;32===e.charCodeAt(l-1);)s++,l--;if(l)break;l=-1}else if(-2===e)i=!0,s++;else if(-1!==e){a++;break}}if(s){const o={type:n===e.length||i||s<2?"lineSuffix":"hardBreakTrailing",start:{line:r.end.line,column:r.end.column-s,offset:r.end.offset-s,_index:r.start._index+a,_bufferIndex:a?l:r.start._bufferIndex+l},end:Object.assign({},r.end)};r.end=Object.assign({},o.start),r.start.offset===r.end.offset?Object.assign(r,o):(e.splice(n,0,["enter",o,t],["exit",o,t]),n+=2)}n++}return e}function Pa(e,t,n){const r=[];let o=-1;for(;++o<e.length;){const i=e[o].resolveAll;i&&!r.includes(i)&&(t=i(t,n),r.push(i))}return t}function Aa(e,t,n){let r=Object.assign(n?Object.assign({},n):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1});const o={},i=[];let a=[],l=[],s=!0;const c={consume:function(e){sa(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,x()):-1!==e&&(r.column++,r.offset++);r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===a[r._index].length&&(r._bufferIndex=-1,r._index++));u.previous=e,s=!0},enter:function(e,t){const n=t||{};return n.type=e,n.start=m(),u.events.push(["enter",n,u]),l.push(n),n},exit:function(e){const t=l.pop();return t.end=m(),u.events.push(["exit",t,u]),t},attempt:v((function(e,t){y(e,t.from)})),check:v(b),interrupt:v(b,{interrupt:!0})},u={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:f,sliceSerialize:function(e,t){return function(e,t){let n=-1;const r=[];let o;for(;++n<e.length;){const i=e[n];let a;if("string"===typeof i)a=i;else switch(i){case-5:a="\r";break;case-4:a="\n";break;case-3:a="\r\n";break;case-2:a=t?" ":"\t";break;case-1:if(!t&&o)continue;a=" ";break;default:a=String.fromCharCode(i)}o=-2===i,r.push(a)}return r.join("")}(f(e),t)}
vendor: 3,397 bytes, line 543
543,now:m,defineSkip:function(e){o[e.line]=e.column,x()},write:function(e){if(a=Wi(a,e),h(),null!==a[a.length-1])return[];return y(t,0),u.events=Pa(i,u.events,u),u.events}};let d,p=t.tokenize.call(u,c);return t.resolveAll&&i.push(t),u;function f(e){return function(e,t){const n=t.start._index,r=t.start._bufferIndex,o=t.end._index,i=t.end._bufferIndex;let a;if(n===o)a=[e[n].slice(r,i)];else{if(a=e.slice(n,o),r>-1){const e=a[0];"string"===typeof e?a[0]=e.slice(r):a.shift()}i>0&&a.push(e[o].slice(0,i))}return a}(a,e)}function m(){const{line:e,column:t,offset:n,_index:o,_bufferIndex:i}=r;return{line:e,column:t,offset:n,_index:o,_bufferIndex:i}}function h(){let e;for(;r._index<a.length;){const t=a[r._index];if("string"===typeof t)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)g(t.charCodeAt(r._bufferIndex));else g(t)}}function g(e){s=void 0,d=e,p=p(e)}function b(e,t){t.restore()}function v(e,t){return function(n,o,i){let a,d,p,f;return Array.isArray(n)?h(n):"tokenize"in n?h([n]):function(e){return t;function t(t){const n=null!==t&&e[t],r=null!==t&&e.null;return h([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}(n);function h(e){return a=e,d=0,0===e.length?i:g(e[d])}function g(e){return function(n){f=function(){const e=m(),t=u.previous,n=u.currentConstruct,o=u.events.length,i=Array.from(l);return{restore:a,from:o};function a(){r=e,u.previous=t,u.currentConstruct=n,u.events.length=o,l=i,x()}}(),p=e,e.partial||(u.currentConstruct=e);if(e.name&&u.parser.constructs.disable.null.includes(e.name))return v(n);return e.tokenize.call(t?Object.assign(Object.create(u),t):u,c,b,v)(n)}}function b(t){return s=!0,e(p,f),o}function v(e){return s=!0,f.restore(),++d<a.length?g(a[d]):i}}}function y(e,t){e.resolveAll&&!i.includes(e)&&i.push(e),e.resolve&&Yi(u.events,t,u.events.length-t,e.resolve(u.events.slice(t),u)),e.resolveTo&&(u.events=e.resolveTo(u.events,u))}function x(){r.line in o&&r.column<2&&(r.column=o[r.line],r.offset+=o[r.line]-1)}}const Ra={name:"thematicBreak",tokenize:function(e,t,n){let r,o=0;return function(t){return e.enter("thematicBreak"),function(e){return r=e,i(e)}(t)};function i(i){return i===r?(e.enter("thematicBreakSequence"),a(i)):o>=3&&(null===i||sa(i))?(e.exit("thematicBreak"),t(i)):n(i)}function a(t){return t===r?(e.consume(t),o++,a):(e.exit("thematicBreakSequence"),ua(t)?ma(e,i,"whitespace")(t):i(t))}}};const Ia={name:"list",tokenize:function(e,t,n){const r=this,o=r.events[r.events.length-1];let i=o&&"linePrefix"===o[1].type?o[2].sliceSerialize(o[1],!0).length:0,a=0;return function(t){const o=r.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===o?!r.containerState.marker||t===r.containerState.marker:ia(t)){if(r.containerState.type||(r.containerState.type=o,e.enter(o,{_container:!0})),"listUnordered"===o)return e.enter("listItemPrefix"),42===t||45===t?e.check(Ra,n,s)(t):s(t);if(!r.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(t)}return n(t)};function l(t){return ia(t)&&++a<10?(e.consume(t),l):(!r.interrupt||a<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit("listItemValue"),s(t)):n(t)}function s(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||t,e.check(va,r.interrupt?n:c,e.attempt(La,d,u))}
vendor: 26,719 bytes, line 543
543function c(e){return r.containerState.initialBlankLine=!0,i++,d(e)}function u(t){return ua(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),d):n(t)}function d(n){return r.containerState.size=i+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}},continuation:{tokenize:function(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(va,o,i);function o(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ma(e,t,"listItemIndent",r.containerState.size+1)(n)}function i(n){return r.containerState.furtherBlankLines||!ua(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Oa,t,a)(n))}function a(o){return r.containerState._closeFlow=!0,r.interrupt=void 0,ma(e,e.attempt(Ia,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}},exit:function(e){e.exit(this.containerState.type)}},La={tokenize:function(e,t,n){const r=this;return ma(e,(function(e){const o=r.events[r.events.length-1];return!ua(e)&&o&&"listItemPrefixWhitespace"===o[1].type?t(e):n(e)}),"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)},partial:!0},Oa={tokenize:function(e,t,n){const r=this;return ma(e,(function(e){const o=r.events[r.events.length-1];return o&&"listItemIndent"===o[1].type&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(e):n(e)}),"listItemIndent",r.containerState.size+1)},partial:!0};const ja={name:"blockQuote",tokenize:function(e,t,n){const r=this;return function(t){if(62===t){const n=r.containerState;return n.open||(e.enter("blockQuote",{_container:!0}),n.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),o}return n(t)};function o(n){return ua(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}},continuation:{tokenize:function(e,t,n){const r=this;return function(t){if(ua(t))return ma(e,o,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t);return o(t)};function o(r){return e.attempt(ja,t,n)(r)}}},exit:function(e){e.exit("blockQuote")}};function za(e,t,n,r,o,i,a,l,s){const c=s||Number.POSITIVE_INFINITY;let u=0;return function(t){if(60===t)return e.enter(r),e.enter(o),e.enter(i),e.consume(t),e.exit(i),d;if(null===t||32===t||41===t||oa(t))return n(t);return e.enter(r),e.enter(a),e.enter(l),e.enter("chunkString",{contentType:"string"}),m(t)};function d(n){return 62===n?(e.enter(i),e.consume(n),e.exit(i),e.exit(o),e.exit(r),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),p(n))}function p(t){return 62===t?(e.exit("chunkString"),e.exit(l),d(t)):null===t||60===t||sa(t)?n(t):(e.consume(t),92===t?f:p)}function f(t){return 60===t||62===t||92===t?(e.consume(t),p):p(t)}function m(o){return u||null!==o&&41!==o&&!ca(o)?u<c&&40===o?(e.consume(o),u++,m):41===o?(e.consume(o),u--,m):null===o||32===o||40===o||oa(o)?n(o):(e.consume(o),92===o?h:m):(e.exit("chunkString"),e.exit(l),e.exit(a),e.exit(r),t(o))}function h(t){return 40===t||41===t||92===t?(e.consume(t),m):m(t)}}function Na(e,t,n,r,o,i){const a=this;let l,s=0;return function(t){return e.enter(r),e.enter(o),e.consume(t),e.exit(o),e.enter(i),c};function c(d){return s>999||null===d||91===d||93===d&&!l||94===d&&!s&&"_hiddenFootnoteSupport"in a.parser.constructs?n(d):93===d?(e.exit(i),e.enter(o),e.consume(d),e.exit(o),e.exit(r),t):sa(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),u(d))}function u(t){return null===t||91===t||93===t||sa(t)||s++>999?(e.exit("chunkString"),c(t)):(e.consume(t),l||(l=!ua(t)),92===t?d:u)}function d(t){return 91===t||92===t||93===t?(e.consume(t),s++,u):u(t)}}function Ma(e,t,n,r,o,i){let a;return function(t){if(34===t||39===t||40===t)return e.enter(r),e.enter(o),e.consume(t),e.exit(o),a=40===t?41:t,l;return n(t)};function l(n){return n===a?(e.enter(o),e.consume(n),e.exit(o),e.exit(r),t):(e.enter(i),s(n))}function s(t){return t===a?(e.exit(i),l(a)):null===t?n(t):sa(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),ma(e,s,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(t))}function c(t){return t===a||null===t||sa(t)?(e.exit("chunkString"),s(t)):(e.consume(t),92===t?u:c)}function u(t){return t===a||92===t?(e.consume(t),c):c(t)}}function Da(e,t){let n;return function r(o){if(sa(o))return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),n=!0,r;if(ua(o))return ma(e,r,n?"linePrefix":"lineSuffix")(o);return t(o)}}function Ua(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Fa={name:"definition",tokenize:function(e,t,n){const r=this;let o;return function(t){return e.enter("definition"),function(t){return Na.call(r,e,i,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)}(t)};function i(t){return o=Ua(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),a):n(t)}function a(t){return ca(t)?Da(e,l)(t):l(t)}function l(t){return za(e,s,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(t)}function s(t){return e.attempt($a,c,c)(t)}function c(t){return ua(t)?ma(e,u,"whitespace")(t):u(t)}function u(i){return null===i||sa(i)?(e.exit("definition"),r.parser.defined.push(o),t(i)):n(i)}}},$a={tokenize:function(e,t,n){return function(t){return ca(t)?Da(e,r)(t):n(t)};function r(t){return Ma(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t)}function o(t){return ua(t)?ma(e,i,"whitespace")(t):i(t)}function i(e){return null===e||sa(e)?t(e):n(e)}},partial:!0};const Va={name:"codeIndented",tokenize:function(e,t,n){const r=this;return function(t){return e.enter("codeIndented"),ma(e,o,"linePrefix",5)(t)};function o(e){const t=r.events[r.events.length-1];return t&&"linePrefix"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?i(e):n(e)}function i(t){return null===t?l(t):sa(t)?e.attempt(Ba,i,l)(t):(e.enter("codeFlowValue"),a(t))}function a(t){return null===t||sa(t)?(e.exit("codeFlowValue"),i(t)):(e.consume(t),a)}function l(n){return e.exit("codeIndented"),t(n)}}},Ba={tokenize:function(e,t,n){const r=this;return o;function o(t){return r.parser.lazy[r.now().line]?n(t):sa(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o):ma(e,i,"linePrefix",5)(t)}function i(e){const i=r.events[r.events.length-1];return i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(e):sa(e)?o(e):n(e)}},partial:!0};const Ha={name:"headingAtx",tokenize:function(e,t,n){let r=0;return function(t){return e.enter("atxHeading"),function(t){return e.enter("atxHeadingSequence"),o(t)}(t)};function o(t){return 35===t&&r++<6?(e.consume(t),o):null===t||ca(t)?(e.exit("atxHeadingSequence"),i(t)):n(t)}function i(n){return 35===n?(e.enter("atxHeadingSequence"),a(n)):null===n||sa(n)?(e.exit("atxHeading"),t(n)):ua(n)?ma(e,i,"whitespace")(n):(e.enter("atxHeadingText"),l(n))}function a(t){return 35===t?(e.consume(t),a):(e.exit("atxHeadingSequence"),i(t))}function l(t){return null===t||35===t||ca(t)?(e.exit("atxHeadingText"),i(t)):(e.consume(t),l)}},resolve:function(e,t){let n,r,o=e.length-2,i=3;"whitespace"===e[i][1].type&&(i+=2);o-2>i&&"whitespace"===e[o][1].type&&(o-=2);"atxHeadingSequence"===e[o][1].type&&(i===o-1||o-4>i&&"whitespace"===e[o-2][1].type)&&(o-=i+1===o?2:4);o>i&&(n={type:"atxHeadingText",start:e[i][1].start,end:e[o][1].end},r={type:"chunkText",start:e[i][1].start,end:e[o][1].end,contentType:"text"},Yi(e,i,o-i+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]]));return e}};const Ga={name:"setextUnderline",tokenize:function(e,t,n){const r=this;let o;return function(t){let a,l=r.events.length;for(;l--;)if("lineEnding"!==r.events[l][1].type&&"linePrefix"!==r.events[l][1].type&&"content"!==r.events[l][1].type){a="paragraph"===r.events[l][1].type;break}if(!r.parser.lazy[r.now().line]&&(r.interrupt||a))return e.enter("setextHeadingLine"),o=t,function(t){return e.enter("setextHeadingLineSequence"),i(t)}(t);return n(t)};function i(t){return t===o?(e.consume(t),i):(e.exit("setextHeadingLineSequence"),ua(t)?ma(e,a,"lineSuffix")(t):a(t))}function a(r){return null===r||sa(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){let n,r,o,i=e.length;for(;i--;)if("enter"===e[i][0]){if("content"===e[i][1].type){n=i;break}"paragraph"===e[i][1].type&&(r=i)}else"content"===e[i][1].type&&e.splice(i,1),o||"definition"!==e[i][1].type||(o=i);const a={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};e[r][1].type="setextHeadingText",o?(e.splice(r,0,["enter",a,t]),e.splice(o+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[o][1].end)):e[n][1]=a;return e.push(["exit",a,t]),e}};const Ya=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Wa=["pre","script","style","textarea"],Ka={name:"htmlFlow",tokenize:function(e,t,n){const r=this;let o,i,a,l,s;return function(t){return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),c}(t)};function c(l){return 33===l?(e.consume(l),u):47===l?(e.consume(l),i=!0,f):63===l?(e.consume(l),o=3,r.interrupt?t:j):ta(l)?(e.consume(l),a=String.fromCharCode(l),m):n(l)}function u(i){return 45===i?(e.consume(i),o=2,d):91===i?(e.consume(i),o=5,l=0,p):ta(i)?(e.consume(i),o=4,r.interrupt?t:j):n(i)}function d(o){return 45===o?(e.consume(o),r.interrupt?t:j):n(o)}function p(o){const i="CDATA[";return o===i.charCodeAt(l++)?(e.consume(o),6===l?r.interrupt?t:C:p):n(o)}function f(t){return ta(t)?(e.consume(t),a=String.fromCharCode(t),m):n(t)}function m(l){if(null===l||47===l||62===l||ca(l)){const s=47===l,c=a.toLowerCase();return s||i||!Wa.includes(c)?Ya.includes(a.toLowerCase())?(o=6,s?(e.consume(l),h):r.interrupt?t(l):C(l)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(l):i?g(l):b(l)):(o=1,r.interrupt?t(l):C(l))}return 45===l||na(l)?(e.consume(l),a+=String.fromCharCode(l),m):n(l)}function h(o){return 62===o?(e.consume(o),r.interrupt?t:C):n(o)}function g(t){return ua(t)?(e.consume(t),g):k(t)}function b(t){return 47===t?(e.consume(t),k):58===t||95===t||ta(t)?(e.consume(t),v):ua(t)?(e.consume(t),b):k(t)}function v(t){return 45===t||46===t||58===t||95===t||na(t)?(e.consume(t),v):y(t)}function y(t){return 61===t?(e.consume(t),x):ua(t)?(e.consume(t),y):b(t)}function x(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),s=t,w):ua(t)?(e.consume(t),x):E(t)}function w(t){return t===s?(e.consume(t),s=null,_):null===t||sa(t)?n(t):(e.consume(t),w)}function E(t){return null===t||34===t||39===t||47===t||60===t||61===t||62===t||96===t||ca(t)?y(t):(e.consume(t),E)}function _(e){return 47===e||62===e||ua(e)?b(e):n(e)}function k(t){return 62===t?(e.consume(t),T):n(t)}function T(t){return null===t||sa(t)?C(t):ua(t)?(e.consume(t),T):n(t)}function C(t){return 45===t&&2===o?(e.consume(t),R):60===t&&1===o?(e.consume(t),I):62===t&&4===o?(e.consume(t),z):63===t&&3===o?(e.consume(t),j):93===t&&5===o?(e.consume(t),O):!sa(t)||6!==o&&7!==o?null===t||sa(t)?(e.exit("htmlFlowData"),S(t)):(e.consume(t),C):(e.exit("htmlFlowData"),e.check(qa,N,S)(t))}function S(t){return e.check(Qa,P,N)(t)}function P(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),A}function A(t){return null===t||sa(t)?S(t):(e.enter("htmlFlowData"),C(t))}function R(t){return 45===t?(e.consume(t),j):C(t)}function I(t){return 47===t?(e.consume(t),a="",L):C(t)}function L(t){if(62===t){const n=a.toLowerCase();return Wa.includes(n)?(e.consume(t),z):C(t)}return ta(t)&&a.length<8?(e.consume(t),a+=String.fromCharCode(t),L):C(t)}function O(t){return 93===t?(e.consume(t),j):C(t)}function j(t){return 62===t?(e.consume(t),z):45===t&&2===o?(e.consume(t),j):C(t)}function z(t){return null===t||sa(t)?(e.exit("htmlFlowData"),N(t)):(e.consume(t),z)}function N(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},qa={tokenize:function(e,t,n){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(va,t,n)}},partial:!0},Qa={tokenize:function(e,t,n){const r=this;return function(t){if(sa(t))return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o;return n(t)};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0};const Xa={tokenize:function(e,t,n){const r=this;return function(t){if(null===t)return n(t);return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0},Ja={name:"codeFenced",tokenize:function(e,t,n){const r=this,o={tokenize:function(e,t,n){let o=0;return a;function a(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),s}function s(t){return e.enter("codeFencedFence"),ua(t)?ma(e,c,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):c(t)}function c(t){return t===i?(e.enter("codeFencedFenceSequence"),u(t)):n(t)}function u(t){return t===i?(o++,e.consume(t),u):o>=l?(e.exit("codeFencedFenceSequence"),ua(t)?ma(e,d,"whitespace")(t):d(t)):n(t)}function d(r){return null===r||sa(r)?(e.exit("codeFencedFence"),t(r)):n(r)}},partial:!0};let i,a=0,l=0;return function(t){return function(t){const n=r.events[r.events.length-1];return a=n&&"linePrefix"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,i=t,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),s(t)}(t)};function s(t){return t===i?(l++,e.consume(t),s):l<3?n(t):(e.exit("codeFencedFenceSequence"),ua(t)?ma(e,c,"whitespace")(t):c(t))}function c(n){return null===n||sa(n)?(e.exit("codeFencedFence"),r.interrupt?t(n):e.check(Xa,f,v)(n)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),u(n))}function u(t){return null===t||sa(t)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),c(t)):ua(t)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ma(e,d,"whitespace")(t)):96===t&&t===i?n(t):(e.consume(t),u)}function d(t){return null===t||sa(t)?c(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),p(t))}function p(t){return null===t||sa(t)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),c(t)):96===t&&t===i?n(t):(e.consume(t),p)}function f(t){return e.attempt(o,v,m)(t)}function m(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),h}function h(t){return a>0&&ua(t)?ma(e,g,"linePrefix",a+1)(t):g(t)}function g(t){return null===t||sa(t)?e.check(Xa,f,v)(t):(e.enter("codeFlowValue"),b(t))}function b(t){return null===t||sa(t)?(e.exit("codeFlowValue"),g(t)):(e.consume(t),b)}function v(n){return e.exit("codeFenced"),t(n)}},concrete:!0};const Za=document.createElement("i");function el(e){const t="&"+e+";";Za.innerHTML=t;const n=Za.textContent;return(59!==n.charCodeAt(n.length-1)||"semi"===e)&&(n!==t&&n)}const tl={name:"characterReference",tokenize:function(e,t,n){const r=this;let o,i,a=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),l};function l(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),s):(e.enter("characterReferenceValue"),o=31,i=na,c(t))}function s(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,i=aa,c):(e.enter("characterReferenceValue"),o=7,i=ia,c(t))}function c(l){if(59===l&&a){const o=e.exit("characterReferenceValue");return i!==na||el(r.sliceSerialize(o))?(e.enter("characterReferenceMarker"),e.consume(l),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(l)}return i(l)&&a++<o?(e.consume(l),c):n(l)}}};const nl={name:"characterEscape",tokenize:function(e,t,n){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),r};function r(r){return la(r)?(e.enter("characterEscapeValue"),e.consume(r),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(r)}}};const rl={name:"lineEnding",tokenize:function(e,t){return function(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),ma(e,t,"linePrefix")}}};const ol={name:"labelEnd",tokenize:function(e,t,n){const r=this;let o,i,a=r.events.length;for(;a--;)if(("labelImage"===r.events[a][1].type||"labelLink"===r.events[a][1].type)&&!r.events[a][1]._balanced){o=r.events[a][1];break}return function(t){if(!o)return n(t);if(o._inactive)return u(t);return i=r.parser.defined.includes(Ua(r.sliceSerialize({start:o.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),l};function l(t){return 40===t?e.attempt(il,c,i?c:u)(t):91===t?e.attempt(al,c,i?s:u)(t):i?c(t):u(t)}function s(t){return e.attempt(ll,c,u)(t)}function c(e){return t(e)}function u(e){return o._balanced=!0,n(e)}},resolveTo:function(e,t){let n,r,o,i,a=e.length,l=0;for(;a--;)if(n=e[a][1],r){if("link"===n.type||"labelLink"===n.type&&n._inactive)break;"enter"===e[a][0]&&"labelLink"===n.type&&(n._inactive=!0)}else if(o){if("enter"===e[a][0]&&("labelImage"===n.type||"labelLink"===n.type)&&!n._balanced&&(r=a,"labelLink"!==n.type)){l=2;break}}else"labelEnd"===n.type&&(o=a);const s={type:"labelLink"===e[r][1].type?"link":"image",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)},c={type:"label",start:Object.assign({},e[r][1].start),end:Object.assign({},e[o][1].end)},u={type:"labelText",start:Object.assign({},e[r+l+2][1].end),end:Object.assign({},e[o-2][1].start)};return i=[["enter",s,t],["enter",c,t]],i=Wi(i,e.slice(r+1,r+l+3)),i=Wi(i,[["enter",u,t]]),i=Wi(i,Pa(t.parser.constructs.insideSpan.null,e.slice(r+l+4,o-3),t)),i=Wi(i,[["exit",u,t],e[o-2],e[o-1],["exit",c,t]]),i=Wi(i,e.slice(o+1)),i=Wi(i,[["exit",s,t]]),Yi(e,r,e.length,i),e},resolveAll:function(e){let t=-1;for(;++t<e.length;){const n=e[t][1];"labelImage"!==n.type&&"labelLink"!==n.type&&"labelEnd"!==n.type||(e.splice(t+1,"labelImage"===n.type?4:2),n.type="data",t++)}return e}},il={tokenize:function(e,t,n){return function(t){return e.enter("resource"),e.enter("resourceMarker"),e.consume(t),e.exit("resourceMarker"),r};function r(t){return ca(t)?Da(e,o)(t):o(t)}function o(t){return 41===t?c(t):za(e,i,a,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(t)}function i(t){return ca(t)?Da(e,l)(t):c(t)}function a(e){return n(e)}function l(t){return 34===t||39===t||40===t?Ma(e,s,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(t):c(t)}function s(t){return ca(t)?Da(e,c)(t):c(t)}function c(r){return 41===r?(e.enter("resourceMarker"),e.consume(r),e.exit("resourceMarker"),e.exit("resource"),t):n(r)}}},al={tokenize:function(e,t,n){const r=this;return function(t){return Na.call(r,e,o,i,"reference","referenceMarker","referenceString")(t)};function o(e){return r.parser.defined.includes(Ua(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function i(e){return n(e)}}},ll={tokenize:function(e,t,n){return function(t){return e.enter("reference"),e.enter("referenceMarker"),e.consume(t),e.exit("referenceMarker"),r};function r(r){return 93===r?(e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),e.exit("reference"),t):n(r)}}};const sl={name:"labelStartImage",tokenize:function(e,t,n){const r=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),o};function o(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),i):n(t)}function i(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:ol.resolveAll};function cl(e){return null===e||ca(e)||pa(e)?1:da(e)?2:void 0}const ul={name:"attention",tokenize:function(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=cl(r);let i;return function(t){return i=t,e.enter("attentionSequence"),a(t)};function a(l){if(l===i)return e.consume(l),a;const s=e.exit("attentionSequence"),c=cl(l),u=!c||2===c&&o||n.includes(l),d=!o||2===o&&c||n.includes(r);return s._open=Boolean(42===i?u:u&&(o||!d)),s._close=Boolean(42===i?d:d&&(c||!u)),t(l)}},resolveAll:function(e,t){let n,r,o,i,a,l,s,c,u=-1;for(;++u<e.length;)if("enter"===e[u][0]&&"attentionSequence"===e[u][1].type&&e[u][1]._close)for(n=u;n--;)if("exit"===e[n][0]&&"attentionSequence"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[u][1]).charCodeAt(0)){if((e[n][1]._close||e[u][1]._open)&&(e[u][1].end.offset-e[u][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[u][1].end.offset-e[u][1].start.offset)%3))continue;l=e[n][1].end.offset-e[n][1].start.offset>1&&e[u][1].end.offset-e[u][1].start.offset>1?2:1;const d=Object.assign({},e[n][1].end),p=Object.assign({},e[u][1].start);dl(d,-l),dl(p,l),i={type:l>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[n][1].end)},a={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[u][1].start),end:p},o={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[u][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},i.start),end:Object.assign({},a.end)},e[n][1].end=Object.assign({},i.start),e[u][1].start=Object.assign({},a.end),s=[],e[n][1].end.offset-e[n][1].start.offset&&(s=Wi(s,[["enter",e[n][1],t],["exit",e[n][1],t]])),s=Wi(s,[["enter",r,t],["enter",i,t],["exit",i,t],["enter",o,t]]),s=Wi(s,Pa(t.parser.constructs.insideSpan.null,e.slice(n+1,u),t)),s=Wi(s,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",r,t]]),e[u][1].end.offset-e[u][1].start.offset?(c=2,s=Wi(s,[["enter",e[u][1],t],["exit",e[u][1],t]])):c=0,Yi(e,n-1,u-n+3,s),u=n+s.length-c-2;break}u=-1;for(;++u<e.length;)"attentionSequence"===e[u][1].type&&(e[u][1].type="data");return e}};function dl(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const pl={name:"autolink",tokenize:function(e,t,n){let r=0;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),o};function o(t){return ta(t)?(e.consume(t),i):64===t?n(t):s(t)}function i(e){return 43===e||45===e||46===e||na(e)?(r=1,a(e)):s(e)}function a(t){return 58===t?(e.consume(t),r=0,l):(43===t||45===t||46===t||na(t))&&r++<32?(e.consume(t),a):(r=0,s(t))}function l(r){return 62===r?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(r),e.exit("autolinkMarker"),e.exit("autolink"),t):null===r||32===r||60===r||oa(r)?n(r):(e.consume(r),l)}function s(t){return 64===t?(e.consume(t),c):ra(t)?(e.consume(t),s):n(t)}function c(e){return na(e)?u(e):n(e)}function u(n){return 46===n?(e.consume(n),r=0,c):62===n?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(n),e.exit("autolinkMarker"),e.exit("autolink"),t):d(n)}function d(t){if((45===t||na(t))&&r++<63){const n=45===t?d:u;return e.consume(t),n}return n(t)}}};const fl={name:"htmlText",tokenize:function(e,t,n){const r=this;let o,i,a;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),l};function l(t){return 33===t?(e.consume(t),s):47===t?(e.consume(t),x):63===t?(e.consume(t),v):ta(t)?(e.consume(t),_):n(t)}function s(t){return 45===t?(e.consume(t),c):91===t?(e.consume(t),i=0,f):ta(t)?(e.consume(t),b):n(t)}function c(t){return 45===t?(e.consume(t),p):n(t)}function u(t){return null===t?n(t):45===t?(e.consume(t),d):sa(t)?(a=u,L(t)):(e.consume(t),u)}function d(t){return 45===t?(e.consume(t),p):u(t)}function p(e){return 62===e?I(e):45===e?d(e):u(e)}function f(t){const r="CDATA[";return t===r.charCodeAt(i++)?(e.consume(t),6===i?m:f):n(t)}function m(t){return null===t?n(t):93===t?(e.consume(t),h):sa(t)?(a=m,L(t)):(e.consume(t),m)}function h(t){return 93===t?(e.consume(t),g):m(t)}function g(t){return 62===t?I(t):93===t?(e.consume(t),g):m(t)}function b(t){return null===t||62===t?I(t):sa(t)?(a=b,L(t)):(e.consume(t),b)}function v(t){return null===t?n(t):63===t?(e.consume(t),y):sa(t)?(a=v,L(t)):(e.consume(t),v)}function y(e){return 62===e?I(e):v(e)}function x(t){return ta(t)?(e.consume(t),w):n(t)}function w(t){return 45===t||na(t)?(e.consume(t),w):E(t)}function E(t){return sa(t)?(a=E,L(t)):ua(t)?(e.consume(t),E):I(t)}function _(t){return 45===t||na(t)?(e.consume(t),_):47===t||62===t||ca(t)?k(t):n(t)}function k(t){return 47===t?(e.consume(t),I):58===t||95===t||ta(t)?(e.consume(t),T):sa(t)?(a=k,L(t)):ua(t)?(e.consume(t),k):I(t)}function T(t){return 45===t||46===t||58===t||95===t||na(t)?(e.consume(t),T):C(t)}function C(t){return 61===t?(e.consume(t),S):sa(t)?(a=C,L(t)):ua(t)?(e.consume(t),C):k(t)}function S(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),o=t,P):sa(t)?(a=S,L(t)):ua(t)?(e.consume(t),S):(e.consume(t),A)}function P(t){return t===o?(e.consume(t),o=void 0,R):null===t?n(t):sa(t)?(a=P,L(t)):(e.consume(t),P)}function A(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):47===t||62===t||ca(t)?k(t):(e.consume(t),A)}function R(e){return 47===e||62===e||ca(e)?k(e):n(e)}function I(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}function L(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),O}function O(t){return ua(t)?ma(e,j,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):j(t)}function j(t){return e.enter("htmlTextData"),a(t)}}};const ml={name:"labelStartLink",tokenize:function(e,t,n){const r=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),o};function o(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:ol.resolveAll};
vendor: 5,615 bytes, line 543
543const hl={name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.consume(t),r};function r(r){return sa(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}};const gl={name:"codeText",tokenize:function(e,t,n){let r,o,i=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),a(t)};function a(t){return 96===t?(e.consume(t),i++,a):(e.exit("codeTextSequence"),l(t))}function l(t){return null===t?n(t):32===t?(e.enter("space"),e.consume(t),e.exit("space"),l):96===t?(o=e.enter("codeTextSequence"),r=0,c(t)):sa(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l):(e.enter("codeTextData"),s(t))}function s(t){return null===t||32===t||96===t||sa(t)?(e.exit("codeTextData"),l(t)):(e.consume(t),s)}function c(n){return 96===n?(e.consume(n),r++,c):r===i?(e.exit("codeTextSequence"),e.exit("codeText"),t(n)):(o.type="codeTextData",s(n))}},resolve:function(e){let t,n,r=e.length-4,o=3;if(("lineEnding"===e[o][1].type||"space"===e[o][1].type)&&("lineEnding"===e[r][1].type||"space"===e[r][1].type))for(t=o;++t<r;)if("codeTextData"===e[t][1].type){e[o][1].type="codeTextPadding",e[r][1].type="codeTextPadding",o+=2,r-=2;break}t=o-1,r++;for(;++t<=r;)void 0===n?t!==r&&"lineEnding"!==e[t][1].type&&(n=t):t!==r&&"lineEnding"!==e[t][1].type||(e[n][1].type="codeTextData",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),r-=t-n-2,t=n+2),n=void 0);return e},previous:function(e){return 96!==e||"characterEscape"===this.events[this.events.length-1][1].type}};const bl={42:Ia,43:Ia,45:Ia,48:Ia,49:Ia,50:Ia,51:Ia,52:Ia,53:Ia,54:Ia,55:Ia,56:Ia,57:Ia,62:ja},vl={91:Fa},yl={[-2]:Va,[-1]:Va,32:Va},xl={35:Ha,42:Ra,45:[Ga,Ra],60:Ka,61:Ga,95:Ra,96:Ja,126:Ja},wl={38:tl,92:nl},El={[-5]:rl,[-4]:rl,[-3]:rl,33:sl,38:tl,42:ul,60:[pl,fl],91:ml,92:[hl,nl],93:ol,95:ul,96:gl},_l={null:[ul,Ea]},kl={null:[42,95]},Tl={null:[]};function Cl(e){const n=function(e){const t={};let n=-1;for(;++n<e.length;)Zi(t,e[n]);return t}([t,...(e||{}).extensions||[]]),r={defined:[],lazy:{},constructs:n,content:o(ha),document:o(ga),flow:o(wa),string:o(_a),text:o(ka)};return r;function o(e){return function(t){return Aa(r,e,t)}}}const Sl=/[\0\t\n\r]/g;function Pl(e,t){const n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535===(65535&n)||65534===(65535&n)||n>1114111?"\ufffd":String.fromCodePoint(n)}const Al=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Rl(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return Pl(n.slice(t?2:1),t?16:10)}return el(n)||e}const Il={}.hasOwnProperty;function Ll(e,t,n){return"string"!==typeof t&&(n=t,t=void 0),function(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:i(te),autolinkProtocol:T,autolinkEmail:T,atxHeading:i(X),blockQuote:i(Y),characterEscape:T,characterReference:T,codeFenced:i(W),codeFencedFenceInfo:a,codeFencedFenceMeta:a,codeIndented:i(W,a),codeText:i(K,a),codeTextData:T,data:T,codeFlowValue:T,definition:i(q),definitionDestinationString:a,definitionLabelString:a,definitionTitleString:a,emphasis:i(Q),hardBreakEscape:i(J),hardBreakTrailing:i(J),htmlFlow:i(Z,a),htmlFlowData:T,htmlText:i(Z,a),htmlTextData:T,image:i(ee),label:a,link:i(te),listItem:i(re),listItemValue:p,listOrdered:i(ne,d),listUnordered:i(ne),paragraph:i(oe),reference:U,referenceString:a,resourceDestinationString:a,resourceTitleString:a,setextHeading:i(X),strong:i(ie),thematicBreak:i(le)},exit:{atxHeading:s(),atxHeadingSequence:w,autolink:s(),autolinkEmail:G,autolinkProtocol:H,blockQuote:s(),characterEscapeValue:C,characterReferenceMarkerHexadecimal:$,characterReferenceMarkerNumeric:$,characterReferenceValue:V,characterReference:B,codeFenced:s(g),codeFencedFence:h,codeFencedFenceInfo:f,codeFencedFenceMeta:m,codeFlowValue:C,codeIndented:s(b),codeText:s(I),codeTextData:C,data:C,definition:s(),definitionDestinationString:x,definitionLabelString:v,definitionTitleString:y,emphasis:s(),hardBreakEscape:s(P),hardBreakTrailing:s(P),htmlFlow:s(A),htmlFlowData:C,htmlText:s(R),htmlTextData:C,image:s(O),label:z,labelText:j,lineEnding:S,link:s(L),listItem:s(),listOrdered:s(),listUnordered:s(),paragraph:s(),referenceString:F,resourceDestinationString:N,resourceTitleString:M,resource:D,setextHeading:s(k),setextHeadingLineSequence:_,setextHeadingText:E,strong:s(),thematicBreak:s()}};jl(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(e){let r={type:"root",children:[]};const i={stack:[r],tokenStack:[],config:t,enter:l,exit:c,buffer:a,resume:u,data:n},s=[];let d=-1;for(;++d<e.length;)if("listOrdered"===e[d][1].type||"listUnordered"===e[d][1].type)if("enter"===e[d][0])s.push(d);else{d=o(e,s.pop(),d)}for(d=-1;++d<e.length;){const n=t[e[d][0]];Il.call(n,e[d][1].type)&&n[e[d][1].type].call(Object.assign({sliceSerialize:e[d][2].sliceSerialize},i),e[d][1])}if(i.tokenStack.length>0){const e=i.tokenStack[i.tokenStack.length-1];(e[1]||Nl).call(i,void 0,e[0])}for(r.position={start:Ol(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:Ol(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d<t.transforms.length;)r=t.transforms[d](r)||r;return r}function o(e,t,n){let r,o,i,a,l=t-1,s=-1,c=!1;for(;++l<=n;){const t=e[l];switch(t[1].type){case"listUnordered":case"listOrdered":case"blockQuote":"enter"===t[0]?s++:s--,a=void 0;break;case"lineEndingBlank":"enter"===t[0]&&(!r||a||s||i||(i=l),a=void 0);break;case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:a=void 0}
vendor: 6,801 bytes, line 543
543if(!s&&"enter"===t[0]&&"listItemPrefix"===t[1].type||-1===s&&"exit"===t[0]&&("listUnordered"===t[1].type||"listOrdered"===t[1].type)){if(r){let a=l;for(o=void 0;a--;){const t=e[a];if("lineEnding"===t[1].type||"lineEndingBlank"===t[1].type){if("exit"===t[0])continue;o&&(e[o][1].type="lineEndingBlank",c=!0),t[1].type="lineEnding",o=a}else if("linePrefix"!==t[1].type&&"blockQuotePrefix"!==t[1].type&&"blockQuotePrefixWhitespace"!==t[1].type&&"blockQuoteMarker"!==t[1].type&&"listItemIndent"!==t[1].type)break}i&&(!o||i<o)&&(r._spread=!0),r.end=Object.assign({},o?e[o][1].start:t[1].end),e.splice(o||l,0,["exit",r,t[2]]),l++,n++}if("listItemPrefix"===t[1].type){const o={type:"listItem",_spread:!1,start:Object.assign({},t[1].start),end:void 0};r=o,e.splice(l,0,["enter",o,t[2]]),l++,n++,i=void 0,a=!0}}}return e[t][1]._spread=c,n}function i(e,t){return n;function n(n){l.call(this,e(n),n),t&&t.call(this,n)}}function a(){this.stack.push({type:"fragment",children:[]})}function l(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:Ol(t.start),end:void 0}}function s(e){return t;function t(t){e&&e.call(this,t),c.call(this,t)}}function c(e,t){const n=this.stack.pop(),r=this.tokenStack.pop();if(!r)throw new Error("Cannot close `"+e.type+"` ("+yi({start:e.start,end:e.end})+"): it\u2019s not open");if(r[0].type!==e.type)if(t)t.call(this,e,r[0]);else{(r[1]||Nl).call(this,e,r[0])}n.position.end=Ol(e.end)}function u(){return function(e,t){const n=t||Bi;return Hi(e,"boolean"!==typeof n.includeImageAlt||n.includeImageAlt,"boolean"!==typeof n.includeHtml||n.includeHtml)}(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function p(e){if(this.data.expectingFirstListItemValue){this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0}}function f(){const e=this.resume();this.stack[this.stack.length-1].lang=e}function m(){const e=this.resume();this.stack[this.stack.length-1].meta=e}function h(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function g(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function b(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}function v(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=Ua(this.sliceSerialize(e)).toLowerCase()}function y(){const e=this.resume();this.stack[this.stack.length-1].title=e}function x(){const e=this.resume();this.stack[this.stack.length-1].url=e}function w(e){const t=this.stack[this.stack.length-1];if(!t.depth){const n=this.sliceSerialize(e).length;t.depth=n}}function E(){this.data.setextHeadingSlurpLineEnding=!0}function _(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2}function k(){this.data.setextHeadingSlurpLineEnding=void 0}function T(e){const t=this.stack[this.stack.length-1].children;let n=t[t.length-1];n&&"text"===n.type||(n=ae(),n.position={start:Ol(e.start),end:void 0},t.push(n)),this.stack.push(n)}function C(e){const t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=Ol(e.end)}function S(e){const n=this.stack[this.stack.length-1];if(this.data.atHardBreak){return n.children[n.children.length-1].position.end=Ol(e.end),void(this.data.atHardBreak=void 0)}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(T.call(this,e),C.call(this,e))}function P(){this.data.atHardBreak=!0}function A(){const e=this.resume();this.stack[this.stack.length-1].value=e}function R(){const e=this.resume();this.stack[this.stack.length-1].value=e}function I(){const e=this.resume();this.stack[this.stack.length-1].value=e}function L(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function O(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function j(e){const t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=function(e){return e.replace(Al,Rl)}(t),n.identifier=Ua(t).toLowerCase()}function z(){const e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];if(this.data.inReference=!0,"link"===n.type){const t=e.children;n.children=t}else n.alt=t}function N(){const e=this.resume();this.stack[this.stack.length-1].url=e}function M(){const e=this.resume();this.stack[this.stack.length-1].title=e}function D(){this.data.inReference=void 0}function U(){this.data.referenceType="collapsed"}function F(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=Ua(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType="full"}function $(e){this.data.characterReferenceType=e.type}function V(e){const t=this.sliceSerialize(e),n=this.data.characterReferenceType;let r;if(n)r=Pl(t,"characterReferenceMarkerNumeric"===n?10:16),this.data.characterReferenceType=void 0;else{r=el(t)}this.stack[this.stack.length-1].value+=r}function B(e){this.stack.pop().position.end=Ol(e.end)}function H(e){C.call(this,e);this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function G(e){C.call(this,e);this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)}function Y(){return{type:"blockquote",children:[]}}function W(){return{type:"code",lang:null,meta:null,value:""}}function K(){return{type:"inlineCode",value:""}}function q(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Q(){return{type:"emphasis",children:[]}}function X(){return{type:"heading",depth:0,children:[]}}function J(){return{type:"break"}}function Z(){return{type:"html",value:""}}function ee(){return{type:"image",title:null,url:"",alt:null}}function te(){return{type:"link",title:null,url:"",children:[]}}function ne(e){return{type:"list",ordered:"listOrdered"===e.type,start:null,spread:e._spread,children:[]}}function re(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}function oe(){return{type:"paragraph",children:[]}}function ie(){return{type:"strong",children:[]}}function ae(){return{type:"text",value:""}}function le(){return{type:"thematicBreak"}}}(n)(function(e){for(;!Qi(e););return e}(Cl(n).document().write(function(){let e,t=1,n="",r=!0;return function(o,i,a){const l=[];let s,c,u,d,p;for(o=n+("string"===typeof o?o.toString():new TextDecoder(i||void 0).decode(o)),u=0,n="",r&&(65279===o.charCo
543deAt(0)&&u++,r=void 0);u<o.length;){if(Sl.lastIndex=u,s=Sl.exec(o),d=s&&void 0!==s.index?s.index:o.length,p=o.charCodeAt(d),!s){n=o.slice(u);break}if(10===p&&u===d&&e)l.push(-3),e=void 0;else switch(e&&(l.push(-5),e=void 0),u<d&&(l.push(o.slice(u,d)),t+=d-u),p){case 0:l.push(65533),t++;break;case 9:for(c=4*Math.ceil(t/4),l.push(-2);t++<c;)l.push(-1);break;case 10:l.push(-4),t=1;break;default:e=!0,t=1}u=d+1}return a&&(e&&l.push(-5),n&&l.push(n),l.push(null)),l}}()(e,t,!0))))}function Ol(e){return{line:e.line,column:e.column,offset:e.offset}}function jl(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?jl(e,r):zl(e,r)}}function zl(e,t){let n;for(n in t)if(Il.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function Nl(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+yi({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+yi({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+yi({start:t.start,end:t.end})+") is still open")}function Ml(e){const t=this;t.parser=function(n){return Ll(n,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}const Dl="object"===typeof self?self:globalThis,Ul=e=>((e,t)=>{const n=(t,n)=>(e.set(n,t),t),r=o=>{if(e.has(o))return e.get(o);const[i,a]=t[o];switch(i){case 0:case-1:return n(a,o);case 1:{const e=n([],o);for(const t of a)e.push(r(t));return e}case 2:{const e=n({},o);for(const[t,n]of a)e[r(t)]=r(n);return e}case 3:return n(new Date(a),o);case 4:{const{source:e,flags:t}=a;return n(new RegExp(e,t),o)}case 5:{const e=n(new Map,o);for(const[t,n]of a)e.set(r(t),r(n));return e}case 6:{const e=n(new Set,o);for(const t of a)e.add(r(t));return e}case 7:{const{name:e,message:t}=a;return n(new Dl[e](t),o)}case 8:return n(BigInt(a),o);case"BigInt":return n(Object(BigInt(a)),o)}return n(new Dl[i](a),o)};return r})(new Map,e)(0),Fl="",{toString:$l}={},{keys:Vl}=Object,Bl=e=>{const t=typeof e;if("object"!==t||!e)return[0,t];const n=$l.call(e).slice(8,-1);switch(n){case"Array":return[1,Fl];case"Object":return[2,Fl];case"Date":return[3,Fl];case"RegExp":return[4,Fl];case"Map":return[5,Fl];case"Set":return[6,Fl]}return n.includes("Array")?[1,n]:n.includes("Error")?[7,n]:[2,n]},Hl=e=>{let[t,n]=e;return 0===t&&("function"===n||"symbol"===n)},Gl=function(e){let{json:t,lossy:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=[];return((e,t,n,r)=>{const o=(e,t)=>{const o=r.push(e)-1;return n.set(t,o),o},i=r=>{if(n.has(r))return n.get(r);let[a,l]=Bl(r);switch(a){case 0:{let t=r;switch(l){case"bigint":a=8,t=r.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);t=null;break;case"undefined":return o([-1],r)}return o([a,t],r)}case 1:{if(l)return o([l,[...r]],r);const e=[],t=o([a,e],r);for(const n of r)e.push(i(n));return t}case 2:{if(l)switch(l){case"BigInt":return o([l,r.toString()],r);case"Boolean":case"Number":case"String":return o([l,r.valueOf()],r)}if(t&&"toJSON"in r)return i(r.toJSON());const n=[],s=o([a,n],r);for(const t of Vl(r))!e&&Hl(Bl(r[t]))||n.push([i(t),i(r[t])]);return s}case 3:return o([a,r.toISOString()],r);case 4:{const{source:e,flags:t}=r;return o([a,{source:e,flags:t}],r)}case 5:{const t=[],n=o([a,t],r);for(const[o,a]of r)(e||!Hl(Bl(o))&&!Hl(Bl(a)))&&t.push([i(o),i(a)]);return n}case 6:{const t=[],n=o([a,t],r);for(const o of r)!e&&Hl(Bl(o))||t.push(i(o));return n}}const{message:s}=r;return o([a,{name:l,message:s}],r)};return i})(!(t||n),!!t,new Map,r)(e),r},Yl="function"===typeof structuredClone?(e,t)=>t&&("json"in t||"lossy"in t)?Ul(Gl(e,t)):structuredClone(e):(e,t)=>Ul(Gl(e,t));function Wl(e){const t=[];let n=-1,r=0,o=0;for(;++n<e.length;){const i=e.charCodeAt(n);let a="";if(37===i&&na(e.charCodeAt(n+1))&&na(e.charCodeAt(n+2)))o=2;else if(i<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(i))||(a=String.fromCharCode(i));else if(i>55295&&i<57344){const t=e.charCodeAt(n+1);i<56320&&t>56319&&t<57344?(a=String.fromCharCode(i,t),o=1):a="\ufffd"}else a=String.fromCharCode(i);a&&(t.push(e.slice(r,n),encodeURIComponent(a)),r=n+o+1,a=""),o&&(n+=o,o=0)}return t.join("")+e.slice(r)}function Kl(e,t){const n=[{type:"text",value:"\u21a9"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function ql(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}const Ql=function(e){if(null===e||void 0===e)return Jl;if("function"===typeof e)return Xl(e);if("object"===typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=Ql(e[n]);return Xl(r);function r(){let e=-1;for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];for(;++e<t.length;)if(t[e].apply(this,r))return!0;return!1}}(e):function(e){const t=e;return Xl(n);function n(n){const r=n;let o;for(o in e)if(r[o]!==t[o])return!1;return!0}}(e);if("string"===typeof e)return function(e){return Xl(t);function t(t){return t&&t.type===e}}(e);throw new Error("Expected function, string, or object as test")};function Xl(e){return function(t,n,r){return Boolean(Zl(t)&&e.call(this,t,"number"===typeof n?n:void 0,r||void 0))}}function Jl(){return!0}function Zl(e){return null!==e&&"object"===typeof e&&"type"in e}const es=[],ts=!0,ns=!1;function rs(e,t,n,r){let o;"function"===typeof t&&"function"!==typeof n?(r=n,n=t):o=t;const i=Ql(o),a=r?-1:1;!function e(o,l,s){const c=o&&"object"===typeof o?o:{};if("string"===typeof c.type){const e="string"===typeof c.tagName?c.tagName:"string"===typeof c.name?c.name:void 0;Object.defineProperty(u,"name",{value:"node ("+o.type+(e?"<"+e+">":"")+")"})}return u;function u(){let c,u,d,p=es;if((!t||i(o,l,s[s.length-1]||void 0))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[ts,e];return null===e||void 0===e?es:[e]}(n(o,s)),p[0]===ns))return p;if("children"in o&&o.children){const t=o;
vendor: 9,783 bytes, line 543
543if(t.children&&"skip"!==p[0])for(u=(r?t.children.length:-1)+a,d=s.concat(t);u>-1&&u<t.children.length;){const n=t.children[u];if(c=e(n,u,d)(),c[0]===ns)return c;u="number"===typeof c[1]?c[1]:u+a}}return p}}(e,void 0,[])()}function os(e,t,n,r){let o,i,a;"function"===typeof t&&"function"!==typeof n?(i=void 0,a=t,o=n):(i=t,a=n,o=r),rs(e,i,(function(e,t){const n=t[t.length-1],r=n?n.children.indexOf(e):void 0;return a(e,r,n)}),o)}function is(e,t){const n=t.referenceType;let r="]";if("collapsed"===n?r+="[]":"full"===n&&(r+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return[{type:"text",value:"!["+t.alt+r}];const o=e.all(t),i=o[0];i&&"text"===i.type?i.value="["+i.value:o.unshift({type:"text",value:"["});const a=o[o.length-1];return a&&"text"===a.type?a.value+=r:o.push({type:"text",value:r}),o}function as(e){const t=e.spread;return null===t||void 0===t?e.children.length>1:t}function ls(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),o=0;const i=[];for(;r;)i.push(ss(t.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=n.exec(t);return i.push(ss(t.slice(o),o>0,!1)),i.join("")}function ss(e,t,n){let r=0,o=e.length;if(t){let t=e.codePointAt(r);for(;9===t||32===t;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(o-1);for(;9===t||32===t;)o--,t=e.codePointAt(o-1)}return o>r?e.slice(r,o):""}const cs={blockquote:function(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:"\n"}]},code:function(e,t){const n=t.value?t.value+"\n":"",r={};t.lang&&(r.className=["language-"+t.lang]);let o={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o},delete:function(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:function(e,t){const n="string"===typeof e.options.clobberPrefix?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),o=Wl(r.toLowerCase()),i=e.footnoteOrder.indexOf(r);let a,l=e.footnoteCounts.get(r);void 0===l?(l=0,e.footnoteOrder.push(r),a=e.footnoteOrder.length):a=i+1,l+=1,e.footnoteCounts.set(r,l);const s={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+o,id:n+"fnref-"+o+(l>1?"-"+l:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,s);const c={type:"element",tagName:"sup",properties:{},children:[s]};return e.patch(t,c),e.applyData(t,c)},heading:function(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}},imageReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return is(e,t);const o={src:Wl(r.url||""),alt:t.alt};null!==r.title&&void 0!==r.title&&(o.title=r.title);const i={type:"element",tagName:"img",properties:o,children:[]};return e.patch(t,i),e.applyData(t,i)},image:function(e,t){const n={src:Wl(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return is(e,t);const o={href:Wl(r.url||"")};null!==r.title&&void 0!==r.title&&(o.title=r.title);const i={type:"element",tagName:"a",properties:o,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)},link:function(e,t){const n={href:Wl(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){const r=e.all(t),o=n?function(e){let t=!1;if("list"===e.type){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=as(n[r])}return t}(n):as(t),i={},a=[];if("boolean"===typeof t.checked){const e=r[0];let n;e&&"element"===e.type&&"p"===e.tagName?n=e:(n={type:"element",tagName:"p",properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:"text",value:" "}),n.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}let l=-1;for(;++l<r.length;){const e=r[l];(o||0!==l||"element"!==e.type||"p"!==e.tagName)&&a.push({type:"text",value:"\n"}),"element"!==e.type||"p"!==e.tagName||o?a.push(e):a.push(...e.children)}const s=r[r.length-1];s&&(o||"element"!==s.type||"p"!==s.tagName)&&a.push({type:"text",value:"\n"});const c={type:"element",tagName:"li",properties:i,children:a};return e.patch(t,c),e.applyData(t,c)},list:function(e,t){const n={},r=e.all(t);let o=-1;for("number"===typeof t.start&&1!==t.start&&(n.start=t.start);++o<r.length;){const e=r[o];if("element"===e.type&&"li"===e.tagName&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const i={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(r,!0)};return e.patch(t,i),e.applyData(t,i)},paragraph:function(e,t){const n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},root:function(e,t){const n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)},strong:function(e,t){const n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},table:function(e,t){const n=e.all(t),r=n.shift(),o=[];if(r){const n={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),o.push(n)}if(n.length>0){const r={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},i=bi(t.children[1]),a=gi(t.children[t.children.length-1]);i&&a&&(r.position={start:i,end:a}),o.push(r)}const i={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(t,i),e.applyData(t,i)},tableCell:function(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){const r=n?n.children:void 0,o=0===(r?r.indexOf(t):1)?"th":"td",i=n&&"table"===n.type?n.align:void 0,a=i?i.length:t.children.length;let l=-1;const s=[];for(;++l<a;){const n=t.children[l],r={},a=i?i[l]:void 0;a&&(r.align=a);let c={type:"element",tagName:o,properties:r,children:[]};n&&(c.children=e.all(n),e.patch(n,c),c=e.applyData(n,c)),s.push(c)}const c={type:"element",tagName:"tr",properties:{},children:e.wrap(s,!0)};return e.patch(t,c),e.applyData(t,c)},text:function(e,t){const n={type:"text",value:ls(String(t.value))};return e.patch(t,n),e.applyData(t,n)},thematicBreak:function(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)},toml:us,yaml:us,definition:us,footnoteDefinition:us};function us(){}const ds={}.hasOwnProperty,ps={};function fs(e,t){e.position&&(t.position=function(e){const t=bi(e),n=gi(e);if(t&&n)return{start:t,end:n}}(e))}function ms(e,t){let n=t;if(e&&e.data){const t=e.data.hName,r=e.data.hChildren,o=e.data.hProperties;if("string"===typeof t)if("element"===n.type)n.tagName=t;else{n={type:"element",tagName:t,properties:{},children:"children"in n?n.children:[n]}}"element"===n.type&&o&&Object.assign(n.properties,Yl(o)),"children"in n&&n.children&&null!==r&&void 0!==r&&(n.children=r)}return n}function hs(e,t){const n=t.data||{},r=!("value"in t)||ds.call(n,"hProperties")||ds.call(n,"hChildren")?{type:"element",tagName:"div",properties:{},children:e.all(t)}:{type:"text",value:t.value};return e.patch(t,r),e.applyData(t,r)}function gs(e,t){const n=[];let r=-1;for(t&&n.push({type:"text",value:"\n"});++r<e.length;)r&&n.push({type:"text",value:"\n"}),n.push(e[r]);return t&&e.length>0&&n.push({type:"text",value:"\n"}),n}function bs(e){let t=0,n=e.charCodeAt(t);for(;9===n||32===n;)t++,n=e.charCodeAt(t);return e.slice(t)}function vs(e,t){const n=function(e,t){const n=t||ps,r=new Map,o=new Map,i=new Map,a={...cs,...n.handlers},l={all:function(e){const t=[];if("children"in e){const n=e.children;let r=-1;for(;++r<n.length;){const o=l.one(n[r],e);if(o){if(r&&"break"===n[r-1].type&&(Array.isArray(o)||"text"!==o.type||(o.value=bs(o.value)),!Array.isArray(o)&&"element"===o.type)){const e=o.children[0];e&&"text"===e.type&&(e.value=bs(e.value))}Array.isArray(o)?t.push(...o):t.push(o)}}}return t},applyData:ms,definitionById:r,footnoteById:o,footnoteCounts:i,footnoteOrder:[],handlers:a,one:function(e,t){const n=e.type,r=l.handlers[n];if(ds.call(l.handlers,n)&&r)return r(l,e,t);if(l.options.passThrough&&l.options.passThrough.includes(n)){if("children"in e){const{children:t,...n}=e,r=Yl(n);return r.children=l.all(e),r}return Yl(e)}return(l.options.unknownHandler||hs)(l,e,t)},options:n,patch:fs,wrap:gs};return os(e,(function(e){if("definition"===e.type||"footnoteDefinition"===e.type){const t="definition"===e.type?r:o,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}})),l}(e,t),r=n.one(e,void 0),o=function(e){const t="string"===typeof e.o
543ptions.clobberPrefix?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||Kl,r=e.options.footnoteBackLabel||ql,o=e.options.footnoteLabel||"Footnotes",i=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},l=[];let s=-1;for(;++s<e.footnoteOrder.length;){const o=e.footnoteById.get(e.footnoteOrder[s]);if(!o)continue;const i=e.all(o),a=String(o.identifier).toUpperCase(),c=Wl(a.toLowerCase());let u=0;const d=[],p=e.footnoteCounts.get(a);for(;void 0!==p&&++u<=p;){d.length>0&&d.push({type:"text",value:" "});let e="string"===typeof n?n:n(s,u);"string"===typeof e&&(e={type:"text",value:e}),d.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+c+(u>1?"-"+u:""),dataFootnoteBackref:"",ariaLabel:"string"===typeof r?r:r(s,u),className:["data-footnote-backref"]},children:Array.isArray(e)?e:[e]})}const f=i[i.length-1];if(f&&"element"===f.type&&"p"===f.tagName){const e=f.children[f.children.length-1];e&&"text"===e.type?e.value+=" ":f.children.push({type:"text",value:" "}),f.children.push(...d)}else i.push(...d);const m={type:"element",tagName:"li",properties:{id:t+"fn-"+c},children:e.wrap(i,!0)};e.patch(o,m),l.push(m)}if(0!==l.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:i,properties:{...Yl(a),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:e.wrap(l,!0)},{type:"text",value:"\n"}]}}(n),i=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return o&&i.children.push({type:"text",value:"\n"},o),i}function ys(e,t){return e&&"run"in e?async function(n,r){const o=vs(n,{file:r,...t});await e.run(o,r)}:function(n,r){return vs(n,{file:r,...e||t})}}function xs(e){if(e)throw e}var ws=n(240);function Es(e){if("object"!==typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function _s(){const e=[],t={run:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];let o=-1;const i=n.pop();if("function"!==typeof i)throw new TypeError("Expected function as last argument, not "+i);!function t(r){const a=e[++o];let l=-1;if(r)i(r);else{for(var s=arguments.length,c=new Array(s>1?s-1:0),u=1;u<s;u++)c[u-1]=arguments[u];for(;++l<n.length;)null!==c[l]&&void 0!==c[l]||(c[l]=n[l]);n=c,a?function(e,t){let n;return o;function o(){for(var t=arguments.length,o=new Array(t),l=0;l<t;l++)o[l]=arguments[l];const s=e.length>o.length;let c;s&&o.push(i);try{c=e.apply(this,o)}catch(r){if(s&&n)throw r;return i(r)}s||(c&&c.then&&"function"===typeof c.then?c.then(a,i):c instanceof Error?i(c):a(c))}function i(e){if(!n){n=!0;for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];t(e,...o)}}function a(e){i(null,e)}}(a,t)(...c):i(null,...c)}}(null,...n)},use:function(n){if("function"!==typeof n)throw new TypeError("Expected `middelware` to be a function, not "+n);return e.push(n),t}};return t}const ks={basename:function(e,t){if(void 0!==t&&"string"!==typeof t)throw new TypeError('"ext" argument must be a string');Ts(e);let n,r=0,o=-1,i=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;i--;)if(47===e.codePointAt(i)){if(n){r=i+1;break}}else o<0&&(n=!0,o=i+1);return o<0?"":e.slice(r,o)}if(t===e)return"";let a=-1,l=t.length-1;for(;i--;)if(47===e.codePointAt(i)){if(n){r=i+1;break}}else a<0&&(n=!0,a=i+1),l>-1&&(e.codePointAt(i)===t.codePointAt(l--)?l<0&&(o=i):(l=-1,o=a));r===o?o=a:o<0&&(o=e.length);return e.slice(r,o)},dirname:function(e){if(Ts(e),0===e.length)return".";let t,n=-1,r=e.length;for(;--r;)if(47===e.codePointAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.codePointAt(0)?"/":".":1===n&&47===e.codePointAt(0)?"//":e.slice(0,n)},extname:function(e){Ts(e);let t,n=e.length,r=-1,o=0,i=-1,a=0;for(;n--;){const l=e.codePointAt(n);if(47!==l)r<0&&(t=!0,r=n+1),46===l?i<0?i=n:1!==a&&(a=1):i>-1&&(a=-1);else if(t){o=n+1;break}}if(i<0||r<0||0===a||1===a&&i===r-1&&i===o+1)return"";return e.slice(i,r)},join:function(){let e,t=-1;for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];for(;++t<r.length;)Ts(r[t]),r[t]&&(e=void 0===e?r[t]:e+"/"+r[t]);return void 0===e?".":function(e){Ts(e);const t=47===e.codePointAt(0);let n=function(e,t){let n,r,o="",i=0,a=-1,l=0,s=-1;for(;++s<=e.length;){if(s<e.length)n=e.codePointAt(s);else{if(47===n)break;n=47}if(47===n){if(a===s-1||1===l);else if(a!==s-1&&2===l){if(o.length<2||2!==i||46!==o.codePointAt(o.length-1)||46!==o.codePointAt(o.length-2))if(o.length>2){if(r=o.lastIndexOf("/"),r!==o.length-1){r<0?(o="",i=0):(o=o.slice(0,r),i=o.length-1-o.lastIndexOf("/")),a=s,l=0;continue}}else if(o.length>0){o="",i=0,a=s,l=0;continue}t&&(o=o.length>0?o+"/..":"..",i=2)}else o.length>0?o+="/"+e.slice(a+1,s):o=e.slice(a+1,s),i=s-a-1;a=s,l=0}else 46===n&&l>-1?l++:l=-1}
543return o}(e,!t);0!==n.length||t||(n=".");n.length>0&&47===e.codePointAt(e.length-1)&&(n+="/");return t?"/"+n:n}(e)},sep:"/"};function Ts(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Cs={cwd:function(){return"/"}};function Ss(e){return Boolean(null!==e&&"object"===typeof e&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&void 0===e.auth)}function Ps(e){if("string"===typeof e)e=new URL(e);else if(!Ss(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return function(e){if(""!==e.hostname){const e=new TypeError('File URL host must be "localhost" or empty on darwin');throw e.code="ERR_INVALID_FILE_URL_HOST",e}const t=e.pathname;let n=-1;for(;++n<t.length;)if(37===t.codePointAt(n)&&50===t.codePointAt(n+1)){const e=t.codePointAt(n+2);if(70===e||102===e){const e=new TypeError("File URL path must not include encoded / characters");throw e.code="ERR_INVALID_FILE_URL_PATH",e}}return decodeURIComponent(t)}(e)}const As=["history","path","basename","stem","extname","dirname"];class Rs{constructor(e){let t;t=e?Ss(e)?{path:e}:"string"===typeof e||function(e){return Boolean(e&&"object"===typeof e&&"byteLength"in e&&"byteOffset"in e)}(e)?{value:e}:e:{},this.cwd="cwd"in t?"":Cs.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let n,r=-1;for(;++r<As.length;){const e=As[r];e in t&&void 0!==t[e]&&null!==t[e]&&(this[e]="history"===e?[...t[e]]:t[e])}for(n in t)As.includes(n)||(this[n]=t[n])}get basename(){return"string"===typeof this.path?ks.basename(this.path):void 0}set basename(e){Ls(e,"basename"),Is(e,"basename"),this.path=ks.join(this.dirname||"",e)}get dirname(){return"string"===typeof this.path?ks.dirname(this.path):void 0}set dirname(e){Os(this.basename,"dirname"),this.path=ks.join(e||"",this.basename)}get extname(){return"string"===typeof this.path?ks.extname(this.path):void 0}set extname(e){if(Is(e,"extname"),Os(this.dirname,"extname"),e){if(46!==e.codePointAt(0))throw new Error("`extname` must start with `.`");if(e.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=ks.join(this.dirname,this.stem+(e||""))}get path(){return this.history[this.history.length-1]}set path(e){Ss(e)&&(e=Ps(e)),Ls(e,"path"),this.path!==e&&this.history.push(e)}get stem(){return"string"===typeof this.path?ks.basename(this.path,this.extname):void 0}set stem(e){Ls(e,"stem"),Is(e,"stem"),this.path=ks.join(this.dirname||"",e+(this.extname||""))}fail(e,t,n){const r=this.message(e,t,n);throw r.fatal=!0,r}info(e,t,n){const r=this.message(e,t,n);return r.fatal=void 0,r}
543message(e,t,n){const r=new _i(e,t,n);return this.path&&(r.name=this.path+":"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(e){if(void 0===this.value)return"";if("string"===typeof this.value)return this.value;return new TextDecoder(e||void 0).decode(this.value)}}function Is(e,t){if(e&&e.includes(ks.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+ks.sep+"`")}function Ls(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function Os(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}const js=function(e){const t=this.constructor.prototype,n=t[e],r=function(){return n.apply(r,arguments)};return Object.setPrototypeOf(r,t),r},zs={}.hasOwnProperty;class Ns extends js{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=_s()}copy(){const e=new Ns;let t=-1;for(;++t<this.attachers.length;){const n=this.attachers[t];e.use(...n)}return e.data(ws(!0,{},this.namespace)),e}data(e,t){return"string"===typeof e?2===arguments.length?(Fs("data",this.frozen),this.namespace[e]=t,this):zs.call(this.namespace,e)&&this.namespace[e]||void 0:e?(Fs("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[t,...n]=this.attachers[this.freezeIndex];if(!1===n[0])continue;!0===n[0]&&(n[0]=void 0);const r=t.call(e,...n);"function"===typeof r&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const t=Bs(e),n=this.parser||this.Parser;return Ds("parse",n),n(String(t),t)}process(e,t){const n=this;return this.freeze(),Ds("process",this.parser||this.Parser),Us("process",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(r,o){const i=Bs(e),a=n.parse(i);function l(e,n){e||!n?o(e):r?r(n):t(void 0,n)}n.run(a,i,(function(e,t,r){if(e||!t||!r)return l(e);const o=t,i=n.stringify(o,r);var a;"string"===typeof(a=i)||function(e){return Boolean(e&&"object"===typeof e&&"byteLength"in e&&"byteOffset"in e)}(a)?r.value=i:r.result=i,l(e,r)}))}}processSync(e){let t,n=!1;return this.freeze(),Ds("processSync",this.parser||this.Parser),Us("processSync",this.compiler||this.Compiler),this.process(e,(function(e,r){n=!0,xs(e),t=r})),Vs("processSync","process",n),t}run(e,t,n){$s(e),this.freeze();const r=this.transformers;return n||"function"!==typeof t||(n=t,t=void 0),n?o(void 0,n):new Promise(o);function o(o,i){const a=Bs(t);r.run(e,a,(function(t,r,a){const l=r||e;t?i(t):o?o(l):n(void 0,l,a)}))}}runSync(e,t){let n,r=!1;return this.run(e,t,(function(e,t){xs(e),n=t,r=!0})),Vs("runSync","run",r),n}stringify(e,t){this.freeze();const n=Bs(t),r=this.compiler||this.Compiler;return Us("stringify",r),$s(e),r(e,n)}use(e){const t=this.attachers,n=this.namespace;if(Fs("use",this.frozen),null===e||void 0===e);else if("function"===typeof e){for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];c(e,o)}else{if("object"!==typeof e)throw new TypeError("Expected usable value, not `"+e+"`");Array.isArray(e)?s(e):l(e)}return this;function a(e){if("function"===typeof e)c(e,[]);else{if("object"!==typeof e)throw new TypeError("Expected usable value, not `"+e+"`");if(Array.isArray(e)){const[t,...n]=e;c(t,n)}else l(e)}}function l(e){if(!("plugins"in e)&&!("settings"in e))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(e.plugins),e.settings&&(n.settings=ws(!0,n.settings,e.settings))}function s(e){let t=-1;if(null===e||void 0===e);else{if(!Array.isArray(e))throw new TypeError("Expected a list of plugins, not `"+e+"`");for(;++t<e.length;){a(e[t])}}}function c(e,n){let r=-1,o=-1;for(;++r<t.length;)if(t[r][0]===e){o=r;break}if(-1===o)t.push([e,...n]);else if(n.length>0){let[r,...i]=n;const a=t[o][1];Es(a)&&Es(r)&&(r=ws(!0,a,r)),t[o]=[e,r,...i]}}}}const Ms=(new Ns).freeze();function Ds(e,t){if("function"!==typeof t)throw new TypeError("Cannot `"+e+"` without `parser`")}function Us(e,t){if("function"!==typeof t)throw new TypeError("Cannot `"+e+"` without `compiler`")}function Fs(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function $s(e){if(!Es(e)||"string"!==typeof e.type)throw new TypeError("Expected node, got `"+e+"`")}function Vs(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function Bs(e){return function(e){return Boolean(e&&"object"===typeof e&&"message"in e&&"messages"in e)}(e)?e:new Rs(e)}const Hs=[],Gs={allowDangerousHtml:!0},Ys=/^(https?|ircs?|mailto|xmpp)$/i,Ws=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Ks(e){const t=e.allowedElements,n=e.allowElement,r=e.children||"",o=e.className,i=e.components,a=e.disallowedElements,l=e.rehypePlugins||Hs,s=e.remarkPlugins||Hs,c=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Gs}:Gs,u=e.skipHtml,d=e.unwrapDisallowed,p=e.urlTransform||qs,f=Ms().use(Ml).use(s).use(ys,c).use(l),m=new Rs;"string"===typeof r&&(m.value=r);for(const b of Ws)Object.hasOwn(e,b.from)&&(b.from,b.to&&b.to,b.id);const h=f.parse(m);let g=f.runSync(h,m);return o&&(g={type:"element",tagName:"div",properties:{className:o},children:"root"===g.type?g.children:[g]}),os(g,(function(e,r,o){if("raw"===e.type&&o&&"number"===typeof r)return u?o.children.splice(r,1):o.children[r]={type:"text",value:e.value},r;if("element"===e.type){let t;for(t in Vi)if(Object.hasOwn(Vi,t)&&Object.hasOwn(e.properties,t)){const n=e.properties[t],r=Vi[t];(null===r||r.includes(e.tagName))&&(e.properties[t]=p(String(n||""),t,e))}}if("element"===e.type){let i=t?!t.includes(e.tagName):!!a&&a.includes(e.tagName);if(!i&&n&&"number"===typeof r&&(i=!n(e,r,o)),i&&o&&"number"===typeof r)return d&&e.children?o.children.splice(r,1,...e.children):o.children.splice(r,1),r}})),Ii(g,{Fragment:$r.Fragment,components:i,ignoreInvalidStyle:!0,jsx:$r.jsx,jsxs:$r.jsxs,passKeys:!0,passNode:!0})}function qs(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),o=e.indexOf("/");return t<0||o>-1&&t>o||n>-1&&t>n||r>-1&&t>r||Ys.test(e.slice(0,t))?e:""}const Qs=kr.div` 544 max-width: 1200px; 545 margin: 0 auto; 546 padding: 2rem; 547`,Xs=kr.div` 548 display: flex; 549 justify-content: center; 550 align-items: center; 551 min-height: 400px; 552 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 553`,Js=kr.div` 554 display: flex; 555 flex-direction: column; 556 align-items: center; 557 gap: 1rem; 558 min-height: 400px; 559 justify-content: center; 560 text-align: center; 561 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 562`,Zs=kr.button` 563 display: flex; 564 align-items: center; 565 gap: 0.5rem; 566 background: none; 567 border: none; 568 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 569 cursor: pointer; 570 padding: 0.5rem; 571 margin: -0.5rem; 572 margin-bottom: 2rem; 573 transition: color 0.2s ease; 574 575 &:hover { 576 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 577 } 578 579 i { 580 font-size: 1.25rem; 581 } 582`,ec=kr.header` 583 margin-bottom: 2rem; 584`,tc=kr.div` 585 display: inline-block; 586 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 587 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 588 padding: 0.25rem 0.75rem; 589 border-radius: 6px; 590 font-size: 0.875rem; 591 font-weight: 500; 592 margin-bottom: 1rem; 593`,nc=kr.h1` 594 font-size: 2.5rem; 595 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 596 margin-bottom: 1rem; 597 line-height: 1.2; 598 599 @media (max-width: 768px) { 600 font-size: 2rem; 601 } 602`,rc=kr.div` 603 display: flex; 604 align-items: center; 605 gap: 0.75rem; 606 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 607 font-size: 0.875rem; 608 609 span { 610 &:nth-child(even) { 611 color: ${e=>{let{theme:t}=e;return t.colors.blue8}}; 612 } 613 } 614`,oc=kr.div` 615 margin: 2rem -2rem; 616 617 img { 618 width: 100%; 619 height: auto; 620 object-fit: cover; 621 border-radius: 8px; 622 } 623 624 @media (max-width: 768px) { 625 margin: 2rem 0; 626 } 627`,ic=kr.article` 628 color: ${e=>{let{theme:t}=e;return t.colors.blue12}}; 629 font-size: 1.125rem; 630 line-height: 1.7; 631 632 h2 { 633 font-size: 1.875rem; 634 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 635 margin: 2.5rem 0 1rem; 636 } 637 638 h3 { 639 font-size: 1.5rem; 640 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 641 margin: 2rem 0 1rem; 642 } 643 644 p { 645 margin-bottom: 1.5rem; 646 } 647 648 ul, ol { 649 margin: 1.5rem 0; 650 padding-left: 1.5rem; 651 652 li { 653 margin-bottom: 0.5rem; 654 } 655 } 656 657 blockquote { 658 border-left: 4px solid ${e=>{let{theme:t}=e;return t.colors.blue6}}; 659 padding-left: 1rem; 660 margin: 1.5rem 0; 661 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 662 font-style: italic; 663 } 664 665 code { 666 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 667 padding: 0.2em 0.4em; 668 border-radius: 3px; 669 font-size: 0.9em; 670 font-family: monospace; 671 } 672 673 pre { 674 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 675 padding: 1rem; 676 border-radius: 8px; 677 overflow-x: auto; 678 margin: 1.5rem 0; 679 680 code { 681 background: none; 682 padding: 0; 683 } 684 } 685`,ac=kr.div` 686 margin: 2rem 0; 687`,lc=kr.div` 688 position: relative; 689 padding-bottom: 56.25%; /* 16:9 aspect ratio */ 690 height: 0; 691 overflow: hidden; 692 border-radius: 8px; 693 694 iframe { 695 position: absolute; 696 top: 0; 697 left: 0; 698 width: 100%; 699 height: 100%; 700 border: none; 701 } 702`,sc=kr.div` 703 width: 100%; 704 aspect-ratio: 16 / 9; 705 margin: 2rem 0; 706 overflow: hidden; 707 border-radius: 8px; 708 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 709 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 710 711 iframe { 712 display: block; 713 width: 100%; 714 height: 100%; 715 border: none; 716 } 717`,cc=kr.div` 718 margin: 2rem 0; 719 border-radius: 8px; 720 overflow: hidden; 721 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 722 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 723 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); 724`,uc=kr.div` 725 position: relative; 726 height: 800px; 727 width: 100%; 728 729 iframe { 730 position: absolute; 731 top: 0; 732 left: 0; 733 width: 100%; 734 height: 100%; 735 border: none; 736 background-color: white; 737 } 738 739 @media (max-width: 768px) { 740 height: 500px; 741 } 742`,dc=/<iframe\b[\s\S]*?<\/iframe>/gi,pc=/([a-zA-Z:-]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+)))?/g,fc="https://austindavenport.com",mc=(e,t,n)=>{const r=document.querySelector(e);r&&r.setAttribute(t,n)},hc=e=>{const t=new Map;let n;for(pc.lastIndex=0;null!==(n=pc.exec(e));){const[,e,r,o,i]=n;t.set(e.toLowerCase(),r||o||i||"")}const r=t.get("src");if(!r)return null;const o=(e=>{try{const t=new URL(e),n=t.hostname.replace(/^www\./,"");if("https:"!==t.protocol)return null;if(("youtube.com"===n||"youtube-nocookie.com"===n)&&t.pathname.startsWith("/embed/"))return t.toString();if("player.vimeo.com"===n&&t.pathname.startsWith("/video/"))return t.toString()}catch{return null}return null})(r);return o?{src:o,title:t.get("title")||"Embedded video",allow:t.get("allow")||"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"}:null},gc=e=>{const t=[];let n,r=0;for(dc.lastIndex=0;null!==(n=dc.exec(e));){n.index>r&&t.push({type:"markdown",value:e.slice(r,n.index)});const o=hc(n[0]);t.push(o?{type:"iframe",value:o}:{type:"markdown",value:n[0]}),r=n.index+n[0].length}return r<e.length&&t.push({type:"markdown",value:e.slice(r)}),t},bc=()=>{const{slug:e}=function(){let{matches:e}=o.useContext(X),t=e[e.length-1];return t?t.params:{}}(),t=ne(),[n,r]=(0,o.useState)(null),[i,a]=(0,o.useState)(!0),[l,s]=(0,o.useState)(null),c=(0,o.useRef)(Date.now());(0,o.useEffect)((()=>((async()=>{try{if(!e)return void s("No slug provided");const t=await Qr.getPostBySlug(e);if(!t)return void s("Post not found");r(t),document.title=`${t.title} | Austin Davenport`;let n=document.querySelector('link[rel="canonical"]');n||(n=document.createElement("link"),n.setAttribute("rel","canonical"),document.head.appendChild(n));const o=`${fc}/blog/${t.slug}`;n.setAttribute("href",o);const i=t.excerpt||`Read ${t.title} by Austin Davenport.`;mc('meta[name="description"]',"content",i),mc('meta[property="og:url"]',"content",o),mc('meta[property="og:title"]',"content",`${t.title} | Austin Davenport`),mc('meta[property="og:description"]',"content",i),mc('meta[property="og:image"]',"content",t.image_url||`${fc}/social-preview.png`),mc('meta[name="twitter:title"]',"content",`${t.title} | Austin Davenport`),mc('meta[name="twitter:description"]',"content",i),mc('meta[name="twitter:image"]',"content",t.image_url||`${fc}/social-preview.png`)}catch{s("Failed to load blog post")}finally{a(!1)}})(),()=>
742{document.title="Austin Davenport - Video Editor & Developer"})),[e]);return i?(0,$r.jsx)(Qs,{children:(0,$r.jsx)(Xs,{children:"Loading post..."})}):l||!n?(0,$r.jsx)(Qs,{children:(0,$r.jsxs)(Js,{children:[(0,$r.jsx)("div",{children:l||"Post not found"}),(0,$r.jsx)(Wr,{onClick:()=>t("/blog"),children:"Back to Blog"})]})}):(0,$r.jsxs)(Qs,{children:[(0,$r.jsxs)(Zs,{onClick:()=>t("/blog"),children:[(0,$r.jsx)("i",{className:"bx bx-arrow-left"}),"Back to Blog"]}),(0,$r.jsxs)(ec,{children:[(0,$r.jsx)(tc,{children:n.category}),(0,$r.jsx)(nc,{children:n.title}),(0,$r.jsxs)(rc,{children:[(0,$r.jsx)("span",{children:(e=>{try{return new Intl.DateTimeFormat("en-US",{year:"numeric",month:"long",day:"numeric"}).format(new Date(e))}catch{return e}})(n.published_at)}),(0,$r.jsx)("span",{children:"\u2022"}),(0,$r.jsxs)("span",{children:[n.read_time," min read"]})]})]}),n.youtube_video_id&&(0,$r.jsx)(ac,{children:(0,$r.jsx)(lc,{children:(0,$r.jsx)("iframe",{src:`https://www.youtube.com/embed/${n.youtube_video_id}`,title:"YouTube video",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}),n.html_code&&(0,$r.jsx)(cc,{children:(0,$r.jsx)(uc,{children:(0,$r.jsx)("iframe",{title:n.title,srcDoc:n.html_code,sandbox:"allow-scripts allow-same-origin allow-forms allow-modals allow-popups",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",style:{border:"none"}},c.current)})}),"building-my-own-vidiq"===n.slug&&(0,$r.jsx)(oc,{children:(0,$r.jsx)("img",{src:"https://64.media.tumblr.com/b9cb3f62418a53c348cd0b6c94167594/c67fe3c718b47b53-02/s1280x1920/c96e10ff077c04eb4c5dab7ddf48c73c86f24653.pnj",alt:"Building My Own VidIQ",loading:"eager"})}),(0,$r.jsx)(ic,{children:gc(n.content).map(((e,t)=>"markdown"===e.type?(0,$r.jsx)(Ks,{children:e.value},`markdown-${t}`):(0,$r.jsx)(sc,{children:(0,$r.jsx)("iframe",{src:e.value.src,title:e.value.title,allow:e.value.allow,allowFullScreen:!0,loading:"lazy",referrerPolicy:"strict-origin-when-cross-origin"})},`iframe-${t}`)))})]})},vc=kr.div` 743 padding: 3rem 1rem; 744 max-width: 1200px; 745 margin: 0 auto; 746 min-height: 100vh; 747 display: flex; 748 flex-direction: column; 749 750 @media (max-width: 768px) { 751 padding: 1.5rem 1rem 2rem; 752 min-height: unset; 753 } 754`,yc=kr.div` 755 display: grid; 756 grid-template-columns: 1fr 1.5fr; 757 gap: 4rem; 758 align-items: start; 759 760 @media (max-width: 968px) { 761 grid-template-columns: 1fr; 762 gap: 2rem; 763 } 764 765 @media (max-width: 480px) { 766 gap: 1.25rem; 767 } 768`,xc=kr.div` 769 position: sticky; 770 top: 2rem; 771 772 @media (max-width: 968px) { 773 position: static; 774 margin-bottom: 0; 775 } 776`,wc=kr.h1` 777 font-size: 2.5rem; 778 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 779 margin-bottom: 1rem; 780 781 @media (max-width: 768px) { 782 font-size: 1.75rem; 783 margin-bottom: 0.75rem; 784 } 785 786 @media (max-width: 480px) { 787 font-size: 1.5rem; 788 } 789`,Ec=kr.p` 790 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 791 font-size: 1.1rem; 792 line-height: 1.6; 793 margin-bottom: 2rem; 794 795 @media (max-width: 768px) { 796 font-size: 0.9rem; 797 margin-bottom: 1.25rem; 798 line-height: 1.5; 799 } 800`,_c=kr.div` 801 display: flex; 802 flex-direction: column; 803 gap: 1.5rem; 804 margin-bottom: 2rem; 805 806 @media (max-width: 768px) { 807 gap: 0.875rem; 808 margin-bottom: 1.25rem; 809 } 810`,kc=kr.div` 811 display: flex; 812 align-items: center; 813 gap: 1rem; 814 815 i { 816 font-size: 1.5rem; 817 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 818 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 819 padding: 0.75rem; 820 border-radius: 12px; 821 min-width: 3rem; 822 text-align: center; 823 } 824 825 h3 { 826 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 827 font-size: 1rem; 828 margin-bottom: 0.25rem; 829 } 830 831 p { 832 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 833 font-size: 0.9rem; 834 } 835 836 @media (max-width: 768px) { 837 gap: 0.75rem; 838 839 i { 840 font-size: 1.25rem; 841 padding: 0.6rem; 842 min-width: 2.5rem; 843 border-radius: 10px; 844 } 845 846 h3 { 847 font-size: 0.9rem; 848 margin-bottom: 0.125rem; 849 } 850 851 p { 852 font-size: 0.8rem; 853 } 854 } 855`,Tc=kr.div` 856 display: flex; 857 gap: 1rem; 858 859 a { 860 width: 40px; 861 height: 40px; 862 display: flex; 863 align-items: center; 864 justify-content: center; 865 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 866 border-radius: 8px; 867 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 868 transition: all 0.2s ease; 869 870 &:hover { 871 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 872 transform: translateY(-2px); 873 } 874 875 i { 876 font-size: 1.25rem; 877 } 878 } 879`,Cc=kr.form` 880 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 881 padding: 2rem; 882 border-radius: 16px; 883 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 884 885 @media (max-width: 768px) { 886 padding: 1.25rem; 887 border-radius: 14px; 888 } 889 890 @media (max-width: 480px) { 891 /* Make submit button full-width on small screens */ 892 > button { 893 width: 100%; 894 justify-content: center; 895 } 896 } 897`,Sc=kr.div` 898 margin-bottom: 1.5rem; 899 900 @media (max-width: 480px) { 901 margin-bottom: 1.125rem; 902 } 903`,Pc=kr.label` 904 display: block; 905 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 906 margin-bottom: 0.5rem; 907 font-size: 0.9rem; 908 font-family: 'Poppins', sans-serif; 909`,Ac=kr.div` 910 background: ${e=>{let{theme:t}=e;return`${t.colors.red3}`}}; 911 color: ${e=>{let{theme:t}=e;return`${t.colors.red11}`}}; 912 padding: 1rem; 913 border-radius: 8px; 914 margin-bottom: 1.5rem; 915 font-family: 'Poppins', sans-serif; 916 border: 1px solid ${e=>{let{theme:t}=e;return`${t.colors.red7}`}}; 917 font-size: 0.9rem; 918`,Rc=kr.input` 919 font-family: 'Poppins', sans-serif; 920 width: 100%; 921 padding: 0.75rem; 922 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 923 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 924 border-radius: 8px; 925 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 926 font-size: 1rem; 927 transition: all 0.2s ease; 928 -webkit-appearance: none; // Fix for iOS default styles 929 appearance: none; 930 931 &:focus { 932 outline: none; 933 border-color: ${e=>{let{theme:t}=e;return t.colors.blue6}}; 934 } 935`,Ic=kr.select` 936 font-family: 'Poppins', sans-serif; 937 width: 100%; 938 padding: 0.75rem; 939 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 940 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 941 border-radius: 8px; 942 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 943 font-size: 1rem; 944 cursor: pointer; 945 -webkit-appearance: none; // Fix for iOS default styles 946 appearance: none; 947 background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); 948 background-repeat: no-repeat; 949 background-position: right 1rem center; 950 background-size: 1em; 951 padding-right: 2.5rem; 952 953 &:focus { 954 outline: none; 955 border-color: ${e=>{let{theme:t}=e;return t.colors.blue6}}; 956 } 957`,Lc=kr.textarea` 958 font-family: 'Poppins', sans-serif; 959 width: 100%; 960 padding: 0.75rem; 961 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 962 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 963 border-radius: 8px; 964 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 965 font-size: 1rem; 966 resize: vertical; 967 min-height: 120px; 968 -webkit-appearance: none; // Fix for iOS default styles 969 appearance: none; 970 971 &:focus { 972 outline: none; 973 border-color: ${e=>{let{theme:t}=e;return t.colors.blue6}}; 974 } 975`,Oc=Sr` 976 from { opacity: 0; } 977 to { opacity: 1; } 978`,jc=Sr` 979 from { transform: translate(-50%, 100%); } 980 to { transform: translate(-50%, -50%); } 981`,zc=kr.div` 982 position: fixed; 983 top: 0; 984 left: 0; 985 right: 0; 986 bottom: 0; 987 background: rgba(0, 0, 0, 0.7); 988 z-index: 1000; 989 animation: ${Oc} 0.3s ease; 990 display: flex; 991 align-items: center; 992 justify-content: center; 993`,Nc=kr.div` 994 position: fixed; 995 top: 50%; 996 left: 50%; 997 transform: translate(-50%, -50%); 998 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 999 padding: 2rem; 1000 border-radius: 16px; 1001 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 1002 max-width: 400px; 1003 width: 90%; 1004 text-align: center; 1005 animation: ${jc} 0.3s ease; 1006`,Mc=kr.div` 1007 width: 60px; 1008 height: 60px; 1009 border-radius: 50%; 1010 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 1011 display: flex; 1012 align-items: center; 1013 justify-content: center; 1014 margin: 0 auto 1.5rem; 1015 1016 i { 1017 font-size: 2rem; 1018 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 1019 } 1020`,Dc=kr.h3` 1021 font-size: 1.5rem; 1022 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 1023 margin-bottom: 1rem; 1024 font-family: 'Poppins', sans-serif; 1025`,Uc=kr.p` 1026 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 1027 margin-bottom: 1.5rem; 1028 line-height: 1.6; 1029 font-family: 'Poppins', sans-serif; 1030`,Fc=kr.button` 1031 padding: 0.75rem 2rem; 1032 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 1033 border: none; 1034 border-radius: 8px; 1035 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 1036 font-size: 1rem; 1037 cursor: pointer; 1038 transition: all 0.2s ease; 1039 font-family: 'Poppins', sans-serif; 1040 1041 &:hover { 1042 background: ${e=>{let{theme:t}=e;return t.colors.blue5}}; 1043 } 1044`,$c=e=>{let{onClose:t}=e;return(0,$r.jsx)(zc,{onClick:t,children:(0,$r.jsxs)(Nc,{onClick:e=>e.stopPropagation(),children:[(0,$r.jsx)(Mc,{children:(0,$r.jsx)("i",{className:"bx bx-check"})}),(0,$r.jsx)(Dc,{children:"Message Sent Successfully!"}
1044),(0,$r.jsx)(Uc,{children:"Thank you for reaching out. I'll get back to you as soon as possible."}),(0,$r.jsx)(Fc,{onClick:t,children:"Close"})]})})},Vc=()=>{Co({title:"Contact | Austin Davenport",description:"Contact Austin Davenport for professional video editing, business inquiries, employment opportunities, and relevant collaborations.",path:"/contact"});const[e,t]=(0,o.useState)({name:"",email:"",project:"",message:""}),[n,r]=(0,o.useState)(!1),[i,a]=(0,o.useState)(!1),[l,s]=(0,o.useState)(null),c=e=>{t((t=>({...t,[e.target.name]:e.target.value}))),s(null)};return(0,$r.jsxs)(vc,{children:[(0,$r.jsxs)(yc,{children:[(0,$r.jsxs)(xc,{children:[(0,$r.jsx)(wc,{children:"Let's Work Together"}),(0,$r.jsx)(Ec,{children:"Looking for professional video editing services? I'd love to help bring your vision to life. Whether it's a YouTube video, commercial, or creative project, let's create something amazing."}),(0,$r.jsxs)(_c,{children:[(0,$r.jsxs)(kc,{children:[(0,$r.jsx)("i",{className:"bx bx-time-five"}),(0,$r.jsxs)("div",{children:[(0,$r.jsx)("h3",{children:"Response Time"}),(0,$r.jsx)("p",{children:"Usually within 24 hours"})]})]}),(0,$r.jsxs)(kc,{children:[(0,$r.jsx)("i",{className:"bx bx-map"}),(0,$r.jsxs)("div",{children:[(0,$r.jsx)("h3",{children:"Location"}),(0,$r.jsx)("p",{children:"United States"})]})]})]}),(0,$r.jsx)(Tc,{children:(0,$r.jsx)("a",{href:"https://www.youtube.com/@AustinDavenport",target:"_blank",rel:"noopener noreferrer",children:(0,$r.jsx)("i",{className:"bx bxl-youtube"})})})]}),(0,$r.jsxs)(Cc,{onSubmit:async n=>{n.preventDefault(),r(!0),s(null);try{await(async e=>{const t=await fetch("https://submit-form.com/1m9zol5tO",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({name:e.name,email:e.email,project_type:e.project,message:e.message})});if(!t.ok)throw new Error(`Form submission failed: ${t.status}`);return{success:!0}})(e),t({name:"",email:"",project:"",message:""}),a(!0)}catch{s("There was an error sending your message. Please try again.")}finally{r(!1)}},children:[l&&(0,$r.jsx)(Ac,{children:l}),(0,$r.jsxs)(Sc,{children:[(0,$r.jsx)(Pc,{htmlFor:"name",children:"Name"}),(0,$r.jsx)(Rc,{id:"name",type:"text",name:"name",value:e.name,onChange:c,required:!0})]}),(0,$r.jsxs)(Sc,{children:[(0,$r.jsx)(Pc,{htmlFor:"email",children:"Email"}),(0,$r.jsx)(Rc,{id:"email",type:"email",name:"email",value:e.email,onChange:c,required:!0})]}),(0,$r.jsxs)(Sc,{children:[(0,$r.jsx)(Pc,{htmlFor:"project",children:"Project Type"}),(0,$r.jsxs)(Ic,{id:"project",name:"project",value:e.project,onChange:c,required:!0,children:[(0,$r.jsx)("option",{value:"",children:"Select a project type"}),(0,$r.jsx)("option",{value:"sponsorship",children:"Sponsorship"}),(0,$r.jsx)("option",{value:"youtube",children:"YouTube Video"}),(0,$r.jsx)("option",{value:"music",children:"Music Video"}),(0,$r.jsx)("option",{value:"gaming",children:"Gaming Content"}),(0,$r.jsx)("option",{value:"other",children:"Other"})]})]}),(0,$r.jsxs)(Sc,{children:[(0,$r.jsx)(Pc,{htmlFor:"message",children:"Message"}),(0,$r.jsx)(Lc,{id:"message",name:"message",value:e.message,onChange:c,rows:5,required:!0})]}),(0,$r.jsx)(Wr,{type:"submit",disabled:n,children:n?(0,$r.jsxs)($r.Fragment,{children:[(0,$r.jsx)("i",{className:"bx bx-loader-alt bx-spin"}),"Sending..."]}):(0,$r.jsxs)($r.Fragment,{children:[(0,$r.jsx)("i",{className:"bx bx-send"}),"Send Message"]})})]})]}),i&&(0,$r.jsx)($c,{onClose:()=>a(!1)})]})};function Bc(){return"undefined"!==typeof window}function Hc(){try{const e="production";if("development"===e||"test"===e)return"development"}catch(Fh){}return"production"}function Gc(){return(Bc()?window.vam:Hc())||"production"}function Yc(){return"production"===Gc()}function Wc(){return"development"===Gc()}function Kc(e,t){let{[e]:n,...r}=t;return r}function qc(e,t,n){var r,o;if(Bc())if(t)try{const r=function(e,t){if(!e)return;let n=e;const r=[];for(const[o,i]of Object.entries(e))"object"===typeof i&&null!==i&&(t.strip?n=Kc(o,n):r.push(o));if(r.length>0&&!t.strip)throw Error(`The following properties are not valid: ${r.join(", ")}. Only strings, numbers, booleans, and null are allowed.`);return n}
1044(t,{strip:Yc()});null==(o=window.va)||o.call(window,"event",{name:e,data:r,options:n})}catch(i){i instanceof Error&&Wc()&&console.error(i)}else null==(r=window.va)||r.call(window,"event",{name:e,options:n});else{const e="[Vercel Web Analytics] Please import `track` from `@vercel/analytics/server` when using this function in a server environment";if(!Yc())throw new Error(e);console.warn(e)}}const Qc=()=>((0,o.useEffect)((()=>{qc("extra_links_redirected",{source_page:"extra-links"})}),[]),(0,$r.jsx)(ye,{to:"/links",replace:!0})),Xc=Cr` 1045 :root { 1046 --blue0:rgb(13, 14, 16); 1047 --blue1: #0F1113; 1048 --blue2: #151719; 1049 --blue3: #1F2123; 1050 --blue4: #292B2D; 1051 --blue5: #353739; 1052 --blue6: #46484A; 1053 --gray1: #212326; 1054 --gray2: #282a2d; 1055 --gray3: #333336; 1056 --blue9: #EAECEE; 1057 --blue11: #B1B4B8; 1058 1059 --project1: #FF006E; 1060 --project2: #FB5607; 1061 --project3: #FFBE0B; 1062 --project4:rgb(114, 75, 170); 1063 --project5: #8338EC; 1064 --project6: #06D6A0; 1065 } 1066 1067 * { 1068 box-sizing: border-box; 1069 } 1070 1071 body { 1072 margin: 0; 1073 padding: 0; 1074 font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; 1075 background-color: var(--blue1); 1076 color: var(--blue9); 1077 line-height: 1.5; 1078 overflow-x: hidden; 1079 } 1080`,Jc=kr.div` 1081 max-width: 1200px; 1082 margin: .75rem auto; 1083 padding: 0 2rem; 1084 1085 1086 @media (max-width: 768px) { 1087 padding: 0 1rem; 1088 margin: 0.5rem auto 1rem; 1089 } 1090 1091 @media (max-width: 480px) { 1092 padding: 0 1rem; 1093 margin: 0.35rem auto 1rem; 1094 } 1095`,Zc=kr.section` 1096 padding: 2rem 0; 1097 1098 @media (max-width: 768px) { 1099 padding: 1.75rem 0 2.5rem; 1100 } 1101 1102 @media (max-width: 480px) { 1103 padding: 1rem 0 2rem; 1104 } 1105`,eu=kr.div` 1106 background-color: var(--blue0); 1107 border-radius: 16px; 1108 border: 1px solid var(--blue3); 1109 overflow: hidden; 1110 position: relative; 1111 isolation: isolate; 1112 1113 &::after { 1114 content: ''; 1115 position: absolute; 1116 inset: 0; 1117 background: 1118 radial-gradient(circle at 28% 48%, rgba(15, 17, 19, 0.1), rgba(15, 17, 19, 0.82) 76%), 1119 linear-gradient(90deg, rgba(15, 17, 19, 0.68), rgba(15, 17, 19, 0.36)); 1120 pointer-events: none; 1121 z-index: -1; 1122 } 1123`,tu=kr.video` 1124 position: absolute; 1125 inset: 0; 1126 width: 100%; 1127 height: 100%; 1128 object-fit: cover; 1129 opacity: 0.28; 1130 pointer-events: none; 1131 z-index: -2; 1132`,nu=kr.div` 1133 position: relative; 1134 z-index: 1; 1135 padding: 3rem; 1136 display: flex; 1137 align-items: center; 1138 justify-content: center; 1139 min-height: 400px; 1140 1141 @media (max-width: 768px) { 1142 padding: 2rem; 1143 min-height: auto; 1144 } 1145 1146 @media (max-width: 480px) { 1147 padding: 1.5rem; 1148 } 1149`,ru=kr.div` 1150 display: grid; 1151 grid-template-columns: auto 1fr; 1152 gap: 4rem; 1153 align-items: center; 1154 width: 100%; 1155 max-width: 1000px; 1156 1157 @media (max-width: 768px) { 1158 grid-template-columns: 1fr; 1159 gap: 2rem; 1160 text-align: center; 1161 } 1162`,ou=kr.div` 1163 display: flex; 1164 align-items: center; 1165 justify-content: center; 1166`,iu=kr.img` 1167 width: 280px; 1168 height: 280px; 1169 border-radius: 16px; 1170 object-fit: cover; 1171 border: 1px solid var(--blue3); 1172 1173 @media (max-width: 768px) { 1174 width: 200px; 1175 height: 200px; 1176 } 1177 1178 @media (max-width: 480px) { 1179 width: 120px; 1180 height: 120px; 1181 } 1182`,au=kr.div` 1183 display: flex; 1184 flex-direction: column; 1185 justify-content: center; 1186 1187 @media (max-width: 768px) { 1188 align-items: center; 1189 } 1190`,lu=kr.h1` 1191 font-size: 3rem; 1192 font-weight: 700; 1193 margin: 0 0 0.5rem; 1194 color: var(--blue9); 1195 1196 @media (max-width: 768px) { 1197 font-size: 2rem; 1198 } 1199 1200 @media (max-width: 480px) { 1201 font-size: 1.75rem; 1202 } 1203`,su=kr.h2` 1204 font-size: 1.25rem; 1205 font-weight: 500; 1206 margin: 0 0 1rem; 1207 color: var(--gray3); 1208 1209 @media (max-width: 480px) { 1210 font-size: 1.1rem; 1211 } 1212`,cu=kr.p` 1213 font-size: 1.1rem; 1214 color: var(--blue11); 1215 margin: 0 0 2rem; 1216 max-width: 600px; 1217 line-height: 1.6; 1218 1219 @media (max-width: 768px) { 1220 font-size: 1rem; 1221 margin: 0 auto 2rem; 1222 text-align: center; 1223 } 1224`,uu=kr.div` 1225 display: flex; 1226 gap: 2rem; 1227 margin-bottom: 2rem; 1228 align-items: center; 1229 1230 @media (max-width: 768px) { 1231 justify-content: center; 1232 gap: 1.5rem; 1233 } 1234 1235 @media (max-width: 480px) { 1236 flex-direction: row; 1237 justify-content: center;
1238 align-items: center; 1239 gap: 1rem; 1240 margin-bottom: 1.5rem; 1241 } 1242`,du=kr.div` 1243 display: flex; 1244 align-items: center; 1245 gap: 0.5rem; 1246 1247 i { 1248 font-size: 1.25rem; 1249 color: var(--gray3); 1250 } 1251 1252 span { 1253 font-weight: 600; 1254 color: var(--blue9); 1255 } 1256`,pu=kr.div` 1257 display: flex; 1258 gap: 1rem; 1259 1260 @media (max-width: 768px) { 1261 justify-content: center; 1262 } 1263 1264 @media (max-width: 480px) { 1265 flex-direction: column; 1266 } 1267`,fu=kr.button` 1268 background-color: var(--gray1); 1269 color: var(--blue9); 1270 border: none; 1271 border-radius: 8px; 1272 padding: 0.75rem 1.5rem; 1273 font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; 1274 font-size: 0.9rem; 1275 font-weight: 500; 1276 display: flex; 1277 align-items: center; 1278 gap: 0.5rem; 1279 cursor: pointer; 1280 transition: all 0.2s ease; 1281 text-decoration: none; 1282 1283 i { 1284 font-size: 1.1rem; 1285 } 1286 1287 &:hover { 1288 background-color: var(--gray2); 1289 transform: translateY(-2px); 1290 } 1291`,mu=kr(fu)` 1292 background-color: var(--blue3); 1293 1294 &:hover { 1295 background-color: var(--gray2); 1296 opacity: 0.9; 1297 } 1298`,hu=kr(fu)` 1299 background-color: transparent; 1300 border: 1px solid var(--gray2); 1301 1302 &:hover { 1303 background-color: var(--blue2); 1304 border-color: var(--gray3); 1305 } 1306`,gu=kr.section` 1307 margin-bottom: 4rem; 1308 margin-top: 1.2rem; 1309 1310 @media (max-width: 768px) { 1311 margin-bottom: 2.5rem; 1312 } 1313 1314 @media (max-width: 480px) { 1315 margin-bottom: 3.5rem; 1316 } 1317`,bu=kr.div` 1318 display: flex; 1319 justify-content: space-between; 1320 align-items: center; 1321 margin-bottom: 2rem; 1322 1323 h2 { 1324 font-size: 1.75rem; 1325 font-weight: 600; 1326 margin: 0; 1327 color: var(--blue9); 1328 } 1329 1330 @media (max-width: 480px) { 1331 h2 { 1332 font-size: 1.5rem; 1333 } 1334 } 1335`,vu=kr.a` 1336 display: flex; 1337 align-items: center; 1338 gap: 0.5rem; 1339 color: var(--blue11); 1340 font-size: 0.9rem; 1341 font-weight: 500; 1342 text-decoration: none; 1343 transition: color 0.2s ease; 1344 1345 i { 1346 font-size: 1.1rem; 1347 } 1348 1349 &:hover { 1350 color: var(--blue9); 1351 } 1352`,yu=kr.div` 1353 display: grid; 1354 grid-template-columns: repeat(4, 1fr); 1355 gap: 1.5rem; 1356 1357 @media (max-width: 992px) { 1358 grid-template-columns: repeat(2, 1fr); 1359 } 1360 1361 @media (max-width: 480px) { 1362 grid-template-columns: repeat(2, 1fr); 1363 gap: 0.75rem; 1364 } 1365`,xu=kr.div` 1366 background-color: var(--blue2); 1367 border-radius: 12px; 1368 overflow: hidden; 1369 border: 1px solid var(--blue3); 1370 transition: all 0.3s ease; 1371 cursor: pointer; 1372 1373 &:hover { 1374 transform: translateY(-5px); 1375 border-color: var(--blue6); 1376 1377 > div:first-child > div { 1378 opacity: 1; 1379 } 1380 } 1381`,wu=kr.div` 1382 width: 100%; 1383 aspect-ratio: 16/9; 1384 background-size: cover; 1385 background-position: center; 1386 position: relative; 1387`,Eu=kr.div` 1388 position: absolute; 1389 top: 0; 1390 left: 0; 1391 width: 100%; 1392 height: 100%; 1393 background-color: rgba(15, 17, 19, 0.5); 1394 display: flex; 1395 align-items: center; 1396 justify-content: center; 1397 opacity: 0; 1398 transition: opacity 0.3s ease; 1399 1400 i { 1401 font-size: 3rem; 1402 color: white; 1403 } 1404`,_u=kr.div` 1405 padding: 1rem; 1406 1407 @media (max-width: 480px) { 1408 padding: 0.625rem 0.75rem; 1409 } 1410`,ku=kr.h3` 1411 margin: 0 0 0.5rem; 1412 font-size: 1rem; 1413 font-weight: 500; 1414 color: var(--blue9); 1415 1416 @media (max-width: 480px) { 1417 font-size: 0.8rem; 1418 margin-bottom: 0.25rem; 1419 } 1420`,Tu=kr.span` 1421 font-size: 0.85rem; 1422 color: var(--blue11); 1423 1424 @media (max-width: 480px) { 1425 font-size: 0.7rem; 1426 } 1427`,Cu=kr.div` 1428 display: grid; 1429 grid-template-columns: repeat(3, 1fr); 1430 gap: 1.5rem; 1431 1432 @media (max-width: 992px) { 1433 grid-template-columns: repeat(2, 1fr); 1434 } 1435 1436 @media (max-width: 480px) { 1437 grid-template-columns: 1fr; 1438 } 1439`,Su=kr.div` 1440 background-color: var(--blue2); 1441 border-radius: 12px; 1442 overflow: hidden; 1443 border: 1px solid var(--blue3); 1444 border-top-width: 4px; 1445 display: flex; 1446 flex-direction: column; 1447`,Pu=kr.div` 1448 width: 100%; 1449 height: 250px; 1450 background-size: cover; 1451 background-position: center; 1452`,Au=kr.div` 1453 padding: 1.25rem; 1454 flex-grow: 1; 1455 display: flex; 1456 flex-direction: column; 1457`,Ru=kr.h3` 1458 margin: 0 0 0.5rem; 1459 font-size: 1.1rem; 1460 font-weight: 600; 1461 color: var(--blue9); 1462`,Iu=kr.p` 1463 margin: 0; 1464 font-size: 0.9rem; 1465 color: var(--blue11); 1466`,Lu=kr.div` 1467 background-color: var(--blue2); 1468 border-radius: 16px; 1469 border: 1px solid var(--blue3); 1470 overflow: visible; 1471`,Ou=kr.div` 1472 padding: 2rem; 1473 1474 @media (max-width: 768px) { 1475 padding: 1.5rem; 1476 } 1477`,ju=kr.div` 1478 text-align: center; 1479 margin-bottom: 2rem; 1480 1481 h2 { 1482 font-size: 1.75rem; 1483 font-weight: 600; 1484 margin: 0 0 0.5rem; 1485 color: var(--blue9); 1486 } 1487 1488 p { 1489 color: var(--blue11); 1490 font-size: 1rem; 1491 margin: 0; 1492 line-height: 1.5; 1493 } 1494 1495 @media (max-width: 480px) { 1496 h2 { 1497 font-size: 1.5rem; 1498 } 1499 1500 p { 1501 font-size: 0.9rem; 1502 } 1503 } 1504`,zu=Sr` 1505 from { 1506 transform: translateX(0); 1507 } 1508 1509 to { 1510 transform: translateX(-50%); 1511 } 1512`,Nu=kr.div` 1513 position: relative; 1514 display: flex; 1515 width: max-content; 1516 z-index: ${e=>{let{$rowIndex:t}=e;return 1===t?2:1}}; 1517 filter: ${e=>{let{$rowIndex:t}=e;return 1===t?"drop-shadow(0 20px 28px rgba(0, 0, 0, 0.42))":"none"}}; 1518 animation: ${zu} ${e=>{let{$rowIndex:t}=e;return 34+6*t}}s linear infinite; 1519 animation-direction: ${e=>{let{$rowIndex:t}=e;return t%2===1?"reverse":"normal"}}; 1520 will-change: transform; 1521 1522 @media (prefers-reduced-motion: reduce) { 1523 width: 100%; 1524 flex-wrap: wrap; 1525 justify-content: center; 1526 animation: none; 1527 transform: none; 1528 1529 [data-duplicate='true'] { 1530 display: none; 1531 } 1532 } 1533`,Mu=kr.div` 1534 display: flex; 1535 flex-direction: column; 1536 gap: 0.8rem; 1537 overflow: hidden; 1538 padding: 4.5rem 0 4.25rem; 1539 margin: -2rem -2rem 0; 1540 -webkit-mask-image: linear-gradient( 1541 to right, 1542 transparent 0%, 1543 #000 12%, 1544 #000 88%, 1545 transparent 100% 1546 ); 1547 mask-image: linear-gradient( 1548 to right, 1549 transparent 0%, 1550 #000 12%, 1551 #000 88%, 1552 transparent 100% 1553 ); 1554 1555 &:hover ${Nu}, 1556 &:focus-within ${Nu} { 1557 animation-play-state: paused; 1558 } 1559 1560 @media (max-width: 768px) { 1561 margin-inline: -1.5rem; 1562 } 1563 1564 @media (prefers-reduced-motion: reduce) { 1565 -webkit-mask-image: none; 1566 mask-image: none; 1567 } 1568`,Du=kr.div` 1569 position: absolute; 1570 ${e=>{let{$placement:t}=e;return"below"===t?"top: calc(100% + 12px);":"bottom: calc(100% + 12px);"}} 1571 left: 50%; 1572 transform: ${e=>{let{$placement:t}=e;return"below"===t?"translate(-50%, -6px)":"translate(-50%, 6px)"}}; 1573 opacity: 0; 1574 pointer-events: none; 1575 white-space: nowrap; 1576 z-index: 8; 1577 background-color: #f5f5f7; 1578 color: #17171d; 1579 border-radius: 10px; 1580 padding: 0.45rem 0.65rem; 1581 font-size: 0.75rem; 1582 font-weight: 600; 1583 box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28); 1584 transition: 1585 opacity 200ms ease,
1586 transform 250ms cubic-bezier(.2, .7, .2, 1); 1587 1588 &::after { 1589 content: ''; 1590 position: absolute; 1591 ${e=>{let{$placement:t}=e;return"below"===t?"bottom: 100%;":"top: 100%;"}} 1592 left: 50%; 1593 transform: translateX(-50%); 1594 width: 0; 1595 height: 0; 1596 border-left: 7px solid transparent; 1597 border-right: 7px solid transparent; 1598 ${e=>{let{$placement:t}=e;return"below"===t?"border-bottom: 7px solid #f5f5f7;":"border-top: 7px solid #f5f5f7;"}} 1599 } 1600`,Uu=kr.span` 1601 color: #d8a05a; 1602`,Fu=kr.div` 1603 position: relative; 1604 display: flex; 1605 align-items: center; 1606 gap: 0.75rem; 1607 flex: 0 0 auto; 1608 width: 210px; 1609 min-height: 68px; 1610 margin-right: 0.75rem; 1611 padding: 0.75rem; 1612 background-color: var(--blue3); 1613 border: 1px solid #22232a; 1614 border-radius: 10px; 1615 transition: 1616 transform 350ms cubic-bezier(.2, .7, .2, 1), 1617 border-color 350ms cubic-bezier(.2, .7, .2, 1), 1618 background-color 350ms cubic-bezier(.2, .7, .2, 1); 1619 1620 &:nth-child(odd) { 1621 transform: translateY(-8px); 1622 } 1623 1624 &:nth-child(even) { 1625 transform: translateY(8px); 1626 } 1627 1628 &:hover, 1629 &:focus-visible { 1630 z-index: 7; 1631 border-color: oklch(0.78 0.14 70 / 0.5); 1632 background-color: #1b1b21; 1633 } 1634 1635 &:nth-child(odd):hover, 1636 &:nth-child(odd):focus-visible { 1637 transform: translateY(calc(-8px - 6px)) scale(1.04); 1638 } 1639 1640 &:nth-child(even):hover, 1641 &:nth-child(even):focus-visible { 1642 transform: translateY(calc(8px - 6px)) scale(1.04); 1643 } 1644 1645 &:hover ${Du}, 1646 &:focus-visible ${Du} { 1647 opacity: 1; 1648 transform: translate(-50%, 0); 1649 } 1650 1651 &:focus-visible { 1652 outline: 2px solid oklch(0.78 0.14 70 / 0.55); 1653 outline-offset: 3px; 1654 } 1655 1656 @media (max-width: 480px) { 1657 width: 230px; 1658 } 1659`,$u=kr.img` 1660 flex-shrink: 0; 1661 width: 42px; 1662 height: 42px; 1663 border-radius: 50%; 1664 object-fit: cover; 1665 border: 2px solid var(--blue4); 1666`,Vu=kr.div` 1667 flex-shrink: 0; 1668 width: 42px; 1669 height: 42px; 1670 border-radius: 50%; 1671 border: 2px solid var(--blue4); 1672 background-color: var(--gray1); 1673 color: var(--blue9); 1674 display: flex; 1675 align-items: center; 1676 justify-content: center; 1677 font-size: 0.8rem; 1678 font-weight: 700; 1679`,Bu=kr.div` 1680 flex: 1; 1681 font-weight: 600; 1682 font-size: 0.9rem; 1683 color: var(--blue9); 1684 line-height: 1.2; 1685 min-width: 0; 1686 overflow-wrap: anywhere; 1687 1688 @media (max-width: 768px) { 1689 font-size: 0.85rem; 1690 } 1691`,Hu=kr.div` 1692 display: grid; 1693 grid-template-columns: repeat(4, 1fr); 1694 gap: 1rem; 1695 margin-bottom: 1.5rem; 1696 1697 @media (max-width: 768px) { 1698 grid-template-columns: repeat(2, 1fr); 1699 } 1700 1701 @media (max-width: 480px) { 1702 grid-template-columns: repeat(2, 1fr); 1703 gap: 0.75rem; 1704 } 1705`,Gu=kr.div` 1706 background-color: var(--blue2); 1707 border-radius: 12px; 1708 border: 1px solid var(--blue3); 1709 padding: 1.25rem 1rem; 1710 text-align: center; 1711`,Yu=kr.div` 1712 i { 1713 font-size: 1.5rem; 1714 color: var(--blue11); 1715 margin-bottom: 0.5rem; 1716 display: block; 1717 } 1718`,Wu=kr.div` 1719 font-size: 1.75rem; 1720 font-weight: 700; 1721 color: var(--blue9); 1722 line-height: 1; 1723 margin-bottom: 0.35rem; 1724 1725 @media (max-width: 480px) { 1726 font-size: 1.4rem; 1727 } 1728`,Ku=kr.div` 1729 font-size: 0.75rem; 1730 color: var(--blue11); 1731 font-weight: 500; 1732 text-transform: uppercase; 1733 letter-spacing: 0.04em; 1734`,qu=kr.div` 1735 display: grid; 1736 grid-template-columns: 1.75fr 2.25fr; 1737 gap: 1.5rem; 1738 1739 @media (max-width: 992px) { 1740 grid-template-columns: 1fr; 1741 } 1742`,Qu=kr.div` 1743 background-color: var(--blue2); 1744 border-radius: 16px; 1745 border: 1px solid var(--blue3); 1746 overflow: hidden; 1747`,Xu=kr(Qu)``,Ju=kr(Qu)``,Zu=kr.div` 1748 padding: 1.5rem; 1749`,ed=kr.h3` 1750 font-size: 1.5rem; 1751 font-weight: 600; 1752 margin: 0 0 1.5rem; 1753 color: var(--blue9); 1754`,td=kr.p` 1755 color: var(--blue11); 1756 margin: 0 0 1.5rem; 1757 line-height: 1.6; 1758`,nd=kr.div` 1759 display: grid; 1760 grid-template-columns: repeat(3, 1fr); 1761 gap: 1rem; 1762 1763 @media (max-width: 992px) { 1764 grid-template-columns: repeat(3, 1fr); 1765 } 1766 1767 @media (max-width: 480px) { 1768 grid-template-columns: repeat(2, 1fr); 1769 } 1770`,rd=kr.div` 1771 display: flex; 1772 flex-direction: column; 1773 align-items: center; 1774 gap: 0.5rem; 1775 padding: 1rem; 1776 background-color: var(--blue3); 1777 border-radius: 8px; 1778`,od=kr.img` 1779 width: 40px; 1780 height: 40px; 1781 object-fit: contain; 1782`,id=kr.span` 1783 font-size: 0.9rem; 1784 font-weight: 500; 1785 color: var(--blue9); 1786 text-align: center; 1787`,ad=kr.div` 1788 display: grid; 1789 grid-template-columns: repeat(3, 1fr); 1790 gap: 1.5rem; 1791 1792 @media (max-width: 992px) { 1793 grid-template-columns: repeat(2, 1fr); 1794 } 1795 1796 @media (max-width: 480px) { 1797 grid-template-columns: 1fr; 1798 } 1799`,ld=kr.div` 1800 background-color: var(--blue2); 1801 border-radius: 12px; 1802 border: 1px solid var(--blue3); 1803 padding: 1.5rem; 1804 1805 @media (max-width: 480px) { 1806 padding: 1.125rem; 1807 } 1808`,sd=kr.div` 1809 width: 48px; 1810 height: 48px; 1811 background-color: var(--blue3); 1812 border-radius: 10px; 1813 display: flex; 1814 align-items: center; 1815 1816 @media (max-width: 480px) { 1817 width: 40px; 1818 height: 40px; 1819 border-radius: 8px; 1820 } 1821 justify-content: center; 1822 margin-bottom: 1rem; 1823 1824 i { 1825 font-size: 1.5rem; 1826 color: var(--blue9); 1827 } 1828`,cd=kr.h3` 1829 font-size: 1rem; 1830 font-weight: 600; 1831 margin: 0 0 0.5rem; 1832 color: var(--blue9); 1833 1834 @media (max-width: 480px) { 1835 font-size: 0.875rem; 1836 } 1837`,ud=kr.p` 1838 font-size: 0.875rem; 1839 color: var(--blue11); 1840 margin: 0; 1841 line-height: 1.6; 1842 1843 @media (max-width: 480px) { 1844 font-size: 0.775rem; 1845 line-height: 1.5; 1846 } 1847`,dd="\n @keyframes shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n }\n",pd=kr.div` 1848 ${dd} 1849 height: 1.75rem; 1850 background: linear-gradient(90deg, var(--blue3) 25%, var(--blue4) 50%, var(--blue3) 75%); 1851 background-size: 200% 100%; 1852 animation: shimmer 1.5s infinite; 1853 border-radius: 4px; 1854 width: 65%; 1855 margin: 0 auto 0.35rem; 1856 1857 @media (max-width: 480px) { 1858 height: 1.4rem; 1859 } 1860`,fd=kr.div` 1861 background-color: var(--blue2); 1862 border-radius: 12px; 1863 overflow: hidden; 1864 border: 1px solid var(--blue3); 1865`,md=kr.div` 1866 ${dd} 1867 width: 100%; 1868 aspect-ratio: 16/9; 1869 background: linear-gradient(90deg, var(--blue3) 25%, var(--blue4) 50%, var(--blue3) 75%); 1870 background-size: 200% 100%; 1871 animation: shimmer 1.5s infinite; 1872`,hd=kr.div` 1873 padding: 1rem; 1874 display: flex; 1875 flex-direction: column; 1876 gap: 0.5rem; 1877`,gd=kr.div` 1878 ${dd} 1879 height: 1rem; 1880 background: linear-gradient(90deg, var(--blue3) 25%, var(--blue4) 50%, var(--blue3) 75%); 1881 background-size: 200% 100%; 1882 animation: shimmer 1.5s infinite; 1883 border-radius: 4px; 1884 width: 80%; 1885`,bd=kr.div` 1886 ${dd} 1887 height: 0.75rem; 1888 background: linear-gradient(90deg, var(--blue3) 25%, var(--blue4) 50%, var(--blue3) 75%); 1889 background-size: 200% 100%; 1890 animation: shimmer 1.5s infinite; 1891 border-radius: 4px; 1892 width: 50%; 1893`,vd={GlobalStyle:Xc,Container:Jc,HeroSection:Zc,HeroCard:eu,HeroBackgroun
1893dVideo:tu,HeroCardContent:nu,HeroContent:ru,ProfileImageContainer:ou,ProfileImage:iu,HeroTextContent:au,HeroHeadline:lu,HeroTagline:su,HeroDescription:cu,HeroStats:uu,StatItem:du,HeroActions:pu,StatsStrip:Hu,StatCard:Gu,StatIcon:Yu,StatNumber:Wu,StatLabel:Ku,Button:fu,PrimaryButton:mu,SecondaryButton:hu,Section:gu,SectionHeader:bu,ViewAllButton:vu,VideoGrid:yu,VideoCard:xu,VideoThumbnail:wu,VideoOverlay:Eu,VideoInfo:_u,VideoTitle:ku,VideoViews:Tu,ProjectsGrid:Cu,ProjectCard:Su,ProjectImage:Pu,ProjectInfo:Au,ProjectTitle:Ru,ProjectDescription:Iu,ClientsCard:Lu,ClientsCardContent:Ou,ClientsHeader:ju,ClientsRows:Mu,ClientTrack:Nu,ClientItem:Fu,ClientLogo:$u,ClientInitials:Vu,ClientName:Bu,ClientSubscribers:Du,ClientSubscriberCount:Uu,TwoColumnGrid:qu,Card:Qu,AboutCard:Xu,StackCard:Ju,CardContent:Zu,SectionTitle:ed,AboutText:td,TechGrid:nd,TechItem:rd,TechLogo:od,TechName:id,CtaSection:kr.section` 1894 margin-bottom: 5rem; 1895 1896 @media (max-width: 768px) { 1897 margin-bottom: 4rem; 1898 } 1899`,CtaContent:kr.div` 1900 background-color: var(--blue2); 1901 border-radius: 16px; 1902 border: 1px solid var(--blue3); 1903 padding: 3rem; 1904 text-align: center; 1905 1906 @media (max-width: 768px) { 1907 padding: 2rem; 1908 } 1909`,CtaTitle:kr.h3` 1910 font-size: 2rem; 1911 font-weight: 600; 1912 margin: 0 0 0.5rem; 1913 color: var(--blue9); 1914 1915 @media (max-width: 768px) { 1916 font-size: 1.75rem; 1917 } 1918`,CtaText:kr.p` 1919 font-size: 1.1rem; 1920 color: var(--blue11); 1921 margin: 0 0 2rem; 1922`,CtaButton:kr(mu)` 1923 margin: 0 auto; 1924 1925 @media (max-width: 480px) { 1926 width: 100%; 1927 justify-content: center; 1928 } 1929`,Footer:kr.footer` 1930 display: flex; 1931 justify-content: space-between; 1932 align-items: center; 1933 padding: 2rem 0; 1934 border-top: 1px solid var(--blue3); 1935 1936 @media (max-width: 768px) { 1937 flex-direction: column; 1938 gap: 1rem; 1939 text-align: center; 1940 } 1941`,FooterText:kr.p` 1942 color: var(--blue11); 1943 font-size: 0.9rem; 1944 margin: 0; 1945`,SocialLinks:kr.div` 1946 display: flex; 1947 gap: 1rem; 1948`,SocialLink:kr.a` 1949 display: flex; 1950 align-items: center; 1951 justify-content: center; 1952 width: 40px; 1953 height: 40px; 1954 background-color: var(--blue2); 1955 border: 1px solid var(--blue3); 1956 border-radius: 50%; 1957 color: var(--blue9); 1958 font-size: 1.25rem; 1959 transition: all 0.2s ease; 1960 1961 &:hover { 1962 background-color: var(--blue3); 1963 transform: translateY(-3px); 1964 color: var(--gray4); 1965 } 1966`,ServicesGrid:ad,ServiceCard:ld,ServiceIcon:sd,ServiceTitle:cd,ServiceDescription:ud,VideoModal:kr.div` 1967 position: fixed; 1968 top: 0; 1969 left: 0; 1970 width: 100%; 1971 height: 100%; 1972 z-index: 1000; 1973 display: flex; 1974 align-items: center; 1975 justify-content: center; 1976 padding: 2rem; 1977 1978 @media (max-width: 768px) { 1979 padding: 1rem; 1980 } 1981`,ModalBackdrop:kr.div` 1982 position: absolute; 1983 top: 0; 1984 left: 0; 1985 width: 100%; 1986 height: 100%; 1987 background-color: rgba(0, 0, 0, 0.9); 1988 cursor: pointer; 1989`,ModalContent:kr.div` 1990 width: 100%; 1991 max-width: 900px; 1992 aspect-ratio: 16/9; 1993 position: relative; 1994 z-index: 1001; 1995`,CloseButton:kr.button` 1996 position: absolute; 1997 top: -3rem; 1998 right: 0; 1999 background: none; 2000 border: none; 2001 color: white; 2002 font-size: 2rem; 2003 cursor: pointer; 2004 z-index: 1002; 2005 2006 @media (max-width: 768px) { 2007 top: -2.5rem; 2008 right: 0; 2009 } 2010`,VideoIframe:kr.iframe` 2011 width: 100%; 2012 height: 100%; 2013 border: none; 2014 border-radius: 12px; 2015`,StatSkeleton:pd,VideoCardSkeleton:fd,VideoThumbnailSkeleton:md,VideoInfoSkeleton:hd,VideoTitleSkeleton:gd,VideoSubSkeleton:bd},yd=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3;const[n,r]=(0,o.useState)(0);return(0,o.useEffect)((()=>{if(0===e)return void r(0);let n=null;const o=i=>{n||(n=i);const a=Math.min((i-n)/t,1),l=1-Math.pow(1-a,3);r(Math.floor(e*l)),a<1?requestAnimationFrame(o):r(e)};requestAnimationFrame(o)}),[e,t]),n},xd="AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",wd="PLDZjxSO4MSJoA638nQvykQaevGgc-sV2B",Ed="UC7bYyWCCCLHDU0ZuNzGNTtg",_d=`portfolio-stats:${wd}:v2`,kd=119167506,Td=199,Cd=5573002,Sd={totalViews:155703935,totalVideos:446,totalChannels:19,totalLikes:6659682},Pd=async()=>{const e=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];try{if("undefined"===typeof window)return null;const t=window.localStorage.getItem(_d);if(!t)return null;const n=JSON.parse(t),r=Date.now()-n.cachedAt>864e5;return!e&&r?null:(e=>{if(!e||"object"!==typeof e)return!1;const t=e;return"number"===typeof t.totalViews&&"number"===typeof t.totalVideos&&"number"===typeof t.totalChannels&&"number"===typeof t.totalLikes})(n.stats)?n.stats:null}catch{return null}}();if(e)return e;const t=new Map;let n="";try{0;do{var r;const e=await fetch(`https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&playlistId=${wd}&key=${xd}&maxResults=50`+(n?`&pageToken=${n}`:"")),o=await e.json();if(!e.ok||o.error)throw new Error("Unable to fetch YouTube playlist data.");
2015if(null===(r=o.items)||void 0===r||!r.length)break;const i=o.items.map((e=>e.contentDetails.videoId)).join(","),a=await fetch(`https://www.googleapis.com/youtube/v3/videos?part=statistics,snippet&id=${i}&key=${xd}`),l=await a.json();if(!a.ok||l.error)throw new Error("Unable to fetch YouTube video statistics.");for(const n of l.items||[])n.snippet.channelId!==Ed&&t.set(n.id,{views:parseInt(n.statistics.viewCount)||0,likes:parseInt(n.statistics.likeCount)||0,channelId:n.snippet.channelId});n=o.nextPageToken||""}while(n);const e=[...t.values()],o=new Set(e.map((e=>e.channelId)));o.add(Ed);const i={totalViews:e.reduce(((e,t)=>e+t.views),kd),totalLikes:e.reduce(((e,t)=>e+t.likes),Cd),totalVideos:e.length+Td,totalChannels:o.size},a={totalViews:Math.max(i.totalViews,Sd.totalViews),totalLikes:Math.max(i.totalLikes,Sd.totalLikes),totalVideos:Math.max(i.totalVideos,Sd.totalVideos),totalChannels:Math.max(i.totalChannels,Sd.totalChannels)};return(e=>{try{if("undefined"===typeof window)return;window.localStorage.setItem(_d,JSON.stringify({cachedAt:Date.now(),stats:e}))}catch{}})(a),a}catch{return Sd}},Ad="AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",Rd=new Map,Id=e=>{if(!e||"object"!==typeof e)return!1;const t=e;return"string"===typeof t.id&&"string"===typeof t.title&&"string"===typeof t.thumbnail&&("number"===typeof t.subscriberCount||null===t.subscriberCount)},Ld=e=>`youtube-channel-details:v2:${[...e].sort().join(",")}`,Od=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{if("undefined"===typeof window)return null;const n=window.localStorage.getItem(`youtube-video-details:${e}`);if(!n)return null;const r=JSON.parse(n),o=Date.now()-r.cachedAt>31536e6;return!t&&o?null:(e=>{if(!e||"object"!==typeof e)return!1;const t=e;return"string"===typeof t.title&&"string"===typeof t.thumbnail})(r.data)?r.data:null}catch{return null}},jd=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{if("undefined"===typeof window)return null;const r=window.localStorage.getItem(Ld(e));if(!r)return null;const o=JSON.parse(r),i=Date.now()-o.cachedAt>864e5;return!t&&i?null:(n=o.data)&&"object"===typeof n&&Object.values(n).every(Id)&&(t||((e,t)=>t.every((t=>{var n;return Boolean(null===(n=e[t])||void 0===n?void 0:n.thumbnail)})))(o.data,e))?o.data:null}catch{return null}var n},zd=(e,t)=>{try{if("undefined"===typeof window)return;window.localStorage.setItem(`youtube-video-details:${e}`,JSON.stringify({cachedAt:Date.now(),data:t}))}catch{}},Nd={async getLatestVideo(){try{var e;const t=await fetch(`https://www.googleapis.com/youtube/v3/search?key=${Ad}&channelId=UCg_JArLpHeN9P34qMd9W5rQ&part=snippet&order=date&type=video&videoEmbeddable=true&maxResults=10`),n=await t.json();if(null===(e=n.items)||void 0===e||!e.length)return null;const r=n.items.map((e=>e.id.videoId)).join(","),o=await fetch(`https://www.googleapis.com/youtube/v3/videos?key=${Ad}&id=${r}&part=contentDetails,snippet,statistics`),i=(await o.json()).items.find((e=>function(e){const t=e.match(/PT(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?/);if(!t)return 0;const[,n,r,o]=t;return 3600*parseInt(n||"0")+60*parseInt(r||"0")+parseInt(o||"0")}(e.contentDetails.duration)>=60));return i?{id:i.id,title:i.snippet.title,description:i.snippet.description,thumbnail:i.snippet.thumbnails.high.url,publishedAt:i.snippet.publishedAt,duration:i.contentDetails.duration}:null}catch{return null}},async getVideoDetails(e){const t=Od(e);if(t)return t;const n=Rd.get(e);if(n)return n;const r=(async()=>{try{var t,n;const r=await fetch(`https://www.googleapis.com/youtube/v3/videos?key=${Ad}&id=${e}&part=snippet`),o=await r.json();if(!r.ok||o.error)throw new Error("Unable to fetch YouTube video details.");if(null===(t=o.items)||void 0===t||!t[0])return null;const i=o.items[0],a={title:i.snippet.title,thumbnail:(null===(n=i.snippet.thumbnails.maxres)||void 0===n?void 0:n.url)||i.snippet.thumbnails.high.url};return zd(e,a),a}catch{return Od(e,!0)}finally{Rd.delete(e)}})();return Rd.set(e,r),r},cacheVideoDetails(e,t){zd(e,t)},async getChannelDetails(e){const t=[...new Set(e.filter(Boolean))];if(!t.length)return{};const n=jd(t);if(n)return n;try{0;const e=new URLSearchParams({key:Ad,id:t.join(","),part:"snippet,statistics",maxResults:"50"}
2015),n=await fetch(`https://www.googleapis.com/youtube/v3/channels?${e}`),r=await n.json();if(!n.ok||r.error)throw new Error("Unable to fetch YouTube channel details.");const o=(r.items||[]).reduce(((e,t)=>{var n,r,o,i,a,l,s;const c=(null===(n=t.snippet)||void 0===n?void 0:n.thumbnails)||{},u=null!==(r=t.statistics)&&void 0!==r&&r.hiddenSubscriberCount?null:Number(null===(o=t.statistics)||void 0===o?void 0:o.subscriberCount),d=Number.isFinite(u)?u:null;return e[t.id]={id:t.id,title:(null===(i=t.snippet)||void 0===i?void 0:i.title)||"",thumbnail:(null===(a=c.high)||void 0===a?void 0:a.url)||(null===(l=c.medium)||void 0===l?void 0:l.url)||(null===(s=c.default)||void 0===s?void 0:s.url)||"",subscriberCount:d},e}),{});if(!Object.keys(o).length)throw new Error("YouTube channel response did not include channel details.");return((e,t)=>{try{if("undefined"===typeof window)return;window.localStorage.setItem(Ld(e),JSON.stringify({cachedAt:Date.now(),data:t}))}catch{}})(t,o),o}catch{return jd(t,!0)||{}}}};const Md=[{video_id:"6u1uT3yeO34",title:"Elon Musk Joins Ben Shapiro on the Search",tag:"The Daily Wire"},{video_id:"mMMQYz_vJFw",title:"Peterson x Tony Robbins | EP 517",tag:"Jordan B Peterson"},{video_id:"JACxe2Z0wcI",title:"Our Military Might Crumble | Facts Ep. 4",tag:"Facts"},{video_id:"aR6nqytYGXo",title:"Michael & Donald Trump Jr. Exclusive",tag:"Michael Knowles"}],Dd=e=>null===e?"Subscriber count unavailable":`${e.toLocaleString()} subscribers`,Ud=e=>null===e?"Unknown":e>=1e6?`${(e/1e6).toFixed(e>=1e7?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}K`:e.toLocaleString(),Fd=e=>{const t=new Set(["the","with"]);return e.split(/\s+/).filter((e=>!t.has(e.toLowerCase()))).slice(0,2).map((e=>e[0])).join("").toUpperCase()};const $d=[{name:"Jordan B Peterson",channelId:"UCL_f53ZEJxp8TtlOkHwMV9Q",fallbackSubscribers:885e4,fallbackImage:"https://yt3.ggpht.com/EjQNRQGTldnH7kUHaRRWa_yOa6Po-GODJN0xqJEmsji96cAVBdLggAgHlw2DbKSvomyo3xm2CX0=s800-c-k-c0x00ffffff-no-rj"},{name:"Ben Shapiro",channelId:"UCnQC_G5Xsjhp9fEJKuIcrSw",fallbackSubscribers:704e4,fallbackImage:"https://yt3.ggpht.com/IwzYq-xS_iXyxcilUGmrrhP2AMTAi1F2siYICQVvE_35j-BX657pww-fZk1baN8TyyTtn6Zg=s88-c-k-c0x00ffffff-no-rj"},{name:"The Comments Section",channelId:"UC7bYyWCCCLHDU0ZuNzGNTtg",fallbackSubscribers:362e4},{name:"Matt Walsh",channelId:"UCO01ytfzgXYy4glnPJm4PPQ",fallbackSubscribers:341e4,fallbackImage:"https://yt3.ggpht.com/DLvOLEc5u6jeSz7XBOD0PUXGFVmK2DYYfh1SAAImRTGrOFDCVXLKNepkxtVpurVTTpYZiVzL=s88-c-k-c0x00ffffff-no-rj"},{name:"The Daily Wire",channelId:"UCaeO5vkdj5xOQHp4UmIN6dw",fallbackSubscribers:326e4},{name:"Michael Knowles",channelId:"UCr4kgAUTFkGIwlWSodg43QA",fallbackSubscribers:259e4,fallbackImage:"https://yt3.ggpht.com/Hv7ouCTt_NaxfS_Y5q-uEqT3AWZH3Js2xvy79MNk17FQCKTjNP0P1FTgBSEzGjgM8Nh32BZRyg=s88-c-k-c0x00ffffff-no-rj"},{name:"Andrew Klavan",channelId:"UCyhEZKz-LOwgktptEOh6_Iw",fallbackSubscribers:811e3,fallbackImage:"https://yt3.ggpht.com/xGjur8_mrSCyqG0xHAr72BJvOVDQbW69w3n2VvnaMAWjJd-uf0p7DQPvymDzVFzU25XsIwFH=s88-c-k-c0x00ffffff-no-rj"},{name:"Bussin' With The Boys",channelId:"UCylgcI1N1S3zHljDO8eW-Qg",fallbackSubscribers:703e3},{name:"The Money Guy Show",channelId:"UC9vUu4vlIlMC0dHQCTvQPbg",fallbackSubscribers:664e3,fallbackImage:"https://yt3.ggpht.com/lBMDs2uWynRVfdkPeGU4RrZMBpMPiZYvfc3YPt4u5e12BKauK8_2Zu3dncl6ou5KNagDBVjb-w=s800-c-k-c0x00ffffff-no-rj"},{name:"Daily Wire News",channelId:"UCroKPvbmaQKGK5tjtQsvaDw",fallbackSubscribers:171e3},{name:"MrSavior",channelId:"UCSCCR-BIVxGkpR4n0E7yHjw",fallbackSubscribers:132e3,fallbackImage:"https://yt3.ggpht.com/DqsoBIUJ1rGd2Irl6oiEfla5mcn3nE-WSXfFXJVNRYVs077cRMAqCeAClnIdYW8RYOyatXVeIQ=s800-c-k-c0x00ffffff-no-rj"},{name:"Hard Cut",channelId:"UC82cIuOeBCZ-cC0jWciBeug",fallbackSubscribers:22900,fallbackImage:"https://yt3.ggpht.com/HmrJaNgU1A9kXCPVNCY8F8dKDBy1KShenc98VvFoqg3sfnHGQsXK29N-cUX-ppGMSibUAPezOQM=s800-c-k-c0x00ffffff-no-rj"},{name:"Morning Wire",channelId:"UCxUQLGMbb2cI8CqiwZ0WhAQ",fallbackSubscribers:19400},{name:"Cyndi Thomson",channelId:"UC3ba4l0FDVSwPZvbAFPI1Kg",fallbackSubscribers:7300},{name:"Reagan Conrad",channelId:"UCZBnzaYGRMhmwUhsi5WQ4Ag",fallbackSubscribers:7190},{name:"Be a Man With Me",channelId:"UCIQGH1UHQp4nbb5QYSJroAg",fallbackSubscribers:1560},{name:"Star Street",channelId:"UCRndLcvOb8vjDnxvw0dHvyw",fallbackSubscribers:526}
2015,{name:"That's So Criminal",channelId:"UCduArA165znqJc7jphuhq0w",fallbackSubscribers:186},{name:"Bloom Digital Weddings",channelId:"UCaz-K0c6O5KMhlSUQlGQYtw",fallbackSubscribers:99}],Vd=()=>$d.map((e=>({...e,image:e.fallbackImage,subscriberCount:e.fallbackSubscribers,subscribers:Dd(e.fallbackSubscribers)}))),Bd=()=>{const[e,t]=(0,o.useState)(null),[n,r]=(0,o.useState)(!0),[i,a]=(0,o.useState)(0),[l,s]=(0,o.useState)(0),[c,u]=(0,o.useState)(0),[d,p]=(0,o.useState)(0),f=yd(i),m=yd(l),h=yd(c),g=yd(d),[b,v]=(0,o.useState)([]),[y,x]=(0,o.useState)(!0),[w,E]=(0,o.useState)(Vd);(0,o.useEffect)((()=>{Pd().then((e=>{a(e.totalViews),s(e.totalVideos),u(e.totalChannels),p(e.totalLikes)})).catch((()=>{a(1468e5),s(424),u(14),p(64e5)})).finally((()=>r(!1)))}),[]),(0,o.useEffect)((()=>{(async()=>{try{const e=await Promise.all(Md.map((async e=>{const t=await Nd.getVideoDetails(e.video_id);return{id:e.video_id,title:(null===t||void 0===t?void 0:t.title)||e.title,thumbnail:(null===t||void 0===t?void 0:t.thumbnail)||`https://img.youtube.com/vi/${e.video_id}/hqdefault.jpg`,tag:e.tag}})));v(e)}catch{}finally{x(!1)}})()}),[]),(0,o.useEffect)((()=>{let e=!0;return(async()=>{const t=await Nd.getChannelDetails($d.map((e=>e.channelId)));e&&E($d.map((e=>{var n;const r=t[e.channelId],o=null!==(n=null===r||void 0===r?void 0:r.subscriberCount)&&void 0!==n?n:e.fallbackSubscribers;return{...e,image:(null===r||void 0===r?void 0:r.thumbnail)||e.fallbackImage,subscriberCount:o,subscribers:Dd(o)}})))})(),()=>{e=!1}}),[]),(0,o.useEffect)((()=>{const e=e=>{"Escape"===e.key&&t(null)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)}),[]),Co({title:"Austin Davenport - Professional Video Editor",description:"Austin Davenport is a professional video editor with 10+ years of experience, a focused portfolio, client work, editing services, and selected software projects.",path:"/"});const _=[{count:f,label:"Views Edited",icon:"bx bxl-youtube"},{count:m,label:"Videos Produced",icon:"bx bx-video"},{count:h,label:"Channels Served",icon:"bx bx-user-check"},{count:g,label:"Total Likes",icon:"bx bx-like"}],k=w.reduce(((e,t)=>e+(t.subscriberCount||0)),0),T=function(e,t){const n=Array.from({length:t},(()=>[]));return e.forEach(((e,r)=>{n[r%t].push(e)})),n}(w,3);return(0,$r.jsxs)(vd.Container,{children:[(0,$r.jsx)(vd.GlobalStyle,{}),(0,$r.jsx)(vd.HeroSection,{children:(0,$r.jsxs)(vd.HeroCard,{children:[(0,$r.jsxs)(vd.HeroBackgroundVideo,{autoPlay:!0,muted:!0,loop:!0,playsInline:!0,preload:"metadata",poster:"/images/home/bg-video-poster.jpg","aria-hidden":"true",children:[(0,$r.jsx)("source",{src:"/videos/home-bg-1280.webm",type:"video/webm"}),(0,$r.jsx)("source",{src:"/videos/home-bg-1280.mp4",type:"video/mp4"})]}),(0,$r.jsx)(vd.HeroCardContent,{children:(0,$r.jsxs)(vd.HeroContent,{children:[(0,$r.jsx)(vd.ProfileImageContainer,{children:(0,$r.jsx)(vd.ProfileImage,{src:"https://64.media.tumblr.com/44ab51b7b5c73d1a68f728d92becd3b3/029f5263603a04c1-96/s1280x1920/61ad282235a57094aec8b8068662f9225a4f5a14.pnj",alt:"Austin Davenport",fetchPriority:"high"})}),(0,$r.jsxs)(vd.HeroTextContent,{children:[(0,$r.jsx)(vd.HeroHeadline,{children:"Austin Davenport"}),(0,$r.jsx)(vd.HeroTagline,{children:"Professional Video Editor"}),(0,$r.jsx)(vd.HeroDescription,{children:"Video editor with 10+ years of experience working with top creators. Delivering content that has accumulated over 150 million views."}),(0,$r.jsxs)(vd.HeroActions,{children:[(0,$r.jsxs)(vd.PrimaryButton,{onClick:()=>t({id:"QPRYfLCxA1g",title:"Austin Davenport Showreel"}),children:[(0,$r.jsx)("i",{className:"bx bx-play-circle"}),"Watch Demo Reel"]}),(0,$r.jsxs)(vd.SecondaryButton,{onClick:()=>window.location.href="/portfolio",children:[(0,$r.jsx)("i",{className:"bx bx-folder"}),"View Portfolio"]})]})]})]})})]})}),(0,$r.jsx)(vd.StatsStrip,{children:_.map(((e,t)=>{return(0,$r.jsxs)(vd.StatCard,{children:[(0,$r.jsx)(vd.StatIcon,{children:(0,$r.jsx)("i",{className:e.icon})}),n?(0,$r.jsx)(vd.StatSkeleton,{}):(0,$r.jsx)(vd.StatNumber,{children:(r=e.count,r>=1e9?`${(r/1e9).toFixed(1)}B`:r>=1e6?`${(r/1e6).toFixed(1)}M`:r>=1e3?`${Math.round(r/1e3)}K`:r.toString())}),(0,$r.jsx)(vd.StatLabel,{children:e.label})]},t);var r}))}
2015),(0,$r.jsx)(vd.Section,{children:(0,$r.jsxs)(vd.TwoColumnGrid,{children:[(0,$r.jsx)(vd.AboutCard,{children:(0,$r.jsxs)(vd.CardContent,{children:[(0,$r.jsx)(vd.SectionTitle,{children:"About Me"}),(0,$r.jsxs)(vd.AboutText,{children:["Skilled professional video editor. I blend technical expertise with creative vision to deliver compelling content that resonates with audiences.",(0,$r.jsx)("br",{}),(0,$r.jsx)("br",{}),"With a background in both video production and post production, I understand the unique challenges creators face and deliver results that address real needs."]}),(0,$r.jsxs)(vd.Button,{onClick:()=>window.open("https://youtube.com/@AustinDavenport","_blank","noopener,noreferrer"),children:["Visit My YouTube",(0,$r.jsx)("i",{className:"bx bx-right-arrow-alt"})]})]})}),(0,$r.jsx)(vd.StackCard,{children:(0,$r.jsxs)(vd.CardContent,{children:[(0,$r.jsx)(vd.SectionTitle,{children:"Software"}),(0,$r.jsx)(vd.TechGrid,{children:[{name:"Premiere Pro",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/4/40/Adobe_Premiere_Pro_CC_icon.svg/3840px-Adobe_Premiere_Pro_CC_icon.svg.png?utm_source=commons.wikimedia.org&utm_campaign=index&utm_content=thumbnail"},{name:"After Effects",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Adobe_After_Effects_CC_icon.svg/3840px-Adobe_After_Effects_CC_icon.svg.png"},{name:"Photoshop",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Adobe_Photoshop_CC_icon.svg/3840px-Adobe_Photoshop_CC_icon.svg.png"},{name:"Lightroom",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Adobe_Photoshop_Lightroom_CC_logo.svg/500px-Adobe_Photoshop_Lightroom_CC_logo.svg.png"},{name:"DaVinci Resolve",logo:"https://upload.wikimedia.org/wikipedia/commons/4/4d/DaVinci_Resolve_Studio.png"},{name:"OBS",logo:"https://upload.wikimedia.org/wikipedia/commons/1/13/OBS_Studio_logo.png"}].map(((e,t)=>(0,$r.jsxs)(vd.TechItem,{children:[(0,$r.jsx)(vd.TechLogo,{src:e.logo,alt:e.name,loading:"lazy"}),(0,$r.jsx)(vd.TechName,{children:e.name})]},t)))})]})})]})}),(0,$r.jsxs)(vd.Section,{children:[(0,$r.jsxs)(vd.SectionHeader,{children:[(0,$r.jsx)("h2",{children:"Featured Work"}),(0,$r.jsxs)(vd.ViewAllButton,{href:"/portfolio",children:["Full Portfolio",(0,$r.jsx)("i",{className:"bx bx-right-arrow-alt"})]})]}),(0,$r.jsx)(vd.VideoGrid,{children:y?Array.from({length:4}).map(((e,t)=>(0,$r.jsxs)(vd.VideoCardSkeleton,{children:[(0,$r.jsx)(vd.VideoThumbnailSkeleton,{}),(0,$r.jsxs)(vd.VideoInfoSkeleton,{children:[(0,$r.jsx)(vd.VideoTitleSkeleton,{}),(0,$r.jsx)(vd.VideoSubSkeleton,{})]})]},t))):b.map((e=>(0,$r.jsxs)(vd.VideoCard,{onClick:()=>t({id:e.id,title:e.title}),children:[(0,$r.jsx)(vd.VideoThumbnail,{style:{backgroundImage:`url(${e.thumbnail})`},children:(0,$r.jsx)(vd.VideoOverlay,{children:(0,$r.jsx)("i",{className:"bx bx-play-circle"})})}),(0,$r.jsxs)(vd.VideoInfo,{children:[(0,$r.jsx)(vd.VideoTitle,{children:e.title}),(0,$r.jsx)(vd.VideoViews,{children:e.tag})]})]},e.id)))})]}),(0,$r.jsx)(vd.Section,{children:(0,$r.jsx)(vd.ClientsCard,{children:(0,$r.jsxs)(vd.ClientsCardContent,{children:[(0,$r.jsxs)(vd.ClientsHeader,{children:[(0,$r.jsx)("h2",{children:"I've Worked With"}),(0,$r.jsxs)("p",{children:["Creators, shows, and media brands reaching ",(C=k,C>=1e6?`${Math.floor(C/1e6)}M+`:C>=1e3?`${Math.floor(C/1e3)}K+`:C.toLocaleString())," combined subscribers"]}
2015)]}),(0,$r.jsx)(vd.ClientsRows,{children:T.map(((e,t)=>(0,$r.jsx)(vd.ClientTrack,{$rowIndex:t,children:[...e,...e].map(((n,r)=>{const o=r>=e.length;return(0,$r.jsxs)(vd.ClientItem,{"aria-hidden":o,"aria-label":o?void 0:`${n.name}, ${n.subscribers}`,"data-duplicate":o?"true":void 0,tabIndex:o?-1:0,children:[n.image?(0,$r.jsx)(vd.ClientLogo,{src:n.image,alt:"",loading:"lazy"}):(0,$r.jsx)(vd.ClientInitials,{"aria-hidden":"true",children:Fd(n.name)}),(0,$r.jsx)(vd.ClientName,{children:n.name}),(0,$r.jsxs)(vd.ClientSubscribers,{$placement:2===t?"below":"above",children:[(0,$r.jsx)(vd.ClientSubscriberCount,{children:Ud(n.subscriberCount)})," ","subscribers"]})]},`${n.channelId}-${r}`)}))},t)))})]})})}),(0,$r.jsxs)(vd.Section,{children:[(0,$r.jsxs)(vd.SectionHeader,{children:[(0,$r.jsx)("h2",{children:"What I Do"}),(0,$r.jsxs)(vd.ViewAllButton,{href:"/portfolio",children:["See My Work",(0,$r.jsx)("i",{className:"bx bx-right-arrow-alt"})]})]}),(0,$r.jsx)(vd.ServicesGrid,{children:[{icon:"bx bx-film",title:"YouTube Video Editing",description:"Long-form and short-form content optimized for retention, with custom graphics, transitions, and color grading."},{icon:"bx bx-trending-up",title:"Short-Form & Reels",description:"Fast-paced, engaging edits for TikTok, Instagram Reels, and YouTube Shorts that drive views and follows."},{icon:"bx bx-palette",title:"Motion Graphics",description:"Custom animations, lower thirds, intros/outros, and visual effects using After Effects and Premiere Pro."},{icon:"bx bx-sun",title:"Color Grading",description:"Professional color correction and grading to establish mood and visual consistency across your content."},{icon:"bx bx-headphone",title:"Audio Mixing",description:"Clean, balanced audio with noise reduction, music mixing, and sound design that keeps viewers engaged."},{icon:"bx bx-trophy",title:"Brand Storytelling",description:"Editorial work that communicates your brand's story and converts viewers into long-term fans and customers."}].map(((e,t)=>(0,$r.jsxs)(vd.ServiceCard,{children:[(0,$r.jsx)(vd.ServiceIcon,{children:(0,$r.jsx)("i",{className:e.icon})}),(0,$r.jsx)(vd.ServiceTitle,{children:e.title}),(0,$r.jsx)(vd.ServiceDescription,{children:e.description})]},t)))})]}),(0,$r.jsx)(vd.CtaSection,{children:(0,$r.jsxs)(vd.CtaContent,{children:[(0,$r.jsx)(vd.CtaTitle,{children:"Ready to work together?"}),(0,$r.jsx)(vd.CtaText,{children:"Let's create something amazing"}),(0,$r.jsxs)(vd.CtaButton,{onClick:()=>window.location.href="/contact",children:[(0,$r.jsx)("i",{className:"bx bx-envelope"}),"Get in Touch"]})]})}),(0,$r.jsxs)(vd.Footer,{children:[(0,$r.jsx)(vd.FooterText,{children:"\xa9 2026 Austin Davenport. All rights reserved."}),(0,$r.jsx)(vd.SocialLinks,{children:(0,$r.jsx)(vd.SocialLink,{href:"https://youtube.com/@AustinDavenport",target:"_blank",rel:"noopener noreferrer",children:(0,$r.jsx)("i",{className:"bx bxl-youtube"})})})]}),e&&(0,$r.jsxs)(vd.VideoModal,{children:[(0,$r.jsxs)(vd.ModalContent,{children:[(0,$r.jsx)(vd.CloseButton,{onClick:()=>t(null),children:(0,$r.jsx)("i",{className:"bx bx-x"})}),(0,$r.jsx)(vd.VideoIframe,{src:`https://www.youtube.com/embed/${e.id}?autoplay=1`,title:e.title,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})]}),(0,$r.jsx)(vd.ModalBackdrop,{onClick:()=>t(null)})]})]});var C},Hd=Sr` 2016 from { opacity: 0; transform: translateY(20px); } 2017 to { opacity: 1; transform: translateY(0); } 2018`,Gd=kr.div` 2019 display: flex; 2020 flex-direction: column; 2021 align-items: center; 2022 justify-content: center; 2023 min-height: calc(100vh - 60px); 2024 padding: 2rem 1rem; 2025 position: relative; 2026 overflow: hidden; 2027 text-align: center; 2028 2029 @media (max-width: 480px) { 2030 min-height: calc(100vh - 120px); 2031 padding: 1rem 0; 2032 } 2033`,Yd=kr.div` 2034 position: absolute; 2035 top: 0; 2036 left: 0; 2037 right: 0; 2038 height: 2px; 2039 background: linear-gradient(90deg, transparent, ${e=>{let{theme:t}=e;return t.colors.blue4}}, transparent); 2040 opacity: 0.35; 2041 pointer-events: none; 2042 z-index: 0; 2043`,Wd=kr.div` 2044 max-width: 720px; 2045 width: 100%; 2046 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 2047 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2048 border-radius: 12px; 2049 box-shadow: 0 24px 64px rgba(0, 0, 0, 0.24); 2050 padding: clamp(1.35rem, 4vw, 2.25rem); 2051 z-index: 1; 2052 animation: ${Hd} 0.6s ease-out both; 2053 2054 @media (max-width: 480px) { 2055 border-radius: 10px; 2056 padding: 1.15rem; 2057 } 2058`,Kd=kr.div` 2059 display: flex; 2060 align-items: center; 2061 justify-content: center; 2062 gap: 0.5rem; 2063 font-family: 'Courier New', monospace; 2064 font-size: 0.75rem; 2065 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2066 letter-spacing: 0.1em; 2067 margin-bottom: 1.15rem; 2068 opacity: 0.75; 2069 2070 @media (max-width: 480px) { 2071 font-size: 0.65rem; 2072 gap: 0.35rem; 2073 } 2074`,qd=kr.span` 2075 color: ${e=>{let{highlight:t,theme:n}=e;return t?n.colors.blue9:n.colors.blue11}}; 2076`,Qd=kr.div` 2077 position: relative; 2078 font-size: clamp(4.75rem, 15vw, 8rem); 2079 font-weight: 800; 2080 line-height: 0.9; 2081 margin-bottom: 1.1rem; 2082 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2083 letter-spacing: -0.04em; 2084 text-shadow: 0 1px 0 ${e=>{let{theme:t}=e;return t.colors.blue4}}; 2085 2086 &::before, 2087 &::after { 2088 display: none; 2089 } 2090`,Xd=kr.div` 2091 display: inline-flex; 2092 align-items: center; 2093 gap: 0.5rem; 2094 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2095 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 2096 color: ${e=>{let{theme:t}=e;return t.colors.blue10}}; 2097 padding: 0.4rem 0.85rem; 2098 border-radius: 100px; 2099 font-size: 0.72rem; 2100 font-weight: 800; 2101 letter-spacing: 0.08em; 2102 text-transform: uppercase; 2103 margin-bottom: 1rem; 2104 2105 &::before { 2106 content: ''; 2107 width: 6px; 2108 height: 6px; 2109 border-radius: 50%; 2110 background: ${e=>{let{theme:t}=e;return t.colors.blue8}}; 2111 } 2112`,Jd=kr.h1` 2113 font-size: clamp(1.45rem, 3vw, 2rem); 2114 font-weight: 700; 2115 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2116 margin-bottom: 0.6rem; 2117 line-height: 1.2; 2118`,Zd=kr.p` 2119 font-size: 0.95rem; 2120 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2121 margin-bottom: 1.6rem; 2122 line-height: 1.6; 2123 max-width: 470px; 2124 margin-left: auto; 2125 margin-right: auto; 2126 2127 @media (max-width: 480px) { 2128 font-size: 0.9rem; 2129 } 2130`,ep=kr.div` 2131 display: flex; 2132 gap: 0.75rem; 2133 justify-content: center; 2134 margin-bottom: 2rem; 2135 flex-wrap: wrap; 2136`,tp=kr.button` 2137 display: inline-flex; 2138 align-items: center; 2139 gap: 0.5rem; 2140 padding: 0.75rem 1.5rem; 2141 border-radius: 8px; 2142 font-weight: 600; 2143 font-size: 0.95rem; 2144 cursor: pointer; 2145 transition: all 0.2s ease; 2146 font-family: 'Poppins', sans-serif; 2147 background: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2148 color: ${e=>{let{theme:t}=e;return t.colors.blue1}}; 2149 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2150 2151 i { font-size: 1.1rem; } 2152 2153 &:hover { 2154 background: ${e=>{let{theme:t}=e;return t.colors.blue10}}; 2155 border-color: ${e=>{let{theme:t}=e;return t.colors.blue10}}; 2156 transform: translateY(-2px); 2157 box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22); 2158 } 2159 2160 &:active { transform: translateY(0); } 2161`,np=kr.button` 2162 display: inline-flex; 2163 align-items: center; 2164 gap: 0.5rem; 2165 padding: 0.75rem 1.5rem; 2166 border-radius: 8px; 2167 font-weight: 600; 2168 font-size: 0.95rem; 2169 cursor: pointer; 2170 transition: all 0.2s ease; 2171 font-family: 'Poppins', sans-serif; 2172 background: transparent; 2173 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2174 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 2175 2176 i { font-size: 1.1rem; } 2177 2178 &:hover { 2179 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 2180 border-color: ${e=>{let{theme:t}=e;return t.colors.blue5}}; 2181 transform: translateY(-2px); 2182 } 2183 2184 &:active { transform: translateY(0); } 2185`,rp=kr.div` 2186 width: 100%; 2187 height: 1px; 2188 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 2189 margin: 0 auto 1.5rem; 2190`,op=kr.div``,ip=kr.p` 2191 font-size: 0.72rem; 2192 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2193 text-transform: uppercase; 2194 letter-spacing: 0.12em; 2195 margin-bottom: 0.85rem; 2196`,ap=kr.div` 2197 display: grid; 2198 grid-template-columns: repeat(4, 1fr); 2199 gap: 0.75rem; 2200 2201 @media (max-width: 600px) { 2202 grid-template-columns: repeat(2, 1fr); 2203 } 2204`,lp=kr(Ie)` 2205 display: flex; 2206 flex-direction: column; 2207 align-items: center; 2208 gap: 0.5rem; 2209 padding: 0.95rem 0.75rem; 2210 background: ${e=>{let{theme:t}=e;return t.colors.blue1}}; 2211 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 2212 border-radius: 8px; 2213 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2214 text-decoration: none; 2215 font-size: 0.82rem; 2216 font-weight: 700; 2217 transition: all 0.2s ease; 2218 2219 i { 2220 font-size: 1.4rem; 2221 color: ${e=>{let{theme:t}=e;return t.colors.blue8}}; 2222 } 2223 2224 &:hover { 2225 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2226 border-color: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 2227 transform: translateY(-2px); 2228 2229 i { color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; } 2230 } 2231`,sp=(kr.div`display: none;`,kr.div`display: none;`,kr.div`display: none;`,kr.div`display: none;`,()=>{const e=ne();return(0,o.useEffect)((()=>{document.title="404 - Page Not Found | Austin Davenport";const e=document.querySelector('meta[name="robots"]');return e&&e.setAttribute("content","noindex, nofollow"),()=>{e&&e.setAttribute("content","index, follow")}}),[]),(0,$r.jsxs)(Gd,{children:[(0,$r.jsx)(Yd,{}),(0,$r.jsxs)(Wd,{children:[(0,$r.jsxs)(Kd,{children:[(0,$r.jsx)(qd,{children:"AUSTIN DAVENPORT"}),(0,$r.jsx)(qd,{children:"|"}),(0,$r.jsx)(qd,{highlight:!0,children:"404"})]}),(0,$r.jsx)(Qd,{children:"404"}),(0,$r.jsx)(Xd,{children:"Page Not Found"}),(0,$r.jsx)(Jd,{children:"This page was not found."}),(0,$r.jsx)(Zd,{children:"The link may have moved, or the page no longer exists. Try one of these places instead."}),(0,$r.jsxs)(ep,{children:[(0,$r.jsxs)(tp,{onClick:()=>e("/"),children:[(0,$r.jsx)("i",{className:"bx bx-home"}),"Back to Home"]}),(0,$r.jsxs)(np,{onClick:()=>{window.history.length>1?e(-1):e("/")},children:[(0,$r.jsx)("i",{className:"bx bx-arrow-back"}),"Go Back"]})]}),(0,$r.jsx)(rp,{}),(0,$r.jsxs)(op,{children:[(0,$r.jsx)(ip,{children:"Or jump to"}),(0,$r.jsxs)(ap,{children:[(0,$r.jsxs)(lp,{to:"/portfolio",children:[(0,$r.jsx)("i",{className:"bx bx-book-alt"}),"Portfolio"]}),(0,$r.jsxs)(lp,{to:"/projects",children:[(0,$r.jsx)("i",{className:"bx bx-layer"}),"Projects"]}),(0,$r.jsxs)(lp,{to:"/blog",children:[(0,$r.jsx)("i",{className:"bx bx-pen"}),"Blog"]}),(0,$r.jsxs)(lp,{to:"/contact",children:[(0,$r.jsx)("i",{className:"bx bx-phone"}),"Contact"]})]})]})]})]})}),cp=Sr` 2232 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 2233 40% { transform: translateY(-10px); } 2234 60% { transform: translateY(-5px); } 2235`,up=Sr` 2236 to { transform: rotate(360deg); } 2237`,dp=Sr` 2238 0% { background-position: -200% 0; } 2239 100% { background-position: 200% 0; } 2240`,pp=(kr.div` 2241 display: flex; 2242 flex-direction: column; 2243 align-items: center; 2244 justify-content: center; 2245 min-height: 60vh; 2246 gap: 1rem; 2247 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2248`,kr.div` 2249 width: 44px; 2250 height: 44px; 2251 border: 3px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2252 border-top-color: ${e=>{let{theme:t}=e;return t.colors.blue8}}; 2253 border-radius: 50%; 2254 animation: ${up} 0.8s linear infinite; 2255`,kr.p` 2256 font-size: 0.95rem; 2257 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2258 letter-spacing: 0.05em; 2259`,kr.div` 2260 border-radius: 12px; 2261 overflow: hidden; 2262 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 2263 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2264`),fp=kr.div` 2265 width: 100%; 2266 aspect-ratio: 16/9; 2267 background: linear-gradient( 2268 90deg, 2269 ${e=>{let{theme:t}=e;return t.colors.blue2}} 25%, 2270 ${e=>{let{theme:t}=e;return t.colors.blue3}} 50%, 2271 ${e=>{let{theme:t}=e;return t.colors.blue2}} 75% 2272 ); 2273 background-size: 200% 100%; 2274 animation: ${dp} 1.5s infinite; 2275`,mp=kr.div` 2276 height: 14px; 2277 border-radius: 4px; 2278 margin: 0.5rem 1rem; 2279 width: ${e=>{let{width:t}=e;return t||"80%"}}; 2280 background: linear-gradient( 2281 90deg, 2282 ${e=>{let{theme:t}=e;return t.colors.blue2}} 25%, 2283 ${e=>{let{theme:t}=e;return t.colors.blue3}} 50%, 2284 ${e=>{let{theme:t}=e;return t.colors.blue2}} 75% 2285 ); 2286 background-size: 200% 100%; 2287 animation: ${dp} 1.5s infinite; 2288`,hp=(kr.div` 2289 position: absolute; 2290 bottom: 2rem; 2291 left: 50%; 2292 transform: translateX(-50%); 2293 z-index: 3; 2294 display: flex; 2295 flex-direction: column; 2296 align-items: center; 2297 gap: 0.5rem; 2298 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2299 animation: ${cp} 2s infinite; 2300 cursor: pointer; 2301 2302 i { 2303 font-size: 2rem; 2304 } 2305 2306 span { 2307 font-size: 0.875rem; 2308 text-transform: uppercase; 2309 letter-spacing: 0.1em; 2310 } 2311`,kr.div` 2312 position: absolute; 2313 inset: -6px; 2314 overflow: hidden; 2315 2316 &::before { 2317 content: ''; 2318 position: absolute; 2319 inset: 0; 2320 z-index: 1; 2321 pointer-events: none; 2322 background: 2323 linear-gradient(to bottom, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0) 28%), 2324 linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0) 34%); 2325 } 2326 2327 &::after { 2328 content: ''; 2329 position: absolute; 2330 top: 0; 2331 left: 0; 2332 right: 0; 2333 bottom: 0; 2334 z-index: 2; 2335 pointer-events: none; 2336 background: 2337 radial-gradient(circle at center, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.48) 78%), 2338 rgba(0, 0, 0, 0.42); 2339 } 2340 2341 iframe { 2342 position: absolute; 2343 top: 50%; 2344 left: 50%; 2345 transform: translate(-50%, -50%) scale(1.2); 2346 width: 177.77777778vh; 2347 height: 56.25vw; 2348 min-width: 100%; 2349 min-height: 100%; 2350 pointer-events: none; 2351 opacity: 0.6; 2352 2353 @media (max-width: 768px) { 2354 width: 300%; 2355 height: 100%; 2356 } 2357 } 2358`,kr.div` 2359 position: fixed; 2360 top: 0; 2361 left: 0; 2362 right: 0; 2363 bottom: 0; 2364 background: rgba(0, 0, 0, 0.95); 2365 z-index: 1000; 2366 display: ${e=>e.isOpen?"flex":"none"}; 2367 align-items: center; 2368 justify-content: center; 2369 padding: 1rem; 2370 2371 @media (max-width: 768px) { 2372 padding: 0; 2373 } 2374`),gp=kr.div` 2375 width: 100%; 2376 max-width: 1200px; 2377 position: relative; 2378 aspect-ratio: 16/9; 2379 2380 @media (max-width: 768px) { 2381 max-width: 100%; 2382 height: auto; 2383 } 2384`,bp=kr.iframe` 2385 width: 100%; 2386 height: 100%; 2387 position: absolute; 2388 top: 0; 2389 left: 0; 2390`,vp=kr.button` 2391 position: absolute; 2392 top: -3rem; 2393 right: 0; 2394 background: none; 2395 border: none; 2396 color: white; 2397 font-size: 2rem; 2398 cursor: pointer; 2399 z-index: 1001; 2400 padding: 0.5rem; 2401 2402 @media (max-width: 768px) { 2403 top: -2.5rem; 2404 right: 0.5rem; 2405 font-size: 1.5rem; 2406 } 2407`,yp=kr.div` 2408 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 2409 position: sticky; 2410 margin-top: 16px; 2411 top: 0; 2412 z-index: 10; 2413 border-radius: 12px; 2414 width: 100%; 2415 max-width: 100%; 2416 2417 @media (max-width: 768px) { 2418 background: ${e=>{let{theme:t}=e;return t.colors.blue1}}; 2419 margin: 0; 2420 border-radius: 0; 2421 padding: 0.5rem 0; 2422 } 2423`,xp=kr.div` 2424 display: flex; 2425 gap: 0.75rem; 2426 overflow-x: auto; 2427 padding: 1rem 1rem; 2428 -webkit-overflow-scrolling: touch; 2429 scrollbar-width: none; 2430 border-radius: 6px; 2431 width: 100%; 2432 font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; 2433 2434 &::-webkit-scrollbar {
2435 display: none; 2436 } 2437 2438 @media (max-width: 768px) { 2439 padding: 0.25rem 1rem; 2440 gap: 0.5rem; 2441 } 2442`,wp=kr.button` 2443 padding: 0.5rem 1rem; 2444 border-radius: 6px; 2445 border: none; 2446 background: ${e=>{let{theme:t,active:n}=e;return n?t.colors.blue4:t.colors.blue3}}; 2447 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2448 cursor: pointer; 2449 white-space: nowrap; 2450 transition: all 0.2s ease; 2451 font-size: 0.9rem; 2452 font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; 2453 2454 &:hover { 2455 background: ${e=>{let{theme:t}=e;return t.colors.blue5}}; 2456 } 2457 2458 @media (max-width: 768px) { 2459 padding: 0.4rem 0.8rem; 2460 font-size: 0.8rem; 2461 border-radius: 4px; 2462 } 2463`,Ep=(kr.div` 2464 height: 80vh; 2465 display: flex; 2466 align-items: center; 2467 justify-content: center; 2468 position: relative; 2469 overflow: hidden; 2470 background: ${e=>{let{theme:t}=e;return t.colors.blue1}}; 2471 2472 @media (max-width: 768px) { 2473 height: 45vh; 2474 min-height: 240px; 2475 } 2476 2477 @media (max-width: 480px) { 2478 height: 38vh; 2479 min-height: 200px; 2480 } 2481`,kr.div` 2482 position: absolute; 2483 inset: 0; 2484 z-index: 3; 2485 --hero-copy-shift: 2.25rem; 2486 text-align: center; 2487 padding: clamp(4.25rem, 12vh, 7.25rem) clamp(1rem, 4vh, 2rem) clamp(1rem, 4vh, 2rem); 2488 width: 100%; 2489 display: flex; 2490 flex-direction: column; 2491 align-items: center; 2492 justify-content: flex-start; 2493 2494 @media (max-width: 768px) { 2495 --hero-copy-shift: 1rem; 2496 padding: clamp(1.5rem, 6vh, 2.5rem) 1rem 1rem; 2497 } 2498 2499 @media (max-width: 480px) { 2500 --hero-copy-shift: 0.5rem; 2501 padding-top: 1.25rem; 2502 } 2503`,kr.h1` 2504 font-size: 3.5rem; 2505 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2506 font-weight: 700; 2507 margin: 0 0 0.75rem; 2508 position: relative; 2509 top: var(--hero-copy-shift); 2510 2511 @media (max-width: 768px) { 2512 font-size: 1.65rem; 2513 margin-bottom: 0.5rem; 2514 padding: 0 1rem; 2515 } 2516 2517 @media (max-width: 480px) { 2518 font-size: 1.25rem; 2519 } 2520`,kr.p` 2521 font-size: 1.2rem; 2522 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2523 margin-bottom: 2rem; 2524 line-height: 1.6; 2525 position: relative; 2526 top: var(--hero-copy-shift); 2527 2528 @media (max-width: 768px) { 2529 font-size: 0.85rem; 2530 margin-bottom: 1rem; 2531 padding: 0 1rem; 2532 } 2533 2534 @media (max-width: 480px) { 2535 font-size: 0.75rem; 2536 line-height: 1.25; 2537 margin-bottom: 0; 2538 } 2539`,kr.div` 2540 width: min(100%, 420px); 2541 min-height: 104px; 2542 position: absolute; 2543 left: 50%; 2544 top: 50%; 2545 transform: translate(-50%, -50%); 2546 margin: 0; 2547 padding: 1rem 1.1rem; 2548 border-radius: 8px; 2549 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 2550 background: rgba(15, 17, 19, 0.9); 2551 backdrop-filter: blur(14px); 2552 display: grid; 2553 grid-template-columns: auto 1fr auto; 2554 gap: 0.9rem; 2555 align-items: center; 2556 text-align: left; 2557 box-shadow: 0 22px 70px rgba(0, 0, 0, 0.42); 2558 2559 @media (max-width: 768px) { 2560 width: min(100% - 2rem, 360px); 2561 min-height: 90px; 2562 padding: 0.8rem; 2563 gap: 0.7rem; 2564 } 2565 2566 @media (max-width: 480px) { 2567 width: calc(100% - 1.5rem); 2568 min-height: 78px; 2569 padding: 0.7rem; 2570 } 2571`,kr.div` 2572 width: 44px; 2573 height: 44px; 2574 border-radius: 8px; 2575 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2576 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2577 display: flex; 2578 align-items: center; 2579 justify-content: center; 2580 2581 i { 2582 font-size: 1.45rem; 2583 } 2584 2585 @media (max-width: 768px) { 2586 width: 38px; 2587 height: 38px; 2588 2589 i { 2590 font-size: 1.2rem; 2591 } 2592 } 2593`,kr.div` 2594 min-width: 0; 2595`,kr.div` 2596 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2597 font-size: 1.7rem; 2598 font-weight: 700; 2599 line-height: 1; 2600 margin-bottom: 0.2rem; 2601 2602 @media (max-width: 768px) { 2603 font-size: 1.35rem; 2604 } 2605`,kr.div` 2606 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2607 font-size: 0.86rem; 2608 font-weight: 600; 2609 line-height: 1.2; 2610`,kr.div` 2611 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2612 font-size: 0.72rem; 2613 line-height: 1.3; 2614 margin-top: 0.25rem; 2615`,kr.div` 2616 display: flex; 2617 flex-direction: column; 2618 gap: 0.35rem; 2619`,kr.span` 2620 width: 7px; 2621 height: 7px; 2622 border-radius: 999px; 2623 background: ${e=>{let{theme:t,$active:n}=e;return n?t.colors.blue9:t.colors.blue5}}; 2624 opacity: ${e=>{let{$active:t}=e;return t?1:.65}}; 2625 transition: background 0.2s ease, opacity 0.2s ease; 2626`,kr.div` 2627 grid-column: 1 / -1; 2628 height: 56px; 2629 border-radius: 8px; 2630 background: linear-gradient( 2631 90deg, 2632 ${e=>{let{theme:t}=e;return t.colors.blue2}} 25%, 2633 ${e=>{let{theme:t}=e;return t.colors.blue3}} 50%, 2634 ${e=>{let{theme:t}=e;return t.colors.blue2}} 75% 2635 ); 2636 background-size: 200% 100%; 2637 animation: ${dp} 1.5s infinite; 2638`,kr.div` 2639 width: 100%; 2640 max-width: 100%; 2641 overflow-x: hidden; 2642 position: relative; 2643`),_p=kr.h1` 2644 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2645 font-size: clamp(1.8rem, 4vw, 2.75rem); 2646 line-height: 1.05; 2647 margin: 0; 2648 padding: 1.5rem 1rem 0; 2649 2650 @media (max-width: 768px) { 2651 font-size: 1.55rem; 2652 padding: 1rem 0.75rem 0; 2653 } 2654`,kp=kr.div` 2655 padding: 1rem; 2656 display: grid; 2657 grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); 2658 gap: 2rem; 2659 2660 @media (max-width: 768px) { 2661 grid-template-columns: repeat(2, 1fr); 2662 gap: 0.75rem; 2663 padding: 0.75rem; 2664 } 2665 2666 @media (max-width: 480px) { 2667 grid-template-columns: repeat(2, 1fr); 2668 gap: 0.5rem; 2669 padding: 0.5rem; 2670 } 2671`,Tp=kr.div` 2672 position: absolute; 2673 top: 0; 2674 left: 0; 2675 right: 0; 2676 bottom: 0; 2677 background: rgba(0, 0, 0, 0.5); 2678 display: flex; 2679 align-items: center; 2680 justify-content: center; 2681 opacity: 0; 2682 transition: all 0.3s ease; 2683 2684 i { 2685 font-size: 3rem; 2686 color: white; 2687 transform: scale(0.9); 2688 transition: transform 0.2s ease; 2689 2690 @media (max-width: 768px) { 2691 font-size: 2rem; 2692 } 2693 } 2694 2695 &:hover { 2696 background: rgba(0, 0, 0, 0.7); 2697 2698 i { transform: scale(1); } 2699 } 2700 2701 /* Always show play icon on touch devices */ 2702 @media (hover: none) { 2703 opacity: 1; 2704 background: rgba(0, 0, 0, 0.3); 2705 2706 i { transform: scale(1); } 2707 } 2708`,Cp=kr.div` 2709 position: relative; 2710 border-radius: 12px; 2711 overflow: hidden; 2712 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 2713 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2714 transition: all 0.3s ease;
2715 cursor: pointer; 2716 2717 &:hover { 2718 transform: translateY(-2px); 2719 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); 2720 2721 ${Tp} { 2722 opacity: 1; 2723 } 2724 } 2725 2726 @media (max-width: 768px) { 2727 border-radius: 8px; 2728 border-width: 0.5px; 2729 } 2730`,Sp=kr.div` 2731 padding: 1rem; 2732 2733 @media (max-width: 768px) { 2734 padding: 0.5rem; 2735 } 2736`,Pp=kr.h3` 2737 font-size: 1.25rem; 2738 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2739 margin-bottom: 0.5rem; 2740 2741 @media (max-width: 768px) { 2742 font-size: 0.8rem; 2743 margin-bottom: 0.25rem; 2744 line-height: 1.2; 2745 } 2746`,Ap=kr.p` 2747 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2748 font-size: 0.9rem; 2749 line-height: 1.6; 2750 2751 @media (max-width: 768px) { 2752 font-size: 0.7rem; 2753 line-height: 1.3; 2754 display: -webkit-box; 2755 -webkit-line-clamp: 2; 2756 -webkit-box-orient: vertical; 2757 overflow: hidden; 2758 } 2759`,Rp=kr.div` 2760 position: relative; 2761 padding: 0.75rem; 2762 background: ${e=>{let{theme:t}=e;return t.colors.blue1}}; 2763 z-index: 20; 2764 margin-top: 6px; 2765`,Ip=kr.button` 2766 width: 100%; 2767 padding: 0.75rem 1rem; 2768 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2769 border: none; 2770 border-radius: 8px; 2771 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2772 display: flex; 2773 justify-content: space-between; 2774 align-items: center; 2775 font-size: 0.9rem; 2776 cursor: pointer; 2777 transition: all 0.2s ease; 2778 2779 &:hover { 2780 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 2781 } 2782 2783 i { 2784 font-size: 1.2rem; 2785 } 2786`,Lp=kr.div` 2787 position: absolute; 2788 top: 100%; 2789 left: 0.75rem; 2790 right: 0.75rem; 2791 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 2792 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2793 border-radius: 8px; 2794 margin-top: 0.5rem; 2795 overflow: hidden; 2796 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 2797`,Op=kr.button` 2798 width: 100%; 2799 padding: 0.75rem 1rem; 2800 background: ${e=>{let{theme:t,active:n}=e;return n?t.colors.blue4:"transparent"}}; 2801 border: none; 2802 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2803 text-align: left; 2804 font-size: 0.9rem; 2805 cursor: pointer; 2806 transition: background-color 0.2s; 2807 2808 &:hover { 2809 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2810 } 2811 2812 & + & { 2813 border-top: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2814 } 2815`,jp=kr.div` 2816 width: 100%; 2817 aspect-ratio: 16/9; 2818 background-image: url(${e=>e.bgImage}); 2819 background-size: cover; 2820 background-position: center; 2821`,zp=[{id:"4ab1e772-2b0e-42e9-9410-b3dce186fd98",video_id:"QlbO0LmuKXI",description:"Editor",tag:"Reaction",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"a246155b-9add-4721-a8c3-3913eba3fcc3",video_id:"DGzcJor6__4",description:"Editor",tag:"Podcast",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"3a85878c-34de-404e-8fba-fe104d413274",video_id:"Jdmw9lm5hUA",description:"Editor",tag:"Explainer",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"9c264bcd-99f9-4440-b652-e5d671af2f5d",video_id:"VHlZZPmE3IA",description:"Editor",tag:"Explainer",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"27c0aed3-b767-4289-9828-0b4da76dc8f1",video_id:"YAOkrN9Bg20",description:"Editor",tag:"Interview",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"5cfc6a0f-4192-4ab8-956c-06e44b47dfb8",video_id:"2cChmdNe11Y",description:"Editor",tag:"Documentary",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"395ea788-606c-4d88-a318-d4ceaef69aaf",video_id:"fJcda05kFQE",description:"Editor",tag:"Explainer",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"1b893272-7fa5-45c7-a88a-06663b5e21ac",video_id:"SRvJDrsEPRU",description:"Editor",tag:"Explainer",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"edc642b4-9798-4a96-b9fa-69293234f329",video_id:"K3kKSa6Se5U",description:"Editor",tag:"Explainer",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"4220c864-eb0d-46b9-abfb-bb7610f0f44a",video_id:"vFTd5QLv-vg",description:"Editor",tag:"Interview",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"ce004b53-962f-4bed-9154-b3e8e1425121",video_id:"gFwGPDadWCQ",description:"Editor",tag:"Commentary",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"45168ea2-c36c-4c92-a098-74092485de71",video_id:"FmqJNmo6p_g",description:"Editor",tag:"Interview",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"64200dc1-6ba4-4e5c-82f7-9bed11159572",video_id:"AEe-og2l2R4",description:"Editor",tag:"Reaction",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"6fdb7eb6-0495-4e75-90f6-fe4a1b9ae8e5",video_id:"pbPG_Wnhevc",description:"Editor",tag:"Commentary",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"7ac4d3af-5f53-405f-973e-ac1219aef262",video_id:"sSM5eN1KupA",description:"Editor",tag:"Reaction",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"8d329fc6-5151-42a3-94d4-29ed3043dc8c",video_id:"buAcXG9f-AA",description:"Editor",tag:"Interview",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"c0357a7b-2189-4a0c-bd1e-5570a5a501e3",video_id:"r-i_YiuoXLM",description:"Editor",tag:"Explainer",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"2c1ac1f9-b950-4f76-8d4f-b298b70ea8c0",video_id:"tDTCJmTdXc8",description:"Editor",tag:"Documentary",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"edcfa4cf-ec30-4887-9bda-62c1a925c0cf",video_id:"aR6nqytYGXo",description:"Editor",tag:"Interview",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"6d98ceba-8aa9-4352-aa6e-406bf2514fae",video_id:"cVRuLaEJij0",description:"Editor",tag:"Interview",created_at:"2026-07-25T14:57:18.549711+00:00"},{id:"8aee0a44-5e22-4220-a2e7-aeb2fe923d1b",video_id:"6u1uT3yeO34",description:"Editor",tag:"Interview",created_at:"2026-07-21T18:03
2821:26.319877+00:00"},{id:"9bf13d99-2b43-49f0-9071-35e5a6538f20",video_id:"n4JXO6EGh9c",description:"Editor",tag:"Reaction",created_at:"2026-07-21T18:00:35.220999+00:00"},{id:"7f017633-47ba-4633-a090-31b86198addc",video_id:"3aUtYVr62lw",description:"Editor",tag:"Interview",created_at:"2026-07-21T18:00:35.220999+00:00"},{id:"34262b6b-894c-4f68-af3e-740aac0432cd",video_id:"mxapaXrHr1Y",description:"Editor",tag:"Documentary",created_at:"2026-07-21T18:00:35.220999+00:00"},{id:"bfc21c09-8b74-4bae-b188-3d793124c09e",video_id:"hv48O6Pngtk",description:"Editor",tag:"Reaction",created_at:"2026-07-21T18:00:35.220999+00:00"},{id:"37a4d33f-4d77-4974-8a2b-9f39a937e82a",video_id:"mMMQYz_vJFw",description:"Editor",tag:"Podcast",created_at:"2026-07-21T18:00:35.220999+00:00"},{id:"262d9de1-b721-4726-b4d3-3db1b6e38ded",video_id:"qWRxeOZz5L0",description:"Editor",tag:"Documentary",created_at:"2026-07-21T18:00:35.220999+00:00"},{id:"0c287d9a-5385-4ffe-96c0-ae2b7ad1e405",video_id:"sb1Zg1hAHgk",description:"Editor",tag:"Documentary",created_at:"2026-03-01T03:31:12.59519+00:00"},{id:"001cd5fd-431a-4729-a1b8-bbb704bf54ef",video_id:"gWNuS0tRVbY",description:"Editor",tag:"Documentary",created_at:"2026-03-01T03:31:12.59519+00:00"},{id:"40d35612-547c-474c-9ec2-6d147c4946e2",video_id:"PQu1n_OC1eE",description:"Editor",tag:"Documentary",created_at:"2026-03-01T03:31:12.59519+00:00"},{id:"3f9b8386-4009-42f7-9731-f8fcb0e8c169",video_id:"JACxe2Z0wcI",description:"Editor",tag:"Explainer",created_at:"2024-11-16T16:29:36+00:00"},{id:"65b127bb-7e52-4ef2-8df9-bb58ae806925",video_id:"J6-iOtGNWBQ",description:"Editor",tag:"Commentary",created_at:"2024-11-14T17:29:36.142151+00:00"},{id:"6a4ca536-8f74-48ed-945c-1711a2869cd7",video_id:"ZTJfuPBCoKo",description:"Editor, Colorist",tag:"Podcast",created_at:"2024-11-14T17:29:36.142151+00:00"},{id:"b4e7e16c-deca-47b6-8e5e-695309cfcad6",video_id:"D6ThvooDfbA",description:"Videographer, Editor",tag:"Podcast",created_at:"2024-11-14T17:29:36.142151+00:00"},{id:"e73d18cf-ef23-40a2-a7ae-e852c2872749",video_id:"QmVzp5z0C6A",description:"Videographer, Editor",tag:"Commercial",created_at:"2024-11-14T17:29:36.142151+00:00"},{id:"735b8be9-1597-4980-9a31-14213b32eae7",video_id:"iu6Hv-27MRQ",description:"Editor",tag:"Commentary",created_at:"2024-11-14T17:29:36.142151+00:00"},{id:"8888376c-a846-4bec-8d1e-b5d91408ba78",video_id:"eNPZxieTHfI",description:"Editor, Colorist, Sound Mixer",tag:"Short Film",created_at:"2024-11-13T02:53:07.042819+00:00"},{id:"f9882222-6f56-413d-8796-4af54108d971",video_id:"YBUwRg83oqA",description:"Editor, Colorist, Sound Mixer",tag:"Short Film",created_at:"2024-11-12T19:54:40.216734+00:00"},{id:"2a73b52a-c47a-4726-a1b6-5449e9af4b8c",video_id:"O_K5aX9wDvE",description:"Editor, Colorist, Sound Mixer",tag:"Short Film",created_at:"2024-10-16T14:53:07+00:00"},{id:"620a9c85-6296-4bc1-99dc-aab2d88ff274",video_id:"PLeUhJii6Zk",description:"Editor",tag:"Explainer",created_at:"2024-03-01T03:31:12.59519+00:00"},{id:"8c229d4f-303a-4b04-8204-eeef94f44c0e",video_id:"QPRYfLCxA1g",description:"Editor",tag:"Highlights",created_at:"2023-11-16T17:29:36+00:00"}],Np="2026-07-21T00:00:00.000Z",Mp="2026-07-28T00:00:00.000Z",Dp=new Set(["PY3jpEnFYgU","q-WNyhqwu9k","HHkuYf5vv94","2fB0jT1Jb-c","TTJHfSbUadg","N72FQftet5o"]),Up=new Set([...Dp,"QlbO0LmuKXI","VHlZZPmE3IA","sSM5eN1KupA","AEe-og2l2R4","n4JXO6EGh9c","EqhGFf4zBUA","qc9KL1zw10E","4CGBwJKZyzc","biz0T-cmTnE","0OBgv3bkp3k","QWOP7oZDm04","XIuSOriQVn0","2_AaA3xsS0g","1afW4TyuHn4","AmHc9NWOe3E","hv48O6Pngtk","tDTCJmTdXc8","QmVzp5z0C6A"]),Fp=[{id:"fallback-AmHc9NWOe3E",video_id:"AmHc9NWOe3E",description:"Editor",tag:"Commentary",created_at:Mp},{id:"fallback-qUoiagLbLxY",video_id:"qUoiagLbLxY",description:"Editor",tag:"Documentary",created_at:Mp},{id:"fallback-L-1v6vMz0xs",video_id:"L-1v6vMz0xs",description:"Editor",tag:"Commentary",created_at:Mp},{id:"fallback-ja_NIgmBIAI",video_id:"ja_NIgmBIAI",description:"Editor",tag:"Commentary",created_at:Mp},{id:"fallback-mxapaXrHr1Y",video_id:"mxapaXrHr1Y",description:"Editor",tag:"Matt Walsh",created_at:Np},{id:"fallback-3aUtYVr62lw",video_id:"3aUtYVr62lw",description:"Editor",tag:"Ben Shapiro",created_at:Np},{id:"fallback-qWRxeOZz5L0",video_id:"qWRxeOZz5L0",description:"Editor",tag:"Ben Shapiro",created_at:Np},{id:"fallback-mMMQYz_vJFw",video_id:"mMMQYz_vJFw",description:"Editor",tag:"Jordan B Peterson",created_at:Np}],$p=["Documentary","Commentary","Podcast","Short Film","Highlights"],Vp={Interview:"Podcast",Reaction:"Commentary",Explainer:"Commentary","Mini Documentary":"Documentary","Ben Shapiro":"Commentary","Brett Cooper":"Commentary","Jordan B Peterson":"Podcast","Matt Walsh":"Documentary","Michael Knowles":"Commentary","The Daily Wire":"Podcast","Daily Wire News":"Documentary"},Bp=async()=>(e=>{const t=e.filter((e=>!Up.has(e.video_id))),n=new Set(t.map((e=>e.video_id)));return[...Fp.filter((e=>!n.has(e.video_id)&&!Up.has(e.video_id))),...t].sort(((e,t)=>new Date(t.created_at).getTime()-new Date(e.created_at).getTime()))})(zp).map((e=>{return{...e,tag:(t=e.tag,Vp[t]||t)};var t})),Hp=async()=>{const e=(await Bp()).map((e=>e.tag));return(e=>[...e].sort(((e,t)=>{const n=$p.indexOf(e),r=$p.indexOf(t);return-1!==n&&-1!==r?n-r:-1!==n?-1:-1!==r?1:e.localeCompare(t)})))([...new Set(e)])},Gp=()=>{const[e,t]=(0,o.useState)([]),[n,r]=(0,o.useState)(["All"]),[i,a]=(0,o.useState)("All"),[l,s]=(0,o.useState)(null),[c,u]=(0,o.useState)(!0),[d,p]=(0,o.useState)(!1),[f,m]=(0,o.useState)(!1);Co({title:"Portfolio | Austin Davenport",description:"Selected professional video-editing work from Austin Davenport, including client videos, showreel, analytics, and categorized portfolio pieces.",path:"/portfolio"}),(0,o.useEffect)((()=>{const e=()=>{p(window.innerWidth<=768)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[]),(0,o.useEffect)((()=>{(async()=>{try{const e=await Bp(),n=await Promise.all(e.map((async e=>{const t=await Nd.getVideoDetails(e.video_id);
2821return{...e,title:null===t||void 0===t?void 0:t.title,thumbnail:null===t||void 0===t?void 0:t.thumbnail}})));t(n);const o=await Hp();r(["All",...o])}catch{}finally{u(!1)}})()}),[]);const h="All"===i?e:e.filter((e=>e.tag===i)),g=(0,o.useCallback)((e=>{s(e),document.body.style.overflow="hidden"}),[]),b=(0,o.useCallback)((()=>{s(null),document.body.style.overflow="unset"}),[]);if(c)return(0,$r.jsx)(Ep,{children:(0,$r.jsx)(kp,{children:Array.from({length:8}).map(((e,t)=>(0,$r.jsxs)(pp,{children:[(0,$r.jsx)(fp,{}),(0,$r.jsx)(mp,{width:"75%"}),(0,$r.jsx)(mp,{width:"50%"})]},t)))})});return(0,$r.jsxs)(Ep,{children:[(0,$r.jsx)(_p,{children:"Portfolio"}),d?(0,$r.jsxs)(Rp,{children:[(0,$r.jsxs)(Ip,{onClick:()=>{m(!f)},children:[(0,$r.jsx)("span",{children:i}),(0,$r.jsx)("i",{className:"bx bx-chevron-down"})]}),f&&(0,$r.jsx)(Lp,{children:n.map((e=>(0,$r.jsx)(Op,{onClick:()=>(e=>{a(e),m(!1)})(e),active:i===e,children:e},e)))})]}):(0,$r.jsx)(yp,{id:"categories",children:(0,$r.jsx)(xp,{children:n.map((e=>(0,$r.jsx)(wp,{active:i===e,onClick:()=>a(e),children:e},e)))})}),(0,$r.jsx)(kp,{children:h.map((e=>(0,$r.jsxs)(Cp,{onClick:()=>g(e),children:[(0,$r.jsx)(jp,{bgImage:e.thumbnail||""}),(0,$r.jsx)(Tp,{className:"video-overlay",children:(0,$r.jsx)("i",{className:"bx bx-play-circle"})}),(0,$r.jsxs)(Sp,{children:[(0,$r.jsx)(Pp,{children:e.title||"Loading..."}),(0,$r.jsx)(Ap,{children:e.description})]})]},e.id)))}),(0,$r.jsx)(hp,{isOpen:!!l,role:"dialog","aria-label":"Video player","aria-modal":"true",children:l&&(0,$r.jsxs)(gp,{children:[(0,$r.jsx)(vp,{onClick:b,"aria-label":"Close video",children:(0,$r.jsx)("i",{className:"bx bx-x"})}),(0,$r.jsx)(bp,{src:`https://www.youtube.com/embed/${l.video_id}`,title:l.title||"",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})]})})]})},Yp=kr.div` 2822 width: 100%; 2823 padding: 3rem 1rem 4rem; 2824 2825 @media (max-width: 768px) { 2826 padding: 2rem 0.5rem 3rem; 2827 } 2828`,Wp=kr.article` 2829 max-width: 860px; 2830 margin: 0 auto; 2831 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2832`,Kp=kr.header` 2833 padding-bottom: 2rem; 2834 margin-bottom: 2rem; 2835 border-bottom: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2836`,qp=kr.p` 2837 margin: 0 0 0.75rem; 2838 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2839 font-size: 0.78rem; 2840 font-weight: 700; 2841 letter-spacing: 0.08em; 2842 text-transform: uppercase; 2843`,Qp=kr.h1` 2844 margin: 0 0 1rem; 2845 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2846 font-size: 2.6rem; 2847 line-height: 1.12; 2848 font-weight: 700; 2849 2850 @media (max-width: 768px) { 2851 font-size: 2rem; 2852 } 2853 2854 @media (max-width: 480px) { 2855 font-size: 1.65rem; 2856 } 2857`,Xp=kr.p` 2858 margin: 0; 2859 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2860 font-size: 0.98rem; 2861`,Jp=kr.section` 2862 margin-bottom: 2rem; 2863 2864 p { 2865 margin: 0 0 1rem; 2866 font-size: 1rem; 2867 line-height: 1.75; 2868 2869 &:last-child { 2870 margin-bottom: 0; 2871 } 2872 } 2873 2874 @media (max-width: 480px) { 2875 margin-bottom: 1.5rem; 2876 2877 p { 2878 font-size: 0.92rem; 2879 line-height: 1.65; 2880 } 2881 } 2882`,Zp=kr.h2` 2883 margin: 0 0 0.85rem; 2884 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2885 font-size: 1.25rem; 2886 line-height: 1.3; 2887`,ef=kr.ul` 2888 margin: 0 0 1rem; 2889 padding-left: 1.4rem; 2890 2891 li { 2892 margin-bottom: 0.55rem; 2893 line-height: 1.6; 2894 2895 &:last-child { 2896 margin-bottom: 0; 2897 } 2898 } 2899 2900 @media (max-width: 480px) { 2901 padding-left: 1.15rem; 2902 2903 li { 2904 font-size: 0.92rem; 2905 } 2906 } 2907`,tf=kr.address` 2908 display: flex; 2909 flex-direction: column; 2910 gap: 0.4rem; 2911 font-style: normal; 2912 2913 strong { 2914 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2915 } 2916 2917 a { 2918 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2919 overflow-wrap: anywhere; 2920 } 2921`,nf=["Copying a YouTube transcript to your clipboard","Copying visible video metadata","Saving a video screenshot locally","Hiding selected YouTube page elements","Exporting visible YouTube Studio data into a local file","Adjusting the YouTube viewing interface in your browser"],rf=()=>(Co({title:"Privacy Policy | Austin Davenport",description:"Privacy information for AustinDavenport.com, Creator Updates, contact forms, analytics, embedded media, external links, and Austin Davenport Chrome extensions.",path:"/privacy-policy"}),(0,$r.jsx)(Yp,{children:(0,$r.jsxs)(Wp,{children:[(0,$r.jsxs)(Kp,{children:[(0,$r.jsx)(qp,{children:"Website and Extension Privacy Policy"}),(0,$r.jsx)(Qp,{children:"Privacy Policy"}),(0,$r.jsx)(Xp,{children:"Effective date: July 31, 2026"})]}),(0,$r.jsx)(Jp,{children:(0,$r.jsx)("p",{children:"This page explains how AustinDavenport.com handles information for the website, contact form, Creator Updates signup, analytics, embedded media, external links, and Chrome extensions published by Austin Davenport."})}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Website Information We Collect"}),(0,$r.jsx)("p",{children:"If you submit the contact form, the information you enter, such as your name, email address, project type, and message, is sent through the form provider so Austin can respond to your inquiry."}),(0,$r.jsx)("p",{children:"If you sign up for Creator Updates, your email address and signup source may be sent to Kit so Austin can send occasional updates about new tools, major product changes, and useful creator resources. Submitting the signup form adds your email to the Creator Updates list."}),(0,$r.jsx)("p",{children:"The site uses Vercel Analytics for general usage measurement. Custom analytics events may record non-sensitive interaction details such as a clicked tool ID, c
2921ategory, platform, source page, or search query length. Email addresses, names, messages, payment information, and contact-form contents are not intentionally sent in analytics events."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Website Services and Embedded Content"}),(0,$r.jsx)("p",{children:"Some website content is loaded from Supabase, including public blog, project, and portfolio records. YouTube embeds and thumbnails may load content directly from YouTube or Google. Product, support, Discord, Spotify, Adobe Exchange, Notion, Fourthwall, Buy Me a Coffee, and other external links take you to third-party websites that have their own privacy practices."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Chrome Extension Privacy Policy"}),(0,$r.jsx)("p",{children:"The following extension privacy information applies to Chrome extensions published by Austin Davenport for YouTube and YouTube Studio utility workflows, including tools for copying transcripts, descriptions, and tags; adjusting playback; hiding YouTube interface elements; saving screenshots; exporting Studio analytics; and other small single-purpose YouTube utilities."}),(0,$r.jsx)("p",{children:"These extensions are independent and are not affiliated with YouTube or Google."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Extension Information We Access"}),(0,$r.jsx)("p",{children:"Our extensions may access website content on YouTube or YouTube Studio pages only as needed to provide the extension's stated feature. For example, an extension may read a visible transcript so it can copy that transcript, read visible metadata so it can copy tags or descriptions, capture the current video frame for a screenshot, or inspect page elements so it can hide or adjust parts of the YouTube interface."}),(0,$r.jsx)("p",{children:"This processing happens locally in your browser."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Extension Information We Do Not Collect"}),(0,$r.jsx)("p",{children:"We do not collect, store, sell, rent, or transfer your personal information."}),(0,$r.jsx)("p",{children:"We do not collect names, email addresses, payment information, health information, authentication information, personal communications, precise location, browsing history, or user activity logs."}),(0,$r.jsx)("p",{children:"We do not use analytics, advertising trackers, background tracking, remote logging, or profiling in these extensions."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"How Extension Information Is Used"}),(0,$r.jsx)("p",{children:"Website content accessed by an extension is used only to provide that extension's user-facing feature."}),(0,$r.jsx)(ef,{"aria-label":"Examples of extension features",children:nf.map((e=>(0,$r.jsx)("li",{children:e},e)))}),(0,$r.jsx)("p",{children:"We do not send this information to our servers."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Extension Data Sharing"}),(0,$r.jsx)("p",{children:"We do not sell user data."}),(0,$r.jsx)("p",{children:"We do not transfer user data to advertising platforms, data brokers, or other third parties."}),(0,$r.jsx)("p",{children:"We do not use or transfer user data for purposes unrelated to an extension's single purpose."}),(0,$r.jsx)("p",{children:"We do not use or transfer user data to determine creditworthiness or for lending purposes."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Extension Remote Code"}),(0,$r.jsx)("p",{children:"Our extensions do not use remote code. Extension code is packaged with the Chrome extension. External websites may be opened only when you choose to click an optional support or donation link."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Third-Party Links"}),(0,$r.jsx)("p",{children:"Some extension popups may include an optional donation or support link, such as Buy Me a Coffee. If you click that link, you will leave the extension and visit a third-party website. That website's own privacy policy applies."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Data Security"}),(0,$r.jsx)("p",{children:"Because our extensions do not transmit user data to our servers, most extension processing remains local to your browser. If a future extension feature ever requires data transmission, it will be disclosed and protected using modern secure transmission methods."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Chrome Web Store Limited Use Disclosure"}),(0,$r.jsx)("p",{children:"Our use of information, including any information received from Google APIs if applicable, complies with the Chrome Web Store User Data Policy, including the Limited Use requirements."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Changes to This Policy"}),(0,$r.jsx)("p",{children:"We may update this Privacy Policy if our extensions or privacy practices change. The updated version will be posted on this page with a new effective date."})]}),(0,$r.jsxs)(Jp,{children:[(0,$r.jsx)(Zp,{children:"Contact"}),(0,$r.jsx)("p",{children:"For privacy questions, contact:"}),(0,$r.jsxs)(tf,{children:[(0,$r.jsx)("strong",{children:"Austin Davenport"}),(0,$r.jsx)("a",{href:"https://www.austindavenport.com/contact",children:"https://www.austindavenport.com/contact"})]})]})]})})),of=kr.div` 2922 max-width: 1400px; 2923 margin: 0 auto; 2924 padding: 4rem 2rem; 2925 2926 @media (max-width: 768px) { 2927 padding: 1rem 0.85rem 2.75rem; 2928 } 2929`,af=kr.div` 2930 margin-bottom: 4rem; 2931 text-align: center; 2932 max-width: 800px; 2933 margin-left: auto; 2934 margin-right: auto; 2935 2936 @media (max-width: 768px) { 2937 margin-bottom: 1.25rem; 2938 } 2939`,lf=kr.h1` 2940 font-size: 3rem; 2941 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 2942 margin-bottom: 1.5rem; 2943 position: relative; 2944 2945 &::after { 2946 content: ''; 2947 position: absolute; 2948 bottom: -10px; 2949 left: 50%; 2950 transform: translateX(-50%); 2951 width: 60px; 2952 height: 3px; 2953 background: linear-gradient(90deg, var(--project4) 0%, var(--project6) 100%); 2954 border-radius: 2px; 2955 } 2956 2957 @media (max-width: 768px) { 2958 font-size: 1.55rem; 2959 margin-bottom: 0.75rem; 2960 2961 &::after { 2962 bottom: -6px; 2963 width: 38px; 2964 height: 2px; 2965 } 2966 } 2967`,sf=kr.p` 2968 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2969 font-size: 1.25rem; 2970 line-height: 1.6; 2971 margin-bottom: 2rem; 2972 2973 @media (max-width: 768px) { 2974 font-size: 0.82rem; 2975 line-height: 1.35; 2976 margin: 0 auto; 2977 max-width: 22rem; 2978 } 2979`,cf=Sr` 2980 0% { transform: rotate(0deg); } 2981 100% { transform: rotate(360deg); } 2982`,uf=(kr.div` 2983 display: flex; 2984 flex-direction: column; 2985 justify-content: center; 2986 align-items: center; 2987 min-height: 300px; 2988 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 2989 font-size: 1.1rem; 2990 gap: 1.5rem; 2991`,kr.div` 2992 width: 40px; 2993 height: 40px; 2994 border: 3px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 2995 border-top: 3px solid var(--project4); 2996 border-radius: 50%; 2997 animation: ${cf} 1.2s linear infinite; 2998`,kr.div` 2999 display: flex; 3000 flex-direction: column; 3001 justify-content: center; 3002 align-items: center; 3003 gap: 1rem; 3004 min-height: 300px; 3005 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3006 text-align: center; 3007 font-size: 1.1rem; 3008`,kr.div` 3009 display: grid; 3010 grid-template-columns: repeat(3, 1fr); 3011 gap: 2.5rem; 3012 3013 @media (max-width: 992px) { 3014 grid-template-columns: repeat(2, minmax(0, 1fr)); 3015 gap: 1rem; 3016 } 3017 3018 @media (max-width: 480px) { 3019 gap: 0.7rem; 3020 } 3021`),df=kr.a` 3022 position: relative; 3023 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 3024 border-radius: 16px; 3025 overflow: hidden; 3026 display: flex; 3027 flex-direction: column; 3028 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3029 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); 3030 text-decoration: none; 3031 transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); 3032 height: 100%; 3033 3034 &:hover { 3035 transform: translateY(-3px); 3036 border-color: ${e=>e.accentColor}; 3037 box-shadow: 0 15px 35px ${e=>`${e.accentColor}20`}; 3038 3039 & >
3039 div:first-child > div:first-child { 3040 transform: scale(1.05); 3041 } 3042 } 3043 3044 &.project-tile.visible { 3045 opacity: 1; 3046 } 3047 3048 @media (max-width: 768px) { 3049 max-width: 100%; 3050 border-radius: 10px; 3051 } 3052`,pf=kr.div` 3053 position: relative; 3054 width: 100%; 3055 height: 390px; 3056 overflow: hidden; 3057 3058 @media (max-width: 768px) { 3059 height: auto; 3060 aspect-ratio: 1 / 1; 3061 } 3062`,ff=kr.div` 3063 width: 100%; 3064 height: 100%; 3065 background-size: cover; 3066 background-position: center; 3067 transition: transform 0.6s ease; 3068`,mf=kr.div` 3069 position: absolute; 3070 top: 0; 3071 left: 0; 3072 width: 100%; 3073 height: 100%; 3074 background: linear-gradient(to top, ${e=>e.color}90 0%, transparent 100%); 3075 mix-blend-mode: multiply; 3076 opacity: 0.5; 3077`,hf=kr.div` 3078 position: absolute; 3079 top: 16px; 3080 right: -30px; 3081 background: white; 3082 color: #333; 3083 padding: 0.25rem 2rem; 3084 font-size: 0.8rem; 3085 font-weight: 600; 3086 transform: rotate(45deg); 3087 z-index: 2; 3088 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); 3089`,gf=kr.div` 3090 padding: 2rem; /* Increased padding for better balance with taller images */ 3091 display: flex; 3092 flex-direction: column; 3093 flex-grow: 1; 3094 3095 @media (max-width: 768px) { 3096 padding: 0.65rem; 3097 } 3098`,bf=kr.div` 3099 display: inline-block; 3100 padding: 0.35rem 0.75rem; 3101 background: ${e=>`${e.color}15`}; 3102 color: ${e=>e.color}; 3103 border-radius: 4px; 3104 font-size: 0.85rem; 3105 font-weight: 500; 3106 margin-bottom: 1.25rem; 3107 width: fit-content; 3108 3109 @media (max-width: 768px) { 3110 font-size: 0.58rem; 3111 line-height: 1.1; 3112 margin-bottom: 0.45rem; 3113 max-width: 100%; 3114 overflow: hidden; 3115 padding: 0.22rem 0.42rem; 3116 text-overflow: ellipsis; 3117 white-space: nowrap; 3118 } 3119`,vf=kr.h2` 3120 font-size: 1.875rem; /* Slightly larger to match taller images */ 3121 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3122 margin: 0 0 1rem; 3123 font-weight: 600; 3124 line-height: 1.3; 3125 3126 @media (max-width: 768px) { 3127 font-size: 0.86rem; 3128 line-height: 1.08; 3129 margin-bottom: 0.35rem; 3130 } 3131`,yf=kr.p` 3132 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3133 margin: 0 0 1.5rem; 3134 line-height: 1.6; 3135 font-size: 1rem; 3136 flex-grow: 1; 3137 3138 @media (max-width: 768px) { 3139 display: none; 3140 } 3141`,xf=Sr` 3142 0% { transform: translateX(0); } 3143 50% { transform: translateX(5px); } 3144 100% { transform: translateX(0); } 3145`,wf=kr.div` 3146 display: flex; 3147 align-items: center; 3148 gap: 0.5rem; 3149 color: ${e=>e.color}; 3150 font-weight: 600; 3151 font-size: 1rem; 3152 transition: all 0.3s ease; 3153 width: fit-content; 3154 margin-top: auto; 3155 3156 i { 3157 font-size: 1.25rem; 3158 transition: transform 0.3s ease; 3159 } 3160 3161 &:hover { 3162 i { 3163 animation: ${xf} 1s ease infinite; 3164 } 3165 } 3166 3167 @media (max-width: 768px) { 3168 gap: 0.25rem; 3169 font-size: 0.72rem; 3170 3171 i { 3172 font-size: 0.95rem; 3173 } 3174 } 3175`,Ef=kr.span` 3176 @media (max-width: 768px) { 3177 display: none; 3178 } 3179`,_f=kr.span` 3180 display: none; 3181 3182 @media (max-width: 768px) { 3183 display: inline; 3184 } 3185`,kf=[{id:5,title:"YouTool.io",description:"A powerful suite of analytics and growth tools built specifically for YouTube creators. Turn data into actionable insights that help you understand what your audience truly wants.",image_url:"https://64.media.tumblr.com/377e88f933f314338ba9608900174dc9/7c0180d0d1212074-5a/s1280x1920/a048ccb1bec91251584811a90d7551c9f7b4ceb7.pnj",project_url:"https://www.youtool.io",color_accent:"#bf2c1f",category:"Analytics",featured:!0,created_at:"2025-05-20T05:48:02.924591+00:00"},{id:4,title:"Smooth It",description:"Smooth It creates and applies custom easing curves to keyframed properties.",image_url:"https://64.media.tumblr.com/ac6b24eb89f0c1a5968cdeff134b1d87/de37173ea8e82b4a-76/s1280x1920/be943a97ff80dbace88c7692a05f7f3747901641.pnj",project_url:"https://exchange.adobe.com/apps/cc/fc1418c4/smooth-it",color_accent:"#4287f5",category:"Editing Tools",featured:!1,created_at:"2022-05-20T13:58:11+00:00"},{id:3,title:"Clipboard It",description:"Reimagining how editors share and reuse elements between projects. Designed for professionals who need to move fast without sacrificing quality or creative flow.",image_url:"https://imgproxy.fourthwall.com/NSD2usD9hYTysLDRn1nsl2le1Wj4LLGV3f-bqk1H1X0/w:720/sm:1/enc/OTk0NmI0NjQ1Yzli/YTczNN7v8sTooFr_/69APhnk512swjQmE/LU9wZ_gIvt3bh8II/9lan9TDd1fgslTKJ/_rVZKHQCjnTmPrYM/UTZavpQa9yN10avg/fBm3bDJjQOw1jAVI
3185/S4jsp4uU7ius6dKQ/D20X9SLihVh0HP6e/8hBCkYiyyD_uUslv/E8aUFXGNSvdoX8no/KeRqwkLy-Jf2qmDF/OG5FrQ.webp",project_url:"https://clipboard.it.com",color_accent:"#8338EC",category:"Editing Tools",featured:!1,created_at:"2025-05-20T05:48:02.924591+00:00"},{id:2,title:"Link-In-Bio Page Maker",description:"Beautiful link pages that reflect your personal brand. Eliminate the middleman and take control of your audience and their journey with custom designs that captivate and convert.",image_url:"https://imgproxy.fourthwall.com/-sRNLeEHYub1Mu4_xFNuPc95aDsiehM3lx357-MSABA/w:720/sm:1/enc/MzNhNjY2ZDQxNTgw/MTFjOOWDEr73rTRg/jwnx6r_nJ5Q8_Q4i/ON0Gp-3RzRCwFgkV/1sJ8rfpnzD8j-hv_/owsCCRovJvvByk81/45hia7fp97fjLYLh/OqcUnH2RioER1EPb/DqyBl2UODmnwBUiM/nXAeCzvDqreP605T/ag5EijuzGACLixFm/CnRSPj53pkbblXYN/Qrgts9LR--shPaga/z8WyYg.webp",project_url:"https://www.youtool.io/tools/link-in-bio-builder",color_accent:"#06D6A0",category:"Creator Tools",featured:!1,created_at:"2025-05-20T05:48:02.924591+00:00"},{id:1,title:"Notion Templates",description:"Planner templates for content creators. Includes the YouTube Planner and Planner+.",image_url:"https://64.media.tumblr.com/c01181b742fa764eab63dd7544a073c8/9e2beede650be6dd-4e/s1280x1920/dccedfb87e52ef0ab653c694afd2dc57721d0665.pnj",project_url:"https://www.notion.so/@austindavenport",color_accent:"#d1d1d1",category:"Productivity Tools",featured:!1,created_at:"2023-06-20T02:37:12+00:00"}],Tf=()=>{const e=(0,o.useRef)([]);return Co({title:"Projects | Austin Davenport",description:"Curated substantial projects Austin Davenport has built, including YouTool.io, ClipboardIt, Smooth It, Notion templates, and creator tools.",path:"/projects"}),(0,o.useEffect)((()=>{if(kf.length>0&&e.current.length>0){const t=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting&&e.target.classList.add("visible")}))}),{threshold:.1,rootMargin:"0px 0px -10% 0px"});return e.current.forEach((e=>{e&&t.observe(e)})),()=>t.disconnect()}}),[kf,e.current]),(0,$r.jsxs)(of,{children:[(0,$r.jsxs)(af,{children:[(0,$r.jsx)(lf,{children:"Projects"}),(0,$r.jsx)(sf,{children:"Small tools, products, and creative experiments I've built for content creators."})]}),(0,$r.jsx)(uf,{children:kf.map(((t,n)=>(0,$r.jsxs)(df,{ref:t=>e.current[n]=t,accentColor:t.color_accent,className:"project-tile",href:t.project_url,target:"_blank",rel:"noopener noreferrer",style:{animationDelay:.1*n+"s"},children:[(0,$r.jsxs)(pf,{children:[(0,$r.jsx)(ff,{style:{backgroundImage:`url(${t.image_url})`}}),(0,$r.jsx)(mf,{color:t.color_accent}),t.featured&&(0,$r.jsx)(hf,{children:"Featured"})]}),(0,$r.jsxs)(gf,{children:[(0,$r.jsx)(bf,{color:t.color_accent,children:t.category}),(0,$r.jsx)(vf,{children:t.title}),(0,$r.jsx)(yf,{children:t.description}),(0,$r.jsxs)(wf,{color:t.color_accent,children:[(0,$r.jsx)(Ef,{children:"Explore Project"}),(0,$r.jsx)(_f,{children:"Open"}),(0,$r.jsx)("i",{className:"bx bx-right-arrow-alt"})]})]})]},t.id)))})]})},Cf="9751653",Sf={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
3185,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.REACT_APP_KIT_FORM_ACTION,Pf=kr.form` 3186 background: ${e=>{let{$compact:t,theme:n}=e;return t?"transparent":n.colors.blue2}}; 3187 border: ${e=>{let{$compact:t,theme:n}=e;return t?"0":`1px solid ${n.colors.blue3}`}}; 3188 border-radius: ${e=>{let{$compact:t}=e;return t?"14px":"16px"}}; 3189 box-shadow: ${e=>{let{$compact:t}=e;return t?"none":"inset 0 1px 0 rgba(250, 252, 255, 0.04)"}}; 3190 display: ${e=>{let{$hasVisual:t}=e;return t?"grid":"block"}}; 3191 grid-template-columns: ${e=>{let{$hasVisual:t,$sourcePage:n}=e;return t?"links"===n?"1fr":"minmax(0, 1fr) minmax(340px, 0.48fr)":"1fr"}}; 3192 overflow: hidden; 3193 3194 @media (max-width: 620px) { 3195 grid-template-columns: 1fr; 3196 } 3197`,Af=kr.div` 3198 display: grid; 3199 gap: ${e=>{let{$sourcePage:t}=e;return"links"===t?"0.95rem":"1.35rem"}}; 3200 padding: ${e=>{let{$sourcePage:t}=e;return"links"===t?"1.25rem":"2rem 2rem 1.9rem"}}; 3201 3202 @media (max-width: 620px) { 3203 padding: 1.5rem; 3204 } 3205`,Rf=kr.div` 3206 min-width: 0; 3207`,If=kr.div` 3208 min-height: ${e=>{let{$sourcePage:t}=e;return"links"===t?"158px":"240px"}}; 3209 background: 3210 radial-gradient(circle at 88% 8%, rgba(109, 26, 224, 0.34), transparent 42%), 3211 ${e=>{let{theme:t}=e;return t.colors.blue1}}; 3212 border-left: ${e=>{let{$sourcePage:t,theme:n}=e;return"links"===t?"0":`1px solid ${n.colors.blue3}`}}; 3213 border-top: ${e=>{let{$sourcePage:t,theme:n}=e;return"links"===t?`1px solid ${n.colors.blue3}`:"0"}}; 3214 overflow: hidden; 3215 position: relative; 3216 3217 @media (max-width: 620px) { 3218 border-left: 0; 3219 border-top: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3220 min-height: 200px; 3221 } 3222`,Lf=kr.div` 3223 position: absolute; 3224 right: -70px; 3225 top: -90px; 3226 width: 280px; 3227 height: 280px; 3228 border-radius: 50%; 3229 background: #6d1ae0; 3230 filter: blur(8px); 3231 opacity: 0.16; 3232`,Of=kr.img` 3233 position: absolute; 3234 left: 12%; 3235 top: 50%; 3236 width: ${e=>{let{$sourcePage:t}=e;return"links"===t?"48%":"46%"}}; 3237 min-width: ${e=>{let{$sourcePage:t}=e;return"links"===t?"132px":"170px"}}; 3238 transform: translateY(-46%); 3239 filter: drop-shadow(0 18px 32px rgba(0, 0, 0, 0.65)); 3240`,jf=kr.img` 3241 position: absolute; 3242 right: 12%; 3243 top: 50%; 3244 width: ${e=>{let{$sourcePage:t}=e;return"links"===t?"24%":"22%"}}; 3245 min-width: ${e=>{let{$sourcePage:t}=e;return"links"===t?"68px":"86px"}}; 3246 border: 1px solid #3a3d42; 3247 border-radius: 6px; 3248 box-shadow: 0 16px 34px rgba(0, 0, 0, 0.6); 3249 transform: translateY(-62%) rotate(6deg); 3250`,zf=kr.div` 3251 min-width: 0; 3252 display: grid; 3253 gap: ${e=>{let{$sourcePage:t}=e;return"links"===t?"0.55rem":"1rem"}}; 3254 3255 h2 { 3256 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3257 font-size: ${e=>{let{$sourcePage:t}=e;return"links"===t?"clamp(1.1rem, 5vw, 1.3rem)":"clamp(1.35rem, 2.4vw, 1.65rem)"}}; 3258 font-weight: 800; 3259 line-height: ${e=>{let{$sourcePage:t}=e;return"links"===t?"1.18":"1.14"}}; 3260 margin: 0; 3261 } 3262 3263 p { 3264 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3265 font-size: ${e=>{let{$sourcePage:t}=e;return"links"===t?"0.86rem":"clamp(0.92rem, 1.4vw, 1rem)"}}; 3266 line-height: ${e=>{let{$sourcePage:t}=e;return"links"===t?"1.45":"1.55"}}; 3267 margin: 0; 3268 max-width: 28em; 3269 } 3270`,Nf=kr.div` 3271 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3272 font-size: 0.72rem; 3273 font-weight: 700; 3274 letter-spacing: 0; 3275 text-transform: uppercase; 3276`,Mf=kr.div` 3277 display: grid; 3278 gap: ${e=>{let{$sourcePage:t}=e;return"links"===t?"0.45rem":"0.65rem"}}; 3279`,Df=kr.label` 3280 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3281 font-size: clamp(0.92rem, 1.5vw, 1.05rem); 3282 font-weight: 800; 3283`,Uf=kr.div` 3284 display: grid; 3285 grid-template-columns: 1fr auto; 3286 margin-right: 20%; 3287 align-items: stretch; 3288 background: ${e=>{let{theme:t}=e;return t.colors.blue1}}; 3289 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3290 border-radius: ${e=>{let{$sourcePage:t}=e;return"links"===t?"12px":"18px"}}; 3291 padding: ${e=>{let{$sourcePage:t}=e;return"links"===t?"4px":"6px"}}; 3292 3293 @media (max-width: 420px) { 3294 grid-template-columns: 1fr auto; 3295 } 3296`,Ff=kr.input` 3297 min-width: 0; 3298 width: 100%; 3299 min-height: ${e=>{let{$sourcePage:t}=e;return"links"===t?"44px":"52px"}}; 3300 background: transparent; 3301 border: 0; 3302 border-radius: ${e=>{let{$sourcePage:t}=e;return"links"===t?"9px":"12px"}}; 3303 box-sizing: border-box; 3304 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3305 font-family: inherit; 3306 font-size: ${e=>{let{$sourcePage:t}=e;return"links"===t?"0.92rem":"1rem"}}; 3307 line-height: 1.1; 3308 padding: ${e=>{let{$sourcePage:t}=e;return"links"===t?"0.75rem 0.85rem":"0.85rem 1rem"}}; 3309 3310 &:focus { 3311 border-color: ${e=>{let{theme:t}=e;return t.colors.blue8}}; 3312 outline: none; 3313 }
3314`,$f=kr.button` 3315 min-height: ${e=>{let{$sourcePage:t}=e;return"links"===t?"44px":"52px"}}; 3316 background: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3317 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3318 border-radius: ${e=>{let{$sourcePage:t}=e;return"links"===t?"9px":"12px"}}; 3319 box-sizing: border-box; 3320 color: ${e=>{let{theme:t}=e;return t.colors.blue1}}; 3321 display: inline-flex; 3322 align-items: center; 3323 justify-content: center; 3324 font-family: inherit; 3325 font-size: ${e=>{let{$sourcePage:t}=e;return"links"===t?"0.9rem":"1rem"}}; 3326 font-weight: 800; 3327 line-height: 1.1; 3328 padding: ${e=>{let{$sourcePage:t}=e;return"links"===t?"0 1rem":"0 1.25rem"}}; 3329 transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease; 3330 white-space: nowrap; 3331 3332 &:hover:not(:disabled) { 3333 background: ${e=>{let{theme:t}=e;return t.colors.blue12}}; 3334 transform: translateY(-1px); 3335 } 3336 3337 &:disabled { 3338 opacity: 0.7; 3339 cursor: wait; 3340 } 3341`,Vf=kr.div` 3342 min-height: 1.2em; 3343 color: ${e=>{let{theme:t,$status:n}=e;return"error"===n?"#ffb4a8":t.colors.blue11}}; 3344 font-size: 0.78rem; 3345 line-height: 1.45; 3346`,Bf=kr.p` 3347 align-items: center; 3348 color: ${e=>{let{theme:t}=e;return t.colors.blue8}}; 3349 display: flex; 3350 font-size: ${e=>{let{$sourcePage:t}=e;return"links"===t?"0.78rem":"0.82rem"}}; 3351 gap: 0.5rem; 3352 line-height: 1.35; 3353 margin: -0.15rem 0 0; 3354 3355 &::before { 3356 background: ${e=>{let{theme:t}=e;return t.colors.blue8}}; 3357 border-radius: 50%; 3358 content: ''; 3359 flex: 0 0 auto; 3360 height: 5px; 3361 width: 5px; 3362 } 3363`,Hf={FormCard:Pf,ContentPanel:Af,Copy:Rf,CopyText:zf,VisualPanel:If,VisualGlow:Lf,ProductBox:Of,GuideCover:jf,Kicker:Nf,FieldGroup:Mf,Label:Df,InputRow:Uf,Input:Ff,SubmitButton:$f,Note:Bf,Message:Vf},Gf=e=>{let{source:t,compact:n=!1,showCopy:r=!0,showVisual:i=!1}=e;const[a,l]=(0,o.useState)(""),[s,c]=(0,o.useState)("idle"),[u,d]=(0,o.useState)(""),p="source_links"===t?"links":"store";return(0,$r.jsxs)(Hf.FormCard,{id:"creator-updates",onSubmit:async e=>{e.preventDefault(),c("loading"),d(""),qc(`${p}_creator_updates_started`,{source_page:p});try{await(async e=>{let{email:t,source:n}=e;const r=Sf||`https://app.kit.com/forms/${Cf}/subscriptions`,o=new FormData;if(o.append("email_address",t),o.append("fields[source]",n),o.append("fields[lead_magnet]","client_project_folder_guide"),o.append("tags[]",n),o.append("tags[]","interest_creator_tools"),o.append("tags[]","interest_client_project_folder_guide"),!(await fetch(r,{method:"POST",body:o,headers:{Accept:"application/json"}})).ok)throw new Error("Could not subscribe right now. Please try again later.");return{success:!0}})({email:a,source:t}),c("success"),d("You are on the list. I will send the project folder and guide there."),l(""),qc(`${p}_creator_updates_completed`,{source_page:p})}catch(n){c("error"),d(n instanceof Error?n.message:"Could not subscribe right now.")}},noValidate:!0,$compact:n,$hasVisual:i,$sourcePage:p,children:[(0,$r.jsxs)(Hf.ContentPanel,{$sourcePage:p,children:[r&&(0,$r.jsx)(Hf.Copy,{children:(0,$r.jsxs)(Hf.CopyText,{$sourcePage:p,children:[(0,$r.jsx)("h2",{children:"Creator Updates + Free Gift \ud83c\udf81"}),(0,$r.jsx)("p",{children:"Get the project folder I use for client work, plus a guide on how to use it."})]})}),(0,$r.jsxs)(Hf.FieldGroup,{$sourcePage:p,children:[(0,$r.jsx)(Hf.Label,{htmlFor:`${t}-creator-email`,children:"Email address"}),(0,$r.jsxs)(Hf.InputRow,{$sourcePage:p,children:[(0,$r.jsx)(Hf.Input,{id:`${t}-creator-email`,type:"email",name:"email",autoComplete:"email",placeholder:"[email protected]",value:a,onChange:e=>l(e.target.value),required:!0,"aria-describedby":`${t}-creator-message`,$sourcePage:p}),(0,$r.jsx)(Hf.SubmitButton,{type:"submit",disabled:"loading"===s,$sourcePage:p,children:"loading"===s?"Sending...":"Send it"})]})]}),(0,$r.jsx)(Hf.Note,{$sourcePage:p,children:"No spam. Unsubscribe any time."}),(0,$r.jsx)(Hf.Message,{id:`${t}-creator-message`,role:"error"===s?"alert":"status",$status:s,children:u})]}),i&&(0,$r.jsxs)(Hf.VisualPanel,{"aria-hidden":"true",$sourcePage:p,children:[(0,$r.jsx)(Hf.VisualGlow,{}),(0,$r.jsx)(Hf.GuideCover,{src:"/images/creator-updates/guide-cover.png",alt:"",loading:"lazy",$sourcePage:p}),(0,$r.jsx)(Hf.ProductBox,{src:"/images/creator-updates/product-box.png",alt:"",loading:"lazy",$sourcePage:p})]})]})},Yf="https://austindavenport-shop.fourthwall.com/products",Wf=[{id:"clipboardit",title:"ClipboardIt",description:"A smarter clipboard for Premiere Pro.",category:"Premiere Pro",platform:"Premiere Pro",image:"https://imgproxy.fourthwall.com/NSD2usD9hYTysLDRn1nsl2le1Wj4LLGV3f-bqk1H1X0/w:720/sm:1/enc/OTk0NmI0NjQ1Yzli/YTczNN7v8sTooFr_/69APhnk512swjQmE/LU9wZ_gIvt3bh8II/9lan9TDd1fgslTKJ/_rVZKHQCjnTmPrYM/UTZavpQa9yN10avg/fBm3bDJjQOw1jAVI
3363/S4jsp4uU7ius6dKQ/D20X9SLihVh0HP6e/8hBCkYiyyD_uUslv/E8aUFXGNSvdoX8no/KeRqwkLy-Jf2qmDF/OG5FrQ.webp",destinationUrl:"https://clipboard.it.com/",pricingLabel:"Paid",supportModel:"paid",featured:!0,status:"active",sortOrder:10,source:"projects",notes:'Current project page spells this as "Clipboard It"; links/store normalize to the product spelling "ClipboardIt".'},{id:"youtool-io",title:"YouTool.io",description:"Free tools that make YouTube easier.",category:"YouTube Tools",platform:"Web",image:"https://64.media.tumblr.com/377e88f933f314338ba9608900174dc9/7c0180d0d1212074-5a/s1280x1920/a048ccb1bec91251584811a90d7551c9f7b4ceb7.pnj",destinationUrl:"https://www.youtool.io",pricingLabel:"Free",supportModel:"free",featured:!0,status:"active",sortOrder:20,source:"projects"},{id:"link-in-bio-page-maker",title:"Link-In-Bio Page Maker",description:"Build a first-party link page for your creator brand.",category:"Creator Utilities",platform:"Web",image:"/images/warehouse/products/link-in-bio-page-maker-cover.png",destinationUrl:"https://www.youtool.io/tools/link-in-bio-builder",pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:30,source:"extra-links",notes:"Migrated from /extra-links copy action to a direct store destination."},{id:"notion-templates",title:"Notion Templates",description:"Planner templates for content creators.",category:"Templates",platform:"Notion",image:"/images/warehouse/products/notion-templates.png",destinationUrl:"https://www.notion.so/@austindavenport",pricingLabel:"Templates",supportModel:"external",status:"active",sortOrder:40,source:"projects"},{id:"smooth-it",title:"Smooth It",description:"Create and apply custom easing curves to keyframed properties.",category:"Premiere Pro",platform:"Adobe Exchange",image:"https://64.media.tumblr.com/ac6b24eb89f0c1a5968cdeff134b1d87/de37173ea8e82b4a-76/s1280x1920/be943a97ff80dbace88c7692a05f7f3747901641.pnj",destinationUrl:"https://exchange.adobe.com/apps/cc/fc1418c4/smooth-it",pricingLabel:"Free",supportModel:"external",status:"active",sortOrder:50,source:"projects"},{id:"youtube-blueprint",title:"The YouTube Blueprint",description:"A guide to growing a YouTube channel.",category:"Digital Products",platform:"Fourthwall",image:"/images/warehouse/products/youtube-blueprint.png",destinationUrl:`${Yf}/the-youtube-blueprint-ebook`,pricingLabel:"Paid",supportModel:"paid",status:"active",sortOrder:60,source:"fourthwall"},{id:"thumbnail-pack",title:"Austin's Thumbnail Pack",description:"Editable thumbnail assets for YouTube creators.",category:"Digital Products",platform:"Fourthwall",image:"/images/warehouse/products/thumbnail-pack.webp",destinationUrl:`${Yf}/austins-thumbnail-pack`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:65,source:"fourthwall"},{id:"youtube-blueprint-desk-mat",title:"The YouTube Blueprint Desk Mat",description:"A desk mat built around the YouTube Blueprint design.",category:"Merch",platform:"Fourthwall",image:"/images/warehouse/products/fourthwall-youtube-blueprint-desk-mat.jpg",destinationUrl:`${Yf}/the-youtube-blueprint-desk-mat`,pricingLabel:"Paid",supportModel:"paid",status:"active",sortOrder:64,source:"fourthwall"},{id:"folder-structure",title:"Premiere Pro Template Save / Folder",description:"A clean project folder structure for video work.",category:"Digital Products",platform:"Fourthwall",image:"/images/warehouse/products/folder-structure.webp",destinationUrl:`${Yf}/templatefolder`,pricingLabel:"Free",supportModel:"free",status:"archived",sortOrder:66,source:"fourthwall"},{id:"youtube-planner",title:"YouTube Planner",description:"A Notion planner for organizing YouTube content.",category:"Templates",platform:"Notion",image:"https://imgproxy.fourthwall.dev/4d0ffrsHKZtSvppFlQ2h_Ws8viA0DH89YPkAEvGKXW8/w:1920/sm:1/enc/vV8-6LsnclKeL34k/3FtrLE2RyEhtzVaJ/LGF7S2B8Fg5Do54n/Ilt7pf8hSGg6jizK/PMgEjC9kkUxlKX8j/A0hFlMciRc_BMO6_/Dkw1kMBuzB-QQTSL/8wwDpSSnS5YGz3Ut/BuKMinfcBYnJcQfd/qro6mJefBCyb5Y7q/XOcfRCOjxMyVyL8x/dY9Do4zB9j1K9ics/2NRXdwWodLBQpwbc/HMEEzQ.webp",destinationUrl:`${Yf}/youtube-planner-notion-template`,pricingLabel:"Paid",supportModel:"paid",status:"active",sortOrder:67,source:"fourthwall"},{id:"youtube-planner-plus",title:"YouTube Planner Plus",description:"A deeper Notion system for YouTube planning.",category:"Templates",platform:"Notion",image:"/images/warehouse/products/youtube-planner-plus.png",destinationUrl:`${Yf}/youtube-planner-plus-notion-template`,pricingLabel:"Paid",supportModel:"paid",status:"active",sortOrder:68,source:"fourthwall"},{id:"youtool-seo-handbook",title:"YouTool.io SEO Handbook",description:"A free YouTube SEO reference for creators.",category:"Digital Products",platform:"Fourthwall",image:"/images/warehouse/products/youtool-seo-handbook.png",destinationUrl:`${Yf}/youtool-io-seo-handbook-for-youtube`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:69,source:"fourthwall"},{id:"dmca-safe-streaming-music",title:"DMCA Safe Streaming Music",description:"An 80-hour playlist of copyright-safe streaming music.",category:"Creator Utilities",platform:"Spotify",image:"/images/warehouse/products/spotify-playlist.png",destinationUrl:"https://open.spotify.com/playlist/0YCHie7xPtBwavLn8SbBNb",pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:70,source:"extra-links"},{id:"discord-template",title:"Free Discord Template",description:"A pre-configured Discord server template for content creators.",category:"Templates",platform:"Discord",image:"/images/warehouse/products/discord-template.png",destinationUrl:"https://discord.com/template/CnvsmH38kruM",pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:80,source:"extra-links"},{id:"fortnite-healthbar-template",title:"Fortnite Custom Healthbar",description:"After Effects stream overlay for Fortnite creators.",category:"Creator Utilities",platform:"Fourthwall",image:"/images/warehouse/products/fortnite-healthbar.webp",destinationUrl:`${Yf}/fortnite-healthbar-stream-overlay-after-effects`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:90,source:"extra-links"},{id:"apex-banner-template",title:"Apex Legends Healthbar Overlay",description:"After Effects healthbar overlay for Apex streams.",category:"Creator Utilities",platform:"Fourthwall",image:"/images/warehouse/products/gumroad-apex-healthbar.jpg",destinationUrl:`${Yf}/apex-legends-healthbar-stream-overlay-after-effects`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:100,source:"extra-links"},{id:"warzone-banner-template",title:"Warzone 2 Healthbar Overlay",description:"After Effects healthbar overlay for Warzone streams.",category:"Creator Utilities",platform:"Fourthwall",image:"/images/warehouse/products/gumroad-warzone-healthbar.jpg",destinationUrl:`${Yf}/warzone-2-healthbar-stream-overlay-after-effects`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:110,source:"extra-links"},{id:"free-transition-download",title:"Stinger Transition",description:"After Effects stinger transition for streaming.",category:"Creator Utilities",platform:"Fourthwall",image:"/images/warehouse/products/gumroad-stinger-transition.jpg",destinationUrl:`${Yf}/stinger-transition-for-streaming-after-effects`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:120,source:"extra-links"}
3363,{id:"arc-raiders-healthbar-overlay",title:"Arc Raiders Healthbar Overlay",description:"Custom stream overlay for Arc Raiders.",category:"Creator Utilities",platform:"Fourthwall",image:"/images/warehouse/products/arc-raiders-healthbar.jpg",destinationUrl:`${Yf}/arc-raiders-custom-healthbar-overlay`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:130,source:"fourthwall"},{id:"warzone-stream-overlay-davinci",title:"Warzone 2 Stream Overlay",description:"DaVinci Resolve stream overlay for Warzone.",category:"Creator Utilities",platform:"Fourthwall",image:"/images/warehouse/products/gumroad-warzone-davinci.jpg",destinationUrl:`${Yf}/warzone-2-stream-overlay-davinci-resolve`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:140,source:"fourthwall"},{id:"text-animation-presets",title:"Text Animation Presets #1",description:"Premiere Pro text animation preset pack.",category:"Premiere Pro",platform:"Gumroad",image:"/images/warehouse/products/gumroad-text-animation-presets.jpg",destinationUrl:`${Yf}/premiere-pro-text-animation-presets-pack-1`,pricingLabel:"Paid",supportModel:"paid",status:"active",sortOrder:155,source:"fourthwall"},{id:"ultimate-stream-graphics-bundle",title:"Ultimate Stream Graphics Bundle",description:"A Gumroad bundle of stream graphics.",category:"Creator Utilities",platform:"Gumroad",image:"/images/warehouse/products/gumroad-stream-graphics-bundle.png",destinationUrl:"https://austindavenport.gumroad.com/l/Streambundle",pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:156,source:"gumroad"},{id:"giftbox",title:"GIFTBOX",description:"AI-generated instrumental background music.",category:"Digital Products",platform:"Fourthwall",image:"/images/warehouse/products/giftbox-drop-001.avif",destinationUrl:`${Yf}/giftbox`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:150,source:"fourthwall"},{id:"giftbox-2",title:"GIFTBOX 2",description:"A second free drop of instrumental background music.",category:"Digital Products",platform:"Fourthwall",image:"/images/warehouse/products/fourthwall-giftbox-2.jpg",destinationUrl:`${Yf}/giftbox-2`,pricingLabel:"Free",supportModel:"free",status:"active",sortOrder:151,source:"fourthwall"}],Kf=Wf.filter((e=>"active"===e.status||"coming-soon"===e.status)).sort(((e,t)=>e.sortOrder-t.sortOrder)),qf=e=>Wf.find((t=>t.id===e)),Qf=[{id:"automatic-youtube-theater-mode",title:"Automatic YouTube Theater Mode",description:"Switch YouTube watch pages into theater mode.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/automatic-youtube-theater-mode.png",url:"https://chromewebstore.google.com/detail/automatic-youtube-theater-mode/moamnkgdnhjdanhlnpbkefphielbjmmm"},{id:"youtube-studio-analytics-export",title:"YouTube Studio Analytics Export",description:"Export Studio analytics to CSV.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/youtube-studio-analytics-export.png",url:"https://chromewebstore.google.com/detail/youtube-studio-analytics-export/nedbjfncggljjdhggdleklpeppoloiaa"},{id:"adjust-youtube-shorts-speed",title:"Adjust YouTube Shorts Speed",description:"Add speed controls to YouTube Shorts.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/adjust-youtube-shorts-speed.png",url:"https://chromewebstore.google.com/detail/adjust-youtube-shorts-speed/ehcfphaakmaaamenfkajelpmhmeobhmo"},{id:"youtool-io-extension",title:"YouTool.io",description:"Creator tools inside YouTube.",platform:"Chrome Extension",image:"https://64.media.tumblr.com/377e88f933f314338ba9608900174dc9/7c0180d0d1212074-5a/s1280x1920/a048ccb1bec91251584811a90d7551c9f7b4ceb7.pnj",url:"https://chromewebstore.google.com/detail/youtoolio/goeiahdjdlokjnmebkdpohjgedfopnec"},{id:"copy-youtube-video-description",title:"Copy YouTube Video Description",description:"Copy a YouTube description in one click.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/copy-youtube-video-description.png",url:"https://chromewebstore.google.com/detail/copy-youtube-video-description/jbgdhdakbjdkgkhpbdheepngjidoaapb"},{id:"auto-scroll-youtube-shorts",title:"Auto-Scroll YouTube Shorts",description:"Advance Shorts automatically when playback ends.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/auto-scroll-youtube-shorts.png",url:"https://chromewebstore.google.com/detail/auto-scroll-youtube-shorts/dhekonpikmeigimepmfajlmajjfhgnea"},{id:"show-youtube-shorts-views",title:"Show YouTube Shorts Views",description:"Show public view counts on Shorts.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/show-youtube-shorts-views.png",url:"https://chromewebstore.google.com/detail/show-youtube-shorts-views/npohkhfoalnfcpgkoahiepnjmobmlhjh"},{id:"loop-youtube-video",title:"Loop YouTube Video",description:"Add a loop toggle to YouTube videos.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/loop-youtube-video.png",url:"https://chromewebstore.google.com/detail/loop-youtube-video/olknodjagiecmbdpfclgcphnoegnklhd"},{id:"copy-youtube-video-tags",title:"Copy YouTube Video Tags",description:"Copy tags from YouTube watch pages.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/copy-youtube-video-tags.png",url:"https://chromewebstore.google.com/detail/copy-youtube-video-tags/lcbkonnfbllpippdjlldbcemdgaeogof"},{id:"save-youtube-video-screenshot",title:"Save YouTube Video Screenshot",description:"Save the current frame from a video.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/save-youtube-video-screenshot.png",url:"https://chromewebstore.google.com/detail/save-youtube-video-screenshot/ckdeifomimomcoaabhcgjgieegmaagja"},{id:"copy-youtube-video-transcript",title:"Copy YouTube Video Transcript",description:"Copy YouTube transcripts quickly.",platform:"Chrome Extension",image:"/images/warehouse/google-extensions/copy-youtube-video-transcript.png",url:"https://chromewebstore.google.com/detail/copy-youtube-video-transcript/lhpndclpdohdjmoecfjkdjcfiphojgdf"}],Xf=kr.div` 3364 width: 100%; 3365 max-width: 1440px; 3366 margin: 0 auto; 3367 padding: 3rem clamp(1rem, 4vw, 3.5rem) 4rem; 3368 3369 @media (max-width: 768px) { 3370 padding: 1rem 0.85rem 2.75rem; 3371 } 3372`,Jf=kr.button` 3373 appearance: none; 3374 background: transparent; 3375 border: 0; 3376 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3377 display: inline-flex; 3378 align-items: center; 3379 gap: 0.4rem; 3380 font-family: inherit; 3381 font-size: 0.9rem; 3382 font-weight: 700; 3383 margin: 0 0 1.2rem; 3384 padding: 0; 3385 transition: color 0.2s ease, transform 0.2s ease; 3386 3387 i { 3388 font-size: 1.1rem; 3389 line-height: 1; 3390 } 3391 3392 &:hover { 3393 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3394 transform: translateX(-2px); 3395 } 3396 3397 @media (max-width: 680px) { 3398 font-size: 0.82rem; 3399 margin-bottom: 0.85rem; 3400 } 3401`,Zf=kr.header` 3402 display: flex; 3403 align-items: start; 3404 justify-content: space-between; 3405 gap: 1rem; 3406 margin-bottom: 1.4rem; 3407 3408 @media (max-width: 560px) {
3409 align-items: center; 3410 margin-bottom: 1rem; 3411 } 3412`,em=kr.div` 3413 display: grid; 3414 gap: 0.25rem; 3415`,tm=(kr.div` 3416 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3417 font-size: 0.78rem; 3418 font-weight: 700; 3419 text-transform: uppercase; 3420 letter-spacing: 0; 3421`,kr.h1` 3422 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3423 font-size: clamp(1.55rem, 3vw, 2rem); 3424 line-height: 1.1; 3425 margin: 0; 3426 3427 @media (max-width: 680px) { 3428 font-size: 1.45rem; 3429 } 3430`),nm=(kr.p` 3431 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3432 font-size: 0.9rem; 3433 line-height: 1.4; 3434 max-width: 720px; 3435 margin: 0; 3436`,kr.div` 3437 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3438 font-size: clamp(0.95rem, 2vw, 1.25rem); 3439 line-height: 1.2; 3440 white-space: nowrap; 3441 3442 @media (max-width: 680px) { 3443 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 3444 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3445 border-radius: 999px; 3446 font-size: 0.78rem; 3447 font-weight: 800; 3448 padding: 0.45rem 0.65rem; 3449 } 3450`),rm=kr.section` 3451 display: grid; 3452 grid-template-columns: minmax(0, 1fr) minmax(180px, 220px); 3453 gap: 0.8rem; 3454 align-items: end; 3455 margin-bottom: 2rem; 3456 3457 @media (max-width: 680px) { 3458 grid-template-columns: minmax(0, 1fr) minmax(112px, 36%); 3459 gap: 0.65rem; 3460 margin-bottom: 1.35rem; 3461 } 3462 3463 @media (max-width: 380px) { 3464 grid-template-columns: 1fr; 3465 } 3466`,om=kr.div` 3467 display: grid; 3468 gap: 0.4rem; 3469`,im=kr.div` 3470 position: relative; 3471 display: grid; 3472 gap: 0.4rem; 3473`,am=kr.label` 3474 color: ${e=>{let{theme:t}=e;return t.colors.blue10}}; 3475 font-size: 0.85rem; 3476 font-weight: 600; 3477 3478 @media (max-width: 680px) { 3479 font-size: 0.72rem; 3480 } 3481`,lm=kr.input` 3482 width: 100%; 3483 background: rgba(250, 252, 255, 0.04); 3484 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3485 border-radius: 12px; 3486 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3487 font-family: inherit; 3488 font-size: 0.95rem; 3489 padding: 0.85rem 1rem; 3490 3491 @media (max-width: 680px) { 3492 min-height: 44px; 3493 border-radius: 8px; 3494 font-size: 0.86rem; 3495 padding: 0.68rem 0.75rem; 3496 } 3497`,sm=kr.button` 3498 width: 100%; 3499 background: 3500 linear-gradient(135deg, ${e=>{let{theme:t}=e;return t.colors.blue2}}, ${e=>{let{theme:t}=e;return t.colors.blue3}}); 3501 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3502 border-radius: 12px; 3503 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3504 cursor: pointer; 3505 display: flex; 3506 align-items: center; 3507 justify-content: space-between; 3508 gap: 0.65rem; 3509 font-family: inherit; 3510 font-size: 0.92rem; 3511 font-weight: 700; 3512 min-height: 48px; 3513 padding: 0.85rem 0.85rem 0.85rem 1rem; 3514 text-align: left; 3515 transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; 3516 3517 span { 3518 min-width: 0; 3519 overflow: hidden; 3520 text-overflow: ellipsis; 3521 white-space: nowrap; 3522 } 3523 3524 i { 3525 color: ${e=>{let{theme:t}=e;return t.colors.blue10}}; 3526 flex: 0 0 auto; 3527 font-size: 1.25rem; 3528 line-height: 1; 3529 } 3530 3531 &:hover { 3532 border-color: ${e=>{let{theme:t}=e;return t.colors.blue8}}; 3533 } 3534 3535 &:focus-visible { 3536 border-color: ${e=>{let{theme:t}=e;return t.colors.blue8}}; 3537 box-shadow: 0 0 0 3px rgba(91, 141, 239, 0.18); 3538 outline: none; 3539 } 3540 3541 @media (max-width: 680px) { 3542 min-height: 44px; 3543 border-radius: 8px; 3544 font-size: 0.82rem; 3545 padding: 0.68rem 0.55rem 0.68rem 0.75rem; 3546 3547 i { 3548 font-size: 1.05rem; 3549 } 3550 } 3551`,cm=kr.div` 3552 position: absolute; 3553 top: calc(100% + 0.4rem); 3554 right: 0; 3555 z-index: 20; 3556 width: min(260px, 100vw - 2rem); 3557 max-height: 18rem; 3558 overflow-y: auto; 3559 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 3560 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3561 border-radius: 14px; 3562 box-shadow: 0 22px 54px rgba(0, 0, 0, 0.36); 3563 padding: 0.35rem; 3564 3565 @media (max-width: 680px) { 3566 border-radius: 10px; 3567 max-height: 16rem; 3568 width: min(230px, 100vw - 1.7rem); 3569 } 3570 3571 @media (max-width: 380px) { 3572 left: 0; 3573 right: auto; 3574 width: 100%; 3575 } 3576`,um=kr.button` 3577 width: 100%; 3578 background: ${e=>{let{$active:t,theme:n}=e;return t?n.colors.blue3:"transparent"}}; 3579 border: 0; 3580 border-radius: 10px; 3581 color: ${e=>{let{$active:t,theme:n}=e;return t?n.colors.blue9:n.colors.blue11}}; 3582 cursor: pointer; 3583 display: flex; 3584 align-items: center; 3585 justify-content: space-between; 3586 gap: 0.65rem; 3587 font-family: inherit; 3588 font-size: 0.88rem; 3589 font-weight: 700; 3590 padding: 0.7rem 0.75rem; 3591 text-align: left; 3592 transition: background 0.16s ease, color 0.16s ease; 3593 3594 span { 3595 min-width: 0;
3596 overflow-wrap: anywhere; 3597 } 3598 3599 i { 3600 color: ${e=>{let{theme:t}=e;return t.colors.blue10}}; 3601 flex: 0 0 auto; 3602 font-size: 1rem; 3603 line-height: 1; 3604 } 3605 3606 &:hover, 3607 &:focus-visible { 3608 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3609 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3610 outline: none; 3611 } 3612 3613 @media (max-width: 680px) { 3614 border-radius: 8px; 3615 font-size: 0.78rem; 3616 padding: 0.62rem 0.6rem; 3617 } 3618`,dm=kr.div` 3619 display: grid; 3620 grid-template-columns: repeat(4, minmax(0, 1fr)); 3621 column-gap: clamp(1.4rem, 3vw, 2.4rem); 3622 row-gap: 2.4rem; 3623 3624 @media (max-width: 1180px) { 3625 grid-template-columns: repeat(3, minmax(0, 1fr)); 3626 } 3627 3628 @media (max-width: 820px) { 3629 grid-template-columns: repeat(2, minmax(0, 1fr)); 3630 gap: 1.6rem 1rem; 3631 } 3632 3633 @media (max-width: 680px) { 3634 gap: 1.25rem 0.7rem; 3635 } 3636`,pm=kr.div` 3637 margin: 0 0 2.9rem; 3638 3639 @media (max-width: 680px) { 3640 margin-bottom: 2rem; 3641 } 3642`,fm=(kr.div` 3643 display: grid; 3644 gap: 2.1rem; 3645 margin: 0 0 2.7rem; 3646`,kr.div` 3647 margin: 0 0 2.9rem; 3648 3649 @media (max-width: 680px) { 3650 margin-bottom: 2rem; 3651 } 3652`),mm=kr.section` 3653 min-width: 0; 3654`,hm=kr.div` 3655 display: flex; 3656 align-items: center; 3657 justify-content: space-between; 3658 gap: 1rem; 3659 margin: 0 0 1rem; 3660 3661 @media (max-width: 680px) { 3662 margin-bottom: 0.75rem; 3663 } 3664`,gm=kr.h2` 3665 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3666 font-size: clamp(1.05rem, 2vw, 1.3rem); 3667 line-height: 1.1; 3668 margin: 0; 3669 3670 @media (max-width: 680px) { 3671 font-size: 1rem; 3672 } 3673`,bm=kr.div` 3674 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3675 font-size: 0.9rem; 3676 font-weight: 700; 3677`,vm=kr.div` 3678 display: grid; 3679 grid-auto-flow: column; 3680 grid-auto-columns: minmax(210px, 240px); 3681 gap: 1rem; 3682 margin-inline: calc(clamp(1rem, 4vw, 3.5rem) * -1); 3683 overflow-x: auto; 3684 overscroll-behavior-x: contain; 3685 padding: 0 clamp(1rem, 4vw, 3.5rem) 0.4rem; 3686 scroll-padding-inline: clamp(1rem, 4vw, 3.5rem); 3687 scroll-snap-type: x mandatory; 3688 scrollbar-width: thin; 3689 3690 @media (max-width: 768px) { 3691 grid-auto-columns: minmax(138px, 42vw); 3692 gap: 0.75rem; 3693 margin-inline: -0.85rem; 3694 padding-inline: 0.85rem; 3695 scroll-padding-inline: 0.85rem; 3696 } 3697 3698 @media (max-width: 380px) { 3699 grid-auto-columns: minmax(132px, 48vw); 3700 } 3701`,ym=kr.article` 3702 min-width: 0; 3703 color: inherit; 3704 display: grid; 3705 gap: 0.75rem; 3706 scroll-snap-align: start; 3707 text-decoration: none; 3708 transition: transform 0.2s ease; 3709 3710 &[href]:hover { 3711 transform: translateY(-2px); 3712 } 3713 3714 @media (max-width: 680px) { 3715 gap: 0.5rem; 3716 } 3717`,xm=kr.div` 3718 width: 100%; 3719 aspect-ratio: 1 / 1; 3720 border-radius: 48px; 3721 overflow: hidden; 3722 background: linear-gradient(135deg, rgba(250, 252, 255, 0.06), rgba(250, 252, 255, 0.02)); 3723 background-color: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 3724 position: relative; 3725 isolation: isolate; 3726 box-shadow: inset 0 0 0 1px ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3727 transition: box-shadow 0.2s ease, filter 0.2s ease; 3728 3729 &::after { 3730 content: ''; 3731 position: absolute; 3732 inset: 0; 3733 border-radius: inherit; 3734 box-shadow: inset 0 0 0 1px ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3735 pointer-events: none; 3736 z-index: 2; 3737 } 3738 3739 ${ym}[href]:hover & { 3740 box-shadow: 3741 inset 0 0 0 1px ${e=>{let{theme:t}=e;return t.colors.blue5}}, 3742 0 18px 36px rgba(0, 0, 0, 0.18); 3743 filter: brightness(1.05); 3744 } 3745`,wm=kr.img` 3746 display: block; 3747 width: 100%; 3748 height: 100%; 3749 border-radius: inherit; 3750 object-fit: cover; 3751 object-position: center; 3752`,Em=kr.div` 3753 display: grid; 3754 gap: 0.2rem; 3755 padding: 0 0.1rem; 3756`,_m=kr.h3` 3757 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3758 display: -webkit-box; 3759 font-size: 0.98rem; 3760 line-height: 1.15; 3761 margin: 0; 3762 overflow: hidden; 3763 -webkit-box-orient: vertical; 3764 -webkit-line-clamp: 2; 3765 3766 @media (max-width: 680px) { 3767 font-size: 0.78rem; 3768 line-height: 1.1; 3769 } 3770`,km=kr.p` 3771 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3772 font-size: 0.78rem; 3773 font-weight: 700; 3774 line-height: 1.25; 3775 margin: 0; 3776 3777 @media (max-width: 680px) { 3778 font-size: 0.66rem; 3779 } 3780`,Tm=kr.a` 3781 min-width: 0; 3782 color: inherit; 3783 display: grid; 3784 gap: 0.95rem; 3785 text-decoration: none; 3786 transition: transform 0.2s ease; 3787 3788 &:hover { 3789 transform: translateY(-2px); 3790 } 3791 3792 @media (max-width: 680px) { 3793 gap: 0.55rem; 3794 } 3795`,Cm=kr.div` 3796 width: 100%; 3797 aspect-ratio: 1 / 1; 3798 border-radius: 14px; 3799 overflow: hidden; 3800 background: 3801 linear-gradient(135deg, rgba(250, 252, 255, 0.06), rgba(250, 252, 255, 0.02)), 3802 ${e=>{let{$image:t,theme:n}=e;return t?`url(${t})`:n.colors.blue3}}; 3803 background-size: ${e=>{let{$image:t}=e;return t?"cover":"auto"}}; 3804 background-position: center; 3805 display: flex; 3806 align-items: center; 3807 justify-content: center; 3808 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3809 position: relative; 3810 box-shadow: inset 0 0 0 1px ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3811 transition: box-shadow 0.2s ease, filter 0.2s ease; 3812 3813 ${Tm}:hover & { 3814 box-shadow: 3815 inset 0 0 0 1px ${e=>{let{theme:t}=e;return t.colors.blue5}}, 3816 0 18px 36px rgba(0, 0, 0, 0.18); 3817 filter: brightness(1.05); 3818 } 3819 3820 i { 3821 font-size: 42px; 3822 } 3823 3824 @media (max-width: 680px) { 3825 border-radius: 8px; 3826 } 3827`,Sm=kr.span` 3828 position: absolute; 3829 top: 1rem; 3830 right: 1rem; 3831 width: 2.15rem; 3832 height: 2.15rem; 3833 border-radius: 0.55rem; 3834 background: rgba(15, 17, 19, 0.9); 3835 border: 1px solid rgba(250, 252, 255, 0.08); 3836 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3837 display: inline-flex; 3838 align-items: center; 3839 justify-content: center; 3840 line-height: 1; 3841 3842 i { 3843 font-size: 1.15rem; 3844 } 3845 3846 @media (max-width: 680px) { 3847 top: 0.5rem; 3848 right: 0.5rem; 3849 width: 1.65rem; 3850 height: 1.65rem; 3851 border-radius: 0.45rem; 3852 3853 i { 3854 font-size: 0.9rem; 3855 } 3856 } 3857`,Pm=kr.div` 3858 min-width: 0; 3859 display: grid; 3860 gap: 0.22rem; 3861 padding: 0 0.15rem; 3862 3863 @media (max-width: 680px) { 3864 gap: 0.15rem; 3865 padding: 0; 3866 } 3867`,Am=(kr.div` 3868 display: flex; 3869 flex-wrap: wrap; 3870 gap: 0.35rem; 3871 3872 span { 3873 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3874 font-size: 0.68rem; 3875 font-weight: 700; 3876 text-transform: uppercase; 3877 letter-spacing: 0; 3878 } 3879`,kr.h2` 3880 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3881 font-size: clamp(1.05rem, 2vw, 1.25rem); 3882 line-height: 1.12; 3883 margin: 0; 3884 display: -webkit-box; 3885 -webkit-line-clamp: 2; 3886 -webkit-box-orient: vertical; 3887 overflow: hidden; 3888 3889 @media (max-width: 680px) { 3890 font-size: 0.92rem; 3891 line-height: 1.08; 3892 } 3893`),Rm=kr.p` 3894 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3895 font-size: 0.82rem; 3896 font-weight: 600; 3897 line-height: 1.25; 3898 margin: 0; 3899 3900 @media (max-width: 680px) { 3901 font-size: 0.68rem; 3902 } 3903`,Im=kr.div` 3904 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 3905 font-size: 0.95rem; 3906 font-weight: 800; 3907 line-height: 1.25; 3908 margin-top: 0.25rem; 3909 3910 @media (max-width: 680px) { 3911 font-size: 0.78rem; 3912 margin-top: 0.1rem; 3913 } 3914`,Lm=kr.div` 3915 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 3916 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3917 border-radius: 8px; 3918 color: ${e=>{let{theme:t}=e;return t.colors.blue11}}; 3919 padding: 2rem; 3920 text-align: center; 3921`,Om=kr.div` 3922 width: 100%; 3923 margin: 3rem 0 0; 3924 3925 @media (max-width: 680px) { 3926 margin-top: 2.25rem; 3927 } 3928`,jm="All",zm=e=>{let{title:t,items:n}=e;return(0,$r.jsxs)(mm,{"aria-labelledby":`${t.toLowerCase().replace(/[^a-z0-9]+/g,"-")}-title`,children:[(0,$r.jsxs)(hm,{children:[(0,$r.jsx)(gm,{id:`${t.toLowerCase().replace(/[^a-z0-9]+/g,"-")}-title`,children:t}),(0,$r.jsx)(bm,{children:n.length})]}),(0,$r.jsx)(vm,{children:n.map((e=>(0,$r.jsxs)(ym,{as:e.url?"a":"article",href:e.url,target:e.url?"_blank":void 0,rel:e.url?"noopener noreferrer":void 0,onClick:()=>e.url&&qc("store_shelf_item_clicked",{item_id:e.id,platform:e.platform,source_page:"store"}),"aria-label":e.url?`${e.title}: open ${e.platform}`:void 0,children:[(0,$r.jsx)(xm,{$image:e.image,children:(0,$r.jsx)(wm,{src:e.image,alt:"","aria-hidden":"true"})}),(0,$r.jsxs)(Em,{children:[(0,$r.jsx)(_m,{children:e.title}),(0,$r.jsx)(km,{children:e.platform})]})]},e.id)))})]})},Nm=e=>{let{tools:t,onToolClick:n}=e;return(0,$r.jsx)(dm,{children:t.map((e=>{return(0,$r.jsxs)(Tm,{href:e.destinationUrl,target:"_blank",rel:"noopener noreferrer",onClick:()=>n(e.id,e.category,e.platform),"aria-label":`${e.title}: ${e.description||e.category}`,children:[(0,$r.jsxs)(Cm,{$image:e.image,children:[(0,$r.jsx)(Sm,{"aria-label":e.category,children:(0,$r.jsx)("i",{className:(r=e.platform,o=e.category,"YouTube"===r||"YouTube Tools"===o?"bx bxl-youtube":"Spotify"===r?"bx bxl-spotify":"Discord"===r?"bx bxl-discord-alt":"Notion"===r||"Templates"===o?"bx bx-layout":"Gumroad"===r?"bx bx-store":"Fourthwall"===r?"bx bx-package":"Web"===r||"Creator Utilities"===o?"bx bx-wrench":"Digital Products"===o?"bx bx-book-open":"Premiere Pro"===o||"Premiere Pro"===r||"Adobe Exchange"===r?"bx bx-movie-play":"bx bx-cube"),"aria-hidden":"true"})}),!e.image&&(0,$r.jsx)("i",{className:"bx bx-cube","aria-hidden":"true"})]}),(0,$r.jsxs)(Pm,{children:[(0,$r.jsx)(Am,{children:e.title}),(0,$r.jsx)(Rm,{children:e.category}),(0,$r.jsx)(Im,{children:"coming-soon"===e.status?"Coming Soon":(t=e.pricingLabel,t?"Adobe Exchange"===t?"Plugin":"Templates"===t?"Template":t:"Active")}
3928)]})]},e.id);var t,r,o}))})},Mm=()=>{const[e,t]=(0,o.useState)(jm),[n,r]=(0,o.useState)(""),[i,a]=(0,o.useState)(!1),l=(0,o.useRef)(null),s=ne();Co({title:"The Warehouse | Austin Davenport",description:"Browse Austin Davenport tools, Premiere Pro plugins, YouTube resources, templates, and creator utilities from one compact catalog.",path:"/store"});const c=(0,o.useMemo)((()=>[jm,...Array.from(new Set(Kf.map((e=>e.category)))).sort()]),[]),u=(0,o.useMemo)((()=>{const t=n.trim().toLowerCase();return Kf.filter((n=>{const r=e===jm||n.category===e,o=!t||[n.title,n.description,n.category,n.platform,n.pricingLabel].filter(Boolean).some((e=>e.toLowerCase().includes(t)));return r&&o}))}),[e,n]),d=u.slice(0,8),p=u.slice(8,16),f=u.slice(16);(0,o.useEffect)((()=>{if(!i)return;const e=e=>{var t;e.target instanceof Node&&(null===(t=l.current)||void 0===t||!t.contains(e.target))&&a(!1)},t=e=>{"Escape"===e.key&&a(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}}),[i]);const m=(e,t,n)=>{qc("store_tool_clicked",{tool_id:e,category:t,platform:n||null,destination_type:"external",source_page:"store"})};return(0,$r.jsxs)(Xf,{children:[(0,$r.jsxs)(Jf,{type:"button",onClick:()=>{window.history.length>1?s(-1):s("/links")},children:[(0,$r.jsx)("i",{className:"bx bx-arrow-back","aria-hidden":"true"}),"Back"]}),(0,$r.jsxs)(Zf,{children:[(0,$r.jsx)(em,{children:(0,$r.jsx)(tm,{children:"The Warehouse"})}),(0,$r.jsxs)(nm,{children:[u.length," ",1===u.length?"product":"products"]})]}),(0,$r.jsxs)(rm,{"aria-label":"Store controls",children:[(0,$r.jsxs)(om,{children:[(0,$r.jsx)(am,{htmlFor:"store-search",children:"Search"}),(0,$r.jsx)(lm,{id:"store-search",type:"search",value:n,onChange:e=>{return t=e.target.value,r(t),void(1!==t.trim().length&&t.trim().length%5!==0||qc("store_search_used",{query_length:t.trim().length,source_page:"store"}));var t},placeholder:"Search tools"})]}),(0,$r.jsxs)(im,{ref:l,children:[(0,$r.jsx)(am,{htmlFor:"store-category",children:"Filter"}),(0,$r.jsxs)(sm,{id:"store-category",type:"button","aria-haspopup":"listbox","aria-expanded":i,"aria-controls":"store-category-menu",onClick:()=>a((e=>!e)),children:[(0,$r.jsx)("span",{children:e}),(0,$r.jsx)("i",{className:i?"bx bx-chevron-up":"bx bx-chevron-down","aria-hidden":"true"})]}),i&&(0,$r.jsx)(cm,{id:"store-category-menu",role:"listbox","aria-label":"Filter products",children:c.map((n=>(0,$r.jsxs)(um,{type:"button",role:"option","aria-selected":e===n,$active:e===n,onClick:()=>(e=>{t(e),a(!1),qc("store_filter_used",{category:e,source_page:"store"})})(n),children:[(0,$r.jsx)("span",{children:n}),e===n&&(0,$r.jsx)("i",{className:"bx bx-check","aria-hidden":"true"})]},n)))})]})]}),(0,$r.jsxs)(hm,{children:[(0,$r.jsx)(gm,{children:"All Products"}),(0,$r.jsx)(bm,{children:u.length})]}),u.length?(0,$r.jsxs)($r.Fragment,{children:[(0,$r.jsx)(pm,{children:(0,$r.jsx)(Nm,{tools:d,onToolClick:m})}),(0,$r.jsx)(fm,{children:(0,$r.jsx)(zm,{title:"Google Extensions",items:Qf})}),p.length>0&&(0,$r.jsx)(pm,{children:(0,$r.jsx)(Nm,{tools:p,onToolClick:m})}),f.length>0&&(0,$r.jsx)(Nm,{tools:f,onToolClick:m})]}):(0,$r.jsx)(Lm,{children:"No tools match that search."}),(0,$r.jsx)(Om,{children:(0,$r.jsx)(Gf,{source:"source_store",showVisual:!0})})]})},Dm="Latest YouTube Video",Um="Watch my newest tutorial, workflow, or creator tip.",Fm="https://www.youtube.com/watch?v=3a8-PfYVLgo",$m="https://img.youtube.com/vi/3a8-PfYVLgo/maxresdefault.jpg",Vm=qf("clipboardit"),Bm=qf("youtool-io"),Hm=[{id:"clipboardit",title:"Clipboard It",description:"",url:(null===Vm||void 0===Vm?void 0:Vm.destinationUrl)||"https://clipboard.it.com/",image:null===Vm||void 0===Vm?void 0:Vm.image},{id:"youtool-io",title:(null===Bm||void 0===Bm?void 0:Bm.title)||"YouTool.io",description:"",url:(null===Bm||void 0===Bm?void 0:Bm.destinationUrl)||"https://www.youtool.io",image:null===Bm||void 0===Bm?void 0:Bm.image}],Gm=[{id:"store",title:"Browse All Tools",description:"Chrome extensions, Premiere Pro plugins, templates, and more.",url:"/store",icon:"bx-grid-alt",external:!1},{id:"creator-updates",title:"Free Client Project Folder",description:"Get the project folder I use for client work, plus a guide on how to use it.",url:"#creator-updates",icon:"bx-envelope",external:!1},{id:"support-development",title:"Support Development",description:"Support future tools.",url:"https://buymeacoffee.com/austindavenport",icon:"bx-coffee",external:!0}],Ym=[{id:"youtube",title:"YouTube",url:"https://www.youtube.com/@AustinDavenport",icon:"bxl-youtube",external:!0},{id:"discord",title:"Discord",url:"https://discord.com/invite/vuKtEXJ",icon:"bxl-discord-alt",external:!0},{id:"contact",title:"Contact",url:"/contact",icon:"bx-envelope",external:!1}],Wm=Sr` 3929 from { 3930 opacity: 0; 3931 transform: translateY(30px); 3932 } 3933 to { 3934 opacity: 1; 3935 transform: translateY(0); 3936 } 3937`,Km=Sr` 3938 0% { transform: translateX(-100%); } 3939 100% { transform: translateX(100%); } 3940`,qm=Sr` 3941 0%, 100% { transform: scale(1); opacity: 1; } 3942 50% { transform: scale(1.05); opacity: 0.8; } 3943`,Qm=kr.div` 3944 min-height: 100vh; 3945 background: ${e=>{let{theme:t}=e;return t.colors.blue1||"#f8f9fa"}}; 3946 position: relative; 3947 overflow: clip; 3948 padding: 2rem 1rem; 3949 display: flex; 3950 align-items: flex-start; 3951 justify-content: center; 3952 3953 @media (max-width: 768px) { 3954 padding: 0.75rem 0.75rem 2rem;
3955 align-items: flex-start; 3956 } 3957`,Xm=kr.div` 3958 width: 100%; 3959 max-width: 540px; 3960 z-index: 1; 3961 animation: ${Wm} 0.8s ease-out; 3962 3963 @media (max-width: 480px) { 3964 max-width: 100%; 3965 } 3966`,Jm=kr.div` 3967 background-color: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 3968 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 3969 border-radius: 24px; 3970 padding: 1.5rem 2rem; 3971 margin-bottom: 1.25rem; 3972 text-align: center; 3973 overflow: hidden; 3974 position: relative; 3975 isolation: isolate; 3976 box-shadow: 3977 0 8px 32px rgba(0, 0, 0, 0.08), 3978 0 2px 8px rgba(0, 0, 0, 0.04); 3979 backdrop-filter: blur(20px); 3980 transition: all 0.3s ease; 3981 3982 &::after { 3983 content: ''; 3984 position: absolute; 3985 inset: 0; 3986 background: 3987 radial-gradient(circle at center, rgba(15, 17, 19, 0.12), rgba(15, 17, 19, 0.84) 72%), 3988 linear-gradient(180deg, rgba(15, 17, 19, 0.42), rgba(15, 17, 19, 0.72)); 3989 pointer-events: none; 3990 z-index: -1; 3991 } 3992 3993 > *:not(video) { 3994 position: relative; 3995 z-index: 1; 3996 } 3997 3998 &:hover { 3999 border-color: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 4000 transform: translateY(-2px); 4001 box-shadow: 4002 0 12px 40px rgba(0, 0, 0, 0.12), 4003 0 4px 12px rgba(0, 0, 0, 0.08); 4004 } 4005 4006 @media (max-width: 480px) { 4007 padding: 1.25rem 1.25rem; 4008 border-radius: 18px; 4009 margin-bottom: 1rem; 4010 } 4011`,Zm=kr.video` 4012 position: absolute; 4013 inset: 0; 4014 width: 100%; 4015 height: 100%; 4016 object-fit: cover; 4017 opacity: 0.4; 4018 pointer-events: none; 4019 z-index: -2; 4020`,eh=kr.div` 4021 position: relative; 4022 display: inline-block; 4023 margin-bottom: 0.875rem; 4024`,th=kr.div` 4025 width: 80px; 4026 height: 80px; 4027 border-radius: 50%; 4028 overflow: hidden; 4029 border: 3px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 4030 box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); 4031 position: relative; 4032 4033 img { 4034 width: 100%; 4035 height: 100%; 4036 object-fit: cover; 4037 } 4038 4039 &::before { 4040 content: ''; 4041 position: absolute; 4042 top: -3px; 4043 left: -3px; 4044 right: -3px; 4045 bottom: -3px; 4046 border-radius: 50%; 4047 background: linear-gradient(45deg, ${e=>{let{theme:t}=e;return t.colors.blue6}}, ${e=>{let{theme:t}=e;return t.colors.blue8}}); 4048 z-index: -1; 4049 animation: ${Km} 3s ease-in-out infinite; 4050 } 4051 4052 @media (max-width: 480px) { 4053 width: 68px; 4054 height: 68px; 4055 } 4056`,nh=kr.div` 4057 position: absolute; 4058 bottom: 8px; 4059 right: 8px; 4060 width: 20px; 4061 height: 20px; 4062 background: #00ff88; 4063 border-radius: 50%; 4064 border: 3px solid ${e=>{let{theme:t}=e;return t.colors.blue2}}; 4065 animation: ${qm} 3s ease-in-out infinite; 4066`,rh=kr.div` 4067 margin-bottom: 0; 4068`,oh=kr.h1` 4069 font-size: 1.4rem; 4070 font-weight: 700; 4071 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 4072 margin-bottom: 0.35rem; 4073 4074 @media (max-width: 480px) { 4075 font-size: 1.2rem; 4076 } 4077`,ih=kr.div` 4078 display: inline-block; 4079 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 4080 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 4081 padding: 0.35rem 0.875rem; 4082 border-radius: 20px; 4083 font-size: 0.8rem; 4084 font-weight: 600; 4085 margin-bottom: 0; 4086 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 4087`,ah=kr.div` 4088 display: flex; 4089 flex-direction: column; 4090 gap: 0.75rem; 4091 margin-bottom: 1.25rem; 4092 4093 @media (max-width: 480px) { 4094 gap: 0.625rem; 4095 } 4096`,lh=kr.div` 4097 padding: 1rem 1.25rem; 4098 display: flex; 4099 align-items: center; 4100 gap: 0.875rem; 4101 position: relative; 4102 z-index: 1; 4103 4104 @media (max-width: 480px) { 4105 padding: 0.875rem 1rem; 4106 gap: 0.75rem; 4107 } 4108`,sh=kr.div` 4109 width: 44px; 4110 height: 44px; 4111 border-radius: 12px; 4112 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 4113 display: flex; 4114 align-items: center; 4115 justify-content: center; 4116 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 4117 flex-shrink: 0; 4118 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue4}}; 4119 4120 i { 4121 font-size: 20px; 4122 line-height: 1; 4123 } 4124`,ch=kr.div` 4125 flex: 1; 4126 text-align: left; 4127 min-width: 0; 4128`,uh=kr.h3` 4129 font-size: 0.975rem; 4130 font-weight: 600; 4131 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 4132 margin: 0 0 0.15rem 0; 4133 white-space: nowrap; 4134 overflow: hidden; 4135 text-overflow: ellipsis; 4136`,dh=kr.p` 4137 font-size: 0.775rem; 4138 color: ${e=>{let{theme:t}=e;return t.colors.blue10}}; 4139 margin: 0; 4140 line-height: 1.3; 4141 white-space: nowrap; 4142 overflow: hidden; 4143 text-overflow: ellipsis; 4144`,ph=kr.div` 4145 color: ${e=>{let{theme:t}=e;return t.colors.blue7}}; 4146 font-size: 18px; 4147 line-height: 1; 4148 flex-shrink: 0; 4149 transition: all 0.3s ease; 4150`,fh=kr.div` 4151 position: absolute; 4152 top: 0; 4153 left: -100%; 4154 width: 100%; 4155 height: 100%; 4156 background: linear-gradient(90deg, transparent, ${e=>{let{theme:t}=e;return t.colors.blue4}}, transparent); 4157 opacity: 0.5; 4158 transition: left 0.6s ease; 4159`,mh=kr.a` 4160 display: block; 4161 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 4162 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 4163 border-radius: 20px; 4164 padding: 0; 4165 font-family: inherit; 4166 text-decoration: none; 4167 transition: all 0.3s ease; 4168 position: relative; 4169 overflow: hidden; 4170 width: 100%; 4171 animation: ${Wm} 0.6s ease-out calc(var(--index) * 0.1s) both; 4172 4173 @media (max-width: 480px) { 4174 border-radius: 16px; 4175 } 4176 4177 &:hover { 4178 transform: translateY(-5px); 4179 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 4180 border-color: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 4181 box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08); 4182 } 4183 4184 &:hover ${fh} { 4185 left: 100%; 4186 } 4187 4188 &:hover ${ph} { 4189 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 4190 transform: translateX(3px); 4191 } 4192 4193 &.featured { 4194 background: ${e=>{let{theme:t}=e;return t.colors.blue4}}; 4195 border: 2px solid ${e=>{let{theme:t}=e;return t.colors.blue6}}; 4196 4197 &::before { 4198 content: ''; 4199 position: absolute; 4200 top: 0; 4201 left: 0; 4202 right: 0; 4203 height: 2px; 4204 background: linear-gradient(90deg, ${e=>{let{theme:t}=e;return t.colors.blue8}}, ${e=>{let{theme:t}=e;return t.colors.blue6}}); 4205 background-size: 200% 100%; 4206 animation: ${Km} 3s ease-in-out infinite; 4207 } 4208 } 4209 4210 &.copied { 4211 background: ${e=>{let{theme:t}=e;return t.colors.blue5}}; 4212 border-color: ${e=>{let{theme:t}=e;return t.colors.blue7}}; 4213 } 4214`,hh=kr.section` 4215 display: block; 4216 animation: ${Wm} 0.6s ease-out calc(var(--index) * 0.1s) both; 4217`,gh=kr.div` 4218 display: grid; 4219 gap: 0.1rem; 4220`,bh=kr.a` 4221 display: block; 4222 border-radius: 20px; 4223 overflow: hidden; 4224 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 4225 margin-bottom: 1.25rem; 4226 background: #000; 4227 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08); 4228 position: relative; 4229 aspect-ratio: 16 / 9; 4230 text-decoration: none; 4231 4232 img { 4233 position: absolute; 4234 inset: 0; 4235 width: 100%; 4236 height: 100%; 4237 object-fit: cover; 4238 display: block; 4239 transition: transform 0.3s ease; 4240 } 4241 4242 &:hover img { 4243 transform: scale(1.03); 4244 } 4245 4246 &:hover { 4247 border-color: ${e=>{let{theme:t}=e;return t.colors.blue5}}; 4248 } 4249 4250 @media (max-width: 480px) { 4251 border-radius: 16px; 4252 margin-bottom: 1rem; 4253 } 4254`,vh=kr.div` 4255 position: absolute; 4256 inset: 0; 4257 display: flex; 4258 align-items: center; 4259 justify-content: center; 4260 background: transparent;
4261`,yh=kr.div` 4262 display: grid; 4263 grid-template-columns: 1fr 1fr; 4264 gap: 0.75rem; 4265 margin-bottom: 0.75rem; 4266 4267 @media (max-width: 520px) { 4268 gap: 0.625rem; 4269 } 4270`,xh=kr.a` 4271 min-height: 154px; 4272 border-radius: 20px; 4273 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 4274 background: 4275 linear-gradient(135deg, rgba(15, 17, 19, 0.12), rgba(15, 17, 19, 0.72)), 4276 ${e=>{let{$image:t}=e;return t?`url(${t})`:"#17191c"}}; 4277 background-size: cover; 4278 background-position: center; 4279 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 4280 overflow: hidden; 4281 position: relative; 4282 text-decoration: none; 4283 display: flex; 4284 align-items: flex-end; 4285 padding: 1rem; 4286 transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; 4287 4288 &:hover { 4289 transform: translateY(-3px); 4290 border-color: ${e=>{let{theme:t}=e;return t.colors.blue5}}; 4291 box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16); 4292 } 4293 4294 @media (max-width: 520px) { 4295 border-radius: 16px; 4296 min-height: 118px; 4297 padding: 0.75rem; 4298 } 4299`,wh=kr.span` 4300 position: absolute; 4301 inset: 0; 4302 background: 4303 linear-gradient(180deg, rgba(15, 17, 19, 0.08), rgba(15, 17, 19, 0.68)), 4304 rgba(15, 17, 19, 0.1); 4305`,Eh=kr.div` 4306 position: relative; 4307 z-index: 1; 4308 display: grid; 4309 gap: 0.25rem; 4310 padding-right: 1.75rem; 4311 4312 h2 { 4313 font-size: 1.1rem; 4314 line-height: 1.15; 4315 margin: 0; 4316 4317 @media (max-width: 520px) { 4318 font-size: 0.9rem; 4319 line-height: 1.08; 4320 } 4321 } 4322 4323 p { 4324 color: ${e=>{let{theme:t}=e;return t.colors.blue10}}; 4325 font-size: 0.78rem; 4326 line-height: 1.35; 4327 margin: 0; 4328 4329 @media (max-width: 520px) { 4330 display: none; 4331 } 4332 } 4333`,_h=kr.i` 4334 position: absolute; 4335 right: 1rem; 4336 top: 1rem; 4337 z-index: 1; 4338 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 4339 font-size: 18px; 4340 4341 @media (max-width: 520px) { 4342 display: none; 4343 } 4344`,kh=kr.div` 4345 position: absolute; 4346 inset: 0; 4347 cursor: pointer; 4348 4349 img { 4350 width: 100%; 4351 height: 100%; 4352 object-fit: cover; 4353 display: block; 4354 } 4355`,Th=kr.div` 4356 display: flex; 4357 align-items: center; 4358 justify-content: center; 4359 width: 48px; 4360 height: 48px; 4361 border-radius: 50%; 4362 background: rgba(255, 255, 255, 0.92); 4363 color: ${e=>{let{theme:t}=e;return t.colors.blue1}}; 4364 flex: 0 0 auto; 4365 transition: background 0.2s ease; 4366 4367 i { 4368 font-size: 26px; 4369 line-height: 1; 4370 } 4371 4372 ${bh}:hover & { 4373 transform: scale(1.08); 4374 } 4375`,Ch=kr.div` 4376 display: flex; 4377 justify-content: center; 4378 gap: 0.75rem; 4379 padding-bottom: 1.5rem; 4380`,Sh=kr.a` 4381 display: flex; 4382 align-items: center; 4383 justify-content: center; 4384 width: 44px; 4385 height: 44px; 4386 border-radius: 50%; 4387 background: ${e=>{let{theme:t}=e;return t.colors.blue2}}; 4388 border: 1px solid ${e=>{let{theme:t}=e;return t.colors.blue3}}; 4389 color: ${e=>{let{theme:t}=e;return t.colors.blue9}}; 4390 text-decoration: none; 4391 transition: all 0.25s ease; 4392 4393 i { 4394 font-size: 20px; 4395 line-height: 1; 4396 } 4397 4398 &:hover { 4399 background: ${e=>{let{theme:t}=e;return t.colors.blue3}}; 4400 border-color: ${e=>{let{theme:t}=e;return t.colors.blue5}}; 4401 transform: translateY(-2px); 4402 } 4403`,Ph={Container:Qm,ContentWrapper:Xm,ProfileCard:Jm,ProfileBackgroundVideo:Zm,AvatarContainer:eh,Avatar:th,StatusDot:nh,ProfileInfo:rh,Username:oh,JobTitle:ih,VideoFeature:bh,VideoOverlay:vh,FlagshipGrid:yh,FlagshipTile:xh,TileShade:wh,FlagshipCopy:Eh,ExternalIcon:_h,VideoThumbnail:kh,PlayButton:Th,LinksGrid:ah,LinkCard:mh,UpdatesSection:hh,UpdatesHeader:gh,CardGlow:fh,CardContent:lh,IconWrapper:sh,TextContent:ch,CardTitle:uh,CardDescription:dh,ActionIcon:ph,BottomSocials:Ch,SocialIconLink:Sh},Ah=()=>{Co({title:"Links | Austin Davenport",description:"Austin Davenport creator hub with the latest YouTube video, ClipboardIt, YouTool.io, all tools, Creator Updates, and support links.",path:"/links"});const e=(e,t,n)=>{qc("links_tile_clicked",{tile_id:e,tile_name:t,destination_type:n,source_page:"links"})},t=Gm.filter((e=>"creator-updates"!==e.id)),n=Gm.find((e=>"creator-updates"===e.id));return(0,$r.jsx)(Ph.Container,{children:(0,$r.jsxs)(Ph.ContentWrapper,{children:[(0,$r.jsxs)(Ph.ProfileCard,{children:[(0,$r.jsxs)(Ph.ProfileBackgroun
4403dVideo,{autoPlay:!0,muted:!0,loop:!0,playsInline:!0,preload:"metadata",poster:"/images/home/bg-video-poster.jpg","aria-hidden":"true",children:[(0,$r.jsx)("source",{src:"/videos/home-bg-1280.webm",type:"video/webm"}),(0,$r.jsx)("source",{src:"/videos/home-bg-1280.mp4",type:"video/mp4"})]}),(0,$r.jsxs)(Ph.AvatarContainer,{children:[(0,$r.jsx)(Ph.Avatar,{children:(0,$r.jsx)("img",{src:"https://64.media.tumblr.com/44ab51b7b5c73d1a68f728d92becd3b3/029f5263603a04c1-96/s2048x3072/cd2e6fdd67cb4fe3ad30bf06ef4b75c42291e2f6.pnj",alt:"Austin Davenport"})}),(0,$r.jsx)(Ph.StatusDot,{})]}),(0,$r.jsxs)(Ph.ProfileInfo,{children:[(0,$r.jsx)(Ph.Username,{children:"Austin Davenport"}),(0,$r.jsx)(Ph.JobTitle,{children:"Professional Video Editor"})]})]}),(0,$r.jsxs)(Ph.VideoFeature,{href:Fm,target:"_blank",rel:"noopener noreferrer","aria-label":`${Dm}: ${Um}`,onClick:()=>e("latest-youtube-video",Dm,"external"),children:[(0,$r.jsx)("img",{src:$m,alt:"",loading:"eager"}),(0,$r.jsx)(Ph.VideoOverlay,{children:(0,$r.jsx)(Ph.PlayButton,{"aria-hidden":"true",children:(0,$r.jsx)("i",{className:"bx bx-play"})})})]}),(0,$r.jsx)(Ph.FlagshipGrid,{"aria-label":"Flagship tools",children:Hm.map((t=>(0,$r.jsxs)(Ph.FlagshipTile,{href:t.url,target:"_blank",rel:"noopener noreferrer",$image:t.image,"aria-label":t.description?`${t.title}: ${t.description}`:t.title,onClick:()=>e(t.id,t.title,"external"),children:[(0,$r.jsx)(Ph.TileShade,{}),(0,$r.jsxs)(Ph.FlagshipCopy,{children:[(0,$r.jsx)("h2",{children:t.title}),t.description&&(0,$r.jsx)("p",{children:t.description})]}),(0,$r.jsx)(Ph.ExternalIcon,{className:"bx bx-link-external","aria-hidden":"true"})]},t.id)))}),(0,$r.jsxs)(Ph.LinksGrid,{children:[t.map(((t,n)=>(0,$r.jsxs)(Ph.LinkCard,{href:t.url,target:t.external?"_blank":void 0,rel:t.external?"noopener noreferrer":void 0,onClick:()=>e(t.id,t.title,t.external?"external":"internal"),style:{"--index":n},children:[(0,$r.jsx)(Ph.CardGlow,{}),(0,$r.jsxs)(Ph.CardContent,{children:[(0,$r.jsx)(Ph.IconWrapper,{children:(0,$r.jsx)("i",{className:`bx ${t.icon}`,"aria-hidden":"true"})}),(0,$r.jsxs)(Ph.TextContent,{children:[(0,$r.jsx)(Ph.CardTitle,{children:t.title}),(0,$r.jsx)(Ph.CardDescription,{children:t.description})]}),(0,$r.jsx)(Ph.ActionIcon,{children:(0,$r.jsx)("i",{className:t.external?"bx bx-link-external":"bx bx-chevron-right","aria-hidden":"true"})})]})]},t.id))),n&&(0,$r.jsx)(Ph.UpdatesSection,{style:{"--index":t.length},children:(0,$r.jsx)(Gf,{source:"source_links",showVisual:!0})})]}),(0,$r.jsx)(Ph.BottomSocials,{children:Ym.filter((e=>"youtube"===e.id)).map((t=>(0,$r.jsx)(Ph.SocialIconLink,{href:t.url,target:t.external?"_blank":void 0,rel:t.external?"noopener noreferrer":void 0,"aria-label":t.title,onClick:()=>e(t.id,t.title,t.external?"external":"internal"),children:(0,$r.jsx)("i",{className:`bx ${t.icon}`,"aria-hidden":"true"})},t.id)))})]})})},Rh=()=>(0,$r.jsxs)(Ee,{children:[(0,$r.jsx)(xe,{path:"/",element:(0,$r.jsx)(Bd,{})}),(0,$r.jsx)(xe,{path:"/links",element:(0,$r.jsx)(Ah,{})}),(0,$r.jsx)(xe,{path:"/extra-links",element:(0,$r.jsx)(Qc,{})}),(0,$r.jsx)(xe,{path:"/store",element:(0,$r.jsx)(Mm,{})}),(0,$r.jsx)(xe,{path:"/blog",element:(0,$r.jsx)(So,{})}),(0,$r.jsx)(xe,{path:"/blog/:slug",element:(0,$r.jsx)(bc,{})}),(0,$r.jsx)(xe,{path:"/portfolio",element:(0,$r.jsx)(Gp,{})}),(0,$r.jsx)(xe,{path:"/contact",element:(0,$r.jsx)(Vc,{})}),(0,$r.jsx)(xe,{path:"/projects",element:(0,$r.jsx)(Tf,{})}),(0,$r.jsx)(xe,{path:"/privacy-policy",element:(0,$r.jsx)(rf,{})}),(0,$r.jsx)(xe,{path:"*",element:(0,$r.jsx)(sp,{})})]});function Ih(){return"undefined"!==typeof window}function Lh(){try{const e="production";if("development"===e||"test"===e)return"development"}catch(Fh){}return"production"}function Oh(){return(Ih()?window.vam:Lh())||"production"}function jh(){return"development"===Oh()}function zh(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{debug:!0};var t;if(!Ih())return;!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"auto";window.vam="auto"!==e?e:Lh()}(e.mode),window.va||(window.va=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];(window.vaq=window.vaq||[]).push(t)}),e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend));const n=function(e){return e.scriptSrc?e.scriptSrc:jh()?"https://va.vercel-scripts.com/v1/script.debug.js":e.basePath?`${e.basePath}
4403/insights/script.js`:"/_vercel/insights/script.js"}(e);if(document.head.querySelector(`script[src*="${n}"]`))return;const r=document.createElement("script");r.src=n,r.defer=!0,r.dataset.sdkn="@vercel/analytics"+(e.framework?`/${e.framework}`:""),r.dataset.sdkv="1.5.0",e.disableAutoTrack&&(r.dataset.disableAutoTrack="1"),e.endpoint?r.dataset.endpoint=e.endpoint:e.basePath&&(r.dataset.endpoint=`${e.basePath}/insights`),e.dsn&&(r.dataset.dsn=e.dsn),r.onerror=()=>{const e=jh()?"Please check if any ad blockers are enabled and try again.":"Be sure to enable Web Analytics for your project and deploy again. See https://vercel.com/docs/analytics/quickstart for more information.";console.log(`[Vercel Web Analytics] Failed to load script from ${n}. ${e}`)},jh()&&!1===e.debug&&(r.dataset.debug="false"),document.head.appendChild(r)}function Nh(){if("undefined"!==typeof process)return{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_NAME:"Austin Davenport",REACT_APP_VERCEL_GIT_PROVIDER:"github",REACT_APP_FOURTHWALL_STORE_URL:"https://shop.austindavenport.com",REACT_APP_YOUTUBE_API_KEY3:"AIzaSyDp8i39ENW1qGbBmcQRRU3blxEiA-hbUzA",REACT_APP_YOUTUBE_API_KEY2:"AIzaSyBfq8y1Ly2AgUtjul_NNBbg4FaHMB8TC5E",REACT_APP_VERCEL_PROJECT_ID:"prj_IvPoO5rw70cXAHHM1nE5KzHxWrLq",REACT_APP_VERCEL_GIT_PULL_REQUEST_ID:"",REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG:'{"analytics":{"scriptSrc":"1d370a2153a2a469/script.js","viewEndpoint":"1d370a2153a2a469/view","eventEndpoint":"1d370a2153a2a469/event","sessionEndpoint":"1d370a2153a2a469/session"}
4403,"speedInsights":{"scriptSrc":"e1c90db447abc8ba/script.js","endpoint":"e1c90db447abc8ba/vitals"}}',REACT_APP_FOURTHWALL_CURRENCY:"USD",REACT_APP_YOUTUBE_API_KEY:"AIzaSyBjVLVLmTcsgPTdlfH0Cmf4whKDuLTtLTI",REACT_APP_VERCEL_GIT_COMMIT_MESSAGE:"Remove Supabase from portfolio site",REACT_APP_FOURTHWALL_STOREFRONT_TOKEN:"ptkn_e0f06540-3748-45a4-9a7a-aac6f2545c09",REACT_APP_KIT_FORM_ID:"9751653",REACT_APP_VERCEL_DEPLOYMENT_ID:"dpl_7XvjnbMkhK84nP1wpHcsNHiHVg8a",REACT_APP_VERCEL_GIT_REPO_SLUG:"AD1772Portfolio2025",REACT_APP_VERCEL_TARGET_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_SHA:"9373305d4bcc25ea5ad19330f8055df4246bf616",REACT_APP_VERCEL_ENV:"production",REACT_APP_VERCEL_GIT_COMMIT_REF:"main",REACT_APP_VERCEL_URL:"austindavenport-o8eakqtla-austins-projects-43a75f06.vercel.app",REACT_APP_VERCEL_PROJECT_PRODUCTION_URL:"www.austindavenport.com",REACT_APP_VERCEL_GIT_PREVIOUS_SHA:"",REACT_APP_VERCEL_GIT_REPO_ID:"",REACT_APP_VERCEL_GIT_COMMIT_AUTHOR_LOGIN:"",REACT_APP_VERCEL_GIT_REPO_OWNER:"davenaus",REACT_APP_YOUTUBE_CHANNEL_ID:"UCg_JArLpHeN9P34qMd9W5rQ"}.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH}function Mh(e){return(0,o.useEffect)((()=>{var t;e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend))}),[e.beforeSend]),(0,o.useEffect)((()=>{zh({framework:e.framework||"react",basePath:e.basePath??Nh(),...void 0!==e.route&&{disableAutoTrack:!0},...e})}),[]),(0,o.useEffect)((()=>{e.route&&e.path&&function(e){let{route:t,path:n}=e;var r;null==(r=window.va)||r.call(window,"pageview",{route:t,path:n})}({route:e.route,path:e.path})}),[e.route,e.path]),null}class Dh extends o.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?(0,$r.jsxs)("div",{role:"alert",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"50vh",gap:"1rem",color:"#b1b4b8",fontFamily:"Poppins, sans-serif",textAlign:"center",padding:"2rem"},children:[(0,$r.jsx)("h2",{style:{color:"#eceef1"},children:"Something went wrong"}),(0,$r.jsx)("p",{children:"Please refresh the page to try again."}),(0,$r.jsx)("button",{onClick:()=>window.location.reload(),style:{padding:"0.75rem 1.5rem",background:"#212326",color:"#fafcff",border:"none",borderRadius:"8px",cursor:"pointer",fontSize:"1rem",fontFamily:"Poppins, sans-serif"},children:"Refresh Page"})]}):this.props.children}}const Uh=()=>(0,$r.jsx)(Pe,{children:(0,$r.jsxs)(gr,{theme:Gr,children:[(0,$r.jsx)(Hr,{theme:Gr}),(0,$r.jsx)(Dh,{children:(0,$r.jsx)(Br,{children:(0,$r.jsx)(Rh,{})})}),(0,$r.jsx)(Mh,{})]})});a.createRoot(document.getElementById("root")).render((0,$r.jsx)(o.StrictMode,{children:(0,$r.jsx)(Uh,{})}))})()})(); 4404//# sourceMappingURL=main.79ccb273.js.map
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.