diff --git a/docs/404.html b/docs/404.html index 3689da2..1960900 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1 +1 @@ -404: This page could not be found.T2 Model Viewer & Skinner

404

This page could not be found.

\ No newline at end of file +404: This page could not be found.T2 Model Viewer & Skinner

404

This page could not be found.

\ No newline at end of file diff --git a/docs/404/index.html b/docs/404/index.html index 3689da2..1960900 100644 --- a/docs/404/index.html +++ b/docs/404/index.html @@ -1 +1 @@ -404: This page could not be found.T2 Model Viewer & Skinner

404

This page could not be found.

\ No newline at end of file +404: This page could not be found.T2 Model Viewer & Skinner

404

This page could not be found.

\ No newline at end of file diff --git a/docs/_next/static/j6qxrfkqjS29T75m1W9mo/_buildManifest.js b/docs/_next/static/J3alfdEmlnJa3MT95j6-5/_buildManifest.js similarity index 100% rename from docs/_next/static/j6qxrfkqjS29T75m1W9mo/_buildManifest.js rename to docs/_next/static/J3alfdEmlnJa3MT95j6-5/_buildManifest.js diff --git a/docs/_next/static/j6qxrfkqjS29T75m1W9mo/_clientMiddlewareManifest.json b/docs/_next/static/J3alfdEmlnJa3MT95j6-5/_clientMiddlewareManifest.json similarity index 100% rename from docs/_next/static/j6qxrfkqjS29T75m1W9mo/_clientMiddlewareManifest.json rename to docs/_next/static/J3alfdEmlnJa3MT95j6-5/_clientMiddlewareManifest.json diff --git a/docs/_next/static/j6qxrfkqjS29T75m1W9mo/_ssgManifest.js b/docs/_next/static/J3alfdEmlnJa3MT95j6-5/_ssgManifest.js similarity index 100% rename from docs/_next/static/j6qxrfkqjS29T75m1W9mo/_ssgManifest.js rename to docs/_next/static/J3alfdEmlnJa3MT95j6-5/_ssgManifest.js diff --git a/docs/_next/static/chunks/185de9d007942943.css b/docs/_next/static/chunks/185de9d007942943.css deleted file mode 100644 index f461a11..0000000 --- a/docs/_next/static/chunks/185de9d007942943.css +++ /dev/null @@ -1 +0,0 @@ -.gallery-module__zlwOTG__GalleryPage{flex-direction:column}.gallery-module__zlwOTG__Tools{text-align:center;z-index:2;background:rgba(0,0,0,.7);flex:none;grid-template-columns:1fr auto 1fr;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:grid;position:-webkit-sticky;position:sticky;top:0}.gallery-module__zlwOTG__Tools select:focus{outline:none;box-shadow:0 0 1px 1px rgba(0,0,0,.5),0 0 2px 3px #98ffd4}.gallery-module__zlwOTG__HeaderEnd{justify-content:space-between;align-items:center;gap:20px;display:flex}.gallery-module__zlwOTG__DownloadSection{align-items:center;gap:8px;display:flex}.gallery-module__zlwOTG__PackVersion{color:rgba(127,180,166,.6);font-size:11px}.gallery-module__zlwOTG__DownloadButton{color:#f7ffdc;letter-spacing:-.03em;text-shadow:0 -1px rgba(25,39,34,.4);cursor:pointer;background:0 0,linear-gradient(#43a782,#0f5957);border:0;border-radius:4px;margin-left:3px;padding:4px 8px 5px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.gallery-module__zlwOTG__DownloadButton:active{transform:translateY(1px)}.gallery-module__zlwOTG__Back{color:#fff;justify-self:start;align-items:center;gap:4px;font-size:14px;text-decoration:none;display:inline-flex}.gallery-module__zlwOTG__IconLink{color:rgba(255,255,255,.3);place-content:center;justify-self:end;margin-left:auto;display:grid}.gallery-module__zlwOTG__IconLink:hover{color:#fff}.gallery-module__zlwOTG__Gallery{background:#0c1f28;flex:none;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));width:100%;display:grid}.gallery-module__zlwOTG__Skin{text-align:center;padding-bottom:32px;font-size:12px;position:relative;overflow:hidden}.gallery-module__zlwOTG__Preview{width:100%;height:auto;display:block}.gallery-module__zlwOTG__DownloadHiRes{align-items:center;gap:.5em;margin-left:auto;font-size:11px;display:flex}.gallery-module__zlwOTG__HiResSelect{font-size:11px}.gallery-module__zlwOTG__Detail{background:rgba(0,0,0,.2);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:5px 9px;display:flex;position:absolute;bottom:8px;left:6px;right:6px;box-shadow:inset 0 1px 10px rgba(0,0,0,.3)}.gallery-module__zlwOTG__LoadInEditor,.gallery-module__zlwOTG__DownloadSkin{color:#28d9b2;visibility:hidden;place-content:center;font-size:24px;display:grid}.gallery-module__zlwOTG__DownloadSkin{cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:17px}.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__LoadInEditor,.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__DownloadSkin{visibility:visible}.gallery-module__zlwOTG__Name{white-space:nowrap;color:rgba(158,192,209,.9);border-radius:9999px;padding:3px 10px}.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__Name{color:#fff}@keyframes gallery-module__zlwOTG__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gallery-module__zlwOTG__Spinner{flex:none;margin:auto;font-size:64px;animation:2s linear infinite gallery-module__zlwOTG__spin}.gallery-module__zlwOTG__DownloadSpinner{flex:none;margin:auto;font-size:20px;animation:2s linear infinite gallery-module__zlwOTG__spin}@media (max-width:1023px){.gallery-module__zlwOTG__Tools{grid-template-columns:auto auto 1fr;justify-content:space-between}}@media (max-width:719px){.gallery-module__zlwOTG__PackVersion{display:none}}@media (max-width:639px){.gallery-module__zlwOTG__Back .gallery-module__zlwOTG__Label,.gallery-module__zlwOTG__DownloadButton,.gallery-module__zlwOTG__DownloadHiRes{display:none}.gallery-module__zlwOTG__Tools{grid-template-columns:1fr auto 1fr}} diff --git a/docs/_next/static/chunks/2d9285e85aed01d3.js b/docs/_next/static/chunks/2d9285e85aed01d3.js deleted file mode 100644 index b8bb745..0000000 --- a/docs/_next/static/chunks/2d9285e85aed01d3.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55682,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},32061,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{BailoutToCSRError:function(){return o},isBailoutToCSRError:function(){return u}});let n="BAILOUT_TO_CLIENT_SIDE_RENDERING";class o extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=n}}function u(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}},90809,(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var c=u?Object.getOwnPropertyDescriptor(e,i):null;c&&(c.get||c.set)?Object.defineProperty(o,i,c):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}},18800,(e,t,r)=>{"use strict";var n=e.r(71645);function o(e){var t="https://react.dev/errors/"+e;if(1{"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(e){console.error(e)}}(),t.exports=e.r(18800)},54394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{HTTPAccessErrorStatus:function(){return n},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return u},getAccessFallbackErrorTypeByStatus:function(){return a},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return i}});let n={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},o=new Set(Object.values(n)),u="NEXT_HTTP_ERROR_FALLBACK";function i(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===u&&o.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function a(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76963,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return n}});var n=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68391,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return u},isRedirectError:function(){return i}});let n=e.r(76963),o="NEXT_REDIRECT";var u=function(e){return e.push="push",e.replace="replace",e}({});function i(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,u]=t,i=t.slice(2,-2).join(";"),c=Number(t.at(-2));return r===o&&("replace"===u||"push"===u)&&"string"==typeof i&&!isNaN(c)&&c in n.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},65713,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=e.r(54394),o=e.r(68391);function u(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},61994,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{PathParamsContext:function(){return i},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let n=e.r(71645),o=(0,n.createContext)(null),u=(0,n.createContext)(null),i=(0,n.createContext)(null)},45955,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workUnitAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},21768,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ACTION_HEADER:function(){return o},FLIGHT_HEADERS:function(){return f},NEXT_ACTION_NOT_FOUND_HEADER:function(){return h},NEXT_DID_POSTPONE_HEADER:function(){return y},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return s},NEXT_HMR_REFRESH_HEADER:function(){return a},NEXT_IS_PRERENDER_HEADER:function(){return g},NEXT_REWRITTEN_PATH_HEADER:function(){return b},NEXT_REWRITTEN_QUERY_HEADER:function(){return E},NEXT_ROUTER_PREFETCH_HEADER:function(){return i},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return c},NEXT_ROUTER_STALE_TIME_HEADER:function(){return _},NEXT_ROUTER_STATE_TREE_HEADER:function(){return u},NEXT_RSC_UNION_QUERY:function(){return p},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return d},RSC_HEADER:function(){return n}});let n="rsc",o="next-action",u="next-router-state-tree",i="next-router-prefetch",c="next-router-segment-prefetch",a="next-hmr-refresh",s="__next_hmr_refresh_hash__",l="next-url",d="text/x-component",f=[n,u,i,a,c],p="_rsc",_="x-nextjs-stale-time",y="x-nextjs-postponed",b="x-nextjs-rewritten-path",E="x-nextjs-rewritten-query",g="x-nextjs-prerender",h="x-nextjs-action-not-found";("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},12718,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}},62141,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getCacheSignal:function(){return _},getDraftModeProviderForCacheScope:function(){return p},getHmrRefreshHash:function(){return l},getPrerenderResumeDataCache:function(){return a},getRenderResumeDataCache:function(){return s},getRuntimeStagePromise:function(){return y},getServerComponentsHmrCache:function(){return f},isHmrRefresh:function(){return d},throwForMissingRequestStore:function(){return i},throwInvariantForMissingStore:function(){return c},workUnitAsyncStorage:function(){return n.workUnitAsyncStorageInstance}});let n=e.r(45955),o=e.r(21768),u=e.r(12718);function i(e){throw Object.defineProperty(Error("`".concat(e,"` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context")),"__NEXT_ERROR_CODE",{value:"E251",enumerable:!1,configurable:!0})}function c(){throw Object.defineProperty(new u.InvariantError("Expected workUnitAsyncStorage to have a store."),"__NEXT_ERROR_CODE",{value:"E696",enumerable:!1,configurable:!0})}function a(e){switch(e.type){case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-client":return e.prerenderResumeDataCache;case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return null;default:return e}}function s(e){switch(e.type){case"request":return e.renderResumeDataCache;case"prerender":case"prerender-runtime":case"prerender-client":if(e.renderResumeDataCache)return e.renderResumeDataCache;case"prerender-ppr":return e.prerenderResumeDataCache;case"cache":case"private-cache":case"unstable-cache":case"prerender-legacy":return null;default:return e}}function l(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"prerender":case"prerender-runtime":return t.hmrRefreshHash;case"request":var r;return null==(r=t.cookies.get(o.NEXT_HMR_REFRESH_HASH_COOKIE))?void 0:r.value}}function d(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"request":var r;return null!=(r=t.isHmrRefresh)&&r}return!1}function f(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"request":return t.serverComponentsHmrCache}}function p(e,t){if(e.isDraftMode)switch(t.type){case"cache":case"private-cache":case"unstable-cache":case"prerender-runtime":case"request":return t.draftMode}}function _(e){switch(e.type){case"prerender":case"prerender-client":case"prerender-runtime":return e.cacheSignal;case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return null;default:return e}}function y(e){switch(e.type){case"prerender-runtime":case"private-cache":return e.runtimeStagePromise;case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"unstable-cache":return null;default:return e}}},13258,(e,t,r)=>{"use strict";function n(e){return"("===e[0]&&e.endsWith(")")}function o(e){return e.startsWith("@")&&"@children"!==e}function u(e,t){if(e.includes(i)){let e=JSON.stringify(t);return"{}"!==e?i+"?"+e:i}return e}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DEFAULT_SEGMENT_KEY:function(){return c},PAGE_SEGMENT_KEY:function(){return i},addSearchParamsIfPageSegment:function(){return u},isGroupSegment:function(){return n},isParallelRouteSegment:function(){return o}});let i="__PAGE__",c="__DEFAULT__"},8372,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return i},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return a},TemplateContext:function(){return c}});let n=e.r(55682)._(e.r(71645)),o=n.default.createContext(null),u=n.default.createContext(null),i=n.default.createContext(null),c=n.default.createContext(null),a=n.default.createContext(new Set)},59036,(e,t,r)=>{"use strict";function n(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getSegmentValue",{enumerable:!0,get:function(){return n}}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},34457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},62266,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorage",{enumerable:!0,get:function(){return n.actionAsyncStorageInstance}});let n=e.r(34457)},24063,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return d},getRedirectTypeFromError:function(){return l},getURLFromRedirectError:function(){return s},permanentRedirect:function(){return a},redirect:function(){return c}});let n=e.r(76963),o=e.r(68391),u="undefined"==typeof window?e.r(62266).actionAsyncStorage:void 0;function i(e,t,r){void 0===r&&(r=n.RedirectStatusCode.TemporaryRedirect);let u=Object.defineProperty(Error(o.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return u.digest=o.REDIRECT_ERROR_CODE+";"+t+";"+e+";"+r+";",u}function c(e,t){var r;throw null!=t||(t=(null==u||null==(r=u.getStore())?void 0:r.isAction)?o.RedirectType.push:o.RedirectType.replace),i(e,t,n.RedirectStatusCode.TemporaryRedirect)}function a(e,t){throw void 0===t&&(t=o.RedirectType.replace),i(e,t,n.RedirectStatusCode.PermanentRedirect)}function s(e){return(0,o.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function l(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function d(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return o}});let n=""+e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function o(){let e=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw e.digest=n,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},79854,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22683,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15507,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,o.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(32061),o=e.r(65713);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},63138,(e,t,r)=>{"use strict";function n(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===o}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{isHangingPromiseRejectionError:function(){return n},makeDevtoolsIOAwarePromise:function(){return s},makeHangingPromise:function(){return c}});let o="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super("During prerendering, ".concat(t," rejects when the prerender is complete. Typically these errors are handled by React but if you move ").concat(t,' to a different context by using `setTimeout`, `after`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "').concat(e,'".')),this.route=e,this.expression=t,this.digest=o}}let i=new WeakMap;function c(e,t,r){if(e.aborted)return Promise.reject(new u(t,r));{let n=new Promise((n,o)=>{let c=o.bind(null,new u(t,r)),a=i.get(e);if(a)a.push(c);else{let t=[c];i.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e{setTimeout(()=>{t(e)},0)})}},67287,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isPostpone",{enumerable:!0,get:function(){return o}});let n=Symbol.for("react.postpone");function o(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}},76353,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DynamicServerError:function(){return o},isDynamicServerError:function(){return u}});let n="DYNAMIC_SERVER_USAGE";class o extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=n}}function u(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===n}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},43248,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{StaticGenBailoutError:function(){return o},isStaticGenBailoutError:function(){return u}});let n="NEXT_STATIC_GEN_BAILOUT";class o extends Error{constructor(...e){super(...e),this.code=n}}function u(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===n}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},54839,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{METADATA_BOUNDARY_NAME:function(){return n},OUTLET_BOUNDARY_NAME:function(){return u},ROOT_LAYOUT_BOUNDARY_NAME:function(){return i},VIEWPORT_BOUNDARY_NAME:function(){return o}});let n="__next_metadata_boundary__",o="__next_viewport_boundary__",u="__next_outlet_boundary__",i="__next_root_layout_boundary__"},29419,(e,t,r)=>{"use strict";var n=e.i(47167);Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{atLeastOneTask:function(){return i},scheduleImmediate:function(){return u},scheduleOnNextTick:function(){return o},waitAtLeastOneReactRenderTask:function(){return c}});let o=e=>{Promise.resolve().then(()=>{n.default.nextTick(e)})},u=e=>{setImmediate(e)};function i(){return new Promise(e=>u(e))}function c(){return new Promise(e=>setImmediate(e))}},67673,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{Postpone:function(){return j},PreludeState:function(){return q},abortAndThrowOnSynchronousRequestDataAccess:function(){return v},abortOnSynchronousPlatformIOAccess:function(){return R},accessedDynamicData:function(){return N},annotateDynamicAccess:function(){return L},consumeDynamicAccess:function(){return k},createDynamicTrackingState:function(){return _},createDynamicValidationState:function(){return y},createHangingInputAbortSignal:function(){return H},createRenderInBrowserAbortSignal:function(){return U},delayUntilRuntimeStage:function(){return $},formatDynamicAPIAccesses:function(){return I},getFirstDynamicReason:function(){return b},isDynamicPostpone:function(){return w},isPrerenderInterruptedError:function(){return C},logDisallowedDynamicError:function(){return K},markCurrentScopeAsDynamic:function(){return E},postponeWithTracking:function(){return S},throwIfDisallowedDynamic:function(){return V},throwToInterruptStaticGeneration:function(){return g},trackAllowedDynamicAccess:function(){return z},trackDynamicDataInDynamicRender:function(){return h},trackSynchronousPlatformIOAccessInDev:function(){return O},trackSynchronousRequestDataAccessInDev:function(){return T},useDynamicRouteParams:function(){return B},warnOnSyncDynamicError:function(){return P}});let n=function(e){return e&&e.__esModule?e:{default:e}}(e.r(71645)),o=e.r(76353),u=e.r(43248),i=e.r(62141),c=e.r(63599),a=e.r(63138),s=e.r(54839),l=e.r(29419),d=e.r(32061),f=e.r(12718),p="function"==typeof n.default.unstable_postpone;function _(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function y(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function b(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function E(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new u.StaticGenBailoutError("Route ".concat(e.route,' with `dynamic = "error"` couldn\'t be rendered statically because it used `').concat(r,"`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering")),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return S(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new o.DynamicServerError("Route ".concat(e.route," couldn't be rendered statically because it used ").concat(r,". See more info here: https://nextjs.org/docs/messages/dynamic-server-error")),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function g(e,t,r){let n=Object.defineProperty(new o.DynamicServerError("Route ".concat(t.route," couldn't be rendered statically because it used `").concat(e,"`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error")),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function h(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function m(e,t,r){let n=M("Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,"."));r.controller.abort(n);let o=r.dynamicTracking;o&&o.dynamicAccesses.push({stack:o.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function R(e,t,r,n){let o=n.dynamicTracking;m(e,t,n),o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}function O(e){e.prerenderPhase=!1}function v(e,t,r,n){if(!1===n.controller.signal.aborted){m(e,t,n);let o=n.dynamicTracking;o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}throw M("Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,"."))}function P(e){e.syncDynamicErrorWithStack&&console.error(e.syncDynamicErrorWithStack)}let T=O;function j(e){let{reason:t,route:r}=e,n=i.workUnitAsyncStorage.getStore();S(r,t,n&&"prerender-ppr"===n.type?n.dynamicTracking:null)}function S(e,t,r){(function(){if(!p)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),n.default.unstable_postpone(D(e,t))}function D(e,t){return"Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,". ")+"React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error"}function w(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&A(e.message)}function A(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===A(D("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let x="NEXT_PRERENDER_INTERRUPTED";function M(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=x,t}function C(e){return"object"==typeof e&&null!==e&&e.digest===x&&"name"in e&&"message"in e&&e instanceof Error}function N(e){return e.length>0}function k(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function I(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(e=>{let{expression:t,stack:r}=e;return r=r.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),"Dynamic API Usage Debug - ".concat(t,":\n").concat(r)})}function U(){let e=new AbortController;return e.abort(Object.defineProperty(new d.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function H(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,i.getRuntimeStagePromise)(e);r?r.then(()=>(0,l.scheduleOnNextTick)(()=>t.abort())):(0,l.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return}}function L(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function B(e){let t=c.workAsyncStorage.getStore(),r=i.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":case"prerender":{let o=r.fallbackRouteParams;o&&o.size>0&&n.default.use((0,a.makeHangingPromise)(r.renderSignal,t.route,e));break}case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return S(t.route,e,r.dynamicTracking);break}case"prerender-runtime":throw Object.defineProperty(new f.InvariantError("`".concat(e,"` was called during a runtime prerender. Next.js should be preventing ").concat(e," from being included in server components statically, but did not in this case.")),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new f.InvariantError("`".concat(e,"` was called inside a cache scope. Next.js should be preventing ").concat(e," from being included in server components statically, but did not in this case.")),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0})}}let X=/\n\s+at Suspense \(\)/,F=new RegExp("\\n\\s+at Suspense \\(\\)(?:(?!\\n\\s+at (?:".concat("body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6",") \\(\\))[\\s\\S])*?\\n\\s+at ").concat(s.ROOT_LAYOUT_BOUNDARY_NAME," \\([^\\n]*\\)")),G=new RegExp("\\n\\s+at ".concat(s.METADATA_BOUNDARY_NAME,"[\\n\\s]")),W=new RegExp("\\n\\s+at ".concat(s.VIEWPORT_BOUNDARY_NAME,"[\\n\\s]")),Y=new RegExp("\\n\\s+at ".concat(s.OUTLET_BOUNDARY_NAME,"[\\n\\s]"));function z(e,t,r,n){if(!Y.test(t)){if(G.test(t)){r.hasDynamicMetadata=!0;return}if(W.test(t)){r.hasDynamicViewport=!0;return}if(F.test(t)){r.hasAllowedDynamic=!0,r.hasSuspenseAboveBody=!0;return}else if(X.test(t)){r.hasAllowedDynamic=!0;return}else{if(n.syncDynamicErrorWithStack)return void r.dynamicErrors.push(n.syncDynamicErrorWithStack);let o=function(e,t){let r=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r.stack=r.name+": "+e+t,r}('Route "'.concat(e.route,'": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense'),t);return void r.dynamicErrors.push(o)}}}var q=function(e){return e[e.Full=0]="Full",e[e.Empty=1]="Empty",e[e.Errored=2]="Errored",e}({});function K(e,t){console.error(t),e.dev||(e.hasReadableErrorStacks?console.error('To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "'.concat(e.route,'" in your browser to investigate the error.')):console.error('To get a more detailed stack trace and pinpoint the issue, try one of the following:\n - Start the app in development mode by running `next dev`, then open "'.concat(e.route,'" in your browser to investigate the error.\n - Rerun the production build with `next build --debug-prerender` to generate better stack traces.')))}function V(e,t,r,n){if(0!==t){if(r.hasSuspenseAboveBody)return;if(n.syncDynamicErrorWithStack)throw K(e,n.syncDynamicErrorWithStack),new u.StaticGenBailoutError;let o=r.dynamicErrors;if(o.length>0){for(let t=0;tt):t}},91414,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,i.isNextRouterError)(t)||(0,u.isBailoutToCSRError)(t)||(0,a.isDynamicServerError)(t)||(0,c.isDynamicPostpone)(t)||(0,o.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(63138),o=e.r(67287),u=e.r(32061),i=e.r(65713),c=e.r(67673),a=e.r(76353);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},90508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return n}});let n="undefined"==typeof window?e.r(91414).unstable_rethrow:e.r(15507).unstable_rethrow;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92805,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ReadonlyURLSearchParams:function(){return l},RedirectType:function(){return o.RedirectType},forbidden:function(){return i.forbidden},notFound:function(){return u.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect},unauthorized:function(){return c.unauthorized},unstable_isUnrecognizedActionError:function(){return d},unstable_rethrow:function(){return a.unstable_rethrow}});let n=e.r(24063),o=e.r(68391),u=e.r(22783),i=e.r(79854),c=e.r(22683),a=e.r(90508);class s extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class l extends URLSearchParams{append(){throw new s}delete(){throw new s}set(){throw new s}sort(){throw new s}}function d(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},13957,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let n=e.r(90809)._(e.r(71645)),o=n.default.createContext(null);function u(e){let t=(0,n.useContext)(o);t&&t(e)}},92838,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{UnrecognizedActionError:function(){return n},unstable_isUnrecognizedActionError:function(){return o}});class n extends Error{constructor(...e){super(...e),this.name="UnrecognizedActionError"}}function o(e){return!!(e&&"object"==typeof e&&e instanceof n)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},95863,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"bailoutToClientRendering",{enumerable:!0,get:function(){return i}});let n=e.r(32061),o=e.r(63599),u=e.r(62141);function i(e){let t=o.workAsyncStorage.getStore();if(null==t?void 0:t.forceStatic)return;let r=u.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-runtime":case"prerender-client":case"prerender-ppr":case"prerender-legacy":throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76562,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ReadonlyURLSearchParams:function(){return a.ReadonlyURLSearchParams},RedirectType:function(){return a.RedirectType},ServerInsertedHTMLContext:function(){return s.ServerInsertedHTMLContext},forbidden:function(){return a.forbidden},notFound:function(){return a.notFound},permanentRedirect:function(){return a.permanentRedirect},redirect:function(){return a.redirect},unauthorized:function(){return a.unauthorized},unstable_isUnrecognizedActionError:function(){return l.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return a.unstable_rethrow},useParams:function(){return y},usePathname:function(){return p},useRouter:function(){return _},useSearchParams:function(){return f},useSelectedLayoutSegment:function(){return E},useSelectedLayoutSegments:function(){return b},useServerInsertedHTML:function(){return s.useServerInsertedHTML}});let n=e.r(71645),o=e.r(8372),u=e.r(61994),i=e.r(59036),c=e.r(13258),a=e.r(92805),s=e.r(13957),l=e.r(92838),d="undefined"==typeof window?e.r(67673).useDynamicRouteParams:void 0;function f(){let t=(0,n.useContext)(u.SearchParamsContext),r=(0,n.useMemo)(()=>t?new a.ReadonlyURLSearchParams(t):null,[t]);if("undefined"==typeof window){let{bailoutToClientRendering:t}=e.r(95863);t("useSearchParams()")}return r}function p(){return null==d||d("usePathname()"),(0,n.useContext)(u.PathnameContext)}function _(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return e}function y(){return null==d||d("useParams()"),(0,n.useContext)(u.PathParamsContext)}function b(e){void 0===e&&(e="children"),null==d||d("useSelectedLayoutSegments()");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let u;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)u=t[1][r];else{var a;let e=t[1];u=null!=(a=e.children)?a:Object.values(e)[0]}if(!u)return o;let s=u[0],l=(0,i.getSegmentValue)(s);return!l||l.startsWith(c.PAGE_SEGMENT_KEY)?o:(o.push(l),e(u,r,!1,o))}(t.parentTree,e):null}function E(e){void 0===e&&(e="children"),null==d||d("useSelectedLayoutSegment()");let t=b(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===c.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/409daa79903bdca4.js b/docs/_next/static/chunks/409daa79903bdca4.js deleted file mode 100644 index c4117bd..0000000 --- a/docs/_next/static/chunks/409daa79903bdca4.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return o}});let n="undefined"==typeof window?e.r(63599).workAsyncStorage:void 0;function o(e){let{error:t}=e;if(n){let e=n.getStore();if((null==e?void 0:e.isRevalidate)||(null==e?void 0:e.isStaticGeneration))throw console.error(t),t}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},35451,(e,t,r)=>{!function(){var e={229:function(e){var t,r,n,o=e.exports={};function u(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:u}catch(e){t=u}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===u||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var c=[],l=!1,a=-1;function f(){l&&n&&(l=!1,n.length?c=n.concat(c):a=-1,c.length&&p())}function p(){if(!l){var e=s(f);l=!0;for(var t=c.length;t;){for(n=c,c=[];++a1)for(var r=1;r{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(35451)},45689,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var u in r={},t)"key"!==u&&(r[u]=t[u]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},43476,(e,t,r)=>{"use strict";t.exports=e.r(45689)},90317,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return i},createSnapshot:function(){return c}});let n=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class o{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}static bind(e){return e}}let u="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function i(){return u?new u:new o}function s(e){return u?u.bind(e):o.bind(e)}function c(){return u?u.snapshot():function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(42344)},50740,(e,t,r)=>{"use strict";var n=e.i(47167),o=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),a=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),h=Symbol.iterator,v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,m={};function _(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||v}function g(){}function S(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||v}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("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")},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},g.prototype=_.prototype;var j=S.prototype=new g;j.constructor=S,b(j,_.prototype),j.isPureReactComponent=!0;var w=Array.isArray;function x(){}var E={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function O(e,t,r){var n=r.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==n?n:null,props:r}}function k(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var R=/\/+/g;function A(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function H(e,t,r){if(null==e)return e;var n=[],i=0;return!function e(t,r,n,i,s){var c,l,a,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var p=!1;if(null===t)p=!0;else switch(f){case"bigint":case"string":case"number":p=!0;break;case"object":switch(t.$$typeof){case o:case u:p=!0;break;case y:return e((p=t._init)(t._payload),r,n,i,s)}}if(p)return s=s(t),p=""===i?"."+A(t,0):i,w(s)?(n="",null!=p&&(n=p.replace(R,"$&/")+"/"),e(s,r,n,"",function(e){return e})):null!=s&&(k(s)&&(c=s,l=n+(null==s.key||t&&t.key===s.key?"":(""+s.key).replace(R,"$&/")+"/")+p,s=O(c.type,l,c.props)),r.push(s)),1;p=0;var d=""===i?".":i+":";if(w(t))for(var v=0;v{"use strict";t.exports=e.r(50740)},68027,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return i}});let n=e.r(43476),o=e.r(12354),u={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}},i=function(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{}),(0,n.jsxs)("body",{children:[(0,n.jsx)(o.HandleISRError,{error:t}),(0,n.jsx)("div",{style:u.error,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("h2",{style:u.text,children:["Application error: a ",r?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",r?"server logs":"browser console"," for more information)."]}),r?(0,n.jsx)("p",{style:u.text,children:"Digest: "+r}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/40cecef8385b39df.js b/docs/_next/static/chunks/40cecef8385b39df.js new file mode 100644 index 0000000..e62a634 --- /dev/null +++ b/docs/_next/static/chunks/40cecef8385b39df.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36159,(e,t,r)=>{"use strict";function n(){return null}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98183,(e,t,r)=>{"use strict";function n(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function l(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,l(e));else t.set(r,l(n));return t}function o(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return o}});let n=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",o=e.pathname||"",u=e.hash||"",i=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(c+=":"+e.port)),i&&"object"==typeof i&&(i=String(n.urlQueryToSearchParams(i)));let s=e.search||i&&"?"+i||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||l.test(a))&&!1!==c?(c="//"+(c||""),o&&"/"!==o[0]&&(o="/"+o)):c||(c=""),u&&"#"!==u[0]&&(u="#"+u),s&&"?"!==s[0]&&(s="?"+s),""+a+c+(o=o.replace(/[?#]/g,encodeURIComponent))+(s=s.replace("#","%23"))+u}let o=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return l}});let n=e.r(71645);function l(e,t){let r=(0,n.useRef)(null),l=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=l.current;t&&(l.current=null,t())}else e&&(r.current=a(e,n)),t&&(l.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DecodeError:function(){return v},MiddlewareNotFoundError:function(){return _},MissingStaticPage:function(){return m},NormalizeError:function(){return y},PageNotFoundError:function(){return g},SP:function(){return p},ST:function(){return h},WEB_VITALS:function(){return n},execOnce:function(){return l},getDisplayName:function(){return c},getLocationOrigin:function(){return u},getURL:function(){return i},isAbsoluteUrl:function(){return o},isResSent:function(){return s},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return f},stringifyError:function(){return b}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let t,r=!1;return function(){for(var n=arguments.length,l=Array(n),a=0;aa.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function i(){let{href:e}=window.location,t=u();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function f(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let p="undefined"!=typeof performance,h=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class v extends Error{}class y extends Error{}class g extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class m extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class _ extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),l=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,l.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return y},useLinkStatus:function(){return m}});let n=e.r(90809),l=e.r(43476),a=n._(e.r(71645)),o=e.r(95057),u=e.r(8372),i=e.r(18581),c=e.r(18967),s=e.r(5550);e.r(33525);let f=e.r(91949),d=e.r(73668),p=e.r(99781);e.r(84508);let h=e.r(65165);function v(e){return"string"==typeof e?e:(0,o.formatUrl)(e)}function y(e){var t;let r,n,o,[y,m]=(0,a.useOptimistic)(f.IDLE_LINK_STATUS),_=(0,a.useRef)(null),{href:b,as:j,children:O,prefetch:w=null,passHref:S,replace:x,shallow:k,scroll:A,onClick:T,onMouseEnter:E,onTouchStart:C,legacyBehavior:M=!1,onNavigate:P,ref:I,unstable_dynamicOnHover:U,...N}=e;r=O,M&&("string"==typeof r||"number"==typeof r)&&(r=(0,l.jsx)("a",{children:r}));let R=a.default.useContext(u.AppRouterContext),L=!1!==w,z=!1!==w?null===(t=w)||"auto"===t?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:H}=a.default.useMemo(()=>{let e=v(b);return{href:e,as:j?v(j):e}},[b,j]);M&&(n=a.default.Children.only(r));let G=M?n&&"object"==typeof n&&n.ref:I,F=a.default.useCallback(e=>(null!==R&&(_.current=(0,f.mountLinkInstance)(e,D,R,z,L,m)),()=>{_.current&&((0,f.unmountLinkForCurrentNavigation)(_.current),_.current=null),(0,f.unmountPrefetchableInstance)(e)}),[L,D,R,z,m]),B={ref:(0,i.useMergedRef)(F,G),onClick(e){M||"function"!=typeof T||T(e),M&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),R&&(e.defaultPrevented||function(e,t,r,n,l,o,u){let{nodeName:i}=e.currentTarget;if(!("A"===i.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,d.isLocalURL)(t)){l&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),u){let e=!1;if(u({preventDefault:()=>{e=!0}}),e)return}a.default.startTransition(()=>{(0,p.dispatchNavigateAction)(r||t,l?"replace":"push",null==o||o,n.current)})}}(e,D,H,_,x,A,P))},onMouseEnter(e){M||"function"!=typeof E||E(e),M&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),R&&L&&(0,f.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){M||"function"!=typeof C||C(e),M&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),R&&L&&(0,f.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,c.isAbsoluteUrl)(H)?B.href=H:M&&!S&&("a"!==n.type||"href"in n.props)||(B.href=(0,s.addBasePath)(H)),o=M?a.default.cloneElement(n,B):(0,l.jsx)("a",{...N,...B,children:r}),(0,l.jsx)(g.Provider,{value:y,children:o})}let g=(0,a.createContext)(f.IDLE_LINK_STATUS),m=()=>(0,a.useContext)(g);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},29402,(e,t,r)=>{var n,l,a="__lodash_hash_undefined__",o=1/0,u="[object Arguments]",i="[object Array]",c="[object Boolean]",s="[object Date]",f="[object Error]",d="[object Function]",p="[object Map]",h="[object Number]",v="[object Object]",y="[object Promise]",g="[object RegExp]",m="[object Set]",_="[object String]",b="[object Symbol]",j="[object WeakMap]",O="[object ArrayBuffer]",w="[object DataView]",S=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,x=/^\w*$/,k=/^\./,A=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T=/\\(\\)?/g,E=/^\[object .+?Constructor\]$/,C=/^(?:0|[1-9]\d*)$/,M={};M["[object Float32Array]"]=M["[object Float64Array]"]=M["[object Int8Array]"]=M["[object Int16Array]"]=M["[object Int32Array]"]=M["[object Uint8Array]"]=M["[object Uint8ClampedArray]"]=M["[object Uint16Array]"]=M["[object Uint32Array]"]=!0,M[u]=M[i]=M[O]=M[c]=M[w]=M[s]=M[f]=M[d]=M[p]=M[h]=M[v]=M[g]=M[m]=M[_]=M[j]=!1;var P=e.g&&e.g.Object===Object&&e.g,I="object"==typeof self&&self&&self.Object===Object&&self,U=P||I||Function("return this")(),N=r&&!r.nodeType&&r,R=N&&t&&!t.nodeType&&t,L=R&&R.exports===N&&P.process,z=function(){try{return L&&L.binding("util")}catch(e){}}(),D=z&&z.isTypedArray;function H(e,t){for(var r=-1,n=e?e.length:0,l=Array(n);++r-1},eb.prototype.set=function(e,t){var r=this.__data__,n=eS(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},ej.prototype.clear=function(){this.__data__={hash:new e_,map:new(eo||eb),string:new e_}},ej.prototype.delete=function(e){return eP(this,e).delete(e)},ej.prototype.get=function(e){return eP(this,e).get(e)},ej.prototype.has=function(e){return eP(this,e).has(e)},ej.prototype.set=function(e,t){return eP(this,e).set(e,t),this},eO.prototype.add=eO.prototype.push=function(e){return this.__data__.set(e,a),this},eO.prototype.has=function(e){return this.__data__.has(e)},ew.prototype.clear=function(){this.__data__=new eb},ew.prototype.delete=function(e){return this.__data__.delete(e)},ew.prototype.get=function(e){return this.__data__.get(e)},ew.prototype.has=function(e){return this.__data__.has(e)},ew.prototype.set=function(e,t){var r=this.__data__;if(r instanceof eb){var n=r.__data__;if(!eo||n.length<199)return n.push([e,t]),this;r=this.__data__=new ej(n)}return r.set(e,t),this};var ex=function(e,t){return function(r,n){if(null==r)return r;if(!eq(r))return e(r,n);for(var l=r.length,a=-1,o=Object(r);(t?a--:++au))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var s=-1,f=!0,d=1&l?new eO:void 0;for(a.set(e,t),a.set(t,e);++s-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff}function eK(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eQ(e){return!!e&&"object"==typeof e}function eZ(e){return"symbol"==typeof e||eQ(e)&&X.call(e)==b}var eY=D?G(D):function(e){return eQ(e)&&e$(e.length)&&!!M[X.call(e)]};function eX(e){return eq(e)?function(e,t){var r=eV(e)||eB(e)?function(e,t){for(var r=-1,n=Array(e);++rt||a&&o&&i&&!u&&!c||n&&o&&i||!r&&i||!l)return 1;if(!n&&!a&&!c&&e=u)return i;return i*("desc"==r[n]?-1:1)}}return e.index-t.index}(e,t,r)});i--;)u[i]=u[i].value;return u}(e,t,r))}},38360,(e,t,r)=>{var n={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},l=Object.keys(n).join("|"),a=RegExp(l,"g"),o=RegExp(l,"");function u(e){return n[e]}var i=function(e){return e.replace(a,u)};t.exports=i,t.exports.has=function(e){return!!e.match(o)},t.exports.remove=i},97052,e=>{e.v({Back:"gallery-module__zlwOTG__Back",Detail:"gallery-module__zlwOTG__Detail",DownloadButton:"gallery-module__zlwOTG__DownloadButton",DownloadHiRes:"gallery-module__zlwOTG__DownloadHiRes",DownloadSection:"gallery-module__zlwOTG__DownloadSection",DownloadSkin:"gallery-module__zlwOTG__DownloadSkin",DownloadSpinner:"gallery-module__zlwOTG__DownloadSpinner",Gallery:"gallery-module__zlwOTG__Gallery",GalleryPage:"gallery-module__zlwOTG__GalleryPage",HeaderEnd:"gallery-module__zlwOTG__HeaderEnd",HeaderMain:"gallery-module__zlwOTG__HeaderMain",HiResSelect:"gallery-module__zlwOTG__HiResSelect",IconLink:"gallery-module__zlwOTG__IconLink",InputContainer:"gallery-module__zlwOTG__InputContainer",Label:"gallery-module__zlwOTG__Label",LoadInEditor:"gallery-module__zlwOTG__LoadInEditor",Name:"gallery-module__zlwOTG__Name",PackVersion:"gallery-module__zlwOTG__PackVersion",Preview:"gallery-module__zlwOTG__Preview",SearchButton:"gallery-module__zlwOTG__SearchButton",SearchInput:"gallery-module__zlwOTG__SearchInput",Skin:"gallery-module__zlwOTG__Skin",Spinner:"gallery-module__zlwOTG__Spinner",Tools:"gallery-module__zlwOTG__Tools",spin:"gallery-module__zlwOTG__spin"})},25500,e=>{"use strict";e.s(["default",()=>L],25500);var t=e.i(43476),r=e.i(71645),n=e.i(36159),l=e.i(22016),a=e.i(40141);function o(e){return(0,a.GenIcon)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{opacity:"0.2",fillRule:"evenodd",clipRule:"evenodd",d:"M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M12 22C17.5228 22 22 17.5228 22 12H19C19 15.866 15.866 19 12 19V22Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z",fill:"currentColor"},child:[]}]})(e)}var u=e.i(90106),i=e.i(11152),c=e.i(50361),s=e.i(24540);function f(e,t,r){try{return e(t)}catch(e){return(0,s.l)("[nuqs] Error while parsing value `%s`: %O"+(r?" (for key `%s`)":""),t,e,r),null}}function d(e){function t(t){if(void 0===t)return null;let r="";if(Array.isArray(t)){if(void 0===t[0])return null;r=t[0]}return"string"==typeof t&&(r=t),f(e.parse,r)}return{type:"single",eq:(e,t)=>e===t,...e,parseServerSide:t,withDefault(e){return{...this,defaultValue:e,parseServerSide(r){var n;return null!=(n=t(r))?n:e}}},withOptions(e){return{...this,...e}}}}function p(e,t){return e.valueOf()===t.valueOf()}d({parse:e=>e,serialize:String}),d({parse:e=>{let t=parseInt(e);return t==t?t:null},serialize:e=>""+Math.round(e)}),d({parse:e=>{let t=parseInt(e);return t==t?t-1:null},serialize:e=>""+Math.round(e+1)}),d({parse:e=>{let t=parseInt(e,16);return t==t?t:null},serialize:e=>{let t=Math.round(e).toString(16);return(1&t.length?"0":"")+t}}),d({parse:e=>{let t=parseFloat(e);return t==t?t:null},serialize:String}),d({parse:e=>"true"===e.toLowerCase(),serialize:String}),d({parse:e=>{let t=parseInt(e);return t==t?new Date(t):null},serialize:e=>""+e.valueOf(),eq:p}),d({parse:e=>{let t=new Date(e);return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString(),eq:p}),d({parse:e=>{let t=new Date(e.slice(0,10));return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString().slice(0,10),eq:p});let h=(0,c.r)(),v={};function y(e,t,r,n,l,a){let o=!1,u=Object.entries(e).reduce((e,u)=>{var i,s,d,p,h,v;let[y,g]=u,m=null!=(i=null==t?void 0:t[y])?i:y,_=n[m],b="multi"===g.type?[]:null,j=void 0===_?null!=(s="multi"===g.type?null==r?void 0:r.getAll(m):null==r?void 0:r.get(m))?s:b:_;return l&&a&&((v=null!=(d=l[m])?d:b)===j||null!==v&&null!==j&&"string"!=typeof v&&"string"!=typeof j&&v.length===j.length&&v.every((e,t)=>e===j[t]))?e[y]=null!=(p=a[y])?p:null:(o=!0,e[y]=null!=(h=(0,c.i)(j)?null:f(g.parse,j,m))?h:null,l&&(l[m]=j)),e},{});if(!o){let t=Object.keys(e),r=Object.keys(null!=a?a:{});o=t.length!==r.length||t.some(e=>!r.includes(e))}return{state:u,hasChanged:o}}function g(e,t){return Object.fromEntries(Object.keys(e).map(r=>{var n,l;return[r,null!=(l=null!=(n=e[r])?n:t[r])?l:null]}))}function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{parse:n,type:l,serialize:a,eq:o,defaultValue:u,...i}=t,[{[e]:f},d]=function(e){var t,n,l;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=(0,r.useId)(),u=(0,s.i)(),i=(0,s.a)(),{history:f="replace",scroll:d=null!=(t=null==u?void 0:u.scroll)&&t,shallow:p=null==(n=null==u?void 0:u.shallow)||n,throttleMs:m=c.s.timeMs,limitUrlUpdates:_=null==u?void 0:u.limitUrlUpdates,clearOnDefault:b=null==(l=null==u?void 0:u.clearOnDefault)||l,startTransition:j,urlKeys:O=v}=a,w=Object.keys(e).join(","),S=(0,r.useMemo)(()=>Object.fromEntries(Object.keys(e).map(e=>{var t;return[e,null!=(t=O[e])?t:e]})),[w,JSON.stringify(O)]),x=(0,s.r)(Object.values(S)),k=x.searchParams,A=(0,r.useRef)({}),T=(0,r.useMemo)(()=>Object.fromEntries(Object.keys(e).map(t=>{var r;return[t,null!=(r=e[t].defaultValue)?r:null]})),[Object.values(e).map(e=>{let{defaultValue:t}=e;return t}).join(",")]),E=c.t.useQueuedQueries(Object.values(S)),[C,M]=(0,r.useState)(()=>y(e,O,null!=k?k:new URLSearchParams,E).state),P=(0,r.useRef)(C);if((0,s.c)("[nuq+ %s `%s`] render - state: %O, iSP: %s",o,w,C,k),Object.keys(A.current).join("&")!==Object.values(S).join("&")){let{state:t,hasChanged:r}=y(e,O,k,E,A.current,P.current);r&&((0,s.c)("[nuq+ %s `%s`] State changed: %O",o,w,{state:t,initialSearchParams:k,queuedQueries:E,queryRef:A.current,stateRef:P.current}),P.current=t,M(t)),A.current=Object.fromEntries(Object.entries(S).map(t=>{var r,n;let[l,a]=t;return[a,(null==(r=e[l])?void 0:r.type)==="multi"?null==k?void 0:k.getAll(a):null!=(n=null==k?void 0:k.get(a))?n:null]}))}(0,r.useEffect)(()=>{let{state:t,hasChanged:r}=y(e,O,k,E,A.current,P.current);r&&((0,s.c)("[nuq+ %s `%s`] State changed: %O",o,w,{state:t,initialSearchParams:k,queuedQueries:E,queryRef:A.current,stateRef:P.current}),P.current=t,M(t))},[Object.values(S).map(e=>"".concat(e,"=").concat(null==k?void 0:k.getAll(e))).join("&"),JSON.stringify(E)]),(0,r.useEffect)(()=>{let t=Object.keys(e).reduce((t,r)=>(t[r]=t=>{let{state:n,query:l}=t;M(t=>{var a,u,i;let{defaultValue:c}=e[r],f=S[r],d=null!=(a=null!=n?n:c)?a:null;return Object.is(null!=(i=null!=(u=t[r])?u:c)?i:null,d)?((0,s.c)("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). no change, skipping, resolved: %O",o,w,f,n,c,P.current),t):(P.current={...P.current,[r]:d},A.current[f]=l,(0,s.c)("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). updateInternalState, resolved: %O",o,w,f,n,c,P.current),P.current)})},t),{});for(let r of Object.keys(e)){let e=S[r];(0,s.c)("[nuq+ %s `%s`] Subscribing to sync for `%s`",o,e,w),h.on(e,t[r])}return()=>{for(let r of Object.keys(e)){let e=S[r];(0,s.c)("[nuq+ %s `%s`] Unsubscribing to sync for `%s`",o,e,w),h.off(e,t[r])}}},[w,S]);let I=(0,r.useCallback)(function(t){var r,n,l,a,u,v,y,O,k,A,E,C,M,I,U,N,R,L,z,D,H,G,F,B,V,q,W;let $,K=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Q=Object.fromEntries(Object.keys(e).map(e=>[e,null])),Z="function"==typeof t?null!=(r=t(g(P.current,T)))?r:Q:null!=t?t:Q;(0,s.c)("[nuq+ %s `%s`] setState: %O",o,w,Z);let Y=0,X=!1,J=[];for(let[t,r]of Object.entries(Z)){let o=e[t],g=S[t];if(!o||void 0===r)continue;(null!=(u=null!=(a=K.clearOnDefault)?a:o.clearOnDefault)?u:b)&&null!==r&&void 0!==o.defaultValue&&(null!=(v=o.eq)?v:(e,t)=>e===t)(r,o.defaultValue)&&(r=null);let w=null===r?null:(null!=(y=o.serialize)?y:String)(r);h.emit(g,{state:r,query:w});let T={key:g,query:w,options:{history:null!=(k=null!=(O=K.history)?O:o.history)?k:f,shallow:null!=(E=null!=(A=K.shallow)?A:o.shallow)?E:p,scroll:null!=(M=null!=(C=K.scroll)?C:o.scroll)?M:d,startTransition:null!=(U=null!=(I=K.startTransition)?I:o.startTransition)?U:j}};if((null==K||null==(n=K.limitUrlUpdates)?void 0:n.method)==="debounce"||(null==_?void 0:_.method)==="debounce"||(null==(l=o.limitUrlUpdates)?void 0:l.method)==="debounce"){!0===T.options.shallow&&console.warn((0,s.s)(422));let e=null!=(D=null!=(z=null!=(L=null==K||null==(N=K.limitUrlUpdates)?void 0:N.timeMs)?L:null==_?void 0:_.timeMs)?z:null==(R=o.limitUrlUpdates)?void 0:R.timeMs)?D:c.s.timeMs,t=c.t.push(T,e,x,i);Yt(e),X?c.n.flush(x,i):c.n.getPendingPromise(x));return null!=$?$:ee},[w,f,p,d,m,null==_?void 0:_.method,null==_?void 0:_.timeMs,j,S,x.updateUrl,x.getSearchParamsSnapshot,x.rateLimitFactor,i,T]);return[(0,r.useMemo)(()=>g(C,T),[C,T]),I]}({[e]:{parse:null!=n?n:e=>e,type:l,serialize:a,eq:o,defaultValue:u}},i);return[f,(0,r.useCallback)(function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return d(r=>({[e]:"function"==typeof t?t(r[e]):t}),r)},[e,d])]}var _=e.i(29402),b=e.i(38360);let j={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},O=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function w(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{keys:n,threshold:l=j.MATCHES,baseSort:a=O,sorter:o=e=>e.sort((e,t)=>(function(e,t,r){let{rank:n,keyIndex:l}=e,{rank:a,keyIndex:o}=t;return n!==a?n>a?-1:1:l===o?r(e,t):l{let{rank:n,rankedValue:l,keyIndex:a,keyThreshold:o}=e,{itemValue:u,attributes:i}=t,f=S(u,c,s),d=l,{minRanking:p,maxRanking:h,threshold:v}=i;return f=j.MATCHES?f=p:f>h&&(f=h),f>n&&(n=f,a=r,o=v,d=u),{rankedValue:d,rank:n,keyIndex:a,keyThreshold:o}},{rankedValue:u,rank:j.NO_MATCH,keyIndex:-1,keyThreshold:s.threshold}):{rankedValue:u,rank:S(u,c,s),keyIndex:-1,keyThreshold:s.threshold}),{rank:d,keyThreshold:p=l}=f;return d>=p&&e.push({...f,item:a,index:o}),e},[])).map(e=>{let{item:t}=e;return t})}function S(e,t,r){if(e=x(e,r),(t=x(t,r)).length>e.length)return j.NO_MATCH;if(e===t)return j.CASE_SENSITIVE_EQUAL;let n=function*(e,t){let r=-1;for(;(r=e.indexOf(t,r+1))>-1;)yield r;return -1}(e=e.toLowerCase(),t=t.toLowerCase()),l=n.next(),a=l.value;if(e.length===t.length&&0===a)return j.EQUAL;if(0===a)return j.STARTS_WITH;let o=l;for(;!o.done;){if(o.value>0&&" "===e[o.value-1])return j.WORD_STARTS_WITH;o=n.next()}return a>0?j.CONTAINS:1===t.length?j.NO_MATCH:(function(e){let t="",r=" ";for(let n=0;n-1))return j.NO_MATCH;var o=n-a;let u=r/t.length;return j.MATCHES+1/o*u}(e,t)}function x(e,t){let{keepDiacritics:r}=t;return e="".concat(e),r||(e=(0,b.default)(e)),e}w.rankings=j;let k={maxRanking:1/0,minRanking:-1/0};var A=e.i(15768),T=e.i(97052),E=e.i(69642),C=e.i(53653),M=e.i(20592);let P=[];function I(e){return M.default.materials[e].map(e=>{var t;if(e.hidden||!1===e.selectable)return null;let r=null!=(t=e.file)?t:e.name;if(r)if("number"==typeof e.frameCount&&e.frameCount>1)return Array(e.frameCount).fill(r).map((e,t)=>{if(!(t>0))return e;{let r=/^(.+[^\d])(\d{2,})$/.exec(e);if(r){let e=r[1],n=r[2];return"".concat(e).concat(t.toString().padStart(n.length,"0"))}throw Error("frameCount > 0, but could not parse index")}});else return r}).flat().filter(e=>null!=e).map(e=>"".concat(e,".png"))}let U={lmale:0,mmale:1,lfemale:2,mfemale:3,hmale:4,lbioderm:5,mbioderm:6,hbioderm:7,energy:8,disc:9,chaingun:10,grenade_launcher:11,sniper:12,elf:13,shocklance:14,plasmathrower:15,missile:16,mortar:17,repair:18,targeting:19,vehicle_grav_scout:20,vehicle_grav_tank:21,turret_assaulttank_mortar:22,vehicle_land_mpbbase:23,vehicle_air_scout:24,vehicle_air_bomber:25,vehicle_air_hapc:26};function N(e){let t=[];return Object.entries(e).forEach(e=>{let[r,n]=e;t.push(...n.map(e=>({name:e,model:r})))}),(0,_.default)(t,[e=>e.name.toLowerCase(),e=>U[e.model]],["asc","asc"])}function R(){var e,a,c;let s=(0,r.useRef)(null),[f,d]=m("q",{defaultValue:"",clearOnDefault:!0}),[p,h]=(0,r.useState)(f.trim()?"search":"select"),v=(0,r.useDeferredValue)(f),[y,g]=(0,A.default)(),[b,j]=m("filter",{defaultValue:"lmale",clearOnDefault:!1}),[O,S]=(0,r.useState)(!1),[x,k]=(0,r.useState)("prompt"),M="hfemale"===b?"hmale":b,U=null!=(c=null==(e=y.customSkins)?void 0:e[M])?c:P,R="new"===b,L=null==y||null==(a=y.packs)?void 0:a[b],z=null!=L;(0,r.useEffect)(()=>{let e=localStorage.getItem("hiResDownload");switch(e){case"yes":case"no":k(e)}},[]),(0,r.useEffect)(()=>{if(L&&O){let e=!1;return(async()=>{let t=L.files,r=t.some(e=>y.sizeMultiplier[e]>1);if(r&&"prompt"===x){window.alert("This download contains HD textures, which require the QoL patch. Select “yes” or “no” for HD support, then try again."),s.current&&s.current.focus(),S(!1);return}let n="yes"===x?t:t.map(e=>y.sizeMultiplier[e]>1?e.replace(/\.png$/,"@1x.png"):e),l="zSkinPack-".concat(b,"-v").concat(L.version,".vl2");r&&"no"===x&&(l=l.replace(/\.vl2$/,"@1x.vl2"));let a=await (0,E.collectFiles)(n);if(!e){let t=(0,E.createZipFile)(a);await new Promise(e=>setTimeout(e,500)),e||await (0,E.saveZipFile)(t,l),e||S(!1)}})(),()=>{e=!0,S(!1)}}},[x,O,y.sizeMultiplier,L,b]);let D=(0,r.useMemo)(()=>{var e;return(0,_.default)(Object.keys(null!=(e=null==y?void 0:y.packs)?e:{}),e=>e.toLowerCase(),["asc"])},[y]),H=(0,r.useMemo)(()=>{var e,t;let r=R?null==y?void 0:y.newSkins:z?null==y||null==(t=y.packs)||null==(e=t[b])?void 0:e.skins:null;return r?N(r):[]},[R,z,b,y]),G=(0,r.useMemo)(()=>y.customSkins?N(y.customSkins):[],[y.customSkins]),F=v.trim().length>0,B=(0,r.useMemo)(()=>F?w(G,v,{keys:["name"]}):[],[G,v,F]),V="search"===p&&F?B:R||z?H:U;(0,r.useEffect)(()=>{S(!1)},[b]);let q=(0,r.useRef)(null),W=(0,r.useRef)(null);return(0,r.useEffect)(()=>{var e,t;switch(p){case"search":null==(e=q.current)||e.focus();break;case"select":null==(t=W.current)||t.focus()}},[p]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.default,{children:(0,t.jsx)("title",{children:"Tribes 2 Skin Gallery"})}),(0,t.jsxs)("main",{className:T.default.GalleryPage,children:[(0,t.jsxs)("header",{className:T.default.Tools,children:[(0,t.jsxs)(l.default,{className:T.default.Back,href:"../",children:[(0,t.jsx)(i.FaChevronLeft,{size:12,className:T.default.Icon})," ",(0,t.jsx)("span",{className:T.default.Label,children:"Back to Editor"})]}),(0,t.jsxs)("div",{className:T.default.HeaderMain,children:[(0,t.jsx)("button",{className:T.default.SearchButton,title:"select"===p?"Search":"Close search mode",onClick:()=>{h(e=>"select"===e?"search":"select"),d("")},children:"select"===p?(0,t.jsx)(i.FaSearch,{}):(0,t.jsx)(i.FaTimes,{})}),(0,t.jsxs)("div",{className:T.default.InputContainer,children:[(0,t.jsx)("input",{type:"text",ref:q,className:T.default.SearchInput,hidden:"select"===p,placeholder:"Search ".concat(G.length.toLocaleString()," skins…"),value:f,onChange:e=>d(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(h("select"),d(""))}}),(0,t.jsxs)("select",{ref:W,id:"ModelSelect","aria-label":"Player model",onChange:e=>{j(e.target.value)},value:b,style:{visibility:"search"===p?"hidden":"visible"},children:[(0,t.jsx)("option",{value:"new",children:"All new skins ✨"}),(0,t.jsx)("optgroup",{label:"Packs",children:D.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsxs)("optgroup",{label:"Players","data-model-type":"player",children:[(0,t.jsx)("option",{value:"lmale",children:"Human Male • Light"}),(0,t.jsx)("option",{value:"mmale",children:"Human Male • Medium"}),(0,t.jsx)("option",{value:"hmale",children:"Human Male • Heavy"}),(0,t.jsx)("option",{value:"lfemale",children:"Human Female • Light"}),(0,t.jsx)("option",{value:"mfemale",children:"Human Female • Medium"}),(0,t.jsx)("option",{value:"hfemale",children:"Human Female • Heavy"}),(0,t.jsx)("option",{value:"lbioderm",children:"Bioderm • Light"}),(0,t.jsx)("option",{value:"mbioderm",children:"Bioderm • Medium"}),(0,t.jsx)("option",{value:"hbioderm",children:"Bioderm • Heavy"})]}),(0,t.jsxs)("optgroup",{label:"Weapons","data-model-type":"weapon",children:[(0,t.jsx)("option",{value:"disc",children:"Disc Launcher"}),(0,t.jsx)("option",{value:"chaingun",children:"Chaingun"}),(0,t.jsx)("option",{value:"grenade_launcher",children:"Grenade Launcher"}),(0,t.jsx)("option",{value:"sniper",children:"Laser Rifle"}),(0,t.jsx)("option",{value:"plasmathrower",children:"Plasma Cannon"}),(0,t.jsx)("option",{value:"energy",children:"Blaster"}),(0,t.jsx)("option",{value:"shocklance",children:"Shocklance"}),(0,t.jsx)("option",{value:"elf",children:"ELF Projector"}),(0,t.jsx)("option",{value:"missile",children:"Missile Launcher"}),(0,t.jsx)("option",{value:"mortar",children:"Mortar"}),(0,t.jsx)("option",{value:"repair",children:"Repair Pack"}),(0,t.jsx)("option",{value:"targeting",children:"Targeting Laser"})]}),(0,t.jsxs)("optgroup",{label:"Vehicles","data-model-type":"vehicle",children:[(0,t.jsx)("option",{value:"vehicle_grav_scout",children:"Wildcat Grav Cycle"}),(0,t.jsx)("option",{value:"vehicle_grav_tank",children:"Beowulf Assault Tank"}),(0,t.jsx)("option",{value:"vehicle_land_mpbbase",children:"Jericho Mobile Point Base"}),(0,t.jsx)("option",{value:"vehicle_air_scout",children:"Shrike Scout Fighter"}),(0,t.jsx)("option",{value:"vehicle_air_bomber",children:"Thundersword Bomber"}),(0,t.jsx)("option",{value:"vehicle_air_hapc",children:"HAVOC Gunship Transport"})]})]})]})]}),(0,t.jsxs)("div",{className:T.default.HeaderEnd,children:["select"===p&&z?(0,t.jsxs)("div",{className:T.default.DownloadSection,children:[(0,t.jsx)("button",{type:"button",className:T.default.DownloadButton,onClick:async()=>{S(!0)},children:"Download"})," ",O?(0,t.jsx)(o,{className:T.default.DownloadSpinner}):(0,t.jsxs)("span",{className:T.default.PackVersion,children:["v",L.version," • ",L.files.length.toLocaleString()," ",1===L.files.length?"file":"files"]})]}):null,(0,t.jsxs)("div",{className:T.default.DownloadHiRes,children:[(0,t.jsx)("label",{htmlFor:"hiResSelect",children:"HD support?"}),(0,t.jsxs)("select",{id:"hiResSelect",className:T.default.HiResSelect,ref:s,value:x,disabled:O,onChange:e=>{switch(e.target.value){case"prompt":k(e.target.value),localStorage.removeItem("hiResDownload");break;case"yes":case"no":k(e.target.value),localStorage.setItem("hiResDownload",e.target.value)}},children:[(0,t.jsx)("option",{value:"prompt",children:"Ask"}),(0,t.jsx)("option",{value:"yes",children:"Yes"}),(0,t.jsx)("option",{value:"no",children:"No"})]})]})]})]}),g?(0,t.jsx)("div",{className:T.default.Gallery,children:V.map(e=>{let r,n;"string"==typeof e?(r=e,n=M):(r=e.name,n=e.model);let a="".concat("https://exogen.github.io/t2-skins","/gallery/").concat(encodeURIComponent(r),".").concat(n,".webp");return(0,t.jsxs)("div",{className:T.default.Skin,children:[(0,t.jsx)("img",{className:T.default.Preview,loading:"lazy",src:a,width:680,height:800,alt:r}),(0,t.jsxs)("div",{className:T.default.Detail,children:[(0,t.jsx)(l.default,{className:T.default.LoadInEditor,href:"/?m=".concat(n,"&s=").concat(encodeURIComponent(r)),children:(0,t.jsx)(u.BsBadge3dFill,{title:"Load in Editor","aria-label":"Load in Editor"})}),(0,t.jsx)("span",{className:T.default.Name,children:r}),(0,t.jsx)("button",{type:"button",className:T.default.DownloadSkin,title:"Download ".concat(r," skin"),"aria-label":"Download ".concat(r," skin"),onClick:async()=>{let e=(0,C.modelToModelType)(n),t=n.replace(/(?:^([a-z])|_([a-z]))/g,(e,t,r)=>(t||r).toUpperCase()),l="",a=[];switch(e){case"player":l="zPlayerSkin-".concat(r,".vl2"),a=C.modelTypes.player.filter(e=>y.customSkins[e].includes(r)).map(e=>"".concat(r,".").concat(e,".png"));break;case"weapon":l="zWeapon".concat(t,"-").concat(r,".vl2"),a=I(n).map(e=>"".concat(r,"/").concat(e));break;case"vehicle":l="z".concat(t,"-").concat(r,".vl2"),a=I(n).map(e=>"".concat(r,"/").concat(e))}if(a.length){let e=a.some(e=>y.sizeMultiplier[e]>1);if(e&&"prompt"===x){window.alert("This download contains HD textures, which require the QoL patch. Select “yes” or “no” for HD support, then try again."),s.current&&s.current.focus();return}let t="yes"===x?a:a.map(e=>y.sizeMultiplier[e]>1?e.replace(/\.png$/,"@1x.png"):e);e&&"no"===x&&(l=l.replace(/\.vl2$/,"@1x.vl2"));let r=await (0,E.collectFiles)(t,{skipNotFound:!0}),n=(0,E.createZipFile)(r.map(e=>{let{name:t,data:r}=e;return{name:t.split("/").slice(-1)[0],data:r}}));await (0,E.saveZipFile)(n,l)}},children:(0,t.jsx)(i.FaDownload,{})})]})]},"".concat(r,":").concat(n))})}):(0,t.jsx)(o,{className:T.default.Spinner})]})]})}function L(){return(0,t.jsx)(r.Suspense,{children:(0,t.jsx)(R,{})})}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/4173aaf78a0717e6.js b/docs/_next/static/chunks/4173aaf78a0717e6.js new file mode 100644 index 0000000..f5e3ec8 --- /dev/null +++ b/docs/_next/static/chunks/4173aaf78a0717e6.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return o}});let n="undefined"==typeof window?e.r(63599).workAsyncStorage:void 0;function o(e){let{error:t}=e;if(n){let e=n.getStore();if((null==e?void 0:e.isRevalidate)||(null==e?void 0:e.isStaticGeneration))throw console.error(t),t}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18800,(e,t,r)=>{"use strict";var n=e.r(71645);function o(e){var t="https://react.dev/errors/"+e;if(1{"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(e){console.error(e)}}(),t.exports=e.r(18800)},50740,(e,t,r)=>{"use strict";var n=e.i(47167),o=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),l=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),h=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,_={};function m(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||g}function b(){}function S(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||g}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("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")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=m.prototype;var O=S.prototype=new b;O.constructor=S,v(O,m.prototype),O.isPureReactComponent=!0;var E=Array.isArray;function T(){}var j={H:null,A:null,T:null,S:null},w=Object.prototype.hasOwnProperty;function R(e,t,r){var n=r.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==n?n:null,props:r}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var A=/\/+/g;function P(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function C(e,t,r){if(null==e)return e;var n=[],u=0;return!function e(t,r,n,u,s){var c,a,l,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case i:d=!0;break;case y:return e((d=t._init)(t._payload),r,n,u,s)}}if(d)return s=s(t),d=""===u?"."+P(t,0):u,E(s)?(n="",null!=d&&(n=d.replace(A,"$&/")+"/"),e(s,r,n,"",function(e){return e})):null!=s&&(x(s)&&(c=s,a=n+(null==s.key||t&&t.key===s.key?"":(""+s.key).replace(A,"$&/")+"/")+d,s=R(c.type,a,c.props)),r.push(s)),1;d=0;var p=""===u?".":u+":";if(E(t))for(var g=0;g{"use strict";t.exports=e.r(50740)},90317,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return u},createSnapshot:function(){return c}});let n=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class o{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}static bind(e){return e}}let i="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function u(){return i?new i:new o}function s(e){return i?i.bind(e):o.bind(e)}function c(){return i?i.snapshot():function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(42344)},35451,(e,t,r)=>{!function(){var e={229:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function u(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var c=[],a=!1,l=-1;function f(){a&&n&&(a=!1,n.length?c=n.concat(c):l=-1,c.length&&d())}function d(){if(!a){var e=s(f);a=!0;for(var t=c.length;t;){for(n=c,c=[];++l1)for(var r=1;r{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(35451)},45689,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var i in r={},t)"key"!==i&&(r[i]=t[i]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},43476,(e,t,r)=>{"use strict";t.exports=e.r(45689)},68027,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let n=e.r(43476),o=e.r(12354),i={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}},u=function(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{}),(0,n.jsxs)("body",{children:[(0,n.jsx)(o.HandleISRError,{error:t}),(0,n.jsx)("div",{style:i.error,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("h2",{style:i.text,children:["Application error: a ",r?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",r?"server logs":"browser console"," for more information)."]}),r?(0,n.jsx)("p",{style:i.text,children:"Digest: "+r}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/42cdb402ed9b36c5.css b/docs/_next/static/chunks/42cdb402ed9b36c5.css new file mode 100644 index 0000000..170daba --- /dev/null +++ b/docs/_next/static/chunks/42cdb402ed9b36c5.css @@ -0,0 +1 @@ +.gallery-module__zlwOTG__GalleryPage{flex-direction:column}.gallery-module__zlwOTG__Tools{text-align:center;z-index:2;background:rgba(0,0,0,.7);flex:none;grid-template-columns:1fr auto 1fr;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:grid;position:-webkit-sticky;position:sticky;top:0}.gallery-module__zlwOTG__Tools a:link:focus-visible{outline:none;box-shadow:0 0 1px 1px rgba(0,0,0,.5),0 0 2px 3px #98ffd4}.gallery-module__zlwOTG__Tools button:focus-visible{outline:none;box-shadow:0 0 1px 1px rgba(0,0,0,.5),0 0 2px 3px #98ffd4}.gallery-module__zlwOTG__Tools select:focus-visible{outline:none;box-shadow:0 0 1px 1px rgba(0,0,0,.5),0 0 2px 3px #98ffd4}.gallery-module__zlwOTG__Tools input:focus-visible{outline:none;box-shadow:0 0 1px 1px rgba(0,0,0,.5),0 0 2px 3px #98ffd4}.gallery-module__zlwOTG__InputContainer{position:relative}.gallery-module__zlwOTG__HeaderEnd{justify-content:space-between;align-items:center;gap:20px;display:flex}.gallery-module__zlwOTG__DownloadSection{align-items:center;gap:8px;display:flex}.gallery-module__zlwOTG__PackVersion{color:rgba(127,180,166,.6);font-size:11px}.gallery-module__zlwOTG__DownloadButton{color:#f7ffdc;letter-spacing:-.03em;text-shadow:0 -1px rgba(25,39,34,.4);cursor:pointer;background:0 0,linear-gradient(#43a782,#0f5957);border:0;border-radius:3px;margin:0 0 0 3px;padding:4px 8px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.gallery-module__zlwOTG__DownloadButton:active{transform:translateY(1px)}.gallery-module__zlwOTG__Back{color:#fff;justify-self:start;align-items:center;gap:4px;font-size:14px;text-decoration:none;display:inline-flex}.gallery-module__zlwOTG__IconLink{color:rgba(255,255,255,.3);place-content:center;justify-self:end;margin-left:auto;display:grid}.gallery-module__zlwOTG__IconLink:hover{color:#fff}.gallery-module__zlwOTG__Gallery{background:#0c1f28;flex:none;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));width:100%;display:grid}.gallery-module__zlwOTG__Skin{text-align:center;padding-bottom:32px;font-size:12px;position:relative;overflow:hidden}.gallery-module__zlwOTG__Preview{width:100%;height:auto;display:block}.gallery-module__zlwOTG__DownloadHiRes{align-items:center;gap:.5em;margin-left:auto;font-size:11px;display:flex}.gallery-module__zlwOTG__HiResSelect{font-size:11px}.gallery-module__zlwOTG__Detail{background:rgba(0,0,0,.2);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:5px 9px;display:flex;position:absolute;bottom:8px;left:6px;right:6px;box-shadow:inset 0 1px 10px rgba(0,0,0,.3)}.gallery-module__zlwOTG__LoadInEditor,.gallery-module__zlwOTG__DownloadSkin{color:#28d9b2;visibility:hidden;place-content:center;font-size:24px;display:grid}.gallery-module__zlwOTG__DownloadSkin{cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:17px}.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__LoadInEditor,.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__DownloadSkin{visibility:visible}.gallery-module__zlwOTG__Name{white-space:nowrap;color:rgba(158,192,209,.9);border-radius:9999px;padding:3px 10px}.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__Name{color:#fff}@keyframes gallery-module__zlwOTG__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gallery-module__zlwOTG__Spinner{flex:none;margin:auto;font-size:64px;animation:2s linear infinite gallery-module__zlwOTG__spin}.gallery-module__zlwOTG__DownloadSpinner{flex:none;margin:auto;font-size:20px;animation:2s linear infinite gallery-module__zlwOTG__spin}.gallery-module__zlwOTG__HeaderMain{align-items:center;gap:12px;display:flex}.gallery-module__zlwOTG__SearchButton{color:#28d9b2;cursor:pointer;background:0 0;border:0;place-content:center;margin:0;padding:3px 4px;font-size:18px;display:grid}.gallery-module__zlwOTG__SearchInput{border:1px solid #666;border-radius:2px;margin:0;padding:4px 6px 3px;position:absolute;left:0;right:0}@media (max-width:1023px){.gallery-module__zlwOTG__Tools{grid-template-columns:auto auto 1fr;justify-content:space-between}}@media (max-width:719px){.gallery-module__zlwOTG__PackVersion{display:none}}@media (max-width:639px){.gallery-module__zlwOTG__Back .gallery-module__zlwOTG__Label,.gallery-module__zlwOTG__DownloadButton,.gallery-module__zlwOTG__DownloadHiRes{display:none}.gallery-module__zlwOTG__Tools{grid-template-columns:1fr auto 1fr}} diff --git a/docs/_next/static/chunks/5ab6fafee44106c4.js b/docs/_next/static/chunks/5ab6fafee44106c4.js deleted file mode 100644 index 53960ab..0000000 --- a/docs/_next/static/chunks/5ab6fafee44106c4.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,40141,e=>{"use strict";e.s(["GenIcon",()=>o],40141);var t=e.i(71645),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=t.default.createContext&&t.default.createContext(a),n=["attr","size","title"];function c(){return(c=Object.assign.bind()).apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function i(e){for(var t=1;tt.default.createElement(s,c({attr:i({},e.attr)},a),function e(a){return a&&a.map((a,r)=>t.default.createElement(a.tag,i({key:r},a.attr),e(a.child)))}(e.child))}function s(e){var l=a=>{var r,{attr:l,size:o,title:s}=e,u=function(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}(e,n),h=o||a.size||"1em";return a.className&&(r=a.className),e.className&&(r=(r?r+" ":"")+e.className),t.default.createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,l,u,{className:r,style:i(i({color:e.color||a.color},a.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),s&&t.default.createElement("title",null,s),e.children)};return void 0!==r?t.default.createElement(r.Consumer,null,e=>l(e)):l(a)}},90106,e=>{"use strict";e.s(["BsBadge3dFill",()=>r,"BsFillGrid3X3GapFill",()=>a]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04"},child:[]},{tag:"path",attr:{d:"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126z"},child:[]}]})(e)}},11152,e=>{"use strict";e.s(["FaAngleDown",()=>r,"FaArrowDown",()=>n,"FaArrowUp",()=>c,"FaChevronLeft",()=>l,"FaChevronRight",()=>i,"FaDownload",()=>o,"FaFolderOpen",()=>s,"FaGithub",()=>a,"FaLock",()=>u,"FaTrashAlt",()=>h,"FaUnlock",()=>m]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"},child:[]}]})(e)}function n(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"},child:[]}]})(e)}function c(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"},child:[]}]})(e)}function l(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(e)}function i(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(e)}function o(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(e)}function s(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(e)}function u(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(e)}function h(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"},child:[]}]})(e)}function m(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"},child:[]}]})(e)}},18566,(e,t,a)=>{t.exports=e.r(76562)},15768,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(71645);let a={customSkins:{},newSkins:{},packs:{},sizeMultiplier:{}};function r(){let[e,r]=(0,t.useState)(a);(0,t.useEffect)(()=>{let e=new AbortController,t=e.signal,a=!1;return(async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:t}),!a){let t=await e.json();a||r(t)}}catch(e){console.error(e)}})(),()=>{a=!0,e.signal.aborted||e.abort()}},[]);let n=e!==a;return[e,n]}},20592,e=>{"use strict";e.s(["default",()=>t]);let t=e.i(29947).default},53653,e=>{"use strict";let t;e.s(["importMultipleFilesToModels",()=>u,"modelToModelType",()=>l,"modelTypes",()=>c]);var a=e.i(71315);let r=e.i(20592).default.materials,n=/^(\.|__MACOSX)/,c={player:["lmale","mmale","hmale","lfemale","mfemale","hfemale","lbioderm","mbioderm","hbioderm"],weapon:["disc","chaingun","grenade_launcher","sniper","plasmathrower","energy","shocklance","elf","missile","mortar","repair","targeting","mine"],vehicle:["vehicle_grav_scout","vehicle_grav_tank","vehicle_land_mpbbase","vehicle_air_scout","vehicle_air_bomber","vehicle_air_hapc"]};function l(e){switch(e){case"lmale":case"mmale":case"hmale":case"lfemale":case"mfemale":case"hfemale":case"lbioderm":case"mbioderm":case"hbioderm":return"player";case"disc":case"chaingun":case"grenade_launcher":case"sniper":case"plasmathrower":case"energy":case"shocklance":case"elf":case"missile":case"mortar":case"repair":case"targeting":case"mine":return"weapon";case"vehicle_grav_scout":case"vehicle_grav_tank":case"vehicle_land_mpbbase":case"vehicle_air_scout":case"vehicle_air_bomber":case"vehicle_air_hapc":return"vehicle";default:throw Error("Unknown model")}}async function i(e){let t=await a.default.loadAsync(e);return(await Promise.all(Object.entries(t.files).map(async e=>{let[t,a]=e;if(!n.test(t)&&/\.png$/i.exec(t)){let e=await a.async("base64");return{path:t,imageUrl:"data:image/png;base64,".concat(e)}}}))).filter(e=>!!e)}async function o(e){return new Promise((t,a)=>{let r=new FileReader;r.addEventListener("load",e=>{var r;"string"==typeof(null==(r=e.target)?void 0:r.result)?t(e.target.result):a()}),r.addEventListener("error",e=>{a()}),r.readAsDataURL(e)})}async function s(e){return(await Promise.all(Array.from(e).map(async e=>{var t;if(n.test(e.name))return null;switch((t=e).name.match(/\.png$/i)?"png":t.name.match(/\.zip$/i)?"zip":t.name.match(/\.vl2$/i)?"vl2":void 0){case"zip":case"vl2":{let t=e.name.match(/^(.+)\.(zip|vl2)$/i),a=t?t[1]:e.name;return(await i(e)).map(t=>({...t,path:"".concat(e.name,"/").concat(t.path),name:a}))}case"png":return{path:e.name,imageUrl:await o(e),name:null};default:return null}}))).flat().filter(e=>!!e)}async function u(e){var a=await s(e);let n=new Map;return a.forEach(e=>{let a=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=function(){let e=new Map;for(let t in r)r[t].forEach((a,r)=>{let n;if(a.fileSuffix?n=a.fileSuffix:!1!==a.selectable&&!0!==a.hidden&&(a.file||a.name)&&(n=a.file||a.name),n){var c;let l=null!=(c=e.get(n))?c:[];l.push({modelName:t,material:a,index:r}),e.set(n,l)}});return e}());let n=e.split("/").slice(-1)[0],c=n.match(/^(.+)\.(PNG|png)$/);if(c){let r=c[1],l=r.split(".");if(l.length>1){let a=".".concat(l[l.length-1]),i=t.get(a);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:l.slice(0,l.length-1).join("."),models:i}}else{let i=function(e){let a=/^(.+[^\d])(\d{2,})$/.exec(e);if(a){var r;let e=a[1],n=a[2],c=parseInt(n,10),l="".concat(e).concat("0".padStart(n.length,"0"));return(null!=(r=t.get(l))?r:[]).filter(e=>"number"==typeof e.material.frameCount).map(e=>({...e,frameIndex:c}))}return[]}(l[0]);if(i.length)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i};{let i=t.get(l[0]);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i}}}}return null}(e.path,e.name);a&&a.models.forEach(t=>{var r,c,l,i,o;let s=null!=(r=n.get(t.modelName))?r:new Map,u=null!=(c=s.get(a.skinName))?c:{name:a.skinName,isComplete:null,materials:new Map},h=null!=(l=t.material.file)?l:t.material.name,m=null!=(i=u.materials.get(h))?i:[];m[null!=(o=t.frameIndex)?o:0]=e.imageUrl,u.materials.set(h,m),s.set(a.skinName,u),n.set(t.modelName,s)})}),n.forEach((e,t)=>{let a=r[t].filter(e=>!1!==e.selectable&&!0!==e.hidden&&!0!==e.optional);e.forEach(e=>{e.isComplete=a.every(t=>{var a;return e.materials.has(null!=(a=t.file)?a:t.name)})})}),n}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/5f9470a691b55cfe.js b/docs/_next/static/chunks/5f9470a691b55cfe.js new file mode 100644 index 0000000..a5018ef --- /dev/null +++ b/docs/_next/static/chunks/5f9470a691b55cfe.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,40141,e=>{"use strict";e.s(["GenIcon",()=>o],40141);var t=e.i(71645),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=t.default.createContext&&t.default.createContext(a),c=["attr","size","title"];function n(){return(n=Object.assign.bind()).apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function i(e){for(var t=1;tt.default.createElement(s,n({attr:i({},e.attr)},a),function e(a){return a&&a.map((a,r)=>t.default.createElement(a.tag,i({key:r},a.attr),e(a.child)))}(e.child))}function s(e){var l=a=>{var r,{attr:l,size:o,title:s}=e,u=function(e,t){if(null==e)return{};var a,r,c=function(e,t){if(null==e)return{};var a={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(c[a]=e[a])}return c}(e,c),h=o||a.size||"1em";return a.className&&(r=a.className),e.className&&(r=(r?r+" ":"")+e.className),t.default.createElement("svg",n({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,l,u,{className:r,style:i(i({color:e.color||a.color},a.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),s&&t.default.createElement("title",null,s),e.children)};return void 0!==r?t.default.createElement(r.Consumer,null,e=>l(e)):l(a)}},11152,e=>{"use strict";e.s(["FaAngleDown",()=>r,"FaArrowDown",()=>c,"FaArrowUp",()=>n,"FaChevronLeft",()=>l,"FaChevronRight",()=>i,"FaDownload",()=>o,"FaFolderOpen",()=>s,"FaGithub",()=>a,"FaLock",()=>u,"FaSearch",()=>h,"FaTimes",()=>m,"FaTrashAlt",()=>v,"FaUnlock",()=>d]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"},child:[]}]})(e)}function c(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"},child:[]}]})(e)}function n(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"},child:[]}]})(e)}function l(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(e)}function i(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(e)}function o(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(e)}function s(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(e)}function u(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(e)}function h(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"},child:[]}]})(e)}function m(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"},child:[]}]})(e)}function v(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"},child:[]}]})(e)}function d(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"},child:[]}]})(e)}},20592,e=>{"use strict";e.s(["default",()=>t]);let t=e.i(29947).default},90106,e=>{"use strict";e.s(["BsBadge3dFill",()=>r,"BsFillGrid3X3GapFill",()=>a]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04"},child:[]},{tag:"path",attr:{d:"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126z"},child:[]}]})(e)}},53653,e=>{"use strict";let t;e.s(["importMultipleFilesToModels",()=>u,"modelToModelType",()=>l,"modelTypes",()=>n]);var a=e.i(71315);let r=e.i(20592).default.materials,c=/^(\.|__MACOSX)/,n={player:["lmale","mmale","hmale","lfemale","mfemale","hfemale","lbioderm","mbioderm","hbioderm"],weapon:["disc","chaingun","grenade_launcher","sniper","plasmathrower","energy","shocklance","elf","missile","mortar","repair","targeting","mine"],vehicle:["vehicle_grav_scout","vehicle_grav_tank","vehicle_land_mpbbase","vehicle_air_scout","vehicle_air_bomber","vehicle_air_hapc"]};function l(e){switch(e){case"lmale":case"mmale":case"hmale":case"lfemale":case"mfemale":case"hfemale":case"lbioderm":case"mbioderm":case"hbioderm":return"player";case"disc":case"chaingun":case"grenade_launcher":case"sniper":case"plasmathrower":case"energy":case"shocklance":case"elf":case"missile":case"mortar":case"repair":case"targeting":case"mine":return"weapon";case"vehicle_grav_scout":case"vehicle_grav_tank":case"vehicle_land_mpbbase":case"vehicle_air_scout":case"vehicle_air_bomber":case"vehicle_air_hapc":return"vehicle";default:throw Error("Unknown model")}}async function i(e){let t=await a.default.loadAsync(e);return(await Promise.all(Object.entries(t.files).map(async e=>{let[t,a]=e;if(!c.test(t)&&/\.png$/i.exec(t)){let e=await a.async("base64");return{path:t,imageUrl:"data:image/png;base64,".concat(e)}}}))).filter(e=>!!e)}async function o(e){return new Promise((t,a)=>{let r=new FileReader;r.addEventListener("load",e=>{var r;"string"==typeof(null==(r=e.target)?void 0:r.result)?t(e.target.result):a()}),r.addEventListener("error",e=>{a()}),r.readAsDataURL(e)})}async function s(e){return(await Promise.all(Array.from(e).map(async e=>{var t;if(c.test(e.name))return null;switch((t=e).name.match(/\.png$/i)?"png":t.name.match(/\.zip$/i)?"zip":t.name.match(/\.vl2$/i)?"vl2":void 0){case"zip":case"vl2":{let t=e.name.match(/^(.+)\.(zip|vl2)$/i),a=t?t[1]:e.name;return(await i(e)).map(t=>({...t,path:"".concat(e.name,"/").concat(t.path),name:a}))}case"png":return{path:e.name,imageUrl:await o(e),name:null};default:return null}}))).flat().filter(e=>!!e)}async function u(e){var a=await s(e);let c=new Map;return a.forEach(e=>{let a=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=function(){let e=new Map;for(let t in r)r[t].forEach((a,r)=>{let c;if(a.fileSuffix?c=a.fileSuffix:!1!==a.selectable&&!0!==a.hidden&&(a.file||a.name)&&(c=a.file||a.name),c){var n;let l=null!=(n=e.get(c))?n:[];l.push({modelName:t,material:a,index:r}),e.set(c,l)}});return e}());let c=e.split("/").slice(-1)[0],n=c.match(/^(.+)\.(PNG|png)$/);if(n){let r=n[1],l=r.split(".");if(l.length>1){let a=".".concat(l[l.length-1]),i=t.get(a);if(i)return{path:e,basename:c,nameWithoutExtension:r,extension:n[2],skinName:l.slice(0,l.length-1).join("."),models:i}}else{let i=function(e){let a=/^(.+[^\d])(\d{2,})$/.exec(e);if(a){var r;let e=a[1],c=a[2],n=parseInt(c,10),l="".concat(e).concat("0".padStart(c.length,"0"));return(null!=(r=t.get(l))?r:[]).filter(e=>"number"==typeof e.material.frameCount).map(e=>({...e,frameIndex:n}))}return[]}(l[0]);if(i.length)return{path:e,basename:c,nameWithoutExtension:r,extension:n[2],skinName:a,models:i};{let i=t.get(l[0]);if(i)return{path:e,basename:c,nameWithoutExtension:r,extension:n[2],skinName:a,models:i}}}}return null}(e.path,e.name);a&&a.models.forEach(t=>{var r,n,l,i,o;let s=null!=(r=c.get(t.modelName))?r:new Map,u=null!=(n=s.get(a.skinName))?n:{name:a.skinName,isComplete:null,materials:new Map},h=null!=(l=t.material.file)?l:t.material.name,m=null!=(i=u.materials.get(h))?i:[];m[null!=(o=t.frameIndex)?o:0]=e.imageUrl,u.materials.set(h,m),s.set(a.skinName,u),c.set(t.modelName,s)})}),c.forEach((e,t)=>{let a=r[t].filter(e=>!1!==e.selectable&&!0!==e.hidden&&!0!==e.optional);e.forEach(e=>{e.isComplete=a.every(t=>{var a;return e.materials.has(null!=(a=t.file)?a:t.name)})})}),c}},15768,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(71645);let a={customSkins:{},newSkins:{},packs:{},sizeMultiplier:{}};function r(){let[e,r]=(0,t.useState)(a);(0,t.useEffect)(()=>{let e=new AbortController,t=e.signal,a=!1;return(async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:t}),!a){let t=await e.json();a||r(t)}}catch(e){console.error(e)}})(),()=>{a=!0,e.signal.aborted||e.abort()}},[]);let c=e!==a;return[e,c]}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/91adb7bdb9870c6a.js b/docs/_next/static/chunks/91adb7bdb9870c6a.js new file mode 100644 index 0000000..4700e0b --- /dev/null +++ b/docs/_next/static/chunks/91adb7bdb9870c6a.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55682,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},32061,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{BailoutToCSRError:function(){return o},isBailoutToCSRError:function(){return u}});let n="BAILOUT_TO_CLIENT_SIDE_RENDERING";class o extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=n}}function u(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}},90809,(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var c=u?Object.getOwnPropertyDescriptor(e,a):null;c&&(c.get||c.set)?Object.defineProperty(o,a,c):o[a]=e[a]}return o.default=e,r&&r.set(e,o),o}},54394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{HTTPAccessErrorStatus:function(){return n},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return u},getAccessFallbackErrorTypeByStatus:function(){return i},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return a}});let n={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},o=new Set(Object.values(n)),u="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===u&&o.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function i(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76963,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return n}});var n=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68391,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return u},isRedirectError:function(){return a}});let n=e.r(76963),o="NEXT_REDIRECT";var u=function(e){return e.push="push",e.replace="replace",e}({});function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,u]=t,a=t.slice(2,-2).join(";"),c=Number(t.at(-2));return r===o&&("replace"===u||"push"===u)&&"string"==typeof a&&!isNaN(c)&&c in n.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},65713,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=e.r(54394),o=e.r(68391);function u(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},61994,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{PathParamsContext:function(){return a},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let n=e.r(71645),o=(0,n.createContext)(null),u=(0,n.createContext)(null),a=(0,n.createContext)(null)},45955,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workUnitAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},21768,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ACTION_HEADER:function(){return o},FLIGHT_HEADERS:function(){return f},NEXT_ACTION_NOT_FOUND_HEADER:function(){return m},NEXT_DID_POSTPONE_HEADER:function(){return y},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return s},NEXT_HMR_REFRESH_HEADER:function(){return i},NEXT_IS_PRERENDER_HEADER:function(){return h},NEXT_REWRITTEN_PATH_HEADER:function(){return b},NEXT_REWRITTEN_QUERY_HEADER:function(){return E},NEXT_ROUTER_PREFETCH_HEADER:function(){return a},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return c},NEXT_ROUTER_STALE_TIME_HEADER:function(){return _},NEXT_ROUTER_STATE_TREE_HEADER:function(){return u},NEXT_RSC_UNION_QUERY:function(){return p},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return d},RSC_HEADER:function(){return n}});let n="rsc",o="next-action",u="next-router-state-tree",a="next-router-prefetch",c="next-router-segment-prefetch",i="next-hmr-refresh",s="__next_hmr_refresh_hash__",l="next-url",d="text/x-component",f=[n,u,a,i,c],p="_rsc",_="x-nextjs-stale-time",y="x-nextjs-postponed",b="x-nextjs-rewritten-path",E="x-nextjs-rewritten-query",h="x-nextjs-prerender",m="x-nextjs-action-not-found";("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},12718,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}},62141,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getCacheSignal:function(){return _},getDraftModeProviderForCacheScope:function(){return p},getHmrRefreshHash:function(){return l},getPrerenderResumeDataCache:function(){return i},getRenderResumeDataCache:function(){return s},getRuntimeStagePromise:function(){return y},getServerComponentsHmrCache:function(){return f},isHmrRefresh:function(){return d},throwForMissingRequestStore:function(){return a},throwInvariantForMissingStore:function(){return c},workUnitAsyncStorage:function(){return n.workUnitAsyncStorageInstance}});let n=e.r(45955),o=e.r(21768),u=e.r(12718);function a(e){throw Object.defineProperty(Error("`".concat(e,"` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context")),"__NEXT_ERROR_CODE",{value:"E251",enumerable:!1,configurable:!0})}function c(){throw Object.defineProperty(new u.InvariantError("Expected workUnitAsyncStorage to have a store."),"__NEXT_ERROR_CODE",{value:"E696",enumerable:!1,configurable:!0})}function i(e){switch(e.type){case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-client":return e.prerenderResumeDataCache;case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return null;default:return e}}function s(e){switch(e.type){case"request":return e.renderResumeDataCache;case"prerender":case"prerender-runtime":case"prerender-client":if(e.renderResumeDataCache)return e.renderResumeDataCache;case"prerender-ppr":return e.prerenderResumeDataCache;case"cache":case"private-cache":case"unstable-cache":case"prerender-legacy":return null;default:return e}}function l(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"prerender":case"prerender-runtime":return t.hmrRefreshHash;case"request":var r;return null==(r=t.cookies.get(o.NEXT_HMR_REFRESH_HASH_COOKIE))?void 0:r.value}}function d(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"request":var r;return null!=(r=t.isHmrRefresh)&&r}return!1}function f(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"request":return t.serverComponentsHmrCache}}function p(e,t){if(e.isDraftMode)switch(t.type){case"cache":case"private-cache":case"unstable-cache":case"prerender-runtime":case"request":return t.draftMode}}function _(e){switch(e.type){case"prerender":case"prerender-client":case"prerender-runtime":return e.cacheSignal;case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return null;default:return e}}function y(e){switch(e.type){case"prerender-runtime":case"private-cache":return e.runtimeStagePromise;case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"unstable-cache":return null;default:return e}}},13258,(e,t,r)=>{"use strict";function n(e){return"("===e[0]&&e.endsWith(")")}function o(e){return e.startsWith("@")&&"@children"!==e}function u(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DEFAULT_SEGMENT_KEY:function(){return c},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return u},isGroupSegment:function(){return n},isParallelRouteSegment:function(){return o}});let a="__PAGE__",c="__DEFAULT__"},8372,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return a},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return c}});let n=e.r(55682)._(e.r(71645)),o=n.default.createContext(null),u=n.default.createContext(null),a=n.default.createContext(null),c=n.default.createContext(null),i=n.default.createContext(new Set)},59036,(e,t,r)=>{"use strict";function n(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getSegmentValue",{enumerable:!0,get:function(){return n}}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},34457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},62266,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorage",{enumerable:!0,get:function(){return n.actionAsyncStorageInstance}});let n=e.r(34457)},24063,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getRedirectError:function(){return a},getRedirectStatusCodeFromError:function(){return d},getRedirectTypeFromError:function(){return l},getURLFromRedirectError:function(){return s},permanentRedirect:function(){return i},redirect:function(){return c}});let n=e.r(76963),o=e.r(68391),u="undefined"==typeof window?e.r(62266).actionAsyncStorage:void 0;function a(e,t,r){void 0===r&&(r=n.RedirectStatusCode.TemporaryRedirect);let u=Object.defineProperty(Error(o.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return u.digest=o.REDIRECT_ERROR_CODE+";"+t+";"+e+";"+r+";",u}function c(e,t){var r;throw null!=t||(t=(null==u||null==(r=u.getStore())?void 0:r.isAction)?o.RedirectType.push:o.RedirectType.replace),a(e,t,n.RedirectStatusCode.TemporaryRedirect)}function i(e,t){throw void 0===t&&(t=o.RedirectType.replace),a(e,t,n.RedirectStatusCode.PermanentRedirect)}function s(e){return(0,o.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function l(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function d(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return o}});let n=""+e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function o(){let e=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw e.digest=n,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},79854,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22683,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15507,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,o.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(32061),o=e.r(65713);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},63138,(e,t,r)=>{"use strict";function n(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===o}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{isHangingPromiseRejectionError:function(){return n},makeDevtoolsIOAwarePromise:function(){return s},makeHangingPromise:function(){return c}});let o="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super("During prerendering, ".concat(t," rejects when the prerender is complete. Typically these errors are handled by React but if you move ").concat(t,' to a different context by using `setTimeout`, `after`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "').concat(e,'".')),this.route=e,this.expression=t,this.digest=o}}let a=new WeakMap;function c(e,t,r){if(e.aborted)return Promise.reject(new u(t,r));{let n=new Promise((n,o)=>{let c=o.bind(null,new u(t,r)),i=a.get(e);if(i)i.push(c);else{let t=[c];a.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e{setTimeout(()=>{t(e)},0)})}},67287,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isPostpone",{enumerable:!0,get:function(){return o}});let n=Symbol.for("react.postpone");function o(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}},76353,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DynamicServerError:function(){return o},isDynamicServerError:function(){return u}});let n="DYNAMIC_SERVER_USAGE";class o extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=n}}function u(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===n}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},43248,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{StaticGenBailoutError:function(){return o},isStaticGenBailoutError:function(){return u}});let n="NEXT_STATIC_GEN_BAILOUT";class o extends Error{constructor(...e){super(...e),this.code=n}}function u(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===n}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},54839,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{METADATA_BOUNDARY_NAME:function(){return n},OUTLET_BOUNDARY_NAME:function(){return u},ROOT_LAYOUT_BOUNDARY_NAME:function(){return a},VIEWPORT_BOUNDARY_NAME:function(){return o}});let n="__next_metadata_boundary__",o="__next_viewport_boundary__",u="__next_outlet_boundary__",a="__next_root_layout_boundary__"},29419,(e,t,r)=>{"use strict";var n=e.i(47167);Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{atLeastOneTask:function(){return a},scheduleImmediate:function(){return u},scheduleOnNextTick:function(){return o},waitAtLeastOneReactRenderTask:function(){return c}});let o=e=>{Promise.resolve().then(()=>{n.default.nextTick(e)})},u=e=>{setImmediate(e)};function a(){return new Promise(e=>u(e))}function c(){return new Promise(e=>setImmediate(e))}},67673,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{Postpone:function(){return T},PreludeState:function(){return z},abortAndThrowOnSynchronousRequestDataAccess:function(){return v},abortOnSynchronousPlatformIOAccess:function(){return R},accessedDynamicData:function(){return N},annotateDynamicAccess:function(){return L},consumeDynamicAccess:function(){return k},createDynamicTrackingState:function(){return _},createDynamicValidationState:function(){return y},createHangingInputAbortSignal:function(){return H},createRenderInBrowserAbortSignal:function(){return U},delayUntilRuntimeStage:function(){return J},formatDynamicAPIAccesses:function(){return I},getFirstDynamicReason:function(){return b},isDynamicPostpone:function(){return D},isPrerenderInterruptedError:function(){return C},logDisallowedDynamicError:function(){return K},markCurrentScopeAsDynamic:function(){return E},postponeWithTracking:function(){return S},throwIfDisallowedDynamic:function(){return V},throwToInterruptStaticGeneration:function(){return h},trackAllowedDynamicAccess:function(){return q},trackDynamicDataInDynamicRender:function(){return m},trackSynchronousPlatformIOAccessInDev:function(){return O},trackSynchronousRequestDataAccessInDev:function(){return j},useDynamicRouteParams:function(){return B},warnOnSyncDynamicError:function(){return P}});let n=function(e){return e&&e.__esModule?e:{default:e}}(e.r(71645)),o=e.r(76353),u=e.r(43248),a=e.r(62141),c=e.r(63599),i=e.r(63138),s=e.r(54839),l=e.r(29419),d=e.r(32061),f=e.r(12718),p="function"==typeof n.default.unstable_postpone;function _(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function y(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function b(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function E(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new u.StaticGenBailoutError("Route ".concat(e.route,' with `dynamic = "error"` couldn\'t be rendered statically because it used `').concat(r,"`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering")),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return S(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new o.DynamicServerError("Route ".concat(e.route," couldn't be rendered statically because it used ").concat(r,". See more info here: https://nextjs.org/docs/messages/dynamic-server-error")),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function h(e,t,r){let n=Object.defineProperty(new o.DynamicServerError("Route ".concat(t.route," couldn't be rendered statically because it used `").concat(e,"`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error")),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function m(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function g(e,t,r){let n=M("Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,"."));r.controller.abort(n);let o=r.dynamicTracking;o&&o.dynamicAccesses.push({stack:o.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function R(e,t,r,n){let o=n.dynamicTracking;g(e,t,n),o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}function O(e){e.prerenderPhase=!1}function v(e,t,r,n){if(!1===n.controller.signal.aborted){g(e,t,n);let o=n.dynamicTracking;o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}throw M("Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,"."))}function P(e){e.syncDynamicErrorWithStack&&console.error(e.syncDynamicErrorWithStack)}let j=O;function T(e){let{reason:t,route:r}=e,n=a.workUnitAsyncStorage.getStore();S(r,t,n&&"prerender-ppr"===n.type?n.dynamicTracking:null)}function S(e,t,r){(function(){if(!p)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),n.default.unstable_postpone(w(e,t))}function w(e,t){return"Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,". ")+"React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error"}function D(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&A(e.message)}function A(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===A(w("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let x="NEXT_PRERENDER_INTERRUPTED";function M(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=x,t}function C(e){return"object"==typeof e&&null!==e&&e.digest===x&&"name"in e&&"message"in e&&e instanceof Error}function N(e){return e.length>0}function k(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function I(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(e=>{let{expression:t,stack:r}=e;return r=r.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),"Dynamic API Usage Debug - ".concat(t,":\n").concat(r)})}function U(){let e=new AbortController;return e.abort(Object.defineProperty(new d.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function H(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,a.getRuntimeStagePromise)(e);r?r.then(()=>(0,l.scheduleOnNextTick)(()=>t.abort())):(0,l.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return}}function L(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function B(e){let t=c.workAsyncStorage.getStore(),r=a.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":case"prerender":{let o=r.fallbackRouteParams;o&&o.size>0&&n.default.use((0,i.makeHangingPromise)(r.renderSignal,t.route,e));break}case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return S(t.route,e,r.dynamicTracking);break}case"prerender-runtime":throw Object.defineProperty(new f.InvariantError("`".concat(e,"` was called during a runtime prerender. Next.js should be preventing ").concat(e," from being included in server components statically, but did not in this case.")),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new f.InvariantError("`".concat(e,"` was called inside a cache scope. Next.js should be preventing ").concat(e," from being included in server components statically, but did not in this case.")),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0})}}let X=/\n\s+at Suspense \(\)/,F=new RegExp("\\n\\s+at Suspense \\(\\)(?:(?!\\n\\s+at (?:".concat("body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6",") \\(\\))[\\s\\S])*?\\n\\s+at ").concat(s.ROOT_LAYOUT_BOUNDARY_NAME," \\([^\\n]*\\)")),G=new RegExp("\\n\\s+at ".concat(s.METADATA_BOUNDARY_NAME,"[\\n\\s]")),W=new RegExp("\\n\\s+at ".concat(s.VIEWPORT_BOUNDARY_NAME,"[\\n\\s]")),Y=new RegExp("\\n\\s+at ".concat(s.OUTLET_BOUNDARY_NAME,"[\\n\\s]"));function q(e,t,r,n){if(!Y.test(t)){if(G.test(t)){r.hasDynamicMetadata=!0;return}if(W.test(t)){r.hasDynamicViewport=!0;return}if(F.test(t)){r.hasAllowedDynamic=!0,r.hasSuspenseAboveBody=!0;return}else if(X.test(t)){r.hasAllowedDynamic=!0;return}else{if(n.syncDynamicErrorWithStack)return void r.dynamicErrors.push(n.syncDynamicErrorWithStack);let o=function(e,t){let r=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r.stack=r.name+": "+e+t,r}('Route "'.concat(e.route,'": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense'),t);return void r.dynamicErrors.push(o)}}}var z=function(e){return e[e.Full=0]="Full",e[e.Empty=1]="Empty",e[e.Errored=2]="Errored",e}({});function K(e,t){console.error(t),e.dev||(e.hasReadableErrorStacks?console.error('To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "'.concat(e.route,'" in your browser to investigate the error.')):console.error('To get a more detailed stack trace and pinpoint the issue, try one of the following:\n - Start the app in development mode by running `next dev`, then open "'.concat(e.route,'" in your browser to investigate the error.\n - Rerun the production build with `next build --debug-prerender` to generate better stack traces.')))}function V(e,t,r,n){if(0!==t){if(r.hasSuspenseAboveBody)return;if(n.syncDynamicErrorWithStack)throw K(e,n.syncDynamicErrorWithStack),new u.StaticGenBailoutError;let o=r.dynamicErrors;if(o.length>0){for(let t=0;tt):t}},91414,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,a.isNextRouterError)(t)||(0,u.isBailoutToCSRError)(t)||(0,i.isDynamicServerError)(t)||(0,c.isDynamicPostpone)(t)||(0,o.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(63138),o=e.r(67287),u=e.r(32061),a=e.r(65713),c=e.r(67673),i=e.r(76353);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},90508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return n}});let n="undefined"==typeof window?e.r(91414).unstable_rethrow:e.r(15507).unstable_rethrow;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92805,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ReadonlyURLSearchParams:function(){return l},RedirectType:function(){return o.RedirectType},forbidden:function(){return a.forbidden},notFound:function(){return u.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect},unauthorized:function(){return c.unauthorized},unstable_isUnrecognizedActionError:function(){return d},unstable_rethrow:function(){return i.unstable_rethrow}});let n=e.r(24063),o=e.r(68391),u=e.r(22783),a=e.r(79854),c=e.r(22683),i=e.r(90508);class s extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class l extends URLSearchParams{append(){throw new s}delete(){throw new s}set(){throw new s}sort(){throw new s}}function d(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},13957,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let n=e.r(90809)._(e.r(71645)),o=n.default.createContext(null);function u(e){let t=(0,n.useContext)(o);t&&t(e)}},92838,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{UnrecognizedActionError:function(){return n},unstable_isUnrecognizedActionError:function(){return o}});class n extends Error{constructor(...e){super(...e),this.name="UnrecognizedActionError"}}function o(e){return!!(e&&"object"==typeof e&&e instanceof n)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},95863,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"bailoutToClientRendering",{enumerable:!0,get:function(){return a}});let n=e.r(32061),o=e.r(63599),u=e.r(62141);function a(e){let t=o.workAsyncStorage.getStore();if(null==t?void 0:t.forceStatic)return;let r=u.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-runtime":case"prerender-client":case"prerender-ppr":case"prerender-legacy":throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76562,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return s.ServerInsertedHTMLContext},forbidden:function(){return i.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return i.unauthorized},unstable_isUnrecognizedActionError:function(){return l.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return i.unstable_rethrow},useParams:function(){return y},usePathname:function(){return p},useRouter:function(){return _},useSearchParams:function(){return f},useSelectedLayoutSegment:function(){return E},useSelectedLayoutSegments:function(){return b},useServerInsertedHTML:function(){return s.useServerInsertedHTML}});let n=e.r(71645),o=e.r(8372),u=e.r(61994),a=e.r(59036),c=e.r(13258),i=e.r(92805),s=e.r(13957),l=e.r(92838),d="undefined"==typeof window?e.r(67673).useDynamicRouteParams:void 0;function f(){let t=(0,n.useContext)(u.SearchParamsContext),r=(0,n.useMemo)(()=>t?new i.ReadonlyURLSearchParams(t):null,[t]);if("undefined"==typeof window){let{bailoutToClientRendering:t}=e.r(95863);t("useSearchParams()")}return r}function p(){return null==d||d("usePathname()"),(0,n.useContext)(u.PathnameContext)}function _(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return e}function y(){return null==d||d("useParams()"),(0,n.useContext)(u.PathParamsContext)}function b(e){void 0===e&&(e="children"),null==d||d("useSelectedLayoutSegments()");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let u;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)u=t[1][r];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let s=u[0],l=(0,a.getSegmentValue)(s);return!l||l.startsWith(c.PAGE_SEGMENT_KEY)?o:(o.push(l),e(u,r,!1,o))}(t.parentTree,e):null}function E(e){void 0===e&&(e="children"),null==d||d("useSelectedLayoutSegment()");let t=b(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===c.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/993ba35625024c1a.js b/docs/_next/static/chunks/993ba35625024c1a.js new file mode 100644 index 0000000..9700c68 --- /dev/null +++ b/docs/_next/static/chunks/993ba35625024c1a.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18566,(e,t,r)=>{t.exports=e.r(76562)},24540,e=>{"use strict";e.s(["a",()=>d,"c",()=>s,"i",()=>h,"l",()=>n,"n",()=>a,"o",()=>i,"r",()=>c,"s",()=>o]);var t=e.i(71645);let r=function(){try{let e="nuqs-localStorage-test";if("undefined"==typeof localStorage)return!1;localStorage.setItem(e,e);let t=localStorage.getItem(e)===e;return localStorage.removeItem(e),t&&(localStorage.getItem("debug")||"").includes("nuqs")}catch(e){return!1}}();function s(e){for(var t=arguments.length,s=Array(t>1?t-1:0),n=1;n1?t-1:0),s=1;s{let t=r.shift();return"%O"===e&&t?JSON.stringify(t).replace(/"([^"]+)":/g,"$1:"):String(t)})}(e,...s);performance.mark(u);try{console.log(e,...s)}catch(e){console.log(u)}}function n(e){for(var t=arguments.length,s=Array(t>1?t-1:0),n=1;n/g,"%3E").replace(/[\x00-\x1F]/g,e=>encodeURIComponent(e))))}return"?"+t.join("&")}let l=(0,t.createContext)({useAdapter(){throw Error(o(404))}});function a(e){return r=>{let{children:s,defaultOptions:n,processUrlSearchParams:u,...o}=r;return(0,t.createElement)(l.Provider,{...o,value:{useAdapter:e,defaultOptions:n,processUrlSearchParams:u}},s)}}function c(e){let r=(0,t.useContext)(l);if(!("useAdapter"in r))throw Error(o(404));return r.useAdapter(e)}l.displayName="NuqsAdapterContext",r&&"undefined"!=typeof window&&(window.__NuqsAdapterContext&&window.__NuqsAdapterContext!==l&&console.error(o(303)),window.__NuqsAdapterContext=l);let h=()=>(0,t.useContext)(l).defaultOptions,d=()=>(0,t.useContext)(l).processUrlSearchParams},99749,e=>{"use strict";function t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}e.s(["_",()=>t])},50361,e=>{"use strict";e.s(["a",()=>l,"c",()=>n,"i",()=>i,"n",()=>f,"o",()=>u,"r",()=>a,"s",()=>o,"t",()=>m]);var t=e.i(99749),r=e.i(24540),s=e.i(71645);function n(e){return{method:"throttle",timeMs:e}}function u(e){return{method:"debounce",timeMs:e}}let o=n(function(){if("undefined"==typeof window||!window.GestureEvent)return 50;try{var e;let t=null==(e=navigator.userAgent)?void 0:e.match(/version\/([\d\.]+) safari/i);return parseFloat(t[1])>=17?120:320}catch(e){return 320}}());function i(e){return null===e||Array.isArray(e)&&0===e.length}function l(e,t,r){if("string"==typeof e)r.set(t,e);else{for(let s of(r.delete(t),e))r.append(t,s);r.has(t)||r.set(t,"")}return r}function a(){let e=new Map;return{on(t,r){let s=e.get(t)||[];return s.push(r),e.set(t,s),()=>this.off(t,r)},off(t,r){let s=e.get(t);s&&e.set(t,s.filter(e=>e!==r))},emit(t,r){var s;null==(s=e.get(t))||s.forEach(e=>e(r))}}}function c(e,t,r){let s=setTimeout(function(){e(),r.removeEventListener("abort",n)},t);function n(){clearTimeout(s),r.removeEventListener("abort",n)}r.addEventListener("abort",n)}function h(){let e=Promise;if(Promise.hasOwnProperty("withResolvers"))return Promise.withResolvers();let t=()=>{},r=()=>{};return{promise:new e((e,s)=>{t=e,r=s}),resolve:t,reject:r}}function d(){return new URLSearchParams(location.search)}var p=class{push(e){let{key:t,query:s,options:n}=e,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.timeMs;this.resetQueueOnNextPush&&(this.reset(),this.resetQueueOnNextPush=!1),(0,r.c)("[nuqs gtq] Enqueueing %s=%s %O",t,s,n),this.updateMap.set(t,s),"push"===n.history&&(this.options.history="push"),n.scroll&&(this.options.scroll=!0),!1===n.shallow&&(this.options.shallow=!1),n.startTransition&&this.transitions.add(n.startTransition),(!Number.isFinite(this.timeMs)||u>this.timeMs)&&(this.timeMs=u)}getQueuedQuery(e){return this.updateMap.get(e)}getPendingPromise(e){var t,r;let{getSearchParamsSnapshot:s=d}=e;return null!=(r=null==(t=this.resolvers)?void 0:t.promise)?r:Promise.resolve(s())}flush(e,t){let{getSearchParamsSnapshot:s=d,rateLimitFactor:n=1,...u}=e;if(null!=this.controller||(this.controller=new AbortController),!Number.isFinite(this.timeMs))return(0,r.c)("[nuqs gtq] Skipping flush due to throttleMs=Infinity"),Promise.resolve(s());if(this.resolvers)return this.resolvers.promise;this.resolvers=h();let o=()=>{var e;this.lastFlushedAt=performance.now();let[r,n]=this.applyPendingUpdates({...u,autoResetQueueOnUpdate:null==(e=u.autoResetQueueOnUpdate)||e,getSearchParamsSnapshot:s},t);null===n?(this.resolvers.resolve(r),this.resetQueueOnNextPush=!0):this.resolvers.reject(r),this.resolvers=null},i=()=>{let e=performance.now()-this.lastFlushedAt,t=this.timeMs,s=n*Math.max(0,t-e);(0,r.c)("[nuqs gtq] Scheduling flush in %f ms. Throttled at %f ms (x%f)",s,t,n),0===s?o():c(o,s,this.controller.signal)};return c(i,0,this.controller.signal),this.resolvers.promise}abort(){var e,t;return null==(e=this.controller)||e.abort(),this.controller=new AbortController,null==(t=this.resolvers)||t.resolve(new URLSearchParams),this.resolvers=null,this.reset()}reset(){let e=Array.from(this.updateMap.keys());return(0,r.c)("[nuqs gtq] Resetting queue %s",JSON.stringify(Object.fromEntries(this.updateMap))),this.updateMap.clear(),this.transitions.clear(),this.options={history:"replace",scroll:!1,shallow:!0},this.timeMs=o.timeMs,e}applyPendingUpdates(e,t){let{updateUrl:s,getSearchParamsSnapshot:n}=e,u=n();if((0,r.c)("[nuqs gtq] Applying %d pending update(s) on top of %s",this.updateMap.size,u.toString()),0===this.updateMap.size)return[u,null];let o=Array.from(this.updateMap.entries()),i={...this.options},a=Array.from(this.transitions);for(let[t,s]of(e.autoResetQueueOnUpdate&&this.reset(),(0,r.c)("[nuqs gtq] Flushing queue %O with options %O",o,i),o))null===s?u.delete(t):u=l(s,t,u);t&&(u=t(u));try{return!function(e,t){let r=t;for(let t=e.length-1;t>=0;t--){let s=e[t];if(!s)continue;let n=r;r=()=>s(n)}r()}(a,()=>{s(u,i)}),[u,null]}catch(e){return console.error((0,r.s)(429),o.map(e=>{let[t]=e;return t}).join(),e),[u,e]}}constructor(){(0,t._)(this,"updateMap",new Map),(0,t._)(this,"options",{history:"replace",scroll:!1,shallow:!0}),(0,t._)(this,"timeMs",o.timeMs),(0,t._)(this,"transitions",new Set),(0,t._)(this,"resolvers",null),(0,t._)(this,"controller",null),(0,t._)(this,"lastFlushedAt",0),(0,t._)(this,"resetQueueOnNextPush",!1)}};let f=new p;var y=class{abort(){this.controller.abort(),this.queuedValue=void 0}push(e,t){return this.queuedValue=e,this.controller.abort(),this.controller=new AbortController,c(()=>{let t=this.resolvers;try{(0,r.c)("[nuqs dq] Flushing debounce queue",e);let s=this.callback(e);(0,r.c)("[nuqs dq] Reset debounce queue %O",this.queuedValue),this.queuedValue=void 0,this.resolvers=h(),s.then(e=>t.resolve(e)).catch(e=>t.reject(e))}catch(e){this.queuedValue=void 0,t.reject(e)}},t,this.controller.signal),this.resolvers.promise}constructor(e){(0,t._)(this,"callback",void 0),(0,t._)(this,"resolvers",h()),(0,t._)(this,"controller",new AbortController),(0,t._)(this,"queuedValue",void 0),this.callback=e}};let m=new class{useQueuedQueries(e){return function(e,t,r){let n=(0,s.useCallback)(()=>{let t=Object.fromEntries(e.map(e=>[e,r(e)]));return[JSON.stringify(t),t]},[e.join(","),r]),u=(0,s.useRef)(null);return null===u.current&&(u.current=n()),(0,s.useSyncExternalStore)((0,s.useCallback)(r=>{let s=e.map(e=>t(e,r));return()=>s.forEach(e=>e())},[e.join(","),t]),()=>{let[e,t]=n();return u.current[0]===e?u.current[1]:(u.current=[e,t],t)},()=>u.current[1])}(e,(e,t)=>this.queuedQuerySync.on(e,t),e=>this.getQueuedQuery(e))}push(e,t,s,n){if(!Number.isFinite(t)){var u;return Promise.resolve((null!=(u=s.getSearchParamsSnapshot)?u:d)())}let o=e.key;if(!this.queues.has(o)){(0,r.c)("[nuqs dqc] Creating debounce queue for `%s`",o);let e=new y(e=>(this.throttleQueue.push(e),this.throttleQueue.flush(s,n).finally(()=>{var t;(null==(t=this.queues.get(e.key))?void 0:t.queuedValue)===void 0&&((0,r.c)("[nuqs dqc] Cleaning up empty queue for `%s`",e.key),this.queues.delete(e.key)),this.queuedQuerySync.emit(e.key)})));this.queues.set(o,e)}(0,r.c)("[nuqs dqc] Enqueueing debounce update %O",e);let i=this.queues.get(o).push(e,t);return this.queuedQuerySync.emit(o),i}abort(e){var t;let s=this.queues.get(e);return s?((0,r.c)("[nuqs dqc] Aborting debounce queue %s=%s",e,null==(t=s.queuedValue)?void 0:t.query),this.queues.delete(e),s.abort(),this.queuedQuerySync.emit(e),e=>(e.then(s.resolvers.resolve,s.resolvers.reject),e)):e=>e}abortAll(){for(let[t,s]of this.queues.entries()){var e;(0,r.c)("[nuqs dqc] Aborting debounce queue %s=%s",t,null==(e=s.queuedValue)?void 0:e.query),s.abort(),s.resolvers.resolve(new URLSearchParams),this.queuedQuerySync.emit(t)}this.queues.clear()}getQueuedQuery(e){var t,r;let s=null==(r=this.queues.get(e))||null==(t=r.queuedValue)?void 0:t.query;return void 0!==s?s:this.throttleQueue.getQueuedQuery(e)}constructor(e=new p){(0,t._)(this,"throttleQueue",void 0),(0,t._)(this,"queues",new Map),(0,t._)(this,"queuedQuerySync",a()),this.throttleQueue=e}}(f)},12985,e=>{"use strict";e.s(["NuqsAdapter",()=>h],12985);var t=e.i(24540),r=e.i(50361);function s(){(0,t.c)("[nuqs] Aborting queues"),r.t.abortAll(),r.n.abort().forEach(e=>r.t.queuedQuerySync.emit(e))}var n=e.i(71645),u=e.i(18566);let o=0;function i(){o=0,s()}function l(){--o<=0&&(o=0,queueMicrotask(s))}function a(){return(0,n.useEffect)(()=>(!function(){var e,r,s,n,u;if(e="next/app","undefined"==typeof history||((null==(r=history.nuqs)?void 0:r.version)&&"2.8.5"!==history.nuqs.version?(console.error((0,t.s)(409),history.nuqs.version,"2.8.5",e),!0):null!=(n=history.nuqs)&&null!=(s=n.adapters)&&!!s.includes(e)))return;let o=history.replaceState,i=history.pushState;history.replaceState=function(e,t,r){return l(),o.call(history,e,t,r)},history.pushState=function(e,t,r){return l(),i.call(history,e,t,r)},history.nuqs=null!=(u=history.nuqs)?u:{version:"2.8.5",adapters:[]},history.nuqs.adapters.push("next/app")}(),window.addEventListener("popstate",i),()=>window.removeEventListener("popstate",i)),[]),null}let c=(0,t.n)(function(){let e=(0,u.useRouter)(),[r,s]=(0,n.useOptimistic)((0,u.useSearchParams)());return{searchParams:r,updateUrl:(0,n.useCallback)((r,u)=>{(0,n.startTransition)(()=>{u.shallow||s(r);let n=function(e){let{origin:r,pathname:s,hash:n}=location;return r+s+(0,t.o)(e)+n}(r);(0,t.c)("[nuqs next/app] Updating url: %s",n);let i="push"===u.history?history.pushState:history.replaceState;o=3,i.call(history,null,"",n),u.scroll&&window.scrollTo(0,0),u.shallow||e.replace(n,{scroll:!1})})},[]),rateLimitFactor:3,autoResetQueueOnUpdate:!1}});function h(e){let{children:t,...r}=e;return(0,n.createElement)(c,{...r,children:[(0,n.createElement)(n.Suspense,{key:"nuqs-adapter-suspense-navspy",children:(0,n.createElement)(a)}),t]})}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/d92306cd027784a6.js b/docs/_next/static/chunks/d92306cd027784a6.js deleted file mode 100644 index 43afb8a..0000000 --- a/docs/_next/static/chunks/d92306cd027784a6.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,40141,e=>{"use strict";e.s(["GenIcon",()=>o],40141);var t=e.i(71645),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=t.default.createContext&&t.default.createContext(a),n=["attr","size","title"];function c(){return(c=Object.assign.bind()).apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function i(e){for(var t=1;tt.default.createElement(s,c({attr:i({},e.attr)},a),function e(a){return a&&a.map((a,r)=>t.default.createElement(a.tag,i({key:r},a.attr),e(a.child)))}(e.child))}function s(e){var l=a=>{var r,{attr:l,size:o,title:s}=e,u=function(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}(e,n),h=o||a.size||"1em";return a.className&&(r=a.className),e.className&&(r=(r?r+" ":"")+e.className),t.default.createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,l,u,{className:r,style:i(i({color:e.color||a.color},a.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),s&&t.default.createElement("title",null,s),e.children)};return void 0!==r?t.default.createElement(r.Consumer,null,e=>l(e)):l(a)}},11152,e=>{"use strict";e.s(["FaAngleDown",()=>r,"FaArrowDown",()=>n,"FaArrowUp",()=>c,"FaChevronLeft",()=>l,"FaChevronRight",()=>i,"FaDownload",()=>o,"FaFolderOpen",()=>s,"FaGithub",()=>a,"FaLock",()=>u,"FaTrashAlt",()=>h,"FaUnlock",()=>m]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"},child:[]}]})(e)}function n(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"},child:[]}]})(e)}function c(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"},child:[]}]})(e)}function l(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(e)}function i(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(e)}function o(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(e)}function s(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(e)}function u(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(e)}function h(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"},child:[]}]})(e)}function m(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"},child:[]}]})(e)}},20592,e=>{"use strict";e.s(["default",()=>t]);let t=e.i(29947).default},90106,e=>{"use strict";e.s(["BsBadge3dFill",()=>r,"BsFillGrid3X3GapFill",()=>a]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04"},child:[]},{tag:"path",attr:{d:"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126z"},child:[]}]})(e)}},53653,e=>{"use strict";let t;e.s(["importMultipleFilesToModels",()=>u,"modelToModelType",()=>l,"modelTypes",()=>c]);var a=e.i(71315);let r=e.i(20592).default.materials,n=/^(\.|__MACOSX)/,c={player:["lmale","mmale","hmale","lfemale","mfemale","hfemale","lbioderm","mbioderm","hbioderm"],weapon:["disc","chaingun","grenade_launcher","sniper","plasmathrower","energy","shocklance","elf","missile","mortar","repair","targeting","mine"],vehicle:["vehicle_grav_scout","vehicle_grav_tank","vehicle_land_mpbbase","vehicle_air_scout","vehicle_air_bomber","vehicle_air_hapc"]};function l(e){switch(e){case"lmale":case"mmale":case"hmale":case"lfemale":case"mfemale":case"hfemale":case"lbioderm":case"mbioderm":case"hbioderm":return"player";case"disc":case"chaingun":case"grenade_launcher":case"sniper":case"plasmathrower":case"energy":case"shocklance":case"elf":case"missile":case"mortar":case"repair":case"targeting":case"mine":return"weapon";case"vehicle_grav_scout":case"vehicle_grav_tank":case"vehicle_land_mpbbase":case"vehicle_air_scout":case"vehicle_air_bomber":case"vehicle_air_hapc":return"vehicle";default:throw Error("Unknown model")}}async function i(e){let t=await a.default.loadAsync(e);return(await Promise.all(Object.entries(t.files).map(async e=>{let[t,a]=e;if(!n.test(t)&&/\.png$/i.exec(t)){let e=await a.async("base64");return{path:t,imageUrl:"data:image/png;base64,".concat(e)}}}))).filter(e=>!!e)}async function o(e){return new Promise((t,a)=>{let r=new FileReader;r.addEventListener("load",e=>{var r;"string"==typeof(null==(r=e.target)?void 0:r.result)?t(e.target.result):a()}),r.addEventListener("error",e=>{a()}),r.readAsDataURL(e)})}async function s(e){return(await Promise.all(Array.from(e).map(async e=>{var t;if(n.test(e.name))return null;switch((t=e).name.match(/\.png$/i)?"png":t.name.match(/\.zip$/i)?"zip":t.name.match(/\.vl2$/i)?"vl2":void 0){case"zip":case"vl2":{let t=e.name.match(/^(.+)\.(zip|vl2)$/i),a=t?t[1]:e.name;return(await i(e)).map(t=>({...t,path:"".concat(e.name,"/").concat(t.path),name:a}))}case"png":return{path:e.name,imageUrl:await o(e),name:null};default:return null}}))).flat().filter(e=>!!e)}async function u(e){var a=await s(e);let n=new Map;return a.forEach(e=>{let a=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=function(){let e=new Map;for(let t in r)r[t].forEach((a,r)=>{let n;if(a.fileSuffix?n=a.fileSuffix:!1!==a.selectable&&!0!==a.hidden&&(a.file||a.name)&&(n=a.file||a.name),n){var c;let l=null!=(c=e.get(n))?c:[];l.push({modelName:t,material:a,index:r}),e.set(n,l)}});return e}());let n=e.split("/").slice(-1)[0],c=n.match(/^(.+)\.(PNG|png)$/);if(c){let r=c[1],l=r.split(".");if(l.length>1){let a=".".concat(l[l.length-1]),i=t.get(a);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:l.slice(0,l.length-1).join("."),models:i}}else{let i=function(e){let a=/^(.+[^\d])(\d{2,})$/.exec(e);if(a){var r;let e=a[1],n=a[2],c=parseInt(n,10),l="".concat(e).concat("0".padStart(n.length,"0"));return(null!=(r=t.get(l))?r:[]).filter(e=>"number"==typeof e.material.frameCount).map(e=>({...e,frameIndex:c}))}return[]}(l[0]);if(i.length)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i};{let i=t.get(l[0]);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i}}}}return null}(e.path,e.name);a&&a.models.forEach(t=>{var r,c,l,i,o;let s=null!=(r=n.get(t.modelName))?r:new Map,u=null!=(c=s.get(a.skinName))?c:{name:a.skinName,isComplete:null,materials:new Map},h=null!=(l=t.material.file)?l:t.material.name,m=null!=(i=u.materials.get(h))?i:[];m[null!=(o=t.frameIndex)?o:0]=e.imageUrl,u.materials.set(h,m),s.set(a.skinName,u),n.set(t.modelName,s)})}),n.forEach((e,t)=>{let a=r[t].filter(e=>!1!==e.selectable&&!0!==e.hidden&&!0!==e.optional);e.forEach(e=>{e.isComplete=a.every(t=>{var a;return e.materials.has(null!=(a=t.file)?a:t.name)})})}),n}},15768,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(71645);let a={customSkins:{},newSkins:{},packs:{},sizeMultiplier:{}};function r(){let[e,r]=(0,t.useState)(a);(0,t.useEffect)(()=>{let e=new AbortController,t=e.signal,a=!1;return(async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:t}),!a){let t=await e.json();a||r(t)}}catch(e){console.error(e)}})(),()=>{a=!0,e.signal.aborted||e.abort()}},[]);let n=e!==a;return[e,n]}},18566,(e,t,a)=>{t.exports=e.r(76562)}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/d9f21d966613a96e.js b/docs/_next/static/chunks/d9f21d966613a96e.js new file mode 100644 index 0000000..5fb7da8 --- /dev/null +++ b/docs/_next/static/chunks/d9f21d966613a96e.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,40141,e=>{"use strict";e.s(["GenIcon",()=>o],40141);var t=e.i(71645),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=t.default.createContext&&t.default.createContext(a),c=["attr","size","title"];function n(){return(n=Object.assign.bind()).apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function i(e){for(var t=1;tt.default.createElement(s,n({attr:i({},e.attr)},a),function e(a){return a&&a.map((a,r)=>t.default.createElement(a.tag,i({key:r},a.attr),e(a.child)))}(e.child))}function s(e){var l=a=>{var r,{attr:l,size:o,title:s}=e,u=function(e,t){if(null==e)return{};var a,r,c=function(e,t){if(null==e)return{};var a={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(c[a]=e[a])}return c}(e,c),h=o||a.size||"1em";return a.className&&(r=a.className),e.className&&(r=(r?r+" ":"")+e.className),t.default.createElement("svg",n({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,l,u,{className:r,style:i(i({color:e.color||a.color},a.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),s&&t.default.createElement("title",null,s),e.children)};return void 0!==r?t.default.createElement(r.Consumer,null,e=>l(e)):l(a)}},90106,e=>{"use strict";e.s(["BsBadge3dFill",()=>r,"BsFillGrid3X3GapFill",()=>a]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04"},child:[]},{tag:"path",attr:{d:"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126z"},child:[]}]})(e)}},11152,e=>{"use strict";e.s(["FaAngleDown",()=>r,"FaArrowDown",()=>c,"FaArrowUp",()=>n,"FaChevronLeft",()=>l,"FaChevronRight",()=>i,"FaDownload",()=>o,"FaFolderOpen",()=>s,"FaGithub",()=>a,"FaLock",()=>u,"FaSearch",()=>h,"FaTimes",()=>m,"FaTrashAlt",()=>v,"FaUnlock",()=>d]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"},child:[]}]})(e)}function c(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"},child:[]}]})(e)}function n(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"},child:[]}]})(e)}function l(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(e)}function i(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(e)}function o(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(e)}function s(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(e)}function u(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(e)}function h(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"},child:[]}]})(e)}function m(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"},child:[]}]})(e)}function v(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"},child:[]}]})(e)}function d(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"},child:[]}]})(e)}},15768,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(71645);let a={customSkins:{},newSkins:{},packs:{},sizeMultiplier:{}};function r(){let[e,r]=(0,t.useState)(a);(0,t.useEffect)(()=>{let e=new AbortController,t=e.signal,a=!1;return(async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:t}),!a){let t=await e.json();a||r(t)}}catch(e){console.error(e)}})(),()=>{a=!0,e.signal.aborted||e.abort()}},[]);let c=e!==a;return[e,c]}},20592,e=>{"use strict";e.s(["default",()=>t]);let t=e.i(29947).default},53653,e=>{"use strict";let t;e.s(["importMultipleFilesToModels",()=>u,"modelToModelType",()=>l,"modelTypes",()=>n]);var a=e.i(71315);let r=e.i(20592).default.materials,c=/^(\.|__MACOSX)/,n={player:["lmale","mmale","hmale","lfemale","mfemale","hfemale","lbioderm","mbioderm","hbioderm"],weapon:["disc","chaingun","grenade_launcher","sniper","plasmathrower","energy","shocklance","elf","missile","mortar","repair","targeting","mine"],vehicle:["vehicle_grav_scout","vehicle_grav_tank","vehicle_land_mpbbase","vehicle_air_scout","vehicle_air_bomber","vehicle_air_hapc"]};function l(e){switch(e){case"lmale":case"mmale":case"hmale":case"lfemale":case"mfemale":case"hfemale":case"lbioderm":case"mbioderm":case"hbioderm":return"player";case"disc":case"chaingun":case"grenade_launcher":case"sniper":case"plasmathrower":case"energy":case"shocklance":case"elf":case"missile":case"mortar":case"repair":case"targeting":case"mine":return"weapon";case"vehicle_grav_scout":case"vehicle_grav_tank":case"vehicle_land_mpbbase":case"vehicle_air_scout":case"vehicle_air_bomber":case"vehicle_air_hapc":return"vehicle";default:throw Error("Unknown model")}}async function i(e){let t=await a.default.loadAsync(e);return(await Promise.all(Object.entries(t.files).map(async e=>{let[t,a]=e;if(!c.test(t)&&/\.png$/i.exec(t)){let e=await a.async("base64");return{path:t,imageUrl:"data:image/png;base64,".concat(e)}}}))).filter(e=>!!e)}async function o(e){return new Promise((t,a)=>{let r=new FileReader;r.addEventListener("load",e=>{var r;"string"==typeof(null==(r=e.target)?void 0:r.result)?t(e.target.result):a()}),r.addEventListener("error",e=>{a()}),r.readAsDataURL(e)})}async function s(e){return(await Promise.all(Array.from(e).map(async e=>{var t;if(c.test(e.name))return null;switch((t=e).name.match(/\.png$/i)?"png":t.name.match(/\.zip$/i)?"zip":t.name.match(/\.vl2$/i)?"vl2":void 0){case"zip":case"vl2":{let t=e.name.match(/^(.+)\.(zip|vl2)$/i),a=t?t[1]:e.name;return(await i(e)).map(t=>({...t,path:"".concat(e.name,"/").concat(t.path),name:a}))}case"png":return{path:e.name,imageUrl:await o(e),name:null};default:return null}}))).flat().filter(e=>!!e)}async function u(e){var a=await s(e);let c=new Map;return a.forEach(e=>{let a=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=function(){let e=new Map;for(let t in r)r[t].forEach((a,r)=>{let c;if(a.fileSuffix?c=a.fileSuffix:!1!==a.selectable&&!0!==a.hidden&&(a.file||a.name)&&(c=a.file||a.name),c){var n;let l=null!=(n=e.get(c))?n:[];l.push({modelName:t,material:a,index:r}),e.set(c,l)}});return e}());let c=e.split("/").slice(-1)[0],n=c.match(/^(.+)\.(PNG|png)$/);if(n){let r=n[1],l=r.split(".");if(l.length>1){let a=".".concat(l[l.length-1]),i=t.get(a);if(i)return{path:e,basename:c,nameWithoutExtension:r,extension:n[2],skinName:l.slice(0,l.length-1).join("."),models:i}}else{let i=function(e){let a=/^(.+[^\d])(\d{2,})$/.exec(e);if(a){var r;let e=a[1],c=a[2],n=parseInt(c,10),l="".concat(e).concat("0".padStart(c.length,"0"));return(null!=(r=t.get(l))?r:[]).filter(e=>"number"==typeof e.material.frameCount).map(e=>({...e,frameIndex:n}))}return[]}(l[0]);if(i.length)return{path:e,basename:c,nameWithoutExtension:r,extension:n[2],skinName:a,models:i};{let i=t.get(l[0]);if(i)return{path:e,basename:c,nameWithoutExtension:r,extension:n[2],skinName:a,models:i}}}}return null}(e.path,e.name);a&&a.models.forEach(t=>{var r,n,l,i,o;let s=null!=(r=c.get(t.modelName))?r:new Map,u=null!=(n=s.get(a.skinName))?n:{name:a.skinName,isComplete:null,materials:new Map},h=null!=(l=t.material.file)?l:t.material.name,m=null!=(i=u.materials.get(h))?i:[];m[null!=(o=t.frameIndex)?o:0]=e.imageUrl,u.materials.set(h,m),s.set(a.skinName,u),c.set(t.modelName,s)})}),c.forEach((e,t)=>{let a=r[t].filter(e=>!1!==e.selectable&&!0!==e.hidden&&!0!==e.optional);e.forEach(e=>{e.isComplete=a.every(t=>{var a;return e.materials.has(null!=(a=t.file)?a:t.name)})})}),c}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/e233a54f1de7eeb5.js b/docs/_next/static/chunks/e233a54f1de7eeb5.js deleted file mode 100644 index e84567f..0000000 --- a/docs/_next/static/chunks/e233a54f1de7eeb5.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29402,(e,t,r)=>{var n,o,a="__lodash_hash_undefined__",l=1/0,i="[object Arguments]",u="[object Array]",c="[object Boolean]",s="[object Date]",f="[object Error]",d="[object Function]",p="[object Map]",h="[object Number]",_="[object Object]",v="[object Promise]",y="[object RegExp]",g="[object Set]",m="[object String]",b="[object Symbol]",j="[object WeakMap]",w="[object ArrayBuffer]",x="[object DataView]",O=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/,k=/^\./,P=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T=/\\(\\)?/g,C=/^\[object .+?Constructor\]$/,E=/^(?:0|[1-9]\d*)$/,A={};A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A[i]=A[u]=A[w]=A[c]=A[x]=A[s]=A[f]=A[d]=A[p]=A[h]=A[_]=A[y]=A[g]=A[m]=A[j]=!1;var M=e.g&&e.g.Object===Object&&e.g,L="object"==typeof self&&self&&self.Object===Object&&self,N=M||L||Function("return this")(),R=r&&!r.nodeType&&r,D=R&&t&&!t.nodeType&&t,z=D&&D.exports===R&&M.process,F=function(){try{return z&&z.binding("util")}catch(e){}}(),I=F&&F.isTypedArray;function G(e,t){for(var r=-1,n=e?e.length:0,o=Array(n);++r-1},eb.prototype.set=function(e,t){var r=this.__data__,n=eO(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},ej.prototype.clear=function(){this.__data__={hash:new em,map:new(el||eb),string:new em}},ej.prototype.delete=function(e){return eM(this,e).delete(e)},ej.prototype.get=function(e){return eM(this,e).get(e)},ej.prototype.has=function(e){return eM(this,e).has(e)},ej.prototype.set=function(e,t){return eM(this,e).set(e,t),this},ew.prototype.add=ew.prototype.push=function(e){return this.__data__.set(e,a),this},ew.prototype.has=function(e){return this.__data__.has(e)},ex.prototype.clear=function(){this.__data__=new eb},ex.prototype.delete=function(e){return this.__data__.delete(e)},ex.prototype.get=function(e){return this.__data__.get(e)},ex.prototype.has=function(e){return this.__data__.has(e)},ex.prototype.set=function(e,t){var r=this.__data__;if(r instanceof eb){var n=r.__data__;if(!el||n.length<199)return n.push([e,t]),this;r=this.__data__=new ej(n)}return r.set(e,t),this};var eS=function(e,t){return function(r,n){if(null==r)return r;if(!eV(r))return e(r,n);for(var o=r.length,a=-1,l=Object(r);(t?a--:++ai))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var s=-1,f=!0,d=1&o?new ew:void 0;for(a.set(e,t),a.set(t,e);++s-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff}function eW(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eQ(e){return!!e&&"object"==typeof e}function eq(e){return"symbol"==typeof e||eQ(e)&&X.call(e)==b}var eJ=I?B(I):function(e){return eQ(e)&&eK(e.length)&&!!A[X.call(e)]};function eX(e){return eV(e)?function(e,t){var r=e$(e)||eH(e)?function(e,t){for(var r=-1,n=Array(e);++rt||a&&l&&u&&!i&&!c||n&&l&&u||!r&&u||!o)return 1;if(!n&&!a&&!c&&e=i)return u;return u*("desc"==r[n]?-1:1)}}return e.index-t.index}(e,t,r)});u--;)i[u]=i[u].value;return i}(e,t,r))}},97052,e=>{e.v({Back:"gallery-module__zlwOTG__Back",Detail:"gallery-module__zlwOTG__Detail",DownloadButton:"gallery-module__zlwOTG__DownloadButton",DownloadHiRes:"gallery-module__zlwOTG__DownloadHiRes",DownloadSection:"gallery-module__zlwOTG__DownloadSection",DownloadSkin:"gallery-module__zlwOTG__DownloadSkin",DownloadSpinner:"gallery-module__zlwOTG__DownloadSpinner",Gallery:"gallery-module__zlwOTG__Gallery",GalleryPage:"gallery-module__zlwOTG__GalleryPage",HeaderEnd:"gallery-module__zlwOTG__HeaderEnd",HiResSelect:"gallery-module__zlwOTG__HiResSelect",IconLink:"gallery-module__zlwOTG__IconLink",Label:"gallery-module__zlwOTG__Label",LoadInEditor:"gallery-module__zlwOTG__LoadInEditor",Name:"gallery-module__zlwOTG__Name",PackVersion:"gallery-module__zlwOTG__PackVersion",Preview:"gallery-module__zlwOTG__Preview",Skin:"gallery-module__zlwOTG__Skin",Spinner:"gallery-module__zlwOTG__Spinner",Tools:"gallery-module__zlwOTG__Tools",spin:"gallery-module__zlwOTG__spin"})},36159,(e,t,r)=>{"use strict";function n(){return null}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98183,(e,t,r)=>{"use strict";function n(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,o(e));else t.set(r,o(n));return t}function l(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{formatUrl:function(){return a},formatWithValidation:function(){return i},urlObjectKeys:function(){return l}});let n=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",l=e.pathname||"",i=e.hash||"",u=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(c+=":"+e.port)),u&&"object"==typeof u&&(u=String(n.urlQueryToSearchParams(u)));let s=e.search||u&&"?"+u||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),l&&"/"!==l[0]&&(l="/"+l)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),s&&"?"!==s[0]&&(s="?"+s),""+a+c+(l=l.replace(/[?#]/g,encodeURIComponent))+(s=s.replace("#","%23"))+i}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return a(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DecodeError:function(){return _},MiddlewareNotFoundError:function(){return m},MissingStaticPage:function(){return g},NormalizeError:function(){return v},PageNotFoundError:function(){return y},SP:function(){return p},ST:function(){return h},WEB_VITALS:function(){return n},execOnce:function(){return o},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return s},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return f},stringifyError:function(){return b}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;aa.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function u(){let{href:e}=window.location,t=i();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function f(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let p="undefined"!=typeof performance,h=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class _ extends Error{}class v extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class m extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),o=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return v},useLinkStatus:function(){return g}});let n=e.r(90809),o=e.r(43476),a=n._(e.r(71645)),l=e.r(95057),i=e.r(8372),u=e.r(18581),c=e.r(18967),s=e.r(5550);e.r(33525);let f=e.r(91949),d=e.r(73668),p=e.r(99781);e.r(84508);let h=e.r(65165);function _(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function v(e){var t;let r,n,l,[v,g]=(0,a.useOptimistic)(f.IDLE_LINK_STATUS),m=(0,a.useRef)(null),{href:b,as:j,children:w,prefetch:x=null,passHref:O,replace:S,shallow:k,scroll:P,onClick:T,onMouseEnter:C,onTouchStart:E,legacyBehavior:A=!1,onNavigate:M,ref:L,unstable_dynamicOnHover:N,...R}=e;r=w,A&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let D=a.default.useContext(i.AppRouterContext),z=!1!==x,F=!1!==x?null===(t=x)||"auto"===t?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:I,as:G}=a.default.useMemo(()=>{let e=_(b);return{href:e,as:j?_(j):e}},[b,j]);A&&(n=a.default.Children.only(r));let B=A?n&&"object"==typeof n&&n.ref:L,U=a.default.useCallback(e=>(null!==D&&(m.current=(0,f.mountLinkInstance)(e,I,D,F,z,g)),()=>{m.current&&((0,f.unmountLinkForCurrentNavigation)(m.current),m.current=null),(0,f.unmountPrefetchableInstance)(e)}),[z,I,D,F,g]),H={ref:(0,u.useMergedRef)(U,B),onClick(e){A||"function"!=typeof T||T(e),A&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),D&&(e.defaultPrevented||function(e,t,r,n,o,l,i){let{nodeName:u}=e.currentTarget;if(!("A"===u.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,d.isLocalURL)(t)){o&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}a.default.startTransition(()=>{(0,p.dispatchNavigateAction)(r||t,o?"replace":"push",null==l||l,n.current)})}}(e,I,G,m,S,P,M))},onMouseEnter(e){A||"function"!=typeof C||C(e),A&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),D&&z&&(0,f.onNavigationIntent)(e.currentTarget,!0===N)},onTouchStart:function(e){A||"function"!=typeof E||E(e),A&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),D&&z&&(0,f.onNavigationIntent)(e.currentTarget,!0===N)}};return(0,c.isAbsoluteUrl)(G)?H.href=G:A&&!O&&("a"!==n.type||"href"in n.props)||(H.href=(0,s.addBasePath)(G)),l=A?a.default.cloneElement(n,H):(0,o.jsx)("a",{...R,...H,children:r}),(0,o.jsx)(y.Provider,{value:v,children:l})}let y=(0,a.createContext)(f.IDLE_LINK_STATUS),g=()=>(0,a.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},25500,e=>{"use strict";e.s(["default",()=>b],25500);var t=e.i(43476),r=e.i(71645),n=e.i(40141);function o(e){return(0,n.GenIcon)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{opacity:"0.2",fillRule:"evenodd",clipRule:"evenodd",d:"M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M12 22C17.5228 22 22 17.5228 22 12H19C19 15.866 15.866 19 12 19V22Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z",fill:"currentColor"},child:[]}]})(e)}var a=e.i(90106),l=e.i(11152),i=e.i(18566),u=e.i(29402),c=e.i(15768),s=e.i(97052),f=e.i(36159),d=e.i(22016),p=e.i(69642),h=e.i(53653),_=e.i(20592);let v=[];function y(e){return _.default.materials[e].map(e=>{var t;if(e.hidden||!1===e.selectable)return null;let r=null!=(t=e.file)?t:e.name;if(r)if("number"==typeof e.frameCount&&e.frameCount>1)return Array(e.frameCount).fill(r).map((e,t)=>{if(!(t>0))return e;{let r=/^(.+[^\d])(\d{2,})$/.exec(e);if(r){let e=r[1],n=r[2];return"".concat(e).concat(t.toString().padStart(n.length,"0"))}throw Error("frameCount > 0, but could not parse index")}});else return r}).flat().filter(e=>null!=e).map(e=>"".concat(e,".png"))}let g={lmale:0,mmale:1,lfemale:2,mfemale:3,hmale:4,lbioderm:5,mbioderm:6,hbioderm:7,energy:8,disc:9,chaingun:10,grenade_launcher:11,sniper:12,elf:13,shocklance:14,plasmathrower:15,missile:16,mortar:17,repair:18,targeting:19,vehicle_grav_scout:20,vehicle_grav_tank:21,turret_assaulttank_mortar:22,vehicle_land_mpbbase:23,vehicle_air_scout:24,vehicle_air_bomber:25,vehicle_air_hapc:26};function m(){var e,n,_;let m=(0,i.useRouter)(),b=(0,i.usePathname)(),j=(0,i.useSearchParams)(),w=(0,r.useRef)(null),[x,O]=(0,c.default)(),[S,k]=(0,r.useState)("lmale"),[P,T]=(0,r.useState)(!1),[C,E]=(0,r.useState)("prompt"),A="hfemale"===S?"hmale":S,M=null!=(_=null==(e=x.customSkins)?void 0:e[A])?_:v,L="new"===S,N=null==x||null==(n=x.packs)?void 0:n[S],R=null!=N;(0,r.useEffect)(()=>{let e=localStorage.getItem("hiResDownload");switch(e){case"yes":case"no":E(e)}},[]),(0,r.useEffect)(()=>{if(N&&P){let e=!1;return(async()=>{let t=N.files,r=t.some(e=>x.sizeMultiplier[e]>1);if(r&&"prompt"===C){window.alert("This download contains HD textures, which require the QoL patch. Select “yes” or “no” for HD support, then try again."),w.current&&w.current.focus(),T(!1);return}let n="yes"===C?t:t.map(e=>x.sizeMultiplier[e]>1?e.replace(/\.png$/,"@1x.png"):e),o="zSkinPack-".concat(S,"-v").concat(N.version,".vl2");r&&"no"===C&&(o=o.replace(/\.vl2$/,"@1x.vl2"));let a=await (0,p.collectFiles)(n);if(!e){let t=(0,p.createZipFile)(a);await new Promise(e=>setTimeout(e,500)),e||await (0,p.saveZipFile)(t,o),e||T(!1)}})(),()=>{e=!0,T(!1)}}},[C,P,x.sizeMultiplier,N,S]);let D=(0,r.useMemo)(()=>{var e;return(0,u.default)(Object.keys(null!=(e=null==x?void 0:x.packs)?e:{}),e=>e.toLowerCase(),["asc"])},[x]),z=(0,r.useMemo)(()=>{var e,t;let r=L?null==x?void 0:x.newSkins:R?null==x||null==(t=x.packs)||null==(e=t[S])?void 0:e.skins:null;if(!r)return[];let n=[];return Object.entries(r).forEach(e=>{let[t,r]=e;n.push(...r.map(e=>({name:e,model:t})))}),(0,u.default)(n,[e=>e.name.toLowerCase(),e=>g[e.model]],["asc","asc"])},[L,R,S,x]),F=L||R?z:M,I=j.get("filter")||"lmale";return(0,r.useEffect)(()=>{T(!1),k(I)},[I]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(f.default,{children:(0,t.jsx)("title",{children:"Tribes 2 Skin Gallery"})}),(0,t.jsxs)("main",{className:s.default.GalleryPage,children:[(0,t.jsxs)("div",{className:s.default.Tools,children:[(0,t.jsxs)(d.default,{className:s.default.Back,href:"../",children:[(0,t.jsx)(l.FaChevronLeft,{size:12,className:s.default.Icon})," ",(0,t.jsx)("span",{className:s.default.Label,children:"Back to Editor"})]}),(0,t.jsxs)("select",{tabIndex:0,id:"ModelSelect","aria-label":"Player model",onChange:e=>{m.push("".concat(b,"?filter=").concat(e.target.value))},value:S,children:[(0,t.jsx)("option",{value:"new",children:"All new skins ✨"}),(0,t.jsx)("optgroup",{label:"Packs",children:D.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsxs)("optgroup",{label:"Players","data-model-type":"player",children:[(0,t.jsx)("option",{value:"lmale",children:"Human Male • Light"}),(0,t.jsx)("option",{value:"mmale",children:"Human Male • Medium"}),(0,t.jsx)("option",{value:"hmale",children:"Human Male • Heavy"}),(0,t.jsx)("option",{value:"lfemale",children:"Human Female • Light"}),(0,t.jsx)("option",{value:"mfemale",children:"Human Female • Medium"}),(0,t.jsx)("option",{value:"hfemale",children:"Human Female • Heavy"}),(0,t.jsx)("option",{value:"lbioderm",children:"Bioderm • Light"}),(0,t.jsx)("option",{value:"mbioderm",children:"Bioderm • Medium"}),(0,t.jsx)("option",{value:"hbioderm",children:"Bioderm • Heavy"})]}),(0,t.jsxs)("optgroup",{label:"Weapons","data-model-type":"weapon",children:[(0,t.jsx)("option",{value:"disc",children:"Disc Launcher"}),(0,t.jsx)("option",{value:"chaingun",children:"Chaingun"}),(0,t.jsx)("option",{value:"grenade_launcher",children:"Grenade Launcher"}),(0,t.jsx)("option",{value:"sniper",children:"Laser Rifle"}),(0,t.jsx)("option",{value:"plasmathrower",children:"Plasma Cannon"}),(0,t.jsx)("option",{value:"energy",children:"Blaster"}),(0,t.jsx)("option",{value:"shocklance",children:"Shocklance"}),(0,t.jsx)("option",{value:"elf",children:"ELF Projector"}),(0,t.jsx)("option",{value:"missile",children:"Missile Launcher"}),(0,t.jsx)("option",{value:"mortar",children:"Mortar"}),(0,t.jsx)("option",{value:"repair",children:"Repair Pack"}),(0,t.jsx)("option",{value:"targeting",children:"Targeting Laser"})]}),(0,t.jsxs)("optgroup",{label:"Vehicles","data-model-type":"vehicle",children:[(0,t.jsx)("option",{value:"vehicle_grav_scout",children:"Wildcat Grav Cycle"}),(0,t.jsx)("option",{value:"vehicle_grav_tank",children:"Beowulf Assault Tank"}),(0,t.jsx)("option",{value:"vehicle_land_mpbbase",children:"Jericho Mobile Point Base"}),(0,t.jsx)("option",{value:"vehicle_air_scout",children:"Shrike Scout Fighter"}),(0,t.jsx)("option",{value:"vehicle_air_bomber",children:"Thundersword Bomber"}),(0,t.jsx)("option",{value:"vehicle_air_hapc",children:"HAVOC Gunship Transport"})]})]}),(0,t.jsxs)("div",{className:s.default.HeaderEnd,children:[R?(0,t.jsxs)("div",{className:s.default.DownloadSection,children:[(0,t.jsx)("button",{type:"button",className:s.default.DownloadButton,onClick:async()=>{T(!0)},children:"Download"})," ",P?(0,t.jsx)(o,{className:s.default.DownloadSpinner}):(0,t.jsxs)("span",{className:s.default.PackVersion,children:["v",N.version," • ",N.files.length.toLocaleString()," ",1===N.files.length?"file":"files"]})]}):null,(0,t.jsxs)("div",{className:s.default.DownloadHiRes,children:[(0,t.jsx)("label",{htmlFor:"hiResSelect",children:"HD support?"}),(0,t.jsxs)("select",{id:"hiResSelect",className:s.default.HiResSelect,ref:w,value:C,disabled:P,onChange:e=>{switch(e.target.value){case"prompt":E(e.target.value),localStorage.removeItem("hiResDownload");break;case"yes":case"no":E(e.target.value),localStorage.setItem("hiResDownload",e.target.value)}},children:[(0,t.jsx)("option",{value:"prompt",children:"Ask"}),(0,t.jsx)("option",{value:"yes",children:"Yes"}),(0,t.jsx)("option",{value:"no",children:"No"})]})]})]})]}),O?(0,t.jsx)("div",{className:s.default.Gallery,children:F.map(e=>{let r,n;"string"==typeof e?(r=e,n=A):(r=e.name,n=e.model);let o="".concat("https://exogen.github.io/t2-skins","/gallery/").concat(encodeURIComponent(r),".").concat(n,".webp");return(0,t.jsxs)("div",{className:s.default.Skin,children:[(0,t.jsx)("img",{className:s.default.Preview,loading:"lazy",src:o,width:680,height:800,alt:r}),(0,t.jsxs)("div",{className:s.default.Detail,children:[(0,t.jsx)(d.default,{className:s.default.LoadInEditor,href:"/?m=".concat(n,"&s=").concat(encodeURIComponent(r)),children:(0,t.jsx)(a.BsBadge3dFill,{title:"Load in Editor","aria-label":"Load in Editor"})}),(0,t.jsx)("span",{className:s.default.Name,children:r}),(0,t.jsx)("button",{type:"button",className:s.default.DownloadSkin,title:"Download ".concat(r," skin"),"aria-label":"Download ".concat(r," skin"),onClick:async()=>{let e=(0,h.modelToModelType)(n),t=n.replace(/(?:^([a-z])|_([a-z]))/g,(e,t,r)=>(t||r).toUpperCase()),o="",a=[];switch(e){case"player":o="zPlayerSkin-".concat(r,".vl2"),a=h.modelTypes.player.filter(e=>x.customSkins[e].includes(r)).map(e=>"".concat(r,".").concat(e,".png"));break;case"weapon":o="zWeapon".concat(t,"-").concat(r,".vl2"),a=y(n).map(e=>"".concat(r,"/").concat(e));break;case"vehicle":o="z".concat(t,"-").concat(r,".vl2"),a=y(n).map(e=>"".concat(r,"/").concat(e))}if(a.length){let e=a.some(e=>x.sizeMultiplier[e]>1);if(e&&"prompt"===C){window.alert("This download contains HD textures, which require the QoL patch. Select “yes” or “no” for HD support, then try again."),w.current&&w.current.focus();return}let t="yes"===C?a:a.map(e=>x.sizeMultiplier[e]>1?e.replace(/\.png$/,"@1x.png"):e);e&&"no"===C&&(o=o.replace(/\.vl2$/,"@1x.vl2"));let r=await (0,p.collectFiles)(t,{skipNotFound:!0}),n=(0,p.createZipFile)(r.map(e=>{let{name:t,data:r}=e;return{name:t.split("/").slice(-1)[0],data:r}}));await (0,p.saveZipFile)(n,o)}},children:(0,t.jsx)(l.FaDownload,{})})]})]},"".concat(r,":").concat(n))})}):(0,t.jsx)(o,{className:s.default.Spinner})]})]})}function b(){return(0,t.jsx)(r.Suspense,{children:(0,t.jsx)(m,{})})}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/turbopack-4d45172b5e45496b.js b/docs/_next/static/chunks/turbopack-b7ab530f5fea73f2.js similarity index 98% rename from docs/_next/static/chunks/turbopack-4d45172b5e45496b.js rename to docs/_next/static/chunks/turbopack-b7ab530f5fea73f2.js index 1c48731..05422fe 100644 --- a/docs/_next/static/chunks/turbopack-4d45172b5e45496b.js +++ b/docs/_next/static/chunks/turbopack-b7ab530f5fea73f2.js @@ -1,3 +1,3 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/409daa79903bdca4.js","static/chunks/2d9285e85aed01d3.js","static/chunks/2468949c4832742b.js","static/chunks/c04e1bae83958c28.js","static/chunks/5dbf38a244ed1dc8.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/t2-model-skinner/_next/",r=new WeakMap;function n(e,t){this.m=e,this.e=t}let o=n.prototype,i=Object.prototype.hasOwnProperty,l="undefined"!=typeof Symbol&&Symbol.toStringTag;function s(e,t,r){i.call(e,t)||Object.defineProperty(e,t,r)}function u(e,t){let r=e[t];return r||(r=a(t),e[t]=r),r}function a(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function c(e,t){s(e,"__esModule",{value:!0}),l&&s(e,l,{value:"Module"});let r=0;for(;rObject.getPrototypeOf(e):e=>e.__proto__,p=[null,f({}),f([]),f(f)];function h(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!p.includes(t);t=f(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n[o]=()=>e:n.push("default",()=>e)),c(t,n),t}function d(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}o.i=function(e){let t=M(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=h(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)},o.A=function(e){return this.r(e)(this.i.bind(this))},o.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},o.r=function(e){return M(e,this.m).exports},o.f=function(e){function t(t){if(i.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(i.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let m=Symbol("turbopack queues"),b=Symbol("turbopack exports"),y=Symbol("turbopack error");function O(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}o.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=d(),u=Object.assign(s,{[b]:r.exports,[m]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[b]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(m in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[b]:{},[m]:e=>e(t)};return e.then(e=>{r[b]=e,O(t)},e=>{r[y]=e,O(t)}),r}}return{[b]:e,[m]:()=>{}}}),r=()=>t.map(e=>{if(e[y])throw e[y];return e[b]}),{promise:i,resolve:l}=d(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[m](u)),s.queueCount?i:r()},function(e){e?l(u[y]=e):i(u[b]),O(n)}),n&&-1===n.status&&(n.status=0)};let g=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function w(e,t){throw Error(`Invariant: ${t(e)}`)}g.prototype=URL.prototype,o.U=g,o.z=function(e){throw Error("dynamic usage of require is not supported")},o.g=globalThis;let j=n.prototype;var R=function(e){return e[e.Runtime=0]="Runtime",e[e.Parent=1]="Parent",e[e.Update=2]="Update",e}(R||{});let C=new Map;o.M=C;let _=new Map,U=new Map;async function k(e,t,r){let n;if("string"==typeof r)return $(e,t,T(r));let o=r.included||[],i=o.map(e=>!!C.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>U.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)U.has(e)||r.add(e);for(let n of r){let r=$(e,t,T(n));U.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=$(e,t,T(r.path)),l))U.has(o)||U.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}j.l=function(e){return k(1,this.m.id,e)};let v=Promise.resolve(void 0),P=new WeakMap;function $(t,r,n){let o=e.loadChunkCached(t,n),i=P.get(o);if(void 0===i){let e=P.set.bind(P,o,v);i=o.then(e).catch(e=>{let o;switch(t){case 0:o=`as a runtime dependency of chunk ${r}`;break;case 1:o=`from module ${r}`;break;case 2:o="from an HMR update";break;default:w(t,e=>`Unknown source type: ${e}`)}throw Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0)}),P.set(o,i)}return i}function T(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}`}j.L=function(e){return $(1,this.m.id,e)},j.R=function(e){let t=this.r(e);return t?.default??t},j.P=function(e){return`/ROOT/${e??""}`},j.b=function(e){let t=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)}; +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/4173aaf78a0717e6.js","static/chunks/91adb7bdb9870c6a.js","static/chunks/2468949c4832742b.js","static/chunks/c04e1bae83958c28.js","static/chunks/5dbf38a244ed1dc8.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/t2-model-skinner/_next/",r=new WeakMap;function n(e,t){this.m=e,this.e=t}let o=n.prototype,i=Object.prototype.hasOwnProperty,l="undefined"!=typeof Symbol&&Symbol.toStringTag;function s(e,t,r){i.call(e,t)||Object.defineProperty(e,t,r)}function u(e,t){let r=e[t];return r||(r=a(t),e[t]=r),r}function a(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function c(e,t){s(e,"__esModule",{value:!0}),l&&s(e,l,{value:"Module"});let r=0;for(;rObject.getPrototypeOf(e):e=>e.__proto__,p=[null,f({}),f([]),f(f)];function h(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!p.includes(t);t=f(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n[o]=()=>e:n.push("default",()=>e)),c(t,n),t}function d(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}o.i=function(e){let t=M(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=h(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)},o.A=function(e){return this.r(e)(this.i.bind(this))},o.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},o.r=function(e){return M(e,this.m).exports},o.f=function(e){function t(t){if(i.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(i.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let m=Symbol("turbopack queues"),b=Symbol("turbopack exports"),y=Symbol("turbopack error");function O(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}o.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=d(),u=Object.assign(s,{[b]:r.exports,[m]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[b]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(m in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[b]:{},[m]:e=>e(t)};return e.then(e=>{r[b]=e,O(t)},e=>{r[y]=e,O(t)}),r}}return{[b]:e,[m]:()=>{}}}),r=()=>t.map(e=>{if(e[y])throw e[y];return e[b]}),{promise:i,resolve:l}=d(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[m](u)),s.queueCount?i:r()},function(e){e?l(u[y]=e):i(u[b]),O(n)}),n&&-1===n.status&&(n.status=0)};let g=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function w(e,t){throw Error(`Invariant: ${t(e)}`)}g.prototype=URL.prototype,o.U=g,o.z=function(e){throw Error("dynamic usage of require is not supported")},o.g=globalThis;let j=n.prototype;var R=function(e){return e[e.Runtime=0]="Runtime",e[e.Parent=1]="Parent",e[e.Update=2]="Update",e}(R||{});let C=new Map;o.M=C;let _=new Map,U=new Map;async function k(e,t,r){let n;if("string"==typeof r)return $(e,t,T(r));let o=r.included||[],i=o.map(e=>!!C.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>U.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)U.has(e)||r.add(e);for(let n of r){let r=$(e,t,T(n));U.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=$(e,t,T(r.path)),l))U.has(o)||U.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}j.l=function(e){return k(1,this.m.id,e)};let v=Promise.resolve(void 0),P=new WeakMap;function $(t,r,n){let o=e.loadChunkCached(t,n),i=P.get(o);if(void 0===i){let e=P.set.bind(P,o,v);i=o.then(e).catch(e=>{let o;switch(t){case 0:o=`as a runtime dependency of chunk ${r}`;break;case 1:o=`from module ${r}`;break;case 2:o="from an HMR update";break;default:w(t,e=>`Unknown source type: ${e}`)}throw Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0)}),P.set(o,i)}return i}function T(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}`}j.L=function(e){return $(1,this.m.id,e)},j.R=function(e){let t=this.r(e);return t?.default??t},j.P=function(e){return`/ROOT/${e??""}`},j.b=function(e){let t=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)}; self.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(e.reverse().map(T),null,2)}; importScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`],{type:"text/javascript"});return URL.createObjectURL(t)};let A=/\.js(?:\?[^#]*)?(?:#.*)?$/,S=/\.css(?:\?[^#]*)?(?:#.*)?$/;function E(e){return S.test(e)}o.w=function(t,r,n){return e.loadWebAssembly(1,this.m.id,t,r,n)},o.u=function(t,r){return e.loadWebAssemblyModule(1,this.m.id,t,r)};let K={};o.c=K;let M=(e,t)=>{let r=K[e];if(r){if(r.error)throw r.error;return r}return x(e,R.Parent,t.id)};function x(e,t,r){let o=C.get(e);"function"!=typeof o&&function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:w(t,e=>`Unknown source type: ${e}`)}throw Error(`Module ${e} was instantiated ${n}, but the module factory is not available. It might have been deleted in an HMR update.`)}(e,t,r);let i=a(e),l=i.exports;K[e]=i;let s=new n(i,l);try{o(s,i,l)}catch(e){throw i.error=e,e}return i.namespaceObject&&i.exports!==i.namespaceObject&&h(i.exports,i.namespaceObject),i}function N(r){let n,o=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(("undefined"!=typeof TURBOPACK_NEXT_CHUNK_URLS?TURBOPACK_NEXT_CHUNK_URLS.pop():e.getAttribute("src")).replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(r[0]);return 2===r.length?n=r[1]:(n=void 0,!function(e,t,r,n){let o=1;for(;o{function t(e){let t=L.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},L.set(e,t)}return t}e={async registerChunk(e,r){if(t(T(e)).resolve(),null!=r){for(let e of r.otherChunks)t(T("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(t=>k(0,e,t))),r.runtimeModuleIds.length>0)for(let t of r.runtimeModuleIds)!function(e,t){let r=K[t];if(r){if(r.error)throw r.error;return}x(t,R.Runtime,e)}(e,t)}},loadChunkCached:(e,r)=>(function(e,r){let n=t(r);if(n.loadingStarted)return n.promise;if(e===R.Runtime)return n.loadingStarted=!0,E(r)&&n.resolve(),n.promise;if("function"==typeof importScripts)if(E(r));else if(A.test(r))self.TURBOPACK_NEXT_CHUNK_URLS.push(r),importScripts(TURBOPACK_WORKER_LOCATION+r);else throw Error(`can't infer type of chunk from URL ${r} in worker`);else{let e=decodeURI(r);if(E(r))if(document.querySelectorAll(`link[rel=stylesheet][href="${r}"],link[rel=stylesheet][href^="${r}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)n.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=r,e.onerror=()=>{n.reject()},e.onload=()=>{n.resolve()},document.head.appendChild(e)}else if(A.test(r)){let t=document.querySelectorAll(`script[src="${r}"],script[src^="${r}?"],script[src="${e}"],script[src^="${e}?"]`);if(t.length>0)for(let e of Array.from(t))e.addEventListener("error",()=>{n.reject()});else{let e=document.createElement("script");e.src=r,e.onerror=()=>{n.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${r}`)}return n.loadingStarted=!0,n.promise})(e,r),async loadWebAssembly(e,t,r,n,o){let i=fetch(T(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(T(r));return await WebAssembly.compileStreaming(o)}}})();let B=globalThis.TURBOPACK;globalThis.TURBOPACK={push:N},B.forEach(N)})(); \ No newline at end of file diff --git a/docs/gallery/index.html b/docs/gallery/index.html index 988bd37..ba89c11 100644 --- a/docs/gallery/index.html +++ b/docs/gallery/index.html @@ -1 +1 @@ -T2 Model Viewer & Skinner \ No newline at end of file +T2 Model Viewer & Skinner \ No newline at end of file diff --git a/docs/gallery/index.txt b/docs/gallery/index.txt index 732b344..1ece93b 100644 --- a/docs/gallery/index.txt +++ b/docs/gallery/index.txt @@ -1,21 +1,22 @@ 1:"$Sreact.fragment" -2:I[39756,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] -3:I[37457,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] -4:I[47257,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ClientPageRoot"] -5:I[25500,["/t2-model-skinner/_next/static/chunks/64f1e5c6f9fa52f6.js","/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","/t2-model-skinner/_next/static/chunks/5ab6fafee44106c4.js","/t2-model-skinner/_next/static/chunks/e233a54f1de7eeb5.js"],"default"] -8:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"OutletBoundary"] -a:I[11533,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"AsyncMetadataOutlet"] -c:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ViewportBoundary"] -e:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"MetadataBoundary"] -f:"$Sreact.suspense" -11:I[68027,[],"default"] +2:I[12985,["/t2-model-skinner/_next/static/chunks/993ba35625024c1a.js"],"NuqsAdapter"] +3:I[39756,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] +4:I[37457,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] +5:I[47257,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ClientPageRoot"] +6:I[25500,["/t2-model-skinner/_next/static/chunks/993ba35625024c1a.js","/t2-model-skinner/_next/static/chunks/64f1e5c6f9fa52f6.js","/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","/t2-model-skinner/_next/static/chunks/d9f21d966613a96e.js","/t2-model-skinner/_next/static/chunks/40cecef8385b39df.js"],"default"] +9:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"OutletBoundary"] +b:I[11533,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"AsyncMetadataOutlet"] +d:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ViewportBoundary"] +f:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"MetadataBoundary"] +10:"$Sreact.suspense" +12:I[68027,["/t2-model-skinner/_next/static/chunks/993ba35625024c1a.js"],"default"] :HL["/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","style"] -:HL["/t2-model-skinner/_next/static/chunks/185de9d007942943.css","style"] -0:{"P":null,"b":"j6qxrfkqjS29T75m1W9mo","p":"/t2-model-skinner","c":["","gallery",""],"i":false,"f":[[["",{"children":["gallery",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["gallery",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/185de9d007942943.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/64f1e5c6f9fa52f6.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-model-skinner/_next/static/chunks/5ab6fafee44106c4.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-model-skinner/_next/static/chunks/e233a54f1de7eeb5.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} -6:{} -7:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params" -d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -9:null -12:I[27201,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"IconMark"] -b:{"metadata":[["$","title","0",{"children":"T2 Model Viewer & Skinner"}],["$","meta","1",{"name":"description","content":"Get skinned. 😎"}],["$","link","2",{"rel":"icon","href":"/t2-model-skinner/icon.png?icon.2911bba1.png","sizes":"108x128","type":"image/png"}],["$","$L12","3",{}]],"error":null,"digest":"$undefined"} -10:"$b:metadata" +:HL["/t2-model-skinner/_next/static/chunks/42cdb402ed9b36c5.css","style"] +0:{"P":null,"b":"J3alfdEmlnJa3MT95j6-5","p":"/t2-model-skinner","c":["","gallery",""],"i":false,"f":[[["",{"children":["gallery",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/993ba35625024c1a.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["gallery",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/42cdb402ed9b36c5.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/64f1e5c6f9fa52f6.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-model-skinner/_next/static/chunks/d9f21d966613a96e.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-model-skinner/_next/static/chunks/40cecef8385b39df.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],null],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} +7:{} +8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params" +e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +a:null +13:I[27201,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"IconMark"] +c:{"metadata":[["$","title","0",{"children":"T2 Model Viewer & Skinner"}],["$","meta","1",{"name":"description","content":"Get skinned. 😎"}],["$","link","2",{"rel":"icon","href":"/t2-model-skinner/icon.png?icon.2911bba1.png","sizes":"108x128","type":"image/png"}],["$","$L13","3",{}]],"error":null,"digest":"$undefined"} +11:"$c:metadata" diff --git a/docs/index.html b/docs/index.html index 84b067d..9c3db70 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -T2 Model Viewer & Skinner
\ No newline at end of file +T2 Model Viewer & Skinner
\ No newline at end of file diff --git a/docs/index.txt b/docs/index.txt index ed2ba8c..e9a295e 100644 --- a/docs/index.txt +++ b/docs/index.txt @@ -1,21 +1,22 @@ 1:"$Sreact.fragment" -2:I[39756,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] -3:I[37457,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] -4:I[47257,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ClientPageRoot"] -5:I[52683,["/t2-model-skinner/_next/static/chunks/502774dbda501837.js","/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","/t2-model-skinner/_next/static/chunks/43ceca71888c9b70.js","/t2-model-skinner/_next/static/chunks/d92306cd027784a6.js","/t2-model-skinner/_next/static/chunks/a55df98dcb3b60ad.js"],"default"] -8:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"OutletBoundary"] -a:I[11533,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"AsyncMetadataOutlet"] -c:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ViewportBoundary"] -e:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"MetadataBoundary"] -f:"$Sreact.suspense" -11:I[68027,[],"default"] +2:I[12985,["/t2-model-skinner/_next/static/chunks/993ba35625024c1a.js"],"NuqsAdapter"] +3:I[39756,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] +4:I[37457,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] +5:I[47257,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ClientPageRoot"] +6:I[52683,["/t2-model-skinner/_next/static/chunks/993ba35625024c1a.js","/t2-model-skinner/_next/static/chunks/502774dbda501837.js","/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","/t2-model-skinner/_next/static/chunks/43ceca71888c9b70.js","/t2-model-skinner/_next/static/chunks/5f9470a691b55cfe.js","/t2-model-skinner/_next/static/chunks/a55df98dcb3b60ad.js"],"default"] +9:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"OutletBoundary"] +b:I[11533,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"AsyncMetadataOutlet"] +d:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ViewportBoundary"] +f:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"MetadataBoundary"] +10:"$Sreact.suspense" +12:I[68027,["/t2-model-skinner/_next/static/chunks/993ba35625024c1a.js"],"default"] :HL["/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","style"] :HL["/t2-model-skinner/_next/static/chunks/df18f9fdc6a3cb7c.css","style"] -0:{"P":null,"b":"j6qxrfkqjS29T75m1W9mo","p":"/t2-model-skinner","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/df18f9fdc6a3cb7c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/502774dbda501837.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-model-skinner/_next/static/chunks/43ceca71888c9b70.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-model-skinner/_next/static/chunks/d92306cd027784a6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/t2-model-skinner/_next/static/chunks/a55df98dcb3b60ad.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} -6:{} -7:"$0:f:0:1:2:children:1:props:children:0:props:params" -d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -9:null -12:I[27201,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"IconMark"] -b:{"metadata":[["$","title","0",{"children":"T2 Model Viewer & Skinner"}],["$","meta","1",{"name":"description","content":"Get skinned. 😎"}],["$","link","2",{"rel":"icon","href":"/t2-model-skinner/icon.png?icon.2911bba1.png","sizes":"108x128","type":"image/png"}],["$","$L12","3",{}]],"error":null,"digest":"$undefined"} -10:"$b:metadata" +0:{"P":null,"b":"J3alfdEmlnJa3MT95j6-5","p":"/t2-model-skinner","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/993ba35625024c1a.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/df18f9fdc6a3cb7c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/502774dbda501837.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-model-skinner/_next/static/chunks/43ceca71888c9b70.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-model-skinner/_next/static/chunks/5f9470a691b55cfe.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/t2-model-skinner/_next/static/chunks/a55df98dcb3b60ad.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],null],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} +7:{} +8:"$0:f:0:1:2:children:1:props:children:0:props:params" +e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +a:null +13:I[27201,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"IconMark"] +c:{"metadata":[["$","title","0",{"children":"T2 Model Viewer & Skinner"}],["$","meta","1",{"name":"description","content":"Get skinned. 😎"}],["$","link","2",{"rel":"icon","href":"/t2-model-skinner/icon.png?icon.2911bba1.png","sizes":"108x128","type":"image/png"}],["$","$L13","3",{}]],"error":null,"digest":"$undefined"} +11:"$c:metadata" diff --git a/package-lock.json b/package-lock.json index d6bb7bf..7a2a1ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,9 @@ "globby": "^15.0.0", "jszip": "^3.10.1", "lodash.orderby": "^4.6.0", + "match-sorter": "^8.2.0", "next": "^15.5.6", + "nuqs": "^2.8.5", "pngjs": "^7.0.0", "react": "^19.2.0", "react-dom": "^19.2.0", @@ -309,6 +311,15 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", @@ -1582,6 +1593,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@standard-schema/spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", + "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", + "license": "MIT" + }, "node_modules/@swc/helpers": { "version": "0.5.15", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", @@ -5304,6 +5321,16 @@ "semver": "bin/semver.js" } }, + "node_modules/match-sorter": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-8.2.0.tgz", + "integrity": "sha512-qRVB7wYMJXizAWR4TKo5UYwgW7oAVzA8V9jve0wGzRvV91ou9dcqL+/2gJtD0PZ/Pm2Fq6cVT4VHXHmDFVMGRA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.8", + "remove-accents": "0.5.0" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -5474,9 +5501,9 @@ "devOptional": true }, "node_modules/nan": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.23.0.tgz", - "integrity": "sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==", + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.24.0.tgz", + "integrity": "sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==", "license": "MIT", "optional": true }, @@ -5516,6 +5543,7 @@ "resolved": "https://registry.npmjs.org/next/-/next-15.5.6.tgz", "integrity": "sha512-zTxsnI3LQo3c9HSdSf91O1jMNsEzIXDShXd4wVdg9y5shwLqBXi4ZtUUJyB86KGVSJLZx0PFONvO54aheGX8QQ==", "license": "MIT", + "peer": true, "dependencies": { "@next/env": "15.5.6", "@swc/helpers": "0.5.15", @@ -5668,6 +5696,43 @@ "set-blocking": "^2.0.0" } }, + "node_modules/nuqs": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/nuqs/-/nuqs-2.8.5.tgz", + "integrity": "sha512-ndhnNB9eLX/bsiGFkBNsrfOWf3BCbzBMD+b5GkD5o2Q96Q+llHnoUlZsrO3tgJKZZV7LLlVCvFKdj+sjBITRzg==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/franky47" + }, + "peerDependencies": { + "@remix-run/react": ">=2", + "@tanstack/react-router": "^1", + "next": ">=14.2.0", + "react": ">=18.2.0 || ^19.0.0-0", + "react-router": "^5 || ^6 || ^7", + "react-router-dom": "^5 || ^6 || ^7" + }, + "peerDependenciesMeta": { + "@remix-run/react": { + "optional": true + }, + "@tanstack/react-router": { + "optional": true + }, + "next": { + "optional": true + }, + "react-router": { + "optional": true + }, + "react-router-dom": { + "optional": true + } + } + }, "node_modules/nwsapi": { "version": "2.2.22", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", @@ -6226,6 +6291,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/remove-accents": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", + "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==", + "license": "MIT" + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -7819,6 +7890,11 @@ "@babel/types": "^7.28.4" } }, + "@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==" + }, "@babel/template": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", @@ -8484,6 +8560,11 @@ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==" }, + "@standard-schema/spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", + "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==" + }, "@swc/helpers": { "version": "0.5.15", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", @@ -11010,6 +11091,15 @@ } } }, + "match-sorter": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-8.2.0.tgz", + "integrity": "sha512-qRVB7wYMJXizAWR4TKo5UYwgW7oAVzA8V9jve0wGzRvV91ou9dcqL+/2gJtD0PZ/Pm2Fq6cVT4VHXHmDFVMGRA==", + "requires": { + "@babel/runtime": "^7.23.8", + "remove-accents": "0.5.0" + } + }, "math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -11127,8 +11217,8 @@ "devOptional": true }, "nan": { - "version": "https://registry.npmjs.org/nan/-/nan-2.23.0.tgz", - "integrity": "sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==", + "version": "https://registry.npmjs.org/nan/-/nan-2.24.0.tgz", + "integrity": "sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==", "optional": true }, "nanoid": { @@ -11153,6 +11243,7 @@ "version": "15.5.6", "resolved": "https://registry.npmjs.org/next/-/next-15.5.6.tgz", "integrity": "sha512-zTxsnI3LQo3c9HSdSf91O1jMNsEzIXDShXd4wVdg9y5shwLqBXi4ZtUUJyB86KGVSJLZx0PFONvO54aheGX8QQ==", + "peer": true, "requires": { "@next/env": "15.5.6", "@next/swc-darwin-arm64": "15.5.6", @@ -11246,6 +11337,14 @@ "set-blocking": "^2.0.0" } }, + "nuqs": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/nuqs/-/nuqs-2.8.5.tgz", + "integrity": "sha512-ndhnNB9eLX/bsiGFkBNsrfOWf3BCbzBMD+b5GkD5o2Q96Q+llHnoUlZsrO3tgJKZZV7LLlVCvFKdj+sjBITRzg==", + "requires": { + "@standard-schema/spec": "1.0.0" + } + }, "nwsapi": { "version": "2.2.22", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", @@ -11624,6 +11723,11 @@ "set-function-name": "^2.0.2" } }, + "remove-accents": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", + "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==" + }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", diff --git a/package.json b/package.json index b78fb51..4ff53d3 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,9 @@ "globby": "^15.0.0", "jszip": "^3.10.1", "lodash.orderby": "^4.6.0", + "match-sorter": "^8.2.0", "next": "^15.5.6", + "nuqs": "^2.8.5", "pngjs": "^7.0.0", "react": "^19.2.0", "react-dom": "^19.2.0", diff --git a/src/app/gallery/gallery.module.css b/src/app/gallery/gallery.module.css index e22e4c0..f27d904 100644 --- a/src/app/gallery/gallery.module.css +++ b/src/app/gallery/gallery.module.css @@ -17,11 +17,18 @@ z-index: 2; } -.Tools select:focus { +.Tools a:link:focus-visible, +.Tools button:focus-visible, +.Tools select:focus-visible, +.Tools input:focus-visible { outline: none; box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.5), 0 0 2px 3px rgb(152, 255, 212); } +.InputContainer { + position: relative; +} + .HeaderEnd { display: flex; align-items: center; @@ -43,8 +50,8 @@ .DownloadButton { display: inline-block; border: 0; - border-radius: 4px; - padding: 4px 8px 5px 8px; + border-radius: 3px; + padding: 4px 8px; background: rgb(14, 114, 98), linear-gradient(to bottom, rgb(67, 167, 130), rgb(15, 89, 87)); color: rgb(247, 255, 220); @@ -53,7 +60,7 @@ letter-spacing: -0.03em; text-decoration: none; text-shadow: 0 -1px 0 rgba(25, 39, 34, 0.4); - margin-left: 3px; + margin: 0 0 0 3px; cursor: pointer; } @@ -190,6 +197,34 @@ animation: spin 2s linear infinite; } +.HeaderMain { + display: flex; + align-items: center; + gap: 12px; +} + +.SearchButton { + display: grid; + place-content: center; + margin: 0; + padding: 3px 4px; + border: 0; + background: transparent; + font-size: 18px; + color: rgb(40, 217, 178); + cursor: pointer; +} + +.SearchInput { + position: absolute; + left: 0; + right: 0; + margin: 0; + padding: 4px 6px 3px 6px; + border: 1px solid #666; + border-radius: 2px; +} + @media (max-width: 1023px) { .Tools { grid-template-columns: auto auto 1fr; diff --git a/src/app/gallery/page.tsx b/src/app/gallery/page.tsx index 83005f4..8e5d44f 100644 --- a/src/app/gallery/page.tsx +++ b/src/app/gallery/page.tsx @@ -1,15 +1,22 @@ "use client"; -import { Suspense, useEffect, useMemo, useRef, useState } from "react"; -import { CgSpinnerTwo } from "react-icons/cg"; -import { BsBadge3dFill } from "react-icons/bs"; -import { FaDownload } from "react-icons/fa"; -import { FaChevronLeft } from "react-icons/fa"; -import { useRouter, usePathname, useSearchParams } from "next/navigation"; -import orderBy from "lodash.orderby"; -import useManifest from "../../useManifest"; -import styles from "./gallery.module.css"; +import { + Suspense, + useDeferredValue, + useEffect, + useMemo, + useRef, + useState, +} from "react"; import Head from "next/head"; import Link from "next/link"; +import { CgSpinnerTwo } from "react-icons/cg"; +import { BsBadge3dFill } from "react-icons/bs"; +import { FaDownload, FaChevronLeft, FaSearch, FaTimes } from "react-icons/fa"; +import { useQueryState } from "nuqs"; +import orderBy from "lodash.orderby"; +import { matchSorter } from "match-sorter"; +import useManifest from "../../useManifest"; +import styles from "./gallery.module.css"; import { collectFiles, createZipFile, saveZipFile } from "../../exportUtils"; import { modelToModelType, modelTypes } from "../../importUtils"; import modelConfig from "../../models"; @@ -102,12 +109,20 @@ function skinDataToList( } function Gallery() { - const router = useRouter(); - const pathname = usePathname(); - const searchParams = useSearchParams(); const hiResSelectRef = useRef(null); + const [searchQuery, setSearchQuery] = useQueryState("q", { + defaultValue: "", + clearOnDefault: true, + }); + const [browseMode, setBrowseMode] = useState<"select" | "search">( + searchQuery.trim() ? "search" : "select" + ); + const deferredSearchQuery = useDeferredValue(searchQuery); const [manifest, isLoaded] = useManifest(); - const [selectedModel, setSelectedModel] = useState("lmale"); + const [selectedModel, setSelectedModel] = useQueryState("filter", { + defaultValue: "lmale", + clearOnDefault: false, + }); const [isPreparingDownload, setPreparingDownload] = useState(false); const [hiResDownload, setHiResDownload] = useState<"prompt" | "yes" | "no">( "prompt" @@ -215,14 +230,46 @@ function Gallery() { } }, [isNew, isPack, selectedModel, manifest]); - const filteredSkins = isNew || isPack ? selectedSkinList : customSkins; + const allSkins = useMemo(() => { + if (!manifest.customSkins) return []; + return skinDataToList(manifest.customSkins); + }, [manifest.customSkins]); - const filter = searchParams.get("filter") || "lmale"; + const hasSearchInput = deferredSearchQuery.trim().length > 0; + + const searchResults = useMemo(() => { + if (!hasSearchInput) { + return []; + } + return matchSorter(allSkins, deferredSearchQuery, { + keys: ["name"], + }); + }, [allSkins, deferredSearchQuery, hasSearchInput]); + + const filteredSkins = + browseMode === "search" && hasSearchInput + ? searchResults + : isNew || isPack + ? selectedSkinList + : customSkins; useEffect(() => { setPreparingDownload(false); - setSelectedModel(filter); - }, [filter]); + }, [selectedModel]); + + const searchRef = useRef(null); + const selectRef = useRef(null); + + useEffect(() => { + switch (browseMode) { + case "search": + searchRef.current?.focus(); + break; + case "select": + selectRef.current?.focus(); + break; + } + }, [browseMode]); return ( <> @@ -230,66 +277,108 @@ function Gallery() { Tribes 2 Skin Gallery
-
+
{" "} Back to Editor - +
+ +
+ setSearchQuery(e.target.value)} + onKeyDown={(e) => { + if (e.key === "Escape") { + setBrowseMode("select"); + setSearchQuery(""); + } + }} + /> + +
+
- {isPack ? ( + {browseMode === "select" && isPack ? (
-
+ {isLoaded ? (
{filteredSkins.map((name) => { diff --git a/src/app/layout.tsx b/src/app/layout.tsx index cd86b11..1d33dd4 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,3 +1,4 @@ +import { NuqsAdapter } from "nuqs/adapters/next/app"; import "./global.css"; export const metadata = { @@ -12,7 +13,9 @@ export default function RootLayout({ }) { return ( - {children} + + {children} + ); }