1function Nmgone(){var scripts=document.scripts;var tmp=scripts[scripts.length-1].src.split('/');this.FRAME_DOMAIN=tmp[0]+'//'+tmp[2];this.show_logos=false;this.error=false;this.message=[];this.status=false};Nmgone.prototype.config=function(config){this.appid=config.appid?config.appid:'';this.verify()};Nmgone.prototype.verify=function(){if(!this.appid){this.error=true;this.message='appid is empty.'}return this};Nmgone.prototype.format=function(){var verifyUrl=getDomainByUrl(this.verifyUrl);if(!verifyUrl){this.verifyUrl=window.location.protocol+"//"+window.location.host+this.verifyUrl}};Nmgone.prototype.create=function(parameters){if(!this.error){if(parameters.container){var container=document.getElementById(parameters.container);this.container=container;var has_frame=container.childNodes.length>0;if(has_frame){this.error=true;this.message='container has frame'}else{this.status=true;if(parameters.success&&this.successFunction===undefined){this.successFunction=parameters.success}if(parameters.error&&this.errorFunction===undefined){this.errorFunction=parameters.error}var that=this;container.style.zIndex=999;var iframe=document.createElement("iframe");that.iframe=iframe;iframe.style.width=getUnit(getStyle(container,'width'));iframe.style.height=getUnit(getStyle(container,'height'));iframe.style.border='none';var redirect_url=window.location.href;if(getQueryVariable('code')){redirect_url=redirect_url.replace(/code\=(.*)(\&)?/,'');if(redirect_url.substr(-1)=='?'||redirect_url.substr(-1)=='&'){redirect_url=redirect_url.substr(0,redirect_url.length-1)}}iframe.src=that.FRAME_DOMAIN+'/login?app_id='+that.appid+'&redirect_url='+redirect_url+'&verify_url='+that.verifyUrl+'&show_logos='+that.show_logos+'&embed_mode=true';iframe.onload=function(){iframe.contentWindow.postMessage('',that.FRAME_DOMAIN)};container.appendChild(iframe);that.monitor()}}else{this.error=true;this.message='no container'}}if(parameters.error&&this.error){this.handleError()}};Nmgone.prototype.monitor=function(){window.addEventListener('message',Nmgone.handleMessage,false);window.addEventListener('resize',Nmgone.resize)};Nmgone.prototype.handleMessage=function(event){var response=event.data;if(response.code){Nmgone.handle(response.code)}if(response.hasOwnProperty('status')){if(response.status){if(Nmgone.status){Nmgone.successFunction();Nmgone.status=false}}else{Nmgone.error=true;Nmgone.message=response.message;Nmgone.handleError();Nmgone.destroy()}}};Nmgone.prototype.resize=function(){var width=getUnit(getStyle(Nmgone.container,'width'));var height=getUnit(getStyle(Nmgone.container,'height'));Nmgone.iframe.style.width=width;Nmgone.iframe.style.height=height};Nmgone.prototype.handle=function(code){var that=this;that.frontendCallback(code)};Nmgone.prototype.handleError=function(){if(this.error&&this.errorFunction){this.errorFunction(this.message)}};Nmgone.prototype.callback=function(fn){this.frontendCallback=fn;return this};Nmgone.prototype.destroy=function(){window.removeEventListener('message',Nmgone.handleMessage,false);if(this.container){while(this.container.hasChildNodes()){this.container.removeChild(this.container.firstChild)}this.container.style.display="none";this.error=false;this.message=null}};var Nmgone=new Nmgone();document.addEventListener("click",function(event){if(event.target.nodeName!="BUTTON"){}});function getDomainByUrl(url){var pattern=/^(https?:\/\/)([0-9a-z.]+)(:[0-9]+)?([/0-9a-z.]+)?(\?[0-9a-z&=]+)?(#[0-9-a-z]+)?/i;var match=pattern.exec(url);return match?match[2]:''}function getQueryVariable(variable){var query=window.location.search.substring(1);var vars=query.split("&");for(var i=0;i<vars.length;i++){var pair=vars[i].split("=");if(pair[0]==variable){return pair[1]}}return(false)};function getStyle(element,attr){if(element.currentStyle){return element.currentStyle[attr]}else{return getComputedStyle(element,false)[attr]}}function getUnit(string){if(string.substr(-2)==='px'){return string}else{return'100%'}}
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.