1!function(t){"use strict";var r,y="undefined"==typeof window&&"undefined"!=typeof global&&"function"==typeof require,d=y?t.require:null,g={protocol:"protocol",host:"hostname",port:"port",path:"pathname",query:"search",hash:"hash"},m={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function v(){return y?(r||(r="file://"+(process.platform.match(/^win/i)?"/":"")+d("fs").realpathSync(".")),r):document.location.href}function s(t){return encodeURIComponent(t).replace(/'/g,"%27")}function q(t){return(t=(t=(t=t.replace(/\+/g," ")).replace(/%([ef][0-9a-f])%([89ab][0-9a-f])%([89ab][0-9a-f])/gi,function(t,r,e,o){var n=parseInt(r,16)-224,s=parseInt(e,16)-128;if(0===n&&s<32)return t;var i=(n<<12)+(s<<6)+(parseInt(o,16)-128);return 65535<i?t:String.fromCharCode(i)})).replace(/%([cd][0-9a-f])%([89ab][0-9a-f])/gi,function(t,r,e){var o=parseInt(r,16)-192;if(o<2)return t;var n=parseInt(e,16)-128;return String.fromCharCode((o<<6)+n)})).replace(/%([0-7][0-9a-f])/gi,function(t,r){return String.fromCharCode(parseInt(r,16))})}function w(t){for(var r,e=/([^=&]+)(=([^&]*))?/g;r=e.exec(t);){var o=decodeURIComponent(r[1].replace(/\+/g," ")),n=r[3]?q(r[3]):"";void 0!==this[o]&&null!==this[o]?(this[o]instanceof Array||(this[o]=[this[o]]),this[o].push(n)):this[o]=n}}function A(t,r){!function(t,r,e){var o,n,s;r||(r=v()),y?o=d("url").parse(r):(o=document.createElement("a")).href=r;var i,h,p=(h={path:!0,query:!0,hash:!0},(i=r)&&/^[a-z]+:/.test(i)&&(h.protocol=!0,h.host=!0,/[-a-z0-9]+(\.[-a-z0-9])*:\d+/i.test(i)&&(h.port=!0),/\/\/(.*?)(?::(.*?))?@/.test(i)&&(h.user=!0,h.pass=!0)),h);for(n in s=r.match(/\/\/(.*?)(?::(.*?))?@/)||[],g)p[n]?t[n]=o[g[n]]||"":t[n]="";if(t.protocol=t.protocol.replace(/:$/,""),t.query=t.query.replace(/^\?/,""),t.hash=q(t.hash.replace(/^#/,"")),t.user=q(s[1]||""),t.pass=q(s[2]||""),t.port=m[t.protocol]==t.port||0==t.port?"":t.port,!p.protocol&&/[^/#?]/.test(r.charAt(0))&&(t.path=r.split("?")[0].split("#")[0]),!p.protocol&&e){var a=new A(v().match(/(.*\/)/)[0]),u=a.path.split("/"),c=t.path.split("/"),f=["protocol","user","pass","host","port"],l=f.length;for(u.pop(),n=0;n<l;n++)t[f[n]]=a[f[n]];for(;".."===c[0];)u.pop(),c.shift();t.path=("/"!==r.charAt(0)?u.join("/"):"")+"/"+c.join("/")}t.path=t.path.replace(/^\/{2,}/,"/"),t.paths(t.paths()),t.query=new w(t.query)}(this,t,!r)}w.prototype.toString=function(){var t,r,e="",o=s;for(t in this)if(!(this[t]instanceof Function||null===this[t]))if(this[t]instanceof Array){var n=this[t].length;if(n)for(r=0;r<n;r++)e+=e?"&":"",e+=o(t)+"="+o(this[t][r]);else e+=(e?"&":"")+o(t)+"="}else e+=e?"&":"",e+=o(t)+"="+o(this[t]);return e},A.prototype.clearQuery=function(){for(var t in this.query)this.query[t]instanceof Function||delete this.query[t];return this},A.prototype.queryLength=function(){var t,r=0;for(t in this)this[t]instanceof Function||r++;return r},A.prototype.isEmptyQuery=function(){return 0===this.queryLength()},A.prototype.paths=function(t){var r,e="",o=0;if(t&&t.length&&t+""!==t){for(this.isAbsolute()&&(e="/"),r=t.length;o<r;o++)t[o]=!o&&t[o].match(/^\w:$/)?t[o]:s(t[o]);this.path=e+t.join("/")}for(o=0,r=(t=("/"===this.path.charAt(0)?this.path.slice(1):this.path).split("/")).length;o<r;o++)t[o]=q(t[o]);return t},A.prototype.encode=s,A.prototype.decode=q,A.prototype.isAbsolute=function(){return this.protocol||"/"===this.path.charAt(0)},A.prototype.toString=function(){return(this.protocol&&this.protocol+"://")+(this.user&&s(this.user)+(this.pass&&":"+s(this.pass))+"@")+(this.host&&this.host)+(this.port&&":"+this.port)+(this.path&&this.path)+(this.query.toString()&&"?"+this.query)+(this.hash&&"#"+s(this.hash))},t[t.exports?"exports":"Url"]=A}("undefined"!=typeof module&&module.exports?module:window);
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.