var d={exports:{}};d.exports=D;d.exports.parse=o;d.exports.compile=M;d.exports.tokensToFunction=$;d.exports.tokensToRegExp=A;var y="/",R="./",G=new RegExp(["(\\\\.)","(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?"].join("|"),"g");function o(r,i){for(var e=[],p=0,l=0,n="",x=i&&i.delimiter||y,v=i&&i.delimiters||R,a=!1,t;(t=G.exec(r))!==null;){var c=t[0],u=t[1],f=t.index;if(n+=r.slice(l,f),l=f+c.length,u){n+=u[1],a=!0;continue}var g="",m=r[l],I=t[2],F=t[3],L=t[4],s=t[5];if(!a&&n.length){var E=n.length-1;v.indexOf(n[E])>-1&&(g=n[E],n=n.slice(0,E))}n&&(e.push(n),n="",a=!1);var S=g!==""&&m!==void 0&&m!==g,U=s==="+"||s==="*",_=s==="?"||s==="*",T=g||x,w=F||L;e.push({name:I||p++,prefix:g,delimiter:T,optional:_,repeat:U,partial:S,pattern:w?O(w):"[^"+h(T)+"]+?"})}return(n||l-1;else{var g=f.repeat?"(?:"+f.pattern+")(?:"+h(f.delimiter)+"(?:"+f.pattern+"))*":f.pattern;i&&i.push(f),f.optional?f.partial?t+=h(f.prefix)+"("+g+")?":t+="(?:"+h(f.prefix)+"("+g+"))?":t+=h(f.prefix)+"("+g+")"}}return n?(p||(t+="(?:"+x+")?"),t+=a==="$"?"$":"(?="+a+")"):(p||(t+="(?:"+x+"(?="+a+"))?"),c||(t+="(?="+x+"|"+a+")")),new RegExp(t,b(e))}function D(r,i,e){return r instanceof RegExp?P(r,i):Array.isArray(r)?W(r,i,e):j(r,i,e)}