From 3d5b9dae4084aeeae2b5e3a83cd9395c97dffee9 Mon Sep 17 00:00:00 2001 From: SURI <20202160@sungshin.ac.kr> Date: Tue, 28 May 2024 01:27:01 +0900 Subject: [PATCH 01/18] =?UTF-8?q?feat:=20githook=EC=9D=84=20=EC=9C=84?= =?UTF-8?q?=ED=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githook | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githook b/githook index 3e5126c..e66099e 100644 --- a/githook +++ b/githook @@ -1 +1 @@ -new \ No newline at end of file +ne \ No newline at end of file From 32669b04ecae9ef5faaa1fdcea65c431a8284f96 Mon Sep 17 00:00:00 2001 From: SURI <20202160@sungshin.ac.kr> Date: Tue, 28 May 2024 01:30:11 +0900 Subject: [PATCH 02/18] =?UTF-8?q?feat:=20githook=EC=9D=84=20=EC=9C=84?= =?UTF-8?q?=ED=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githook | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githook b/githook index e66099e..3e5126c 100644 --- a/githook +++ b/githook @@ -1 +1 @@ -ne \ No newline at end of file +new \ No newline at end of file From 87818e67ba85281841fb4ba3063e59ce86f10250 Mon Sep 17 00:00:00 2001 From: SURI <20202160@sungshin.ac.kr> Date: Tue, 28 May 2024 01:36:49 +0900 Subject: [PATCH 03/18] =?UTF-8?q?feat:=20githook=EC=9D=84=20=EC=9C=84?= =?UTF-8?q?=ED=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- githook | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/githook b/githook index 3e5126c..e66099e 100644 --- a/githook +++ b/githook @@ -1 +1 @@ -new \ No newline at end of file +ne \ No newline at end of file From ba87e06abc7ac5e463db7426502835a768c7de0d Mon Sep 17 00:00:00 2001 From: SURI <20202160@sungshin.ac.kr> Date: Tue, 28 May 2024 02:02:35 +0900 Subject: [PATCH 04/18] =?UTF-8?q?feat:=20githook=EC=9D=84=20=EC=9C=84?= =?UTF-8?q?=ED=95=B4=20=EB=8F=84=EC=BB=A4=ED=8C=8C=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Dockerfile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/Dockerfile diff --git a/src/Dockerfile b/src/Dockerfile new file mode 100644 index 0000000..df6e745 --- /dev/null +++ b/src/Dockerfile @@ -0,0 +1,14 @@ +FROM node:14 + +WORKDIR /usr/src/app + +COPY package*.json ./ +RUN npm install + + +COPY . . + + +EXPOSE 3000 + +CMD ["npm", "start"] From a996de00861e3316aa618046524db477062f356f Mon Sep 17 00:00:00 2001 From: SURI <20202160@sungshin.ac.kr> Date: Tue, 28 May 2024 02:56:00 +0900 Subject: [PATCH 05/18] =?UTF-8?q?feat:=20githook=EC=9D=84=20=EC=9C=84?= =?UTF-8?q?=ED=95=B4=20=EB=8F=84=EC=BB=A4=ED=8C=8C=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Dockerfile b/src/Dockerfile index df6e745..f0895e6 100644 --- a/src/Dockerfile +++ b/src/Dockerfile @@ -5,10 +5,8 @@ WORKDIR /usr/src/app COPY package*.json ./ RUN npm install - COPY . . - EXPOSE 3000 CMD ["npm", "start"] From 8471d29b77c98a06d1fcabc90e2fbd3694bed43c Mon Sep 17 00:00:00 2001 From: SURI <20202160@sungshin.ac.kr> Date: Tue, 28 May 2024 02:56:24 +0900 Subject: [PATCH 06/18] =?UTF-8?q?feat:=20githook=EC=9D=84=20=EC=9C=84?= =?UTF-8?q?=ED=95=B4=20=EB=8F=84=EC=BB=A4=ED=8C=8C=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Dockerfile => Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/Dockerfile => Dockerfile (90%) diff --git a/src/Dockerfile b/Dockerfile similarity index 90% rename from src/Dockerfile rename to Dockerfile index f0895e6..50a8373 100644 --- a/src/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ WORKDIR /usr/src/app COPY package*.json ./ RUN npm install -COPY . . +COPY src . EXPOSE 3000 From 627a6fe2c56abee9c79cdb78f492c444ca42ca71 Mon Sep 17 00:00:00 2001 From: SURI <77846327+shinyeong-gwak@users.noreply.github.com> Date: Wed, 29 May 2024 18:47:00 +0900 Subject: [PATCH 07/18] Update Dockerfile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 안되가지고 이러면 되려나 --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 50a8373..d518d61 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,4 +9,6 @@ COPY src . EXPOSE 3000 +RUN npm build + CMD ["npm", "start"] From ed92e18f0769ea66cd1e8e03044c344ff5b8b6a7 Mon Sep 17 00:00:00 2001 From: SURI <20202160@sungshin.ac.kr> Date: Thu, 30 May 2024 18:27:29 +0900 Subject: [PATCH 08/18] feat: build dirctory for reduce cpu/ram use.... --- .gitignore | 4 +- build/asset-manifest.json | 18 +++ build/index.html | 1 + build/manifest.json | 8 ++ build/robots.txt | 3 + build/static/css/main.c0c1ae41.css | 2 + build/static/css/main.c0c1ae41.css.map | 1 + build/static/js/main.7f8b6db7.js | 3 + build/static/js/main.7f8b6db7.js.LICENSE.txt | 103 ++++++++++++++++++ build/static/js/main.7f8b6db7.js.map | 1 + .../icon-invite.122a6525743aab212efd.png | Bin 0 -> 19829 bytes .../media/slick.2630a3e3eab21c607e21.svg | 14 +++ .../media/slick.295183786cd8a1389865.woff | Bin 0 -> 1380 bytes .../media/slick.a4e97f5a2a64f0ab1323.eot | Bin 0 -> 2048 bytes .../media/slick.c94f7671dcc99dce43e2.ttf | Bin 0 -> 1892 bytes 15 files changed, 156 insertions(+), 2 deletions(-) create mode 100644 build/asset-manifest.json create mode 100644 build/index.html create mode 100644 build/manifest.json create mode 100644 build/robots.txt create mode 100644 build/static/css/main.c0c1ae41.css create mode 100644 build/static/css/main.c0c1ae41.css.map create mode 100644 build/static/js/main.7f8b6db7.js create mode 100644 build/static/js/main.7f8b6db7.js.LICENSE.txt create mode 100644 build/static/js/main.7f8b6db7.js.map create mode 100644 build/static/media/icon-invite.122a6525743aab212efd.png create mode 100644 build/static/media/slick.2630a3e3eab21c607e21.svg create mode 100644 build/static/media/slick.295183786cd8a1389865.woff create mode 100644 build/static/media/slick.a4e97f5a2a64f0ab1323.eot create mode 100644 build/static/media/slick.c94f7671dcc99dce43e2.ttf diff --git a/.gitignore b/.gitignore index b718f91..1510754 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,8 @@ # testing /coverage -# production -/build +# production - pod production +# /build # misc .DS_Store diff --git a/build/asset-manifest.json b/build/asset-manifest.json new file mode 100644 index 0000000..5b9db37 --- /dev/null +++ b/build/asset-manifest.json @@ -0,0 +1,18 @@ +{ + "files": { + "main.css": "/static/css/main.c0c1ae41.css", + "main.js": "/static/js/main.7f8b6db7.js", + "static/media/icon-invite.png": "/static/media/icon-invite.122a6525743aab212efd.png", + "static/media/slick.svg": "/static/media/slick.2630a3e3eab21c607e21.svg", + "static/media/slick.eot": "/static/media/slick.a4e97f5a2a64f0ab1323.eot", + "static/media/slick.ttf": "/static/media/slick.c94f7671dcc99dce43e2.ttf", + "static/media/slick.woff": "/static/media/slick.295183786cd8a1389865.woff", + "index.html": "/index.html", + "main.c0c1ae41.css.map": "/static/css/main.c0c1ae41.css.map", + "main.7f8b6db7.js.map": "/static/js/main.7f8b6db7.js.map" + }, + "entrypoints": [ + "static/css/main.c0c1ae41.css", + "static/js/main.7f8b6db7.js" + ] +} \ No newline at end of file diff --git a/build/index.html b/build/index.html new file mode 100644 index 0000000..a478321 --- /dev/null +++ b/build/index.html @@ -0,0 +1 @@ +
0?this.queries.filter((function(e){return(0,o._x)(n,e)})):this.queries},n.notify=function(e){var t=this;s.V.batch((function(){t.listeners.forEach((function(t){t(e)}))}))},n.onFocus=function(){var e=this;s.V.batch((function(){e.queries.forEach((function(e){e.onFocus()}))}))},n.onOnline=function(){var e=this;s.V.batch((function(){e.queries.forEach((function(e){e.onOnline()}))}))},t}(c),b=function(){function e(e){this.options=(0,r.Z)({},e.defaultOptions,e.options),this.mutationId=e.mutationId,this.mutationCache=e.mutationCache,this.observers=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,isPaused:!1,status:"idle",variables:void 0},this.meta=e.meta}var t=e.prototype;return t.setState=function(e){this.dispatch({type:"setState",state:e})},t.addObserver=function(e){-1===this.observers.indexOf(e)&&this.observers.push(e)},t.removeObserver=function(e){this.observers=this.observers.filter((function(t){return t!==e}))},t.cancel=function(){return this.retryer?(this.retryer.cancel(),this.retryer.promise.then(o.ZT).catch(o.ZT)):Promise.resolve()},t.continue=function(){return this.retryer?(this.retryer.continue(),this.retryer.promise):this.execute()},t.execute=function(){var e,t=this,n="loading"===this.state.status,r=Promise.resolve();return n||(this.dispatch({type:"loading",variables:this.options.variables}),r=r.then((function(){null==t.mutationCache.config.onMutate||t.mutationCache.config.onMutate(t.state.variables,t)})).then((function(){return null==t.options.onMutate?void 0:t.options.onMutate(t.state.variables)})).then((function(e){e!==t.state.context&&t.dispatch({type:"loading",context:e,variables:t.state.variables})}))),r.then((function(){return t.executeMutation()})).then((function(n){e=n,null==t.mutationCache.config.onSuccess||t.mutationCache.config.onSuccess(e,t.state.variables,t.state.context,t)})).then((function(){return null==t.options.onSuccess?void 0:t.options.onSuccess(e,t.state.variables,t.state.context)})).then((function(){return null==t.options.onSettled?void 0:t.options.onSettled(e,null,t.state.variables,t.state.context)})).then((function(){return t.dispatch({type:"success",data:e}),e})).catch((function(e){return null==t.mutationCache.config.onError||t.mutationCache.config.onError(e,t.state.variables,t.state.context,t),(0,l.j)().error(e),Promise.resolve().then((function(){return null==t.options.onError?void 0:t.options.onError(e,t.state.variables,t.state.context)})).then((function(){return null==t.options.onSettled?void 0:t.options.onSettled(void 0,e,t.state.variables,t.state.context)})).then((function(){throw t.dispatch({type:"error",error:e}),e}))}))},t.executeMutation=function(){var e,t=this;return this.retryer=new v({fn:function(){return t.options.mutationFn?t.options.mutationFn(t.state.variables):Promise.reject("No mutationFn found")},onFail:function(){t.dispatch({type:"failed"})},onPause:function(){t.dispatch({type:"pause"})},onContinue:function(){t.dispatch({type:"continue"})},retry:null!=(e=this.options.retry)?e:0,retryDelay:this.options.retryDelay}),this.retryer.promise},t.dispatch=function(e){var t=this;this.state=function(e,t){switch(t.type){case"failed":return(0,r.Z)({},e,{failureCount:e.failureCount+1});case"pause":return(0,r.Z)({},e,{isPaused:!0});case"continue":return(0,r.Z)({},e,{isPaused:!1});case"loading":return(0,r.Z)({},e,{context:t.context,data:void 0,error:null,isPaused:!1,status:"loading",variables:t.variables});case"success":return(0,r.Z)({},e,{data:t.data,error:null,status:"success",isPaused:!1});case"error":return(0,r.Z)({},e,{data:void 0,error:t.error,failureCount:e.failureCount+1,isPaused:!1,status:"error"});case"setState":return(0,r.Z)({},e,t.state);default:return e}}(this.state,e),s.V.batch((function(){t.observers.forEach((function(t){t.onMutationUpdate(e)})),t.mutationCache.notify(t)}))},e}();var w=function(e){function t(t){var n;return(n=e.call(this)||this).config=t||{},n.mutations=[],n.mutationId=0,n}a(t,e);var n=t.prototype;return n.build=function(e,t,n){var r=new b({mutationCache:this,mutationId:++this.mutationId,options:e.defaultMutationOptions(t),state:n,defaultOptions:t.mutationKey?e.getMutationDefaults(t.mutationKey):void 0,meta:t.meta});return this.add(r),r},n.add=function(e){this.mutations.push(e),this.notify(e)},n.remove=function(e){this.mutations=this.mutations.filter((function(t){return t!==e})),e.cancel(),this.notify(e)},n.clear=function(){var e=this;s.V.batch((function(){e.mutations.forEach((function(t){e.remove(t)}))}))},n.getAll=function(){return this.mutations},n.find=function(e){return"undefined"===typeof e.exact&&(e.exact=!0),this.mutations.find((function(t){return(0,o.X7)(e,t)}))},n.findAll=function(e){return this.mutations.filter((function(t){return(0,o.X7)(e,t)}))},n.notify=function(e){var t=this;s.V.batch((function(){t.listeners.forEach((function(t){t(e)}))}))},n.onFocus=function(){this.resumePausedMutations()},n.onOnline=function(){this.resumePausedMutations()},n.resumePausedMutations=function(){var e=this.mutations.filter((function(e){return e.state.isPaused}));return s.V.batch((function(){return e.reduce((function(e,t){return e.then((function(){return t.continue().catch(o.ZT)}))}),Promise.resolve())}))},t}(c);function x(e,t){return null==e.getNextPageParam?void 0:e.getNextPageParam(t[t.length-1],t)}function S(e,t){return null==e.getPreviousPageParam?void 0:e.getPreviousPageParam(t[0],t)}var A=function(){function e(e){void 0===e&&(e={}),this.queryCache=e.queryCache||new y,this.mutationCache=e.mutationCache||new w,this.defaultOptions=e.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[]}var t=e.prototype;return t.mount=function(){var e=this;this.unsubscribeFocus=u.subscribe((function(){u.isFocused()&&d.isOnline()&&(e.mutationCache.onFocus(),e.queryCache.onFocus())})),this.unsubscribeOnline=d.subscribe((function(){u.isFocused()&&d.isOnline()&&(e.mutationCache.onOnline(),e.queryCache.onOnline())}))},t.unmount=function(){var e,t;null==(e=this.unsubscribeFocus)||e.call(this),null==(t=this.unsubscribeOnline)||t.call(this)},t.isFetching=function(e,t){var n=(0,o.I6)(e,t)[0];return n.fetching=!0,this.queryCache.findAll(n).length},t.isMutating=function(e){return this.mutationCache.findAll((0,r.Z)({},e,{fetching:!0})).length},t.getQueryData=function(e,t){var n;return null==(n=this.queryCache.find(e,t))?void 0:n.state.data},t.getQueriesData=function(e){return this.getQueryCache().findAll(e).map((function(e){return[e.queryKey,e.state.data]}))},t.setQueryData=function(e,t,n){var r=(0,o._v)(e),i=this.defaultQueryOptions(r);return this.queryCache.build(this,i).setData(t,n)},t.setQueriesData=function(e,t,n){var r=this;return s.V.batch((function(){return r.getQueryCache().findAll(e).map((function(e){var o=e.queryKey;return[o,r.setQueryData(o,t,n)]}))}))},t.getQueryState=function(e,t){var n;return null==(n=this.queryCache.find(e,t))?void 0:n.state},t.removeQueries=function(e,t){var n=(0,o.I6)(e,t)[0],r=this.queryCache;s.V.batch((function(){r.findAll(n).forEach((function(e){r.remove(e)}))}))},t.resetQueries=function(e,t,n){var i=this,a=(0,o.I6)(e,t,n),l=a[0],c=a[1],u=this.queryCache,d=(0,r.Z)({},l,{active:!0});return s.V.batch((function(){return u.findAll(l).forEach((function(e){e.reset()})),i.refetchQueries(d,c)}))},t.cancelQueries=function(e,t,n){var r=this,i=(0,o.I6)(e,t,n),a=i[0],l=i[1],c=void 0===l?{}:l;"undefined"===typeof c.revert&&(c.revert=!0);var u=s.V.batch((function(){return r.queryCache.findAll(a).map((function(e){return e.cancel(c)}))}));return Promise.all(u).then(o.ZT).catch(o.ZT)},t.invalidateQueries=function(e,t,n){var i,a,l,c=this,u=(0,o.I6)(e,t,n),d=u[0],f=u[1],p=(0,r.Z)({},d,{active:null==(i=null!=(a=d.refetchActive)?a:d.active)||i,inactive:null!=(l=d.refetchInactive)&&l});return s.V.batch((function(){return c.queryCache.findAll(d).forEach((function(e){e.invalidate()})),c.refetchQueries(p,f)}))},t.refetchQueries=function(e,t,n){var i=this,a=(0,o.I6)(e,t,n),l=a[0],c=a[1],u=s.V.batch((function(){return i.queryCache.findAll(l).map((function(e){return e.fetch(void 0,(0,r.Z)({},c,{meta:{refetchPage:null==l?void 0:l.refetchPage}}))}))})),d=Promise.all(u).then(o.ZT);return(null==c?void 0:c.throwOnError)||(d=d.catch(o.ZT)),d},t.fetchQuery=function(e,t,n){var r=(0,o._v)(e,t,n),i=this.defaultQueryOptions(r);"undefined"===typeof i.retry&&(i.retry=!1);var a=this.queryCache.build(this,i);return a.isStaleByTime(i.staleTime)?a.fetch(i):Promise.resolve(a.state.data)},t.prefetchQuery=function(e,t,n){return this.fetchQuery(e,t,n).then(o.ZT).catch(o.ZT)},t.fetchInfiniteQuery=function(e,t,n){var r=(0,o._v)(e,t,n);return r.behavior={onFetch:function(e){e.fetchFn=function(){var t,n,r,i,a,s,l,c=null==(t=e.fetchOptions)||null==(n=t.meta)?void 0:n.refetchPage,u=null==(r=e.fetchOptions)||null==(i=r.meta)?void 0:i.fetchMore,d=null==u?void 0:u.pageParam,f="forward"===(null==u?void 0:u.direction),h="backward"===(null==u?void 0:u.direction),m=(null==(a=e.state.data)?void 0:a.pages)||[],v=(null==(s=e.state.data)?void 0:s.pageParams)||[],g=(0,o.G9)(),y=null==g?void 0:g.signal,b=v,w=!1,A=e.options.queryFn||function(){return Promise.reject("Missing queryFn")},k=function(e,t,n,r){return b=r?[t].concat(b):[].concat(b,[t]),r?[n].concat(e):[].concat(e,[n])},E=function(t,n,r,o){if(w)return Promise.reject("Cancelled");if("undefined"===typeof r&&!n&&t.length)return Promise.resolve(t);var i={queryKey:e.queryKey,signal:y,pageParam:r,meta:e.meta},a=A(i),s=Promise.resolve(a).then((function(e){return k(t,r,e,o)}));return p(a)&&(s.cancel=a.cancel),s};if(m.length)if(f){var C="undefined"!==typeof d,O=C?d:x(e.options,m);l=E(m,C,O)}else if(h){var _="undefined"!==typeof d,T=_?d:S(e.options,m);l=E(m,_,T,!0)}else!function(){b=[];var t="undefined"===typeof e.options.getNextPageParam,n=!c||!m[0]||c(m[0],0,m);l=n?E([],t,v[0]):Promise.resolve(k([],v[0],m[0]));for(var r=function(n){l=l.then((function(r){if(!c||!m[n]||c(m[n],n,m)){var o=t?v[n]:x(e.options,r);return E(r,t,o)}return Promise.resolve(k(r,v[n],m[n]))}))},o=1;o a||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar __toString = Object.prototype.toString\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var dec = opt.decode || decode;\n\n var index = 0\n while (index < str.length) {\n var eqIdx = str.indexOf('=', index)\n\n // no more cookie pairs\n if (eqIdx === -1) {\n break\n }\n\n var endIdx = str.indexOf(';', index)\n\n if (endIdx === -1) {\n endIdx = str.length\n } else if (endIdx < eqIdx) {\n // backtrack on prior semicolon\n index = str.lastIndexOf(';', eqIdx - 1) + 1\n continue\n }\n\n var key = str.slice(index, eqIdx).trim()\n\n // only assign once\n if (undefined === obj[key]) {\n var val = str.slice(eqIdx + 1, endIdx).trim()\n\n // quoted values\n if (val.charCodeAt(0) === 0x22) {\n val = val.slice(1, -1)\n }\n\n obj[key] = tryDecode(val, dec);\n }\n\n index = endIdx + 1\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n var expires = opt.expires\n\n if (!isDate(expires) || isNaN(expires.valueOf())) {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + expires.toUTCString()\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.partitioned) {\n str += '; Partitioned'\n }\n\n if (opt.priority) {\n var priority = typeof opt.priority === 'string'\n ? opt.priority.toLowerCase()\n : opt.priority\n\n switch (priority) {\n case 'low':\n str += '; Priority=Low'\n break\n case 'medium':\n str += '; Priority=Medium'\n break\n case 'high':\n str += '; Priority=High'\n break\n default:\n throw new TypeError('option priority is invalid')\n }\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * URL-decode string value. Optimized to skip native call when no %.\n *\n * @param {string} str\n * @returns {string}\n */\n\nfunction decode (str) {\n return str.indexOf('%') !== -1\n ? decodeURIComponent(str)\n : str\n}\n\n/**\n * URL-encode value.\n *\n * @param {string} val\n * @returns {string}\n */\n\nfunction encode (val) {\n return encodeURIComponent(val)\n}\n\n/**\n * Determine if value is a Date.\n *\n * @param {*} val\n * @private\n */\n\nfunction isDate (val) {\n return __toString.call(val) === '[object Date]' ||\n val instanceof Date\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","__webpack_require__.nc = undefined;","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location