1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[81822],{68299:function(e,t,r){var n=r(56075),s=r(86422);e.exports=function(e){return s(n(e))}},14322:function(e){var t=Math.floor,r=Math.random;e.exports=function(e,n){return e+t(r()*(n-e+1))}},15034:function(e,t,r){var n=r(86422),s=r(19713);e.exports=function(e){return n(s(e))}},86190:function(e,t,r){var n=r(73819);e.exports=function(e,t){return n(t,function(t){return e[t]})}},56075:function(e){e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},86422:function(e,t,r){var n=r(14322);e.exports=function(e,t){var r=-1,s=e.length,u=s-1;for(t=void 0===t?s:t;++r<t;){var i=n(r,u),l=e[i];e[i]=e[r],e[r]=l}return e.length=t,e}},6818:function(e,t,r){var n=r(68299),s=r(15034),u=r(25614);e.exports=function(e){return(u(e)?n:s)(e)}},19713:function(e,t,r){var n=r(86190),s=r(43228);e.exports=function(e){return null==e?[]:n(e,s(e))}},38232:function(e,t,r){"use strict";function n(e,t,r){return void 0===t&&void 0===r?e:void 0!==t&&void 0===r?Math.max(e,t):void 0===t&&void 0!==r?Math.min(e,r):Math.min(Math.max(e,t),r)}r.d(t,{u:function(){return n}})},85586:function(e,t,r){"use strict";r.d(t,{a:function(){return m},c:function(){return i},i:function(){return d},l:function(){return l},n:function(){return f},o:function(){return c},r:function(){return p},s:function(){return a}});var n=r(2265),s=r(25566);let u=function(){if("undefined"==typeof window)return(s.env.DEBUG||"").includes("nuqs");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{return!1}}();function i(e,...t){if(!u)return;let r=function(e,...t){return e.replace(/%[sfdO]/g,e=>{let r=t.shift();return"%O"===e&&r?JSON.stringify(r).replace(/"([^"]+)":/g,"$1:"):String(r)})}(e,...t);performance.mark(r);try{console.log(e,...t)}catch{console.log(r)}}function l(e,...t){u&&console.warn(e,...t)}let o={303:"Multiple adapter contexts detected. This might happen in monorepos.",404:"nuqs requires an adapter to work with your framework.",409:"Multiple versions of the library are loaded. This may lead to unexpected behavior. Currently using `%s`, but `%s` (via the %s adapter) was about to load on top.",414:"Max safe URL length exceeded. Some browsers may not be able to accept this URL. Consider limiting the amount of state stored in the URL.",422:"Invalid options combination: `limitUrlUpdates: debounce` should be used in SSR scenarios, with `shallow: false`",429:"URL update rate-limited by the browser. Consider increasing `throttleMs` for key(s) `%s`. %O",500:"Empty search params cache. Search params can't be accessed in Layouts.",501:"Search params cache already populated. Have you called `parse` twice?"};function a(e){return`[nuqs] ${o[e]} 2 See https://nuqs.dev/NUQS-${e}`}function c(e){if(0===e.size)return"";let t=[];for(let[r,n]of e.entries()){let e=r.replace(/#/g,"%23").replace(/&/g,"%26").replace(/\+/g,"%2B").replace(/=/g,"%3D").replace(/\?/g,"%3F");t.push(`${e}=${n.replace(/%/g,"%25").replace(/\+/g,"%2B").replace(/ /g,"+").replace(/#/g,"%23").replace(/&/g,"%26").replace(/"/g,"%22").replace(/'/g,"%27").replace(/`/g,"%60").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/[\x00-\x1F]/g,e=>encodeURIComponent(e))}`)}return"?"+t.join("&")}let h=(0,n.createContext)({useAdapter(){throw Error(a(404))}});function f(e){return({children:t,defaultOptions:r,processUrlSearchParams:s,...u})=>(0,n.createElement)(h.Provider,{...u,value:{useAdapter:e,defaultOptions:r,processUrlSearchParams:s}},t)}function p(e){let t=(0,n.useContext)(h);if(!("useAdapter"in t))throw Error(a(404));return t.useAdapter(e)}h.displayName="NuqsAdapterContext",u&&"undefined"!=typeof window&&(window.__NuqsAdapterContext&&window.__NuqsAdapterContext!==h&&console.error(a(303)),window.__NuqsAdapterContext=h);let d=()=>(0,n.useContext)(h).defaultOptions,m=()=>(0,n.useContext)(h).processUrlSearchParams},34770:function(e,t,r){"use strict";r.d(t,{i:function(){return i},n:function(){return f},r:function(){return l},s:function(){return u},t:function(){return d}});var n=r(85586),s=r(2265);let u={method:"throttle",timeMs:function(){if("undefined"==typeof window||!window.GestureEvent)return 50;try{let e=navigator.userAgent?.match(/version\/([\d\.]+) safari/i);return parseFloat(e[1])>=17?120:320}catch{return 320}}()};function i(e){return null===e||Array.isArray(e)&&0===e.length}function l(){let e=new Map;return{on(t,r){let n=e.get(t)||[];return n.push(r),e.set(t,n),()=>this.off(t,r)},off(t,r){let n=e.get(t);n&&e.set(t,n.filter(e=>e!==r))}
2,emit(t,r){e.get(t)?.forEach(e=>e(r))}}}function o(e,t,r){let n=setTimeout(function(){e(),r.removeEventListener("abort",s)},t);function s(){clearTimeout(n),r.removeEventListener("abort",s)}r.addEventListener("abort",s)}function a(){let e=Promise;if(Promise.hasOwnProperty("withResolvers"))return Promise.withResolvers();let t=()=>{},r=()=>{};return{promise:new e((e,n)=>{t=e,r=n}),resolve:t,reject:r}}function c(){return new URLSearchParams(location.search)}var h=class{updateMap=new Map;options={history:"replace",scroll:!1,shallow:!0};timeMs=u.timeMs;transitions=new Set;resolvers=null;controller=null;lastFlushedAt=0;resetQueueOnNextPush=!1;push({key:e,query:t,options:r},s=u.timeMs){this.resetQueueOnNextPush&&(this.reset(),this.resetQueueOnNextPush=!1),(0,n.c)("[nuqs gtq] Enqueueing %s=%s %O",e,t,r),this.updateMap.set(e,t),"push"===r.history&&(this.options.history="push"),r.scroll&&(this.options.scroll=!0),!1===r.shallow&&(this.options.shallow=!1),r.startTransition&&this.transitions.add(r.startTransition),(!Number.isFinite(this.timeMs)||s>this.timeMs)&&(this.timeMs=s)}getQueuedQuery(e){return this.updateMap.get(e)}getPendingPromise({getSearchParamsSnapshot:e=c}){return this.resolvers?.promise??Promise.resolve(e())}flush({getSearchParamsSnapshot:e=c,rateLimitFactor:t=1,...r},s){if(this.controller??=new AbortController,!Number.isFinite(this.timeMs))return(0,n.c)("[nuqs gtq] Skipping flush due to throttleMs=Infinity"),Promise.resolve(e());if(this.resolvers)return this.resolvers.promise;this.resolvers=a();let u=()=>{this.lastFlushedAt=performance.now();let[t,n]=this.applyPendingUpdates({...r,autoResetQueueOnUpdate:r.autoResetQueueOnUpdate??!0,getSearchParamsSnapshot:e},s);null===n?(this.resolvers.resolve(t),this.resetQueueOnNextPush=!0):this.resolvers.reject(t),this.resolvers=null};return o(()=>{let e=performance.now()-this.lastFlushedAt,r=this.timeMs,s=t*Math.max(0,r-e);(0,n.c)("[nuqs gtq] Scheduling flush in %f ms. Throttled at %f ms (x%f)",s,r,t),0===s?u():o(u,s,this.controller.signal)},0,this.controller.signal),this.resolvers.promise}abort(){return this.controller?.abort(),this.controller=new AbortController,this.resolvers?.resolve(new URLSearchParams),this.resolvers=null,this.reset()}reset(){let e=Array.from(this.updateMap.keys());return(0,n.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=u.timeMs,e}applyPendingUpdates(e,t){let{updateUrl:r,getSearchParamsSnapshot:s}=e,u=s();if((0,n.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 i=Array.from(this.updateMap.entries()),l={...this.options},o=Array.from(this.transitions);for(let[t,r]of(e.autoResetQueueOnUpdate&&this.reset(),(0,n.c)("[nuqs gtq] Flushing queue %O with options %O",i,l),i))null===r?u.delete(t):u=function(e,t,r){if("string"==typeof e)r.set(t,e);else{for(let n of(r.delete(t),e))r.append(t,n);r.has(t)||r.set(t,"")}return r}(r,t,u);t&&(u=t(u));try{return!function(e,t){let r=t;for(let t=e.length-1;t>=0;t--){let n=e[t];if(!n)continue;let s=r;r=()=>n(s)}r()}(o,()=>{r(u,l)}),[u,null]}catch(e){return console.error((0,n.s)(429),i.map(([e])=>e).join(),e),[u,e]}}};let f=new h;var p=class{callback;resolvers=a();controller=new AbortController;queuedValue=void 0;constructor(e){this.callback=e}abort(){this.controller.abort(),this.queuedValue=void 0}push(e,t){return this.queuedValue=e,this.controller.abort(),this.controller=new AbortController,o(()=>{let t=this.resolvers;try{(0,n.c)("[nuqs dq] Flushing debounce queue",e);let r=this.callback(e);(0,n.c)("[nuqs dq] Reset debounce queue %O",this.queuedValue),this.queuedValue=void 0,this.resolvers=a(),r.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}};let d=new class{throttleQueue;queues=new Map;queuedQuerySync=l();constructor(e=new h){this.throttleQueue=e}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 n=e.map(e=>t(e,r));return()=>
2n.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,r,s){if(!Number.isFinite(t))return Promise.resolve((r.getSearchParamsSnapshot??c)());let u=e.key;if(!this.queues.has(u)){(0,n.c)("[nuqs dqc] Creating debounce queue for `%s`",u);let e=new p(e=>(this.throttleQueue.push(e),this.throttleQueue.flush(r,s).finally(()=>{this.queues.get(e.key)?.queuedValue===void 0&&((0,n.c)("[nuqs dqc] Cleaning up empty queue for `%s`",e.key),this.queues.delete(e.key)),this.queuedQuerySync.emit(e.key)})));this.queues.set(u,e)}(0,n.c)("[nuqs dqc] Enqueueing debounce update %O",e);let i=this.queues.get(u).push(e,t);return this.queuedQuerySync.emit(u),i}abort(e){let t=this.queues.get(e);return t?((0,n.c)("[nuqs dqc] Aborting debounce queue %s=%s",e,t.queuedValue?.query),this.queues.delete(e),t.abort(),this.queuedQuerySync.emit(e),e=>(e.then(t.resolvers.resolve,t.resolvers.reject),e)):e=>e}abortAll(){for(let[e,t]of this.queues.entries())(0,n.c)("[nuqs dqc] Aborting debounce queue %s=%s",e,t.queuedValue?.query),t.abort(),t.resolvers.resolve(new URLSearchParams),this.queuedQuerySync.emit(e);this.queues.clear()}getQueuedQuery(e){let t=this.queues.get(e)?.queuedValue?.query;return void 0!==t?t:this.throttleQueue.getQueuedQuery(e)}}(f)},12840:function(e,t,r){"use strict";r.d(t,{jo:function(){return l},S$:function(){return f},AE:function(){return c},U:function(){return a},Oi:function(){return o},v1:function(){return y}});var n=r(34770),s=r(85586),u=r(2265);function i(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 l(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),i(e.parse,r)}return{type:"single",eq:(e,t)=>e===t,...e,parseServerSide:t,withDefault(e){return{...this,defaultValue:e,parseServerSide:r=>t(r)??e}},withOptions(e){return{...this,...e}}}}let o=l({parse:e=>e,serialize:String}),a=l({parse:e=>{let t=parseInt(e);return t==t?t:null},serialize:e=>""+Math.round(e)});l({parse:e=>{let t=parseInt(e);return t==t?t-1:null},serialize:e=>""+Math.round(e+1)}),l({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}}),l({parse:e=>{let t=parseFloat(e);return t==t?t:null},serialize:String});let c=l({parse:e=>"true"===e.toLowerCase(),serialize:String});function h(e,t){return e.valueOf()===t.valueOf()}function f(e,t=","){let r=e.eq??((e,t)=>e===t),n=encodeURIComponent(t);return l({parse:r=>""===r?[]:r.split(t).map((r,s)=>i(e.parse,r.replaceAll(n,t),`[${s}]`)).filter(e=>null!=e),serialize:r=>r.map(r=>(e.serialize?e.serialize(r):String(r)).replaceAll(t,n)).join(t),eq:(e,t)=>e===t||e.length===t.length&&e.every((e,n)=>r(e,t[n]))})}l({parse:e=>{let t=parseInt(e);return t==t?new Date(t):null},serialize:e=>""+e.valueOf(),eq:h}),l({parse:e=>{let t=new Date(e);return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString(),eq:h}),l({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:h});let p=(0,n.r)(),d={};function m(e,t,r,s,u,l){let o=!1,a=Object.entries(e).reduce((e,[a,c])=>{var h;let f=t?.[a]??a,p=s[f],d="multi"===c.type?[]:null,m=void 0===p?("multi"===c.type?r?.getAll(f):r?.get(f))??d:p;return u&&l&&((h=u[f]??d)===m||null!==h&&null!==m&&"string"!=typeof h&&"string"!=typeof m&&h.length===m.length&&h.every((e,t)=>e===m[t]))?e[a]=l[a]??null:(o=!0,e[a]=((0,n.i)(m)?null:i(c.parse,m,f))??null,u&&(u[f]=m)),e},{});if(!o){let t=Object.keys(e),r=Object.keys(l??{});o=t.length!==r.length||t.some(e=>!r.includes(e))}return{state:a,hasChanged:o}}function g(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,e[r]??t[r]??null]))}function y(e,t={}){let{parse:r,type:i,serialize:l,eq:o,defaultValue:a,...c}=t,[{[e]:h},f]=function(e,t={}){let r=(0,u.useId)(),i=(0,s.i)(),l=(0,s.a)(),{history:o="replace",scroll:a=i?.scroll??!1,shallow:c=i?.shallow??!0,throttleMs:h=n.s.timeMs,limitUrlUpdates:f=i?.limitUrlUpdates,clearOnDefault:y=i?.clearOnDefault??!0,startTransition:v,urlKeys:q=d}
2=t,b=Object.keys(e).join(","),O=(0,u.useMemo)(()=>Object.fromEntries(Object.keys(e).map(e=>[e,q[e]??e])),[b,JSON.stringify(q)]),w=(0,s.r)(Object.values(O)),S=w.searchParams,M=(0,u.useRef)({}),j=(0,u.useMemo)(()=>Object.fromEntries(Object.keys(e).map(t=>[t,e[t].defaultValue??null])),[Object.values(e).map(({defaultValue:e})=>e).join(",")]),k=n.t.useQueuedQueries(Object.values(O)),[U,A]=(0,u.useState)(()=>m(e,q,S??new URLSearchParams,k).state),x=(0,u.useRef)(U);if((0,s.c)("[nuq+ %s `%s`] render - state: %O, iSP: %s",r,b,U,S),Object.keys(M.current).join("&")!==Object.values(O).join("&")){let{state:t,hasChanged:n}=m(e,q,S,k,M.current,x.current);n&&((0,s.c)("[nuq+ %s `%s`] State changed: %O",r,b,{state:t,initialSearchParams:S,queuedQueries:k,queryRef:M.current,stateRef:x.current}),x.current=t,A(t)),M.current=Object.fromEntries(Object.entries(O).map(([t,r])=>[r,e[t]?.type==="multi"?S?.getAll(r):S?.get(r)??null]))}(0,u.useEffect)(()=>{let{state:t,hasChanged:n}=m(e,q,S,k,M.current,x.current);n&&((0,s.c)("[nuq+ %s `%s`] State changed: %O",r,b,{state:t,initialSearchParams:S,queuedQueries:k,queryRef:M.current,stateRef:x.current}),x.current=t,A(t))},[Object.values(O).map(e=>`${e}=${S?.getAll(e)}`).join("&"),JSON.stringify(k)]),(0,u.useEffect)(()=>{let t=Object.keys(e).reduce((t,n)=>(t[n]=({state:t,query:u})=>{A(i=>{let{defaultValue:l}=e[n],o=O[n],a=t??l??null;return Object.is(i[n]??l??null,a)?((0,s.c)("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). no change, skipping, resolved: %O",r,b,o,t,l,x.current),i):(x.current={...x.current,[n]:a},M.current[o]=u,(0,s.c)("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). updateInternalState, resolved: %O",r,b,o,t,l,x.current),x.current)})},t),{});for(let n of Object.keys(e)){let e=O[n];(0,s.c)("[nuq+ %s `%s`] Subscribing to sync for `%s`",r,e,b),p.on(e,t[n])}return()=>{for(let n of Object.keys(e)){let e=O[n];(0,s.c)("[nuq+ %s `%s`] Unsubscribing to sync for `%s`",r,e,b),p.off(e,t[n])}}},[b,O]);let Q=(0,u.useCallback)((t,u={})=>{let i;let d=Object.fromEntries(Object.keys(e).map(e=>[e,null])),m="function"==typeof t?t(g(x.current,j))??d:t??d;(0,s.c)("[nuq+ %s `%s`] setState: %O",r,b,m);let q=0,S=!1,M=[];for(let[t,r]of Object.entries(m)){let d=e[t],m=O[t];if(!d||void 0===r)continue;(u.clearOnDefault??d.clearOnDefault??y)&&null!==r&&void 0!==d.defaultValue&&(d.eq??((e,t)=>e===t))(r,d.defaultValue)&&(r=null);let g=null===r?null:(d.serialize??String)(r);p.emit(m,{state:r,query:g});let b={key:m,query:g,options:{history:u.history??d.history??o,shallow:u.shallow??d.shallow??c,scroll:u.scroll??d.scroll??a,startTransition:u.startTransition??d.startTransition??v}};if(u?.limitUrlUpdates?.method==="debounce"||f?.method==="debounce"||d.limitUrlUpdates?.method==="debounce"){!0===b.options.shallow&&console.warn((0,s.s)(422));let e=u?.limitUrlUpdates?.timeMs??f?.timeMs??d.limitUrlUpdates?.timeMs??n.s.timeMs,t=n.t.push(b,e,w,l);q<e&&(i=t,q=e)}else{let e=u?.limitUrlUpdates?.timeMs??d?.limitUrlUpdates?.timeMs??f?.timeMs??u.throttleMs??d.throttleMs??h;M.push(n.t.abort(m)),n.n.push(b,e),S=!0}}let k=M.reduce((e,t)=>t(e),S?n.n.flush(w,l):n.n.getPendingPromise(w));return i??k},[b,o,c,a,h,f?.method,f?.timeMs,v,O,w.updateUrl,w.getSearchParamsSnapshot,w.rateLimitFactor,l,j]);return[(0,u.useMemo)(()=>g(U,j),[U,j]),Q]}({[e]:{parse:r??(e=>e),type:i,serialize:l,eq:o,defaultValue:a}},c);return[h,(0,u.useCallback)((t,r={})=>f(r=>({[e]:"function"==typeof t?t(r[e]):t}),r),[e,f])]}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.