-
Notifications
You must be signed in to change notification settings - Fork 0
/
Hit.min.js
1 lines (1 loc) · 22.5 KB
/
Hit.min.js
1
"use strict";var Constructor=function(t,n,e){return n?e?t.prototype=Object.concat([Object.concat(Loop.map(e,function(t){return t.prototype})),t.prototype,n]):t.prototype=Object.concat([t.prototype,n]):e&&(t.prototype=Object.concat([Object.concat(Loop.map(e,function(t){return t.prototype})),t.prototype])),e&&(t=function(t){var n=function(){var n=arguments;Loop.each(e,function(t){t.apply(this,n)},this),t.apply(this,n)};return n.prototype=t.prototype,n}(t)),t},Loop={each:function(t,n,e){if(t instanceof Object)if("number"==typeof t.length)for(var i=0;i<t.length;i++)n.call(e,t[i],i,t);else for(var r in t)n.call(e,t[r],r,t)},map:function(t,n,e){if(t instanceof Object){var i="number"==typeof t.length,r=i?[]:{};return Loop.each(t,function(t,e,o){var s=n.call(this,t,e,o);i?r.push(s):r[e]=s},e),r}},filter:function(t,n,e){if(t instanceof Object){var i="number"==typeof t.length,r=i?[]:{};return Loop.each(t,function(t,e,o){var s=n.call(this,t,e,o);s&&(i?r.push(t):r[e]=t)},e),r}},find:function(t,n,e){try{Loop.each(t,function(t,e,i){if(n.call(this,t,e,i))throw t},e)}catch(t){return t}},findIndex:function(t,n,e){try{Loop.each(t,function(t,e,i){if(n.call(this,t,e,i))throw e},e)}catch(t){return t}return-1},some:function(t,n,e){try{Loop.each(t,function(t,e,i){if(n.call(this,t,e,i))throw!0},e)}catch(t){return t}return!1},every:function(t,n,e){try{Loop.each(t,function(t,e,i){if(!n.call(this,t,e,i))throw!1},e)}catch(t){return t}return!0},repeat:function(t,n,e){if("number"==typeof t)return Loop.repeat({to:t},n,e);if(t instanceof Object&&0!==t.step&&"to"in t){"number"!=typeof t.from&&(t.from=Math.sign(t.to)),"number"!=typeof t.step&&(t.step=Math.sign(t.to-t.from));var i=[];if(t.step>0)for(var r=t.from;r<=t.to;r+=t.step)i.push(n.call(e,r));else for(var r=t.from;r>=t.to;r+=t.step)i.push(n.call(e,r));return i}}},Compare={isNaN:function(t){return"number"==typeof t&&isNaN(t)},equal:function(t,n){return t===n||Compare.isNaN(t)&&Compare.isNaN(n)}};Loop.each({concat:function(t){var n={};return Loop.each(t,function(t){n._set(t)}),n}},function(t,n){Object.defineProperty(Object,n,{value:t,enumerable:!1})}),Loop.each({_set:function(t){return Loop.each(t,function(t,n){this[n]=t},this),this}},function(t,n){Object.defineProperty(Object.prototype,n,{value:t,enumerable:!1})}),Loop.each({randEle:function(){var t=this.length;return t>0?this[Math.floor(Math.random()*t)]:void 0},replaceWith:function(t){var n=Array.from(this);this.length=0;for(var e=0;e<t.length;e++)this.push(t[e]);return n},split:function(t,n){if("number"!=typeof t||t<=0||t%1!==0||t>=this.length)return[Array.from(this)];for(var e=[],i=Math[n!==!1?"floor":"ceil"](this.length/t)*t,r=0;r<i;r+=t){e.push([]);for(var o=0;o<t&&!(r+o>=this.length);o++)e.last.push(this[r+o])}return e},delIndex:function(t){return this.splice(t,1)},at:function(t){return t%=this.length,t>=0?this[t]:this[this.length+t]}},function(t,n){Object.defineProperty(Array.prototype,n,{value:t,enumerable:!1})}),Object.defineProperties(Array.prototype,{first:{get:function(){return this.length>0?this[0]:void 0}},last:{get:function(){return this.length>0?this[this.length-1]:void 0}}}),Loop.each({range:function(t,n,e){var i=[],r=arguments.length;return Loop.repeat({from:r>1?t:1,to:r>1?n:t,step:e},function(t){i.push(t)}),i}},function(t,n){Array[n]=t}),Loop.each({mid:function(t,n){t=Array.from(t),n!==!1&&(t=t.sort(function(t,n){return t-n}));var e=t.length;return 1&e&&(e-=1),t[e/2]},med:function(t,n,e){return Math.mid([t,n,e])},mix:function(t,n,e){return e>1||e<0?NaN:t*e+n*(1-e)},cut:function(t,n){if("number"!=typeof t)return NaN;n>=0||(n=0),t+="";var e=t.indexOf(".");return e!==-1&&(t=t.split(""),t.splice(e+n+1),t=t.join("")),t-0},distance:function(t,n,e,i){return Math.sqrt(Math.pow(t-e,2)+Math.pow(n-i,2))},distance_p:function(t,n){return Math.distance(t.x,t.y,n.x,n.y)},distance3d:function(t,n,e,i,r,o){return Math.sqrt(Math.pow(t-i,2)+Math.pow(n-r,2)+Math.pow(e-o,2))},distance3d_p:function(t,n){return Math.distance3d(t.x,t.y,t.z,n.x,n.y,n.z)},rand:function(t,n){return t+Math.random()*(n-t)},randInt:function(t,n){return Math.round(t+Math.random()*(n-t))}},function(t,n){Math[n]=t}),Loop.each({after:function(t){var n=this;return function(){var e=n.apply(this,arguments);return t.apply(this,arguments),e}},before:function(t){var n=this;return function(){return t.apply(this,arguments),n.apply(this,arguments)}},single:function(){var t=void 0,n=this;return function(){return void 0===t&&(t={},Loop.each(n.prototype,function(n,e){t[e]=n}),n.apply(t,arguments)),t}},limit:function(t,n){var e,i=this;return function(){var r=+new Date;(!e||r-e>=t)&&(e=r,i.apply(n,arguments))}}},function(t,n){Object.defineProperty(Function.prototype,n,{value:t,enumerable:!1})});var ObjectPool=new Constructor(function(t){this.constructor=t||Object,this._pool=[]},{get:function(){return this._pool.length?this._pool.shift():new this.constructor},recycle:function(t){return t instanceof this.constructor||console.warn("Please input an instance of the constructor!"),this._pool.push(t),this._pool.length},count:function(){return this._pool.length},prepare:function(t){if("number"!=typeof t)return void console.warn('"count" must be a number!');for(;this._pool.length<t;)this._pool.push(new this.constructor);return this},drop:function(){var t=Loop.map(this._pool,function(t){return t});return this._pool=[],t}});"scrollingElement"in document||(document.scrollingElement=document.body.scrollTop>0?document.body:document.documentElement),"assign"in Object||(Object.assign=function(t){var n=t[0];Loop.each(arguments,function(t,e){if(0!==e)for(var i in t)t.hasOwnProperty(i)&&null!=t[i]&&(n[i]=t[i])})}),"from"in Array||(Array.from=function(t){return Loop.map(t,function(t){return t})}),"of"in Array||(Array.of=function(){return Array.from(arguments)}),"includes"in Array.prototype||(Array.prototype.includes=function(t,n){return Loop.some(this.slice(n||0),function(n){return Compare.equal(n,t)})}),"includes"in String.prototype||(String.prototype.includes=function(t,n){return this.slice(n||0).indexOf(t)!==-1}),"Map"in window||(window.Map=function(t){var n=[],e=[];Object.defineProperty(this,"size",{get:function(){return n.length}}),this.clear=function(){n=[],e=[]},this.delete=function(t){return Loop.find(n,function(i,r){if(Compare.equal(t,i))return n.splice(r,1),e.splice(r,1),!0})},this.forEach=function(t,i){Loop.each(n,function(n,r){t.call(i,e[r],n,this)},this)},this.get=function(t){try{return this.forEach(function(n,e){if(Compare.equal(t,e))throw n})}catch(t){return t}},this.has=function(t){return n.includes(t)},this.set=function(t,i){return this.delete(t),n.push(t),e.push(i),this},t&&Loop.each(t,function(t){this.set(t[0],t[1])},this)}),"Set"in window||(window.Set=function(t){var n=[];Object.defineProperty(this,"size",{get:function(){return n.length}}),this.clear=function(){n=[]},this.delete=function(t){return Loop.find(n,function(e,i){if(Compare.equal(t,e))return n.splice(i,1),!0})},this.forEach=function(t,e){Loop.each(n,function(n,i){t.call(e,n,n,this)},this)},this.has=function(t){return n.includes(t)},this.add=function(t){return this.delete(t),n.push(t),this},t&&Loop.each(t,this.add,this)}),"Promise"in window||(window.Promise=function(t){var n=[],e=[],i=[],r=null,o="pending";this.then=function(t,i){if(i&&("rejected"===o?setTimeout(i,0,reason):e.push(i)),!t)return this;if("resolved"!==o)return new Promise(function(e,i){n.push(function(n){if(!(t instanceof Function))return e(t);try{var r=t(n);r&&r.then?r.then(e,i):e(r)}catch(t){i(t)}})});try{return new Promise.resolve(t(r))}catch(t){return new Promise.reject(t)}},this.catch=function(t){return i.push(t),this},t&&setTimeout(function(){t(function(t){o="resolved",r=t;for(var e=0;e<n.length;e++)n[e](r)},function(t){o="rejected",r=t;for(var n=!(t instanceof Error)&&e.length>0?e:i,s=0;s<n.length;s++)n[s](r)})},0)}),"done"in Promise.prototype||(Promise.prototype.done=function(t,n){this.then(t,n).catch(function(t){throw t})}),"finally"in Promise.prototype||(Promise.prototype.finally=function(t){var n=function(){t()};return this.then(n,n),Promise.resolve()}),"reject"in Promise||(Promise.reject=function(t){return new Promise(function(n,e){e(t)})}),"resolve"in Promise||(Promise.resolve=function(t){return new Promise(function(n,e){n(t)})}),"try"in Promise||(Promise.try=function(t){return Promise.resolve().then(t)}),"all"in Promise||(Promise.all=function(t){return new Promise(function(n,e){var i=t.length,r=new Array(i),o=!1;Loop.each(t,function(t,s){t instanceof Object&&"then"in t&&(o=!0,t.then(function(t){i--,r[s]=t,i<=0&&n(r)},e))}),o||n(r)})}),"race"in Promise||(Promise.race=function(t){return new Promise(function(n,e){var i=!1;Loop.each(t,function(t,r){t instanceof Object&&"then"in t&&(i=!0,t.then(n,e))}),i||n()})}),"setImmediate"in window||(window.setImmediate=function(t){var n=Array.from(arguments);return n.splice(1,0,0),setTimeout.apply(window,n)},window.clearImmediate=window.clearTimeout),"requestAnimationFrame"in window||(window.requestAnimationFrame=function(t){return setTimeout(t,16)},window.cancelAnimationFrame=window.clearTimeout),"preventDefault"in Event.prototype||(Event.prototype.preventDefault=function(){this.returnValue=!1}),"stopPropagation"in Event.prototype||(Event.prototype.stopPropagation=function(){this.bubbles=!1}),"sign"in Math||(Math.sign=function(t){return 0===t?0:t>0?1:-1});var Agency=new Constructor(function(){this._listeners={},this._caches={},this.cache=!1},{trigger:function(t,n){return n=n||[],n instanceof Object&&"length"in n||(n=[n]),t in this._listeners&&this._listeners[t].length?(this._listeners[t].forEach(function(t){t.apply(null,n)}),!0):(this.cache&&(t in this._caches||(this._caches[t]=[]),this._caches[t].push(n)),!1)},newTrigger:function(t){return function(n){self.trigger(t,n)}.bind(this)},listen:function(t,n){return this.cache&&t in this._caches?(this._caches[t].forEach(function(t){n.apply(null,t)}),delete this._caches[t]):(void 0===this._listeners[t]&&(this._listeners[t]=[]),this._listeners[t].push(n)),this},listenOnce:function(t,n){var e=this,i=function(){n.apply(this,arguments),e.ignore(t,i)};return this.listen(t,i)},ignore:function(t,n){var e=this._listeners[t];if(void 0!==e)for(var i=0;i<e.length;i++)if(e[i]===n)return!0;return!1},ignoreType:function(t){return void 0!==this._listeners[t]&&(this._listeners[t]=void 0)},ignoreAll:function(){var t=!!this._listeners||!!this._caches;return this._listeners={},this._caches={},t},bind:function(t){try{var n=this;return Loop.each(["listen","listenOnce","ignore","ignoreAll","ignoreType"],function(e){t[e]=function(){return n[e].apply(n,arguments),this}}),!0}catch(t){return!1}}});Agency.bind=function(t){return t._agency=new Agency,t._agency.bind(t),t};var DOM={create:function(t){try{var n=t.match(/^[\w\-]+/)[0],e=document.createElement(n),i=null,r=null;return t=t.slice(n.length),i=t.indexOf("{"),i!==-1&&(e.html(t.slice(i+1,t.lastIndexOf("}"))),t=t.slice(0,i)),i=t.indexOf("."),i!==-1&&(r=t.split("."),t=r.shift(),Loop.each(r,e.addClass,e)),t.match(/^#/)&&(e.id=t.slice(1)),e}catch(t){return null}},select:function(t,n){try{return Array.from(document.querySelectorAll(t))}catch(t){if(n===!1)throw t;return null}},trigger:function(t,n,e,i){var r=document.createEvent("HTMLEvents");return r.initEvent(n,i,e),!!t.dispatchEvent&&t.dispatchEvent(r)},ready:function(t,n){return document.on("ready",t,n)},load:function(t,n){return window.listen("load",t,n)},CustomEvents:{ready:function(t,n,e){/interactive|complete|loaded/.test(document.readyState)&&(document._DOMReady_=!0),document._DOMReady_&&setTimeout(n),t.listen("DOMContentLoaded",function(t){document._DOMReady_||(document._DOMReady_=!0,n())},e),document.listen("readystatechange",function(t){document._DOMReady_||/interactive|loaded|complete/.test(document.readyState)&&(document._DOMReady_=!0,n())},e),window.listen("load",function(){document._DOMReady_||(document._DOMReady_=!0,n())})},change:function(t,n,e){var i=NaN;t.listen("blur",function(){t.value!==i&&(n(),i=t.value)},e)},pointerdown:function(t,n,e){t.listen("mousedown",function(t){var e=t.clientX,i=t.clientY;n.call(this,t,e,i)},e),t.listen("touchstart",function(t){var e=t.changedTouches||t.touches,i=e[0]?e[0].clientX:null,r=e[0]?e[0].clientY:null;n.call(this,t,i,r)},e)},pointermove:function(t,n,e){t.listen("mousemove",function(t){var e=t.clientX,i=t.clientY;n.call(this,t,e,i)},e),t.listen("touchmove",function(t){var e=t.changedTouches||t.touches,i=e[0]?e[0].clientX:null,r=e[0]?e[0].clientY:null;n.call(this,t,i,r)},e)},pointerup:function(t,n,e){t.listen("mouseup",function(t){var e=t.clientX,i=t.clientY;n.call(this,t,e,i)},e),t.listen("touchend",function(t){var e=t.changedTouches||t.touches,i=e[0]?e[0].clientX:null,r=e[0]?e[0].clientY:null;n.call(this,t,i,r)},e)},HOLD_TIME_LIMIT:500,HOLD_MOVE_LIMIT:15,hold:function(t,n,e){function i(){clearTimeout(s)}var r,o,s=null;t.listen("touchstart",function(t){s=setTimeout(function(){n(t,r,o)},DOM.CustomEvents.HOLD_TIME_LIMIT),r=t.changedTouches[0].clientX,o=t.changedTouches[0].clientY},e),t.listen("touchend",i,e),t.listen("touchmove",function(t){Math.distance(t.changedTouches[0].clientX,t.changedTouches[0].clientY,r,o)>DOM.CustomEvents.HOLD_MOVE_LIMIT&&i()},e),t.listen("touchcancel",i,e)}}},Ani={Frame:new Constructor(function(){var t=!1,n=null,e=null,i=null,r=new Agency,o=function(){if(t&&"number"==typeof this.fps){var s=+new Date;n&&(e=s-n),n=s,r.trigger("update",+new Date);var u=+new Date;i=u-s,setTimeout(this.usingRAF?function(){requestAnimationFrame(o)}:o,Math.max(0,1e3/this.fps-i))}}.bind(this);this.fps=40,this.usingRAF=!0,this.start=function(){return t||(t=!0,r.trigger("start",+new Date),setTimeout(o)),this},this.stop=function(){return t&&(t=!1,r.trigger("stop",+new Date)),this},Object.defineProperties(this,{isRunning:{get:function(){return t}},lastUpdateTime:{get:function(){return n}},lastUpdateGap:{get:function(){return e}},lastFrameDuration:{get:function(){return i}}}),Loop.each(["listen","listenOnce","ignore","ignoreType","ignoreAll"],function(t){this[t]=function(){return r[t].apply(r,arguments),this}},this)},{update:function(){return this.listen("update",this.stop).start()},setFps:function(t){return this.fps=t,this}}),createFrame:function(t,n){var e=new Ani.Frame;return e.fps=t,e.listen("update",n).start()},getFn:function(t){if("string"!=typeof t)return null;switch(t.toLowerCase()){case"linear":return Ani.linear;case"ease":return Ani.ease;case"ease-in":case"easeIn":return Ani.easeIn;case"ease-out":case"easeOut":return Ani.easeOut;case"ease-in-out":case"easeInOut":return Ani.easeInOut;default:if(t.match("cubic")){t=t.replace(/\s/g,"").str.slice(t.indexOf("(")+1,t.indexOf(")"));var n=t.split(",").map(function(t){return t-0});return Ani.cubic(n[0],n[1],n[2],n[3])}if(t.match("steps")){t=t.replace(/\s/g,"").str.slice(t.indexOf("(")+1,t.indexOf(")"));var n=t.split(",").map(function(t){return t-0});return Ani.steps(n[0],n[1])}return null}},Transition:function(t){var n=new Agency,e=new Ani.Frame,i=t.from,r=t.to,o=t.dur,s=t.fps,u=t.fn,c=t.transferer||!1,a=+new Date;void 0==i&&(i=0),"string"==typeof i&&(i-=0),"string"==typeof r&&(r-=0),"number"!=typeof o&&(o=1e3),"number"!=typeof s&&(s=40),u instanceof Function||(u=Ani.getFn(u)||Ani.linear),e.fps=50,e.listen("update",function(t){var s=(t-a)/o,h=i+(r-i)*u(s);c&&(h=c(h)),n.trigger("update",[h]),s>=1&&(e.stop(),n.trigger("update",i+(r-i)*u(1)),n.trigger("stop"))}),setTimeout(function(){n.trigger("update",i+(r-i)*u(0))}),e.start(),this.frame=e,this.agency=n,this.start=e.start.bind(e),this.stop=e.stop.bind(e),n.bind(this)},createTransition:function(t,n){var e=new Ani.Transition(t);return e.listen("update",n),e},cubicAccuracy:.01,cubic:function(t,n,e,i){var r=Ani.cubicAccuracy;t>1?t=1:t<0&&(t=0),e>1?e=1:e<0&&(e=0);var o=function(r){for(var o=[0,t,e,1],s=[0,n,i,1],u=3;u>0;){for(var c=[],a=[],h=0;h<u;h++)c[h]=o[h]+(o[h+1]-o[h])*r,a[h]=s[h]+(s[h+1]-s[h])*r;o=c,s=a,u--}return{x:o[0],y:s[0]}},s=function(t,n,e){var i=(n+e)/2,u=o(i);if(Math.abs(u.x-t)<=r)return u.y;try{return u.x>t?s(t,n,i):s(t,i,e)}catch(t){return u.y}};return function(t){return s(t,0,1)}},linear:function(t){return t},steps:function(t,n){n=n||!1;var e=1/t;return n?function(t){return Math.ceil(t/e)*e}:function(t){return Math.floor(t/e)*e}}};Ani._set({ease:Ani.cubic(.25,1,.25,1),easeIn:Ani.cubic(.42,0,1,1),easeOut:Ani.cubic(0,0,.58,1),easeInOut:Ani.cubic(.42,0,.58,1)}),Loop.each({appendTo:function(t){return t.appendChild(this),this},attr:function(t,n){return 1===arguments.length?this.getAttribute(t):(this.setAttribute(t,n),this)},css:function(t,n){return 1===arguments.length?this.style[t]:(this.style[t]=n,this)},toAbbr:function(){var t=this.id,n=Array.from(this.classList).join(".");return this.tagName.toLowerCase()+(t?"#"+t:"")+(n?"."+n:"")},addClass:function(t){var n=this.attr("class");return n?(n=n.split(/\s+/),n.indexOf(t)===-1&&(n.push(t),this.attr("class",n.join(" ")))):this.attr("class",t),this},delClass:function(t){var n=(this.attr("class")||"").split(" ");return n=Loop.filter(n,function(n){return n!==t}),this.attr("class",n.join(" ")),this},disable:function(t){return this.disabled=void 0!==t?t:!this.disabled,this},html:function(t){return 0===arguments.length?this.innerHTML:(this.innerHTML=t,this)},hide:function(){return this.css("display","none")},show:function(t){return t=t||"block",this.css("display",t)},remove:function(){return this.parentNode.removeChild(this)},generation:function(){return this.parentNode.children},prev:function(){var t=this.parentNode.children,n=Array.from(t).indexOf(this);return 0===n?null:t[n-1]},next:function(){var t=this.parentNode.children,n=Array.from(t).indexOf(this);return n===t.length-1?null:t[n+1]},scroll:function(t,n){return void 0===n&&(n=t),this.scrollLeft+=t,this.scrollTop+=n,this},insertTo:function(t,n){return n.insertBefore(this,n.children[t]),this},insertChild:function(t,n){return this.insertBefore(n,this.children[t]),this},isSeen:function(t){"number"!=typeof t&&(t=0);var n=Math.max(document.documentElement.scrollTop,document.body.scrollTop),e=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft),i=this.offsetTop,r=this.offsetLeft;return n+window.innerHeight+t>=i&&n<=i+this.getBoundingClientRect().height+t&&e+window.innerWidth+t>=r&&e<=r+this.getBoundingClientRect().width+t},val:function(t){return 0===arguments.length?this.value:(this.value=""+t,DOM.trigger(this,"input"),this)},ani:function(t){var n=this,e=new Ani.Transition(t);return e.agency.listen("update",function(e){n.style[t.style]=e+t.unit||"px"}),e},fadeOut:function(t){var n=this;return t=t||{},this.ani({style:"opacity",from:t.from||1,to:0,unit:"",fps:t.fps||32,dur:t.dur||1e3,fn:t.fn}).listen("stop",function(){n.css("opacity",0),n.hide()})},fadeIn:function(t){var n=this;return t=t||{},n.show(t.display||"block"),this.ani({style:"opacity",from:t.from||0,to:1,unit:"",fps:t.fps||32,dur:t.dur||1e3,fn:t.fn}).listen("stop",function(){n.css("opacity",1)})}},function(t,n){Element.prototype[n]=t}),Loop.each([Element,Document,Window],function(t){t.prototype.listen=void 0===t.prototype.addEventListener?function(t,n){return this["on"+t]=n,this}:function(t,n,e){return this.addEventListener(t,n,e),this},t.prototype.ignore=void 0===t.prototype.removeEventListener?function(t,n){return t="on"+t,this[t]===n&&(this[t]=null),this}:function(t,n,e){return this.removeEventListener(t,n,e),this},Loop.each({on:function(t,n,e){return t in DOM.CustomEvents?DOM.CustomEvents[t](this,n,e):this.listen(t,n,e),this},trigger:function(t,n,e){return DOM.trigger(this,t,n,e)}},function(n,e){t.prototype[e]=n})});var Ajax={Result:new Constructor(function(t,n,e){Object.defineProperties(this,{e:{value:t},request:{value:t.target},response:{get:function(){return t.target.response}},startTime:{value:n},finishTime:{value:e},status:{value:t.target.status}})},{json:function(){var t=this;return new Promise(function(n,e){try{n(JSON.parse(t.response))}catch(t){e(t)}})}}),Config:new Constructor(function(t){this.method="GET",this.url=t||null,this.data="",this.async=!0,this.user="",this.password="",this.beforeSend=null,this.transferData=!0,this.transferResult=!0,this.params={}},{set:function(t){return Loop.each(t,function(t,n){n in this&&(this[n]=t)},this),this}}),send:function(t){if(window.XMLHttpRequest&&t&&t instanceof Object&&t.url)return new Promise(function(n,e){t=(new Ajax.Config).set(t);try{var i=new XMLHttpRequest;"{}"!==JSON.stringify(t.params)&&(t.url=Ajax.joinParams(t.url,t.params)),i.open(t.method,t.url,t.async===!0,t.user,t.password),i.onabort=e,i.onerror=e,i.ontimeout=e,i.onload=function(o){200==i.status?n(t.transferResult===!1?o:new Ajax.Result(o,r,+new Date)):e(o)},t.beforeSend&&t.beforeSend(i),i.send(t.transferData===!1?t.data:JSON.stringify(t.data));var r=+new Date}catch(t){e(t)}})},parseURL:function(t){t=t||document.URL;var n={},e=-1,i=document.createElement("a");i.href=t||document.URL,n.src=i.href,n.protocol=i.protocol.slice(0,-1),n.hash=i.hash.slice(1),n.file=i.pathname,"/"!==n.file[0]&&"\\"!==n.file[0]||(n.file=n.file.slice(1)),e=n.file.lastIndexOf("/"),e!==-1&&(n.file=n.file.slice(e+1)),n.port=i.port,n.host=i.host,e=n.host.lastIndexOf(":"),e!==-1&&(n.host=n.host.split(""),n.host.splice(e),n.host=n.host.join("")),n.get_a=function(){return i};var r=i.search.slice(1).split("&");n.args={};for(var o;o=r.shift();)o=o.split("="),n.args[o[0]]=o[1];return e=n.file.lastIndexOf("."),n.ext=e===-1?"":n.file.slice(e+1).toLowerCase(),n},joinParams:function(t,n){if(0===arguments.length)return null;1===arguments.length&&(n=t,t=""),t+=t.indexOf("?")===-1?"?":"&";var e=0;return Loop.each(n,function(n,i){e++>0&&(t+="&"),t+=encodeURI(i)+"="+encodeURI(n)}),t}},Script={includePath:"",loadOne:function(t,n,e){if("string"==typeof t)return new Promise(function(i,r){try{e!==!1&&(t=Script.includePath+t);var o=document.createElement("script");o.type=n||"text/javascript",o.src=t,o.onload=i,o.onabort=r,o.onerror=r,(document.body||document.head).appendChild(o)}catch(t){r(t)}})},loadSome:function(t,n,e,i){return n!==!1?new Promise(function(n,r){var o=[],s=function(){if(t.length<=0)return n(o);var u=t.shift();Script.loadOne(u,e,i).then(function(t){return o.push(t),s()},r)};s()}):Promise.all(Loop.map(t,function(t){return Script.loadOne(t,e,i)}))},loadGroup:function(t,n,e){return new Promise(function(i,r){var o=[],s=function(){if(t.length<=0)return i(o);var u=t.shift();Script.loadSome(u,!1,n,e).then(function(t){return o.push(t),s()},r)};s()})}},Extension=function(){var t={},n=[],e=function(){var t=[];n.forEach(function(n){n()||t.push(n)}),n=t},i={};return i.export=function(n,i){return!(n in t)&&(1===arguments.length&&(i=n),t[n]=i,e(),!0)},i.import=function(n){return n in t?t[n]:null},i.define=function(t,n,e){return i.need(n,function(){i.export(t,e.apply(this,arguments))})},i.need=function(e,i){for(var r=new Array(e.length),o=0;o<e.length;o++){if(!(e[o]in t))return n.push(function(){for(var n=0;n<e.length;n++){if(!(e[n]in t))return!1;r[n]=t[e[n]]}return setImmediate(function(){i.apply(null,r)}),!0}),!1;r[o]=t[e[o]]}return i.apply(null,r),!0},i}();