/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/@next-safe/middleware@0.10.0/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var server=require('next/server');function _isPlaceholder(a){return a!=null&& typeof a==='object'&&a['@@functional/placeholder']===true}function _curry1(fn){return function f1(a){if(arguments.length===0||_isPlaceholder(a)){return f1}else{return fn.apply(this,arguments)}}}function _curry2(fn){return function f2(a,b){switch(arguments.length){case 0:return f2;case 1:return _isPlaceholder(a)?f2:_curry1(function(_b){return fn(a,_b)});default:return _isPlaceholder(a)&&_isPlaceholder(b)?f2:_isPlaceholder(a)?_curry1(function(_a){return fn(_a,b)}):_isPlaceholder(b)?_curry1(function(_b){return fn(a,_b)}):fn(a,b)}}}function _arity(n,fn){switch(n){case 0:return function(){return fn.apply(this,arguments)};case 1:return function(a0){return fn.apply(this,arguments)};case 2:return function(a0,a1){return fn.apply(this,arguments)};case 3:return function(a0,a1,a2){return fn.apply(this,arguments)};case 4:return function(a0,a1,a2,a3){return fn.apply(this,arguments)};case 5:return function(a0,a1,a2,a3,a4){return fn.apply(this,arguments)};case 6:return function(a0,a1,a2,a3,a4,a5){return fn.apply(this,arguments)};case 7:return function(a0,a1,a2,a3,a4,a5,a6){return fn.apply(this,arguments)};case 8:return function(a0,a1,a2,a3,a4,a5,a6,a7){return fn.apply(this,arguments)};case 9:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8){return fn.apply(this,arguments)};case 10:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){return fn.apply(this,arguments)};default:throw new Error('First argument to _arity must be a non-negative integer no greater than ten')}}function _curryN(length,received,fn){return function(){var combined=[];var argsIdx=0;var left=length;var combinedIdx=0;while(combinedIdx<received.length||argsIdx<arguments.length){var result;if(combinedIdx<received.length&&(!_isPlaceholder(received[combinedIdx])||argsIdx>=arguments.length)){result=received[combinedIdx]}else{result=arguments[argsIdx];argsIdx+=1}combined[combinedIdx]=result;if(!_isPlaceholder(result)){left-=1}combinedIdx+=1}return left<=0?fn.apply(this,combined):_arity(left,_curryN(length,combined,fn))}}var curryN=_curry2(function curryN(length,fn){if(length===1){return _curry1(fn)}return _arity(length,_curryN(length,[],fn))});function _curry3(fn){return function f3(a,b,c){switch(arguments.length){case 0:return f3;case 1:return _isPlaceholder(a)?f3:_curry2(function(_b,_c){return fn(a,_b,_c)});case 2:return _isPlaceholder(a)&&_isPlaceholder(b)?f3:_isPlaceholder(a)?_curry2(function(_a,_c){return fn(_a,b,_c)}):_isPlaceholder(b)?_curry2(function(_b,_c){return fn(a,_b,_c)}):_curry1(function(_c){return fn(a,b,_c)});default:return _isPlaceholder(a)&&_isPlaceholder(b)&&_isPlaceholder(c)?f3:_isPlaceholder(a)&&_isPlaceholder(b)?_curry2(function(_a,_b){return fn(_a,_b,c)}):_isPlaceholder(a)&&_isPlaceholder(c)?_curry2(function(_a,_c){return fn(_a,b,_c)}):_isPlaceholder(b)&&_isPlaceholder(c)?_curry2(function(_b,_c){return fn(a,_b,_c)}):_isPlaceholder(a)?_curry1(function(_a){return fn(_a,b,c)}):_isPlaceholder(b)?_curry1(function(_b){return fn(a,_b,c)}):_isPlaceholder(c)?_curry1(function(_c){return fn(a,b,_c)}):fn(a,b,c)}}}var _isArray=Array.isArray||function _isArray(val){return val!=null&&val.length>=0&&Object.prototype.toString.call(val)==='[object Array]'};function _isTransformer(obj){return obj!=null&& typeof obj['@@transducer/step']==='function'}function _dispatchable(methodNames,transducerCreator,fn){return function(){if(arguments.length===0){return fn()}var obj=arguments[arguments.length-1];if(!_isArray(obj)){var idx=0;while(idx<methodNames.length){if(typeof obj[methodNames[idx]]==='function'){return obj[methodNames[idx]].apply(obj,Array.prototype.slice.call(arguments,0,-1))}idx+=1}if(_isTransformer(obj)){var transducer=transducerCreator.apply(null,Array.prototype.slice.call(arguments,0,-1));return transducer(obj)}}return fn.apply(this,arguments)}}var _xfBase={init:function(){return this.xf['@@transducer/init']()},result:function(result){return this.xf['@@transducer/result'](result)}};function _map(fn,functor){var idx=0;var len=functor.length;var result=Array(len);while(idx<len){result[idx]=fn(functor[idx]);idx+=1}return result}function _isString(x){return Object.prototype.toString.call(x)==='[object String]'}var _isArrayLike=_curry1(function isArrayLike(x){if(_isArray(x)){return true}if(!x){return false}if(typeof x!=='object'){return false}if(_isString(x)){return false}if(x.length===0){return true}if(x.length>0){return x.hasOwnProperty(0)&&x.hasOwnProperty(x.length-1)}return false});var XWrap=function(){function XWrap1(fn){this.f=fn}XWrap1.prototype['@@transducer/init']=function(){throw new Error('init not implemented on XWrap')};XWrap1.prototype['@@transducer/result']=function(acc){return acc};XWrap1.prototype['@@transducer/step']=function(acc,x){return this.f(acc,x)};return XWrap1}();function _xwrap(fn){return new XWrap(fn)}var bind=_curry2(function bind(fn,thisObj){return _arity(fn.length,function(){return fn.apply(thisObj,arguments)})});function _arrayReduce(xf,acc,list){var idx=0;var len=list.length;while(idx<len){acc=xf['@@transducer/step'](acc,list[idx]);if(acc&&acc['@@transducer/reduced']){acc=acc['@@transducer/value'];break}idx+=1}return xf['@@transducer/result'](acc)}function _iterableReduce(xf,acc,iter){var step=iter.next();while(!step.done){acc=xf['@@transducer/step'](acc,step.value);if(acc&&acc['@@transducer/reduced']){acc=acc['@@transducer/value'];break}step=iter.next()}return xf['@@transducer/result'](acc)}function _methodReduce(xf,acc,obj,methodName){return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'],xf),acc))}var symIterator=typeof Symbol!=='undefined'?Symbol.iterator:'@@iterator';function _reduce(fn,acc,list){if(typeof fn==='function'){fn=_xwrap(fn)}if(_isArrayLike(list)){return _arrayReduce(fn,acc,list)}if(typeof list['fantasy-land/reduce']==='function'){return _methodReduce(fn,acc,list,'fantasy-land/reduce')}if(list[symIterator]!=null){return _iterableReduce(fn,acc,list[symIterator]())}if(typeof list.next==='function'){return _iterableReduce(fn,acc,list)}if(typeof list.reduce==='function'){return _methodReduce(fn,acc,list,'reduce')}throw new TypeError('reduce: list must be array or iterable')}var XMap=function(){function XMap1(f,xf){this.xf=xf;this.f=f}XMap1.prototype['@@transducer/init']=_xfBase.init;XMap1.prototype['@@transducer/result']=_xfBase.result;XMap1.prototype['@@transducer/step']=function(result,input){return this.xf['@@transducer/step'](result,this.f(input))};return XMap1}();var _xmap=_curry2(function _xmap(f,xf){return new XMap(f,xf)});function _has(prop,obj){return Object.prototype.hasOwnProperty.call(obj,prop)}var toString=Object.prototype.toString;var _isArguments=function(){return toString.call(arguments)==='[object Arguments]'?function _isArguments(x){return toString.call(x)==='[object Arguments]'}:function _isArguments(x){return _has('callee',x)}}();var hasEnumBug=!({toString:null}).propertyIsEnumerable('toString');var nonEnumerableProps=['constructor','valueOf','isPrototypeOf','toString','propertyIsEnumerable','hasOwnProperty','toLocaleString'];var hasArgsEnumBug=function(){return arguments.propertyIsEnumerable('length')}();var contains=function contains(list,item){var idx=0;while(idx<list.length){if(list[idx]===item){return true}idx+=1}return false};var keys=typeof Object.keys==='function'&&!hasArgsEnumBug?_curry1(function keys(obj){return Object(obj)!==obj?[]:Object.keys(obj)}):_curry1(function keys(obj){if(Object(obj)!==obj){return[]}var prop,nIdx;var ks=[];var checkArgsLength=hasArgsEnumBug&&_isArguments(obj);for(prop in obj){if(_has(prop,obj)&&(!checkArgsLength||prop!=='length')){ks[ks.length]=prop}}if(hasEnumBug){nIdx=nonEnumerableProps.length-1;while(nIdx>=0){prop=nonEnumerableProps[nIdx];if(_has(prop,obj)&&!contains(ks,prop)){ks[ks.length]=prop}nIdx-=1}}return ks});var map=_curry2(_dispatchable(['fantasy-land/map','map'],_xmap,function map(fn,functor){switch(Object.prototype.toString.call(functor)){case'[object Function]':return curryN(functor.length,function(){return fn.call(this,functor.apply(this,arguments))});case'[object Object]':return _reduce(function(acc,key){acc[key]=fn(functor[key]);return acc},{},keys(functor));default:return _map(fn,functor)}}));var map$1=map;var type=_curry1(function type(val){return val===null?'Null':val===undefined?'Undefined':Object.prototype.toString.call(val).slice(8,-1)});function _arrayFromIterator(iter){var list=[];var next;while(!(next=iter.next()).done){list.push(next.value)}return list}function _includesWith(pred,x,list){var idx=0;var len=list.length;while(idx<len){if(pred(x,list[idx])){return true}idx+=1}return false}function _functionName(f){var match=String(f).match(/^function (\w*)/);return match==null?'':match[1]}function _objectIs(a,b){if(a===b){return a!==0||1/a===1/b}else{return a!==a&&b!==b}}var _objectIs$1=typeof Object.is==='function'?Object.is:_objectIs;function _uniqContentEquals(aIterator,bIterator,stackA,stackB){var a=_arrayFromIterator(aIterator);var b1=_arrayFromIterator(bIterator);function eq(_a,_b){return _equals(_a,_b,stackA.slice(),stackB.slice())}return!_includesWith(function(b,aItem){return!_includesWith(eq,aItem,b)},b1,a)}function _equals(a,b,stackA,stackB){if(_objectIs$1(a,b)){return true}var typeA=type(a);if(typeA!==type(b)){return false}if(typeof a['fantasy-land/equals']==='function'|| typeof b['fantasy-land/equals']==='function'){return typeof a['fantasy-land/equals']==='function'&&a['fantasy-land/equals'](b)&& typeof b['fantasy-land/equals']==='function'&&b['fantasy-land/equals'](a)}if(typeof a.equals==='function'|| typeof b.equals==='function'){return typeof a.equals==='function'&&a.equals(b)&& typeof b.equals==='function'&&b.equals(a)}switch(typeA){case'Arguments':case'Array':case'Object':if(typeof a.constructor==='function'&&_functionName(a.constructor)==='Promise'){return a===b}break;case'Boolean':case'Number':case'String':if(!(typeof a===typeof b&&_objectIs$1(a.valueOf(),b.valueOf()))){return false}break;case'Date':if(!_objectIs$1(a.valueOf(),b.valueOf())){return false}break;case'Error':return a.name===b.name&&a.message===b.message;case'RegExp':if(!(a.source===b.source&&a.global===b.global&&a.ignoreCase===b.ignoreCase&&a.multiline===b.multiline&&a.sticky===b.sticky&&a.unicode===b.unicode)){return false}break}var idx=stackA.length-1;while(idx>=0){if(stackA[idx]===a){return stackB[idx]===b}idx-=1}switch(typeA){case'Map':if(a.size!==b.size){return false}return _uniqContentEquals(a.entries(),b.entries(),stackA.concat([a]),stackB.concat([b]));case'Set':if(a.size!==b.size){return false}return _uniqContentEquals(a.values(),b.values(),stackA.concat([a]),stackB.concat([b]));case'Arguments':case'Array':case'Object':case'Boolean':case'Number':case'String':case'Date':case'Error':case'RegExp':case'Int8Array':case'Uint8Array':case'Uint8ClampedArray':case'Int16Array':case'Uint16Array':case'Int32Array':case'Uint32Array':case'Float32Array':case'Float64Array':case'ArrayBuffer':break;default:return false}var keysA=keys(a);if(keysA.length!==keys(b).length){return false}var extendedStackA=stackA.concat([a]);var extendedStackB=stackB.concat([b]);idx=keysA.length-1;while(idx>=0){var key=keysA[idx];if(!(_has(key,b)&&_equals(b[key],a[key],extendedStackA,extendedStackB))){return false}idx-=1}return true}var equals=_curry2(function equals(a,b){return _equals(a,b,[],[])});function _indexOf(list,a,idx){var inf,item;if(typeof list.indexOf==='function'){switch(typeof a){case'number':if(a===0){inf=1/a;while(idx<list.length){item=list[idx];if(item===0&&1/item===inf){return idx}idx+=1}return-1}else if(a!==a){while(idx<list.length){item=list[idx];if(typeof item==='number'&&item!==item){return idx}idx+=1}return-1}return list.indexOf(a,idx);case'string':case'boolean':case'function':case'undefined':return list.indexOf(a,idx);case'object':if(a===null){return list.indexOf(a,idx)}}}while(idx<list.length){if(equals(list[idx],a)){return idx}idx+=1}return-1}function _includes(a,list){return _indexOf(list,a,0)>=0}function _isObject(x){return Object.prototype.toString.call(x)==='[object Object]'}var _Set=function(){function _Set1(){this._nativeSet=typeof Set==='function'?new Set():null;this._items={}}_Set1.prototype.add=function(item){return!hasOrAdd(item,true,this)};_Set1.prototype.has=function(item){return hasOrAdd(item,false,this)};return _Set1}();function hasOrAdd(item,shouldAdd,set){var type1=typeof item;var prevSize,newSize;switch(type1){case'string':case'number':if(item===0&&1/item=== -Infinity){if(set._items['-0']){return true}else{if(shouldAdd){set._items['-0']=true}return false}}if(set._nativeSet!==null){if(shouldAdd){prevSize=set._nativeSet.size;set._nativeSet.add(item);newSize=set._nativeSet.size;return newSize===prevSize}else{return set._nativeSet.has(item)}}else{if(!(type1 in set._items)){if(shouldAdd){set._items[type1]={};set._items[type1][item]=true}return false}else if(item in set._items[type1]){return true}else{if(shouldAdd){set._items[type1][item]=true}return false}}case'boolean':if(type1 in set._items){var bIdx=item?1:0;if(set._items[type1][bIdx]){return true}else{if(shouldAdd){set._items[type1][bIdx]=true}return false}}else{if(shouldAdd){set._items[type1]=item?[false,true]:[true,false]}return false}case'function':if(set._nativeSet!==null){if(shouldAdd){prevSize=set._nativeSet.size;set._nativeSet.add(item);newSize=set._nativeSet.size;return newSize===prevSize}else{return set._nativeSet.has(item)}}else{if(!(type1 in set._items)){if(shouldAdd){set._items[type1]=[item]}return false}if(!_includes(item,set._items[type1])){if(shouldAdd){set._items[type1].push(item)}return false}return true}case'undefined':if(set._items[type1]){return true}else{if(shouldAdd){set._items[type1]=true}return false}case'object':if(item===null){if(!set._items['null']){if(shouldAdd){set._items['null']=true}return false}return true}default:type1=Object.prototype.toString.call(item);if(!(type1 in set._items)){if(shouldAdd){set._items[type1]=[item]}return false}if(!_includes(item,set._items[type1])){if(shouldAdd){set._items[type1].push(item)}return false}return true}}var difference=_curry2(function difference(first,second){var out=[];var idx=0;var firstLen=first.length;var secondLen=second.length;var toFilterOut=new _Set();for(var i=0;i<secondLen;i+=1){toFilterOut.add(second[i])}while(idx<firstLen){if(toFilterOut.add(first[idx])){out[out.length]=first[idx]}idx+=1}return out});var difference$1=difference;var differenceWith=_curry3(function differenceWith(pred,first,second){var out=[];var idx=0;var firstLen=first.length;while(idx<firstLen){if(!_includesWith(pred,first[idx],second)&&!_includesWith(pred,first[idx],out)){out.push(first[idx])}idx+=1}return out});var differenceWith$1=differenceWith;function _objectAssign(target){if(target==null){throw new TypeError('Cannot convert undefined or null to object')}var output=Object(target);var idx=1;var length=arguments.length;while(idx<length){var source=arguments[idx];if(source!=null){for(var nextKey in source){if(_has(nextKey,source)){output[nextKey]=source[nextKey]}}}idx+=1}return output}var _objectAssign$1=typeof Object.assign==='function'?Object.assign:_objectAssign;var mergeWithKey=_curry3(function mergeWithKey(fn,l,r){var result={};var k;for(k in l){if(_has(k,l)){result[k]=_has(k,r)?fn(k,l[k],r[k]):l[k]}}for(k in r){if(_has(k,r)&&!_has(k,result)){result[k]=r[k]}}return result});var mergeDeepWithKey=_curry3(function mergeDeepWithKey1(fn,lObj,rObj){return mergeWithKey(function(k,lVal,rVal){if(_isObject(lVal)&&_isObject(rVal)){return mergeDeepWithKey1(fn,lVal,rVal)}else{return fn(k,lVal,rVal)}},lObj,rObj)});var mergeDeepWithKey$1=mergeDeepWithKey;var mergeRight=_curry2(function mergeRight(l,r){return _objectAssign$1({},l,r)});var mergeRight$1=mergeRight;const CSP_LOCATION_MIDDLEWARE='_next/static/~csp';const CSP_MANIFEST_FILENAME='csp-manifest.json';const CSP_HEADER='content-security-policy';const CSP_HEADER_REPORT_ONLY='content-security-policy-report-only';const isBoolDirective=directive=>{return["upgrade-insecure-requests","block-all-mixed-content","sandbox",].includes(directive)};const singleQuotify=directiveValue=>`'${directiveValue}'`;const isLiteralDirectiveValue=directiveValue=>{const c1=["strict-dynamic","report-sample","self","unsafe-eval","unsafe-hashes","unsafe-inline","none",].includes(directiveValue);const c2=["nonce","sha256","sha384","sha512"].reduce((is,next)=>is||directiveValue.startsWith(`${next}-`),false);return c1||c2};const singleQuotifiedIfLiteral=directiveValue=>isLiteralDirectiveValue(directiveValue)?singleQuotify(directiveValue):directiveValue;const unquotify=directiveValue=>{if(directiveValue.startsWith("'")&&directiveValue.endsWith("'")){return directiveValue.slice(1,-1)}return directiveValue};const arrayifyCspValues=values=>{if(typeof values==="boolean"){return values}let arrayValues;if(typeof values==="string"){arrayValues=values.trim().split(" ").map(v=>v.trim())}else{arrayValues=values||[]}return arrayValues.filter(Boolean)};const arrayifyCspDirectives=directives1=>{return map$1(arrayifyCspValues,directives1)};const toCspContent=csp1=>Object.entries(arrayifyCspDirectives(csp1)).map(([attr,values])=>typeof values=="boolean"?isBoolDirective(attr)&&values?attr:"":`${attr} ${values.map(singleQuotifiedIfLiteral).join(" ")}`).filter(Boolean).join(";");const fromCspContent=content=>Object.fromEntries(content.split(";").map(line=>line.trim().split(" ").map(lineItem=>lineItem.trim()).filter(Boolean)).map(line=>{const directive=line[0];const values=line.slice(1);if(isBoolDirective(directive)){return[directive,true]}return directive&&values.length?[directive,values.map(unquotify)]:undefined}).filter(Boolean));const extendCsp=(csp2,cspExtension,mergedDirectiveValues="append")=>{const concatValues=(_k,l,r)=>Array.isArray(l)&&Array.isArray(r)&&mergedDirectiveValues==="append"?[...l,...difference$1(r,l)]:Array.isArray(l)&&Array.isArray(r)&&mergedDirectiveValues==="prepend"?[...difference$1(r,l),...l]:r;return mergeDeepWithKey$1(concatValues,arrayifyCspDirectives(csp2??{}),arrayifyCspDirectives(cspExtension??{}))};const filterCsp=(directives2,excludePatterns)=>{return Object.entries(arrayifyCspDirectives(directives2)).reduce((acc,[attr,values])=>{const directive=attr;const excludePattern=excludePatterns[directive];if(excludePattern&& typeof values!=="boolean"){acc[directive]=values.filter(v=>Array.isArray(excludePattern)?!excludePattern.includes(v):!excludePattern.test(v))}else{acc[directive]=values}return acc},{})};const cspDirectiveHas=(directives3,directive,patternOrValue)=>{const directiveValues=arrayifyCspDirectives(directives3)[directive];if(typeof directiveValues==="boolean"){return directiveValues}if(!directiveValues){return false}return directiveValues.some(v=>typeof patternOrValue==="string"?v.includes(patternOrValue):patternOrValue.test(v))};class CspBuilder{withDirectives(cspDirectives,mergeDirectiveValues="append"){const extend=typeof cspDirectives==="string"?fromCspContent(cspDirectives):cspDirectives;this._csp.directives=extendCsp(this._csp.directives,extend,mergeDirectiveValues);return this}withoutDirectives(excludeDirectives){for(const directive of excludeDirectives){delete this._csp.directives[directive]}return this}withoutDirectiveValues(excludePatterns){this._csp.directives=filterCsp(this._csp.directives,excludePatterns);return this}withReportOnly(reportOnly=true){this._csp.reportOnly=reportOnly;return this}hasDirective(directive){const directiveValue=this._csp.directives[directive];if(typeof directiveValue==="boolean"){return directiveValue}if(!directiveValue){return false}return directiveValue.length>0}hasDirectiveWithPattern(directive,pattern){cspDirectiveHas(this._csp.directives,directive,pattern)?this:undefined}toHeaderValue(){return toCspContent(this._csp.directives)}toHeaderKeyValue(){const key=this._csp.reportOnly?CSP_HEADER_REPORT_ONLY:CSP_HEADER;return[key,this.toHeaderValue()]}toString(){return this.toHeaderValue()}withNonceApplied(nonce){if(this.hasDirective("script-src")){this.withoutDirectiveValues({"script-src":/nonce/});this.withDirectives({"script-src":[`nonce-${nonce}`]})}if(this.hasDirective("style-src")){this.withoutDirectiveValues({"style-src":/nonce/});this.withDirectives({"style-src":[`nonce-${nonce}`]})}if(this.hasDirective("style-src-elem")){this.withoutDirectiveValues({"style-src-elem":/nonce/});this.withDirectives({"style-src-elem":[`nonce-${nonce}`]})}return this}csp(){return{...this._csp}}withStrictDynamic(hashesOrNonce,fallback=["https:","unsafe-inline"],extendScriptSrc=false){const hashes=Array.isArray(hashesOrNonce)?hashesOrNonce:[];const nonce=typeof hashesOrNonce==="string"?hashesOrNonce:"";this.withDirectives({"script-src":["strict-dynamic",...fallback,...hashes]},extendScriptSrc?"append":"override");if(nonce){this.withNonceApplied(nonce)}return this}withStyleHashes(elemHashes=[],attrHashes=[]){const unsafeHashes=attrHashes.length?["unsafe-hashes"]:[];if(elemHashes.length||attrHashes.length){this.withoutDirectiveValues({"style-src":["unsafe-inline"]});this.withDirectives({"style-src":[...elemHashes,...attrHashes,...unsafeHashes]})}if(this.hasDirective("style-src-elem")&&elemHashes.length){this.withoutDirectiveValues({"style-src-elem":["unsafe-inline"]});this.withDirectives({"style-src-elem":[...elemHashes]})}if(this.hasDirective("style-src-attr")&&attrHashes.length){this.withoutDirectiveValues({"style-src-attr":["unsafe-inline"]});this.withDirectives({"style-src-attr":[...attrHashes,...unsafeHashes]})}return this}constructor(param){if(param){if(param instanceof CspBuilder){this._csp={...param._csp}}else if(typeof param==="string"){this._csp={directives:fromCspContent(param)}}else if(Array.isArray(param)){const isCspHeader=param[0]===CSP_HEADER;const isCspReportOnlyHeader=param[0]===CSP_HEADER_REPORT_ONLY;this._csp={directives:fromCspContent(param[1]),reportOnly:!isCspHeader&&isCspReportOnlyHeader}}else{this._csp={directives:typeof param.directives==="string"?fromCspContent(param.directives):arrayifyCspDirectives(param.directives??{}),reportOnly:param.reportOnly}}}else{this._csp={directives:{}}}}}const memoizeInChainCache=(key,f)=>ctx=>async(...args)=>{const cached=ctx.cache.get(key);if(cached){return cached}const fetched=await f(ctx,...args);ctx.cache.set(key,fetched);return fetched};const globalCache={};const memoizeInGlobalCache=(key,f)=>async(...args)=>{const cached=globalCache[key];if(cached){return cached}const fetched=await f(...args);globalCache[key]=fetched;return fetched};const memoizeResponseHeader=(header,fromHeaderValue,toHeaderValue,merger)=>{const writeHeaderCallback=(req,evt,ctx)=>{const cached=ctx.cache.get(header);if(cached){const resHeaders=ctx.res.get().headers;const headerValue=toHeaderValue(cached);if(headerValue){resHeaders.set(header,headerValue)}}};return ctx=>{ctx.finalize.addCallback(writeHeaderCallback);const fromCacheOrRes=()=>{const fromCache=ctx.cache.get(header);if(fromCache){return fromCache}const resHeaders=ctx.res.get().headers;const value=resHeaders.get(header)||"";return fromHeaderValue(value)};const set=value=>{const fromCache=ctx.cache.get(header);if(!fromCache||!merger){ctx.cache.set(header,value);return}ctx.cache.set(header,merger(fromCache,value))};const value1=fromCacheOrRes();return[value1,set]}};const matchNot=matcher=>req=>!matcher(req);const matchAnd=(...matchers)=>req=>{let matches=true;for(const matcher of matchers){matches=matcher(req);if(!matches)return matches}return matches};const matchOr=(...matchers)=>req=>{let matches=false;for(const matcher of matchers){matches=matcher(req);if(matches)return matches}return matches};const isPagePathRequest=req=>{const isNonPagePathPrefix=/^\/(?:_next|api)\//;const isFile=/\..*$/;const{pathname}=req.nextUrl;return!isNonPagePathPrefix.test(pathname)&&!isFile.test(pathname)};const isPreviewModeRequest=req=>!!req.cookies.get("__next_preview_data");const isNextJsDataRequest=req=>!!req.headers.get("x-nextjs-data");const isPageRequest=matchAnd(isPagePathRequest,matchNot(isPreviewModeRequest),matchNot(isNextJsDataRequest));const deepFreeze=obj=>{Object.keys(obj).forEach(prop=>{if(typeof obj[prop]==="object")deepFreeze(obj[prop])});return Object.freeze(obj)};const chain=(...middlewares)=>async(req,evt)=>{let chainResponse;const cache={};const finalizers=[];const ctx=deepFreeze({res:{get:()=>{if(!chainResponse){chainResponse=server.NextResponse.next()}return chainResponse},set:res=>chainResponse=res},cache:{get:k=>cache[k],set:(k,v)=>cache[k]=v},finalize:{addCallback:f=>{if(!finalizers.includes(f)){finalizers.push(f)}}}});const finalize1=async()=>{try{return Promise.all(finalizers.map(finalize=>finalize(req,evt,ctx)))}catch(error){console.error("[chain]: finalization error",{error})}};for await(const middleware of middlewares){const mwRes=await middleware(req,evt,ctx);if(mwRes){return mwRes}}await finalize1();return chainResponse};const chainMatch=matcher=>(...middlewares)=>async(req,evt)=>{if(matcher(req)){return chain(...middlewares)(req,evt)}};const chainableMiddleware=middleware=>{return async(req,evt,ctx)=>{if(ctx){return middleware(req,evt,ctx)}return chain(middleware)(req,evt)}};const continued=nextMiddleware=>chainableMiddleware(async(req,evt,ctx)=>{const mwRes=await nextMiddleware(req,evt);if(mwRes){ctx.res.set(mwRes)}});var crunchHeaderValue$1=function crunchHeaderValue(headerValue){return Object.entries(headerValue).reduce((accumulator,[key,value])=>{let serializedValue=value;if(!Array.isArray(value)){serializedValue=[value]}return`${accumulator}${key} ${serializedValue.join(' ')};`},'')};const crunchHeaderValue=crunchHeaderValue$1;const devDirectives={'connect-src':['webpack://*'],'script-src':["'unsafe-eval'"],'style-src':["'unsafe-inline'"]};function getCSPDirective(value,defaultValue){return[value||defaultValue].flat()}var buildCSPHeaders$1=function buildCSPHeaders(options={}){const{contentSecurityPolicy={},isDev}=options;if(contentSecurityPolicy===false){return[]}const directives4={'base-uri':getCSPDirective(contentSecurityPolicy['base-uri'],"'none'"),'child-src':getCSPDirective(contentSecurityPolicy['child-src'],"'none'"),'connect-src':getCSPDirective(contentSecurityPolicy['connect-src'],"'self'"),'default-src':getCSPDirective(contentSecurityPolicy['default-src'],"'self'"),'font-src':getCSPDirective(contentSecurityPolicy['font-src'],"'self'"),'form-action':getCSPDirective(contentSecurityPolicy['form-action'],"'self'"),'frame-ancestors':getCSPDirective(contentSecurityPolicy['frame-ancestors'],"'none'"),'frame-src':getCSPDirective(contentSecurityPolicy['frame-src'],"'none'"),'img-src':getCSPDirective(contentSecurityPolicy['img-src'],"'self'"),'manifest-src':getCSPDirective(contentSecurityPolicy['manifest-src'],"'self'"),'media-src':getCSPDirective(contentSecurityPolicy['media-src'],"'self'"),'object-src':getCSPDirective(contentSecurityPolicy['object-src'],"'none'"),'prefetch-src':getCSPDirective(contentSecurityPolicy['prefetch-src'],"'self'"),'script-src':getCSPDirective(contentSecurityPolicy['script-src'],"'self'"),'style-src':getCSPDirective(contentSecurityPolicy['style-src'],"'self'"),'worker-src':getCSPDirective(contentSecurityPolicy['worker-src'],"'self'")};const optionalDirectives=['block-all-mixed-content','plugin-types','navigate-to','require-sri-for','require-trusted-types-for','sandbox','script-src-attr','script-src-elem','style-src-attr','style-src-elem','trusted-types','upgrade-insecure-requests',];optionalDirectives.forEach(optionalDirective=>{if(contentSecurityPolicy[optionalDirective]){directives4[optionalDirective]=getCSPDirective(contentSecurityPolicy[optionalDirective])}});if(contentSecurityPolicy['report-to']||contentSecurityPolicy['report-uri']){const reportDirectiveValue=getCSPDirective(contentSecurityPolicy['report-to']||contentSecurityPolicy['report-uri']);directives4['report-uri']=reportDirectiveValue;directives4['report-to']=reportDirectiveValue}Object.entries(contentSecurityPolicy).forEach(([key,value])=>{if(value===false){delete directives4[key]}});if(isDev){Object.entries(devDirectives).forEach(([key,value])=>{if(directives4[key]){directives4[key]=directives4[key].concat(value)}else{directives4[key]=[...value]}})}const cspString=crunchHeaderValue(directives4);const cspHeaderNames=[`Content-Security-Policy${contentSecurityPolicy.reportOnly?'-Report-Only':''}`,`X-Content-Security-Policy${contentSecurityPolicy.reportOnly?'-Report-Only':''}`,'X-WebKit-CSP',];return cspHeaderNames.map(headerName=>({key:headerName,value:cspString}))};var crunchFeaturePolicyHeader$1=function crunchFeaturePolicyHeader(headerValue){return Object.entries(headerValue).reduce((accumulator,[key,value])=>{let serializedValue=value;if(!Array.isArray(value)){serializedValue=[value]}return`${accumulator}${key} ${serializedValue.join(' ')};`},'')};var crunchPermissionsPolicyHeader$1=function crunchPermissionsPolicyHeader(headerValue){return Object.entries(headerValue).reduce((accumulator,[key,value])=>{let serializedValue=value;if(!Array.isArray(value)){serializedValue=value.split(' ')}serializedValue=serializedValue.map(item=>{if(item.includes('*')){return'*'}if(item==="'self'"){return'self'}if(!['*','self'].includes(item)&&!/^['"].*['"]$/){return item.replace(/^['"]/,'"').replace(/['"]$/,'"')}return item});accumulator.push(`${key}=(${serializedValue.join(' ')})`);return accumulator},[]).join(',')};var experimentalDirectives$1=['conversion-measurement','focus-without-user-activation','hid','idle-detection','serial','sync-script','trust-token-redemption','vertical-scroll',];var legacyDirectives$1=['animations','document-write','image-compression','layout-animations','legacy-image-formats','max-downscaling-image','notifications','oversized-images','push','speaker','unsized-media','vibrate','vr','wake-lock','webauthn','web-share',];var proposedDirectives$1=['clipboard-read','clipboard-write','gamepad','speaker-selection',];var standardDirectives$1=['accelerometer','ambient-light-sensor','autoplay','battery','camera','cross-origin-isolated','display-capture','document-domain','encrypted-media','execution-while-not-rendered','execution-while-out-of-viewport','fullscreen','geolocation','gyroscope','magnetometer','microphone','midi','navigation-override','payment','picture-in-picture','publickey-credentials-get','screen-wake-lock','sync-xhr','usb','web-share','xr-spatial-tracking',];const experimentalDirectives=experimentalDirectives$1;const legacyDirectives=legacyDirectives$1;const proposedDirectives=proposedDirectives$1;const standardDirectives=standardDirectives$1;var PermissionsPolicy={experimental:experimentalDirectives,legacy:legacyDirectives,proposed:proposedDirectives,standard:standardDirectives};const crunchFeaturePolicyHeader=crunchFeaturePolicyHeader$1;const crunchPermissionsPolicyHeader=crunchPermissionsPolicyHeader$1;const directives=PermissionsPolicy;function reduceDirectives(supportedDirectives,permissionsPolicy,defaultValue){return supportedDirectives.reduce((accumulator,directive)=>{if(permissionsPolicy[directive]!==false){accumulator[directive]=permissionsPolicy[directive]||defaultValue}return accumulator},{})}var buildPermissionsPolicyHeaders$1=function buildPermissionsPolicyHeaders(options={}){const{permissionsPolicy={},permissionsPolicyDirectiveSupport=['proposed','standard']}=options;if(permissionsPolicy===false){return[]}const supportedDirectives=Array.from(new Set(permissionsPolicyDirectiveSupport.map(directiveSet=>directives[directiveSet]).flat()));return[{key:'Feature-Policy',value:crunchFeaturePolicyHeader(reduceDirectives(supportedDirectives,permissionsPolicy,"'none'"))},{key:'Permissions-Policy',value:crunchPermissionsPolicyHeader(reduceDirectives(supportedDirectives,permissionsPolicy,''))},]};const buildCSPHeaders=buildCSPHeaders$1;const buildPermissionsPolicyHeaders=buildPermissionsPolicyHeaders$1;function makeHeaderObj(key,value,defaultValue){if(key===false){return undefined}return{key,value:value||defaultValue}}function nextSafe$2(options={}){const{contentTypeOptions,contentSecurityPolicy={},frameOptions,permissionsPolicy={},permissionsPolicyDirectiveSupport,isDev=false,referrerPolicy,xssProtection}=options;return[...buildCSPHeaders({contentSecurityPolicy,isDev}),...buildPermissionsPolicyHeaders({permissionsPolicy,permissionsPolicyDirectiveSupport,isDev}),makeHeaderObj('Referrer-Policy',referrerPolicy,'no-referrer'),makeHeaderObj('X-Content-Type-Options',contentTypeOptions,'nosniff'),makeHeaderObj('X-Frame-Options',frameOptions,'DENY'),makeHeaderObj('X-XSS-Protection',xssProtection,'1; mode=block'),].filter(header=>Boolean(header))}var nextSafe_1=nextSafe$2;const nextSafe$1=nextSafe_1;var lib=nextSafe$1;const unpackConfig=async(cfg,req,evt,ctx)=>{const userAgent=server.userAgent({headers:req.headers});return typeof cfg==="function"?{...await cfg({req,evt,ctx,userAgent}),userAgent}:{userAgent,...cfg}};const mergeConfigs=(left,right,keyMerger=(k,l,r)=>r)=>async({req,evt,ctx})=>{const leftCfg=await unpackConfig(left,req,evt,ctx);const rightCfg=await unpackConfig(right,req,evt,ctx);return mergeDeepWithKey$1(keyMerger,leftCfg,rightCfg)};const isTrue=x=>typeof x==="boolean"&&x;const isFalse=x=>typeof x==="boolean"&&!x;const isNonBool=x=>typeof x!=="boolean"&&!!x;const defaultConfigMergers=[(k,l,r)=>isTrue(r)&&isNonBool(l)?l:undefined,(k,l,r)=>isFalse(r)&&isNonBool(l)?null:undefined,(k,l,r)=>r,];const chainMergers=mergers=>(k,l,r)=>mergers.reduce((v,next)=>typeof v==="undefined"?next(k,l,r):v,undefined);const withDefaultConfig=(builder,defaultCfg,...keyMergers)=>cfg=>async(req,evt,ctx)=>{if(cfg){const unpackedCfg=await unpackConfig(cfg,req,evt,ctx);return builder(mergeConfigs(typeof defaultCfg==="function"?defaultCfg(unpackedCfg):defaultCfg,unpackedCfg,chainMergers([...keyMergers,...defaultConfigMergers])))(req,evt,ctx)}else{return builder(typeof defaultCfg==="function"?defaultCfg({}):defaultCfg)(req,evt,ctx)}};var retry$1={};function RetryOperation(timeouts,options){if(typeof options==='boolean'){options={forever:options}}this._originalTimeouts=JSON.parse(JSON.stringify(timeouts));this._timeouts=timeouts;this._options=options||{};this._maxRetryTime=options&&options.maxRetryTime||Infinity;this._fn=null;this._errors=[];this._attempts=1;this._operationTimeout=null;this._operationTimeoutCb=null;this._timeout=null;this._operationStart=null;this._timer=null;if(this._options.forever){this._cachedTimeouts=this._timeouts.slice(0)}}var retry_operation=RetryOperation;RetryOperation.prototype.reset=function(){this._attempts=1;this._timeouts=this._originalTimeouts.slice(0)};RetryOperation.prototype.stop=function(){if(this._timeout){clearTimeout(this._timeout)}if(this._timer){clearTimeout(this._timer)}this._timeouts=[];this._cachedTimeouts=null};RetryOperation.prototype.retry=function(err){if(this._timeout){clearTimeout(this._timeout)}if(!err){return false}var currentTime=new Date().getTime();if(err&&currentTime-this._operationStart>=this._maxRetryTime){this._errors.push(err);this._errors.unshift(new Error('RetryOperation timeout occurred'));return false}this._errors.push(err);var timeout=this._timeouts.shift();if(timeout===undefined){if(this._cachedTimeouts){this._errors.splice(0,this._errors.length-1);timeout=this._cachedTimeouts.slice(-1)}else{return false}}var self=this;this._timer=setTimeout(function(){self._attempts++;if(self._operationTimeoutCb){self._timeout=setTimeout(function(){self._operationTimeoutCb(self._attempts)},self._operationTimeout);if(self._options.unref){self._timeout.unref()}}self._fn(self._attempts)},timeout);if(this._options.unref){this._timer.unref()}return true};RetryOperation.prototype.attempt=function(fn,timeoutOps){this._fn=fn;if(timeoutOps){if(timeoutOps.timeout){this._operationTimeout=timeoutOps.timeout}if(timeoutOps.cb){this._operationTimeoutCb=timeoutOps.cb}}var self=this;if(this._operationTimeoutCb){this._timeout=setTimeout(function(){self._operationTimeoutCb()},self._operationTimeout)}this._operationStart=new Date().getTime();this._fn(this._attempts)};RetryOperation.prototype.try=function(fn){console.log('Using RetryOperation.try() is deprecated');this.attempt(fn)};RetryOperation.prototype.start=function(fn){console.log('Using RetryOperation.start() is deprecated');this.attempt(fn)};RetryOperation.prototype.start=RetryOperation.prototype.try;RetryOperation.prototype.errors=function(){return this._errors};RetryOperation.prototype.attempts=function(){return this._attempts};RetryOperation.prototype.mainError=function(){if(this._errors.length===0){return null}var counts={};var mainError=null;var mainErrorCount=0;for(var i=0;i<this._errors.length;i++){var error=this._errors[i];var message=error.message;var count=(counts[message]||0)+1;counts[message]=count;if(count>=mainErrorCount){mainError=error;mainErrorCount=count}}return mainError};(function(exports){var RetryOperation1=retry_operation;exports.operation=function(options){var timeouts=exports.timeouts(options);return new RetryOperation1(timeouts,{forever:options&&(options.forever||options.retries===Infinity),unref:options&&options.unref,maxRetryTime:options&&options.maxRetryTime})};exports.timeouts=function(options){if(options instanceof Array){return[].concat(options)}var opts={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:Infinity,randomize:false};for(var key in options){opts[key]=options[key]}if(opts.minTimeout>opts.maxTimeout){throw new Error('minTimeout is greater than maxTimeout')}var timeouts=[];for(var i=0;i<opts.retries;i++){timeouts.push(this.createTimeout(i,opts))}if(options&&options.forever&&!timeouts.length){timeouts.push(this.createTimeout(i,opts))}timeouts.sort(function(a,b){return a-b});return timeouts};exports.createTimeout=function(attempt,opts){var random=opts.randomize?Math.random()+1:1;var timeout=Math.round(random*Math.max(opts.minTimeout,1)*Math.pow(opts.factor,attempt));timeout=Math.min(timeout,opts.maxTimeout);return timeout};exports.wrap=function(obj,options,methods){if(options instanceof Array){methods=options;options=null}if(!methods){methods=[];for(var key in obj){if(typeof obj[key]==='function'){methods.push(key)}}}for(var i=0;i<methods.length;i++){var method=methods[i];var original1=obj[method];obj[method]=(function retryWrapper(original){var op=exports.operation(options);var args=Array.prototype.slice.call(arguments,1);var callback=args.pop();args.push(function(err){if(op.retry(err)){return}if(err){arguments[0]=op.mainError()}callback.apply(this,arguments)});op.attempt(function(){original.apply(obj,args)})}).bind(obj,original1);obj[method].options=options}}})(retry$1);var retry=retry$1;const networkErrorMsgs=new Set(['Failed to fetch','NetworkError when attempting to fetch resource.','The Internet connection appears to be offline.','Network request failed']);class AbortError extends Error{constructor(message){super();if(message instanceof Error){this.originalError=message;({message}=message)}else{this.originalError=new Error(message);this.originalError.stack=this.stack}this.name='AbortError';this.message=message}}const decorateErrorWithCounts=(error,attemptNumber,options)=>{const retriesLeft=options.retries-(attemptNumber-1);error.attemptNumber=attemptNumber;error.retriesLeft=retriesLeft;return error};const isNetworkError=errorMessage=>networkErrorMsgs.has(errorMessage);const getDOMException=errorMessage=>globalThis.DOMException===undefined?new Error(errorMessage):new DOMException(errorMessage);async function pRetry(input,options){return new Promise((resolve,reject)=>{options={onFailedAttempt(){},retries:10,...options};const operation=retry.operation(options);operation.attempt(async attemptNumber=>{try{resolve(await input(attemptNumber))}catch(error){if(!(error instanceof Error)){reject(new TypeError(`Non-error was thrown: "${error}". You should only throw errors.`));return}if(error instanceof AbortError){operation.stop();reject(error.originalError)}else if(error instanceof TypeError&&!isNetworkError(error.message)){operation.stop();reject(error)}else{decorateErrorWithCounts(error,attemptNumber,options);try{await options.onFailedAttempt(error)}catch(error1){reject(error1);return}if(!operation.retry(error)){reject(operation.mainError())}}}});if(options.signal&&!options.signal.aborted){options.signal.addEventListener('abort',()=>{operation.stop();const reason=options.signal.reason===undefined?getDOMException('The operation was aborted.'):options.signal.reason;reject(reason instanceof Error?reason:getDOMException(reason))},{once:true})}})}const cspBuilderFromCtx=ctx=>{const headers=ctx.res.get().headers;const cspContent=headers.get(CSP_HEADER);const cspContentReportOnly=headers.get(CSP_HEADER_REPORT_ONLY);if(cspContent){return new CspBuilder([CSP_HEADER,cspContent])}if(cspContentReportOnly){return new CspBuilder([CSP_HEADER_REPORT_ONLY,cspContentReportOnly])}return new CspBuilder()};const memoizedCspBuilder=memoizeInChainCache("csp-builder",cspBuilderFromCtx);const builderToResponse=async(_req,_evt,ctx)=>{const builder=await memoizedCspBuilder(ctx)();const headers=ctx.res.get().headers;headers.delete(CSP_HEADER);headers.delete(CSP_HEADER_REPORT_ONLY);headers.set(...builder.toHeaderKeyValue())};const cachedCspBuilder=async ctx=>{ctx.finalize.addCallback(builderToResponse);return memoizedCspBuilder(ctx)()};const fetchCspManifest=async req=>{const{origin,basePath}=req.nextUrl;const baseUrl=basePath?`${origin}${basePath}/${CSP_LOCATION_MIDDLEWARE}`:`${origin}/${CSP_LOCATION_MIDDLEWARE}`;const manifestUrl=encodeURI(`${baseUrl}/${CSP_MANIFEST_FILENAME}`);const res=await fetch(manifestUrl);return res.json()};const fetchCspManifestWithRetry=(req,retries=5)=>pRetry(async()=>{if(process.env.NODE_ENV==="development"){return undefined}const result=await fetchCspManifest(req);return result},{retries});const cachedCspManifest=memoizeInGlobalCache("csp-manifest",fetchCspManifestWithRetry);const nextSafe=lib;const _nextSafeMiddleware=cfg=>chainableMiddleware(async(req,evt,ctx)=>{const[cspBuilder,config]=await Promise.all([cachedCspBuilder(ctx),unpackConfig(cfg,req,evt,ctx),]);const{disableCsp,userAgent,...nextSafeCfg}=config;const isNoCspSecurityHeader=header=>!header.key.toLowerCase().includes(CSP_HEADER)&&!header.key.toLowerCase().includes("csp");nextSafe(nextSafeCfg).forEach(header=>{if(isNoCspSecurityHeader(header)){ctx.res.get().headers.set(header.key,header.value)}});if(disableCsp||nextSafeCfg.contentSecurityPolicy===false){return}const{reportOnly,...directives5}=nextSafeCfg.contentSecurityPolicy;cspBuilder.withDirectives(directives5).withReportOnly(reportOnly)});const nextSafeMiddleware=withDefaultConfig(_nextSafeMiddleware,{isDev:process.env.NODE_ENV==="development",disableCsp:false,contentSecurityPolicy:{reportOnly:!!process.env.CSP_REPORT_ONLY}});const stringifyReportTo=reportTo=>JSON.stringify(reportTo).replace(/\\"/g,'"');const reportToCached=memoizeResponseHeader("report-to",x=>x?x.split(",").map(y=>JSON.parse(y)):[],x=>x.map(stringifyReportTo).join(","),(r11,r21)=>{const r1Diff=differenceWith$1((r1,r2)=>r1.group===r2.group,r11,r21);return[...r1Diff,...r21]});const withBasePath=(reportTo,basePath)=>{if(basePath){return reportTo.map(({endpoints,...rest1})=>({...rest1,endpoints:endpoints.map(({url,...rest})=>{if(url.startsWith("/")){return{...rest,url:`${basePath}${url}`}}return{...rest,url}})}))}return reportTo};const _reporting=cfg=>chainableMiddleware(async(req,evt,ctx)=>{const[config]=await Promise.all([unpackConfig(cfg,req,evt,ctx)]);const{reportTo=[],csp:cspCfg}=config;const{basePath}=req.nextUrl;const arrayReportTo=withBasePath(Array.isArray(reportTo)?reportTo:[reportTo],basePath);if(arrayReportTo.length){const[,setMergeReportTo]=reportToCached(ctx);setMergeReportTo(arrayReportTo)}const[reportToCache]=reportToCached(ctx);if(!cspCfg){return}const cspGroup=cspCfg.reportTo;const groupMatches=group=>!group&&cspGroup==="default"||(cspGroup?group===cspGroup:false);const reportToHasCspGroup=!!reportToCache.find(r=>groupMatches(r.group));let cspBuilder=await cachedCspBuilder(ctx);const{reportUri="",reportSample}=cspCfg;if(reportUri){cspBuilder.withDirectives({"report-uri":[basePath&&reportUri.startsWith("/")?`${basePath}${reportUri}`:reportUri,]})}if(reportToHasCspGroup){cspBuilder.withDirectives({"report-to":[cspGroup]})}if(reportSample){if(cspBuilder.hasDirective("script-src")){cspBuilder.withDirectives({"script-src":["report-sample"]})}if(cspBuilder.hasDirective("style-src")){cspBuilder.withDirectives({"style-src":["report-sample"]})}if(cspBuilder.hasDirective("style-src-elem")){cspBuilder.withDirectives({"style-src-elem":["report-sample"]})}if(cspBuilder.hasDirective("style-src-attr")){cspBuilder.withDirectives({"style-src-attr":["report-sample"]})}}});const reporting=withDefaultConfig(_reporting,{csp:{reportSample:true,reportTo:"default",reportUri:"/api/reporting"},reportTo:{max_age:1800,endpoints:[{url:"/api/reporting"}]}});const _strictDynamic=cfg=>chainableMiddleware(async(req,evt,ctx)=>{const[cspManifest,cspBuilder,config]=await Promise.all([cachedCspManifest(req),cachedCspBuilder(ctx),unpackConfig(cfg,req,evt,ctx),]);const{fallbackScriptSrc,allowUnsafeEval,tellSupported:tellSupported1,userAgent,inclusiveFallback,extendScriptSrc}=config;const withUnsafeEval=values=>allowUnsafeEval?[...values,"unsafe-eval"]:values;const appendToStrictDynamic=withUnsafeEval(inclusiveFallback?fallbackScriptSrc:[]);const{supportsSrcIntegrityCheck,supportsStrictDynamic}=tellSupported1(userAgent);const isHashBasedByProxy=()=>!cspManifest.scripts.some(script=>!!script.src);const mode=extendScriptSrc?"append":"override";if(!cspManifest||!supportsStrictDynamic||!(supportsSrcIntegrityCheck||isHashBasedByProxy())){cspBuilder.withDirectives({"script-src":withUnsafeEval(fallbackScriptSrc)},mode);return}const scriptSrcHashes=cspManifest.scripts.map(({hash})=>hash);cspBuilder.withStrictDynamic(scriptSrcHashes,appendToStrictDynamic,extendScriptSrc)});const tellSupported=userAgent=>{const browserName=userAgent.browser.name||"";const browserVersion=Number(userAgent.browser.version||"");const isSafari=browserName.includes("Safari");const isFirefox=browserName.includes("Firefox");const isSafariWithoutStrictDynamic=isSafari&&browserVersion<=15.4;const supportsStrictDynamic=!isSafariWithoutStrictDynamic;const supportsSrcIntegrityCheck=!(isSafari||isFirefox);return{supportsStrictDynamic,supportsSrcIntegrityCheck}};const strictDynamic=withDefaultConfig(_strictDynamic,{fallbackScriptSrc:["https:","unsafe-inline"],tellSupported,inclusiveFallback:true,extendScriptSrc:process.env.NODE_ENV==="development"},(k,l,r)=>k==="tellSupported"&& typeof l==="function"&& typeof r==="function"?ua=>{mergeRight$1(l(ua),r(ua))}:undefined);const _strictInlineStyles=cfg=>chainableMiddleware(async(req,evt,ctx)=>{const[cspManifest,cspBuilder]=await Promise.all([cachedCspManifest(req),cachedCspBuilder(ctx),]);if(!cspManifest){return}const{elem,attr}=cspManifest.styles;cspBuilder.withStyleHashes(elem,attr)});const strictInlineStyles=withDefaultConfig(_strictInlineStyles,{});const _csp=cfg=>chainableMiddleware(async(req,evt,ctx)=>{const[cspBuilder,config]=await Promise.all([cachedCspBuilder(ctx),unpackConfig(cfg,req,evt,ctx),]);let{reportOnly,directives:directives6,isDev}=config;if(isDev){cspBuilder.withDirectives({"script-src":["self","unsafe-eval","unsafe-inline"],"style-src":["self","unsafe-inline"],"font-src":["self","data:"]})}cspBuilder.withDirectives(directives6).withReportOnly(reportOnly)});const csp=withDefaultConfig(_csp,{directives:{"default-src":["self"],"object-src":["none"],"base-uri":["none"]},isDev:process.env.NODE_ENV==="development",reportOnly:!!process.env.CSP_REPORT_ONLY});const _telemetry=cfg=>chainableMiddleware(async(req,evt,ctx)=>{let{logHeaders,logExecutionTime,middlewares,profileLabel,logUrl}=await unpackConfig(cfg,req,evt,ctx);if(!middlewares.length){return}const timedLabel=`${Date.now()} [${profileLabel}]`;if(logExecutionTime){console.time(timedLabel)}const mwRes=await continued(chain(...middlewares))(req,evt,ctx);if(logExecutionTime){console.timeEnd(timedLabel)}if(logHeaders||logUrl){console.info(`${timedLabel}:`,JSON.stringify({url:logUrl?req.url:undefined,headers:logHeaders?{req:Object.fromEntries([...req.headers.entries()]),res:ctx?.res?.get()?Object.fromEntries([...ctx.res.get().headers.entries()]):undefined}:undefined}))}return mwRes});const telemetry=withDefaultConfig(_telemetry,{middlewares:[],profileLabel:"middleware",logHeaders:false,logExecutionTime:true,logUrl:false});const provideHashesOrNonce=strictDynamic();exports.CspBuilder=CspBuilder;exports.chain=chain;exports.chainMatch=chainMatch;exports.chainableMiddleware=chainableMiddleware;exports.continued=continued;exports.csp=csp;exports.cspDirectiveHas=cspDirectiveHas;exports.extendCsp=extendCsp;exports.filterCsp=filterCsp;exports.isNextJsDataRequest=isNextJsDataRequest;exports.isPagePathRequest=isPagePathRequest;exports.isPageRequest=isPageRequest;exports.isPreviewModeRequest=isPreviewModeRequest;exports.matchAnd=matchAnd;exports.matchNot=matchNot;exports.matchOr=matchOr;exports.memoizeInChainCache=memoizeInChainCache;exports.memoizeInGlobalCache=memoizeInGlobalCache;exports.memoizeResponseHeader=memoizeResponseHeader;exports.nextSafe=nextSafeMiddleware;exports.provideHashesOrNonce=provideHashesOrNonce;exports.reporting=reporting;exports.strictDynamic=strictDynamic;exports.strictInlineStyles=strictInlineStyles;exports.telemetry=telemetry
