var wpgmza_data={};
;(function (factory){
var registeredInModuleLoader=false;
if(typeof define==='function'&&define.amd){
define(factory);
registeredInModuleLoader=true;
}
if(typeof exports==='object'){
module.exports=factory();
registeredInModuleLoader=true;
}
if(!registeredInModuleLoader){
var OldCookies=window.Cookies;
var api=window.Cookies=factory();
api.noConflict=function (){
window.Cookies=OldCookies;
return api;
};}}(function (){
function extend (){
var i=0;
var result={};
for (; i < arguments.length; i++){
var attributes=arguments[ i ];
for (var key in attributes){
result[key]=attributes[key];
}}
return result;
}
function init (converter){
function api (key, value, attributes){
var result;
if(typeof document==='undefined'){
return;
}
if(arguments.length > 1){
attributes=extend({
path: '/'
}, api.defaults, attributes);
if(typeof attributes.expires==='number'){
var expires=new Date();
expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);
attributes.expires=expires;
}
attributes.expires=attributes.expires ? attributes.expires.toUTCString():'';
try {
result=JSON.stringify(value);
if(/^[\{\[]/.test(result)){
value=result;
}} catch (e){}
if(!converter.write){
value=encodeURIComponent(String(value))
.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
}else{
value=converter.write(value, key);
}
key=encodeURIComponent(String(key));
key=key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);
key=key.replace(/[\(\)]/g, escape);
var stringifiedAttributes='';
for (var attributeName in attributes){
if(!attributes[attributeName]){
continue;
}
stringifiedAttributes +='; ' + attributeName;
if(attributes[attributeName]===true){
continue;
}
stringifiedAttributes +='=' + attributes[attributeName];
}
return (document.cookie=key + '=' + value + stringifiedAttributes);
}
if(!key){
result={};}
var cookies=document.cookie ? document.cookie.split('; '):[];
var rdecode=/(%[0-9A-Z]{2})+/g;
var i=0;
for (; i < cookies.length; i++){
var parts=cookies[i].split('=');
var cookie=parts.slice(1).join('=');
if(cookie.charAt(0)==='"'){
cookie=cookie.slice(1, -1);
}
try {
var name=parts[0].replace(rdecode, decodeURIComponent);
cookie=converter.read ?
converter.read(cookie, name):converter(cookie, name) ||
cookie.replace(rdecode, decodeURIComponent);
if(this.json){
try {
cookie=JSON.parse(cookie);
} catch (e){}}
if(key===name){
result=cookie;
break;
}
if(!key){
result[name]=cookie;
}} catch (e){}}
return result;
}
api.set=api;
api.get=function (key){
return api.call(api, key);
};
api.getJSON=function (){
return api.apply({
json: true
}, [].slice.call(arguments));
};
api.defaults={};
api.remove=function (key, attributes){
api(key, '', extend(attributes, {
expires: -1
}));
};
api.withConverter=init;
return api;
}
return init(function (){});
}));
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(c){return b(a,c)}):"object"==typeof exports?b(a,require("jquery")):b(a,a.jQuery||a.Zepto)}(this,function(a,b){"use strict";function c(a){if(w&&"none"===a.css("animation-name")&&"none"===a.css("-webkit-animation-name")&&"none"===a.css("-moz-animation-name")&&"none"===a.css("-o-animation-name")&&"none"===a.css("-ms-animation-name"))return 0;var b,c,d,e,f=a.css("animation-duration")||a.css("-webkit-animation-duration")||a.css("-moz-animation-duration")||a.css("-o-animation-duration")||a.css("-ms-animation-duration")||"0s",g=a.css("animation-delay")||a.css("-webkit-animation-delay")||a.css("-moz-animation-delay")||a.css("-o-animation-delay")||a.css("-ms-animation-delay")||"0s",h=a.css("animation-iteration-count")||a.css("-webkit-animation-iteration-count")||a.css("-moz-animation-iteration-count")||a.css("-o-animation-iteration-count")||a.css("-ms-animation-iteration-count")||"1";for(f=f.split(", "),g=g.split(", "),h=h.split(", "),e=0,c=f.length,b=Number.NEGATIVE_INFINITY;e<c;e++)d=parseFloat(f[e])*parseInt(h[e],10)+parseFloat(g[e]),d>b&&(b=d);return b}function d(){if(b(document).height()<=b(window).height())return 0;var a,c,d=document.createElement("div"),e=document.createElement("div");return d.style.visibility="hidden",d.style.width="100px",document.body.appendChild(d),a=d.offsetWidth,d.style.overflow="scroll",e.style.width="100%",d.appendChild(e),c=e.offsetWidth,d.parentNode.removeChild(d),a-c}function e(){if(!x){var a,c,e=b("html"),f=k("is-locked");e.hasClass(f)||(c=b(document.body),a=parseInt(c.css("padding-right"),10)+d(),c.css("padding-right",a+"px"),e.addClass(f))}}function f(){if(!x){var a,c,e=b("html"),f=k("is-locked");e.hasClass(f)&&(c=b(document.body),a=parseInt(c.css("padding-right"),10)-d(),c.css("padding-right",a+"px"),e.removeClass(f))}}function g(a,b,c,d){var e=k("is",b),f=[k("is",u.CLOSING),k("is",u.OPENING),k("is",u.CLOSED),k("is",u.OPENED)].join(" ");a.$bg.removeClass(f).addClass(e),a.$overlay.removeClass(f).addClass(e),a.$wrapper.removeClass(f).addClass(e),a.$modal.removeClass(f).addClass(e),a.state=b,!c&&a.$modal.trigger({type:b,reason:d},[{reason:d}])}function h(a,d,e){var f=0,g=function(a){a.target===this&&f++},h=function(a){a.target===this&&0===--f&&(b.each(["$bg","$overlay","$wrapper","$modal"],function(a,b){e[b].off(r+" "+s)}),d())};b.each(["$bg","$overlay","$wrapper","$modal"],function(a,b){e[b].on(r,g).on(s,h)}),a(),0===c(e.$bg)&&0===c(e.$overlay)&&0===c(e.$wrapper)&&0===c(e.$modal)&&(b.each(["$bg","$overlay","$wrapper","$modal"],function(a,b){e[b].off(r+" "+s)}),d())}function i(a){a.state!==u.CLOSED&&(b.each(["$bg","$overlay","$wrapper","$modal"],function(b,c){a[c].off(r+" "+s)}),a.$bg.removeClass(a.settings.modifier),a.$overlay.removeClass(a.settings.modifier).hide(),a.$wrapper.hide(),f(),g(a,u.CLOSED,!0))}function j(a){var b,c,d,e,f={};for(a=a.replace(/\s*:\s*/g,":").replace(/\s*,\s*/g,","),b=a.split(","),e=0,c=b.length;e<c;e++)b[e]=b[e].split(":"),d=b[e][1],("string"==typeof d||d instanceof String)&&(d="true"===d||"false"!==d&&d),("string"==typeof d||d instanceof String)&&(d=isNaN(d)?d:+d),f[b[e][0]]=d;return f}function k(){for(var a=q,b=0;b<arguments.length;++b)a+="-"+arguments[b];return a}function l(){var a,c,d=location.hash.replace("#","");if(d){try{c=b('[data-remodal-id="'+d+'"]')}catch(e){}c&&c.length&&(a=b[p].lookup[c.data(p)],a&&a.settings.hashTracking&&a.open())}else n&&n.state===u.OPENED&&n.settings.hashTracking&&n.close()}function m(a,c){var d=b(document.body),e=d,f=this;f.settings=b.extend({},t,c),f.index=b[p].lookup.push(f)-1,f.state=u.CLOSED,f.$overlay=b("."+k("overlay")),null!==f.settings.appendTo&&f.settings.appendTo.length&&(e=b(f.settings.appendTo)),f.$overlay.length||(f.$overlay=b("<div>").addClass(k("overlay")+" "+k("is",u.CLOSED)).hide(),e.append(f.$overlay)),f.$bg=b("."+k("bg")).addClass(k("is",u.CLOSED)),f.$modal=a.addClass(q+" "+k("is-initialized")+" "+f.settings.modifier+" "+k("is",u.CLOSED)).attr("tabindex","-1"),f.$wrapper=b("<div>").addClass(k("wrapper")+" "+f.settings.modifier+" "+k("is",u.CLOSED)).hide().append(f.$modal),e.append(f.$wrapper),f.$wrapper.on("click."+q,'[data-remodal-action="close"]',function(a){a.preventDefault(),f.close()}),f.$wrapper.on("click."+q,'[data-remodal-action="cancel"]',function(a){a.preventDefault(),f.$modal.trigger(v.CANCELLATION),f.settings.closeOnCancel&&f.close(v.CANCELLATION)}),f.$wrapper.on("click."+q,'[data-remodal-action="confirm"]',function(a){a.preventDefault(),f.$modal.trigger(v.CONFIRMATION),f.settings.closeOnConfirm&&f.close(v.CONFIRMATION)}),f.$wrapper.on("click."+q,function(a){var c=b(a.target);c.hasClass(k("wrapper"))&&f.settings.closeOnOutsideClick&&f.close()})}var n,o,p="remodal",q=a.REMODAL_GLOBALS&&a.REMODAL_GLOBALS.NAMESPACE||p,r=b.map(["animationstart","webkitAnimationStart","MSAnimationStart","oAnimationStart"],function(a){return a+"."+q}).join(" "),s=b.map(["animationend","webkitAnimationEnd","MSAnimationEnd","oAnimationEnd"],function(a){return a+"."+q}).join(" "),t=b.extend({hashTracking:!0,closeOnConfirm:!0,closeOnCancel:!0,closeOnEscape:!0,closeOnOutsideClick:!0,modifier:"",appendTo:null},a.REMODAL_GLOBALS&&a.REMODAL_GLOBALS.DEFAULTS),u={CLOSING:"closing",CLOSED:"closed",OPENING:"opening",OPENED:"opened"},v={CONFIRMATION:"confirmation",CANCELLATION:"cancellation"},w=function(){var a=document.createElement("div").style;return void 0!==a.animationName||void 0!==a.WebkitAnimationName||void 0!==a.MozAnimationName||void 0!==a.msAnimationName||void 0!==a.OAnimationName}(),x=/iPad|iPhone|iPod/.test(navigator.platform);m.prototype.open=function(){var a,c=this;c.state!==u.OPENING&&c.state!==u.CLOSING&&(a=c.$modal.attr("data-remodal-id"),a&&c.settings.hashTracking&&(o=b(window).scrollTop(),location.hash=a),n&&n!==c&&i(n),n=c,e(),c.$bg.addClass(c.settings.modifier),c.$overlay.addClass(c.settings.modifier).show(),c.$wrapper.show().scrollTop(0),c.$modal.focus(),h(function(){g(c,u.OPENING)},function(){g(c,u.OPENED)},c))},m.prototype.close=function(a){var c=this;c.state!==u.OPENING&&c.state!==u.CLOSING&&c.state!==u.CLOSED&&(c.settings.hashTracking&&c.$modal.attr("data-remodal-id")===location.hash.substr(1)&&(location.hash="",b(window).scrollTop(o)),h(function(){g(c,u.CLOSING,!1,a)},function(){c.$bg.removeClass(c.settings.modifier),c.$overlay.removeClass(c.settings.modifier).hide(),c.$wrapper.hide(),f(),g(c,u.CLOSED,!1,a)},c))},m.prototype.getState=function(){return this.state},m.prototype.destroy=function(){var a,c=b[p].lookup;i(this),this.$wrapper.remove(),delete c[this.index],a=b.grep(c,function(a){return!!a}).length,0===a&&(this.$overlay.remove(),this.$bg.removeClass(k("is",u.CLOSING)+" "+k("is",u.OPENING)+" "+k("is",u.CLOSED)+" "+k("is",u.OPENED)))},b[p]={lookup:[]},b.fn[p]=function(a){var c,d;return this.each(function(e,f){d=b(f),null==d.data(p)?(c=new m(d,a),d.data(p,c.index),c.settings.hashTracking&&d.attr("data-remodal-id")===location.hash.substr(1)&&c.open()):c=b[p].lookup[d.data(p)]}),c},b(document).ready(function(){b(document).on("click","[data-remodal-target]",function(a){a.preventDefault();var c=a.currentTarget,d=c.getAttribute("data-remodal-target"),e=b('[data-remodal-id="'+d+'"]');b[p].lookup[e.data(p)].open()}),b(document).find("."+q).each(function(a,c){var d=b(c),e=d.data("remodal-options");e?("string"==typeof e||e instanceof String)&&(e=j(e)):e={},d[p](e)}),b(document).on("keydown."+q,function(a){n&&n.settings.closeOnEscape&&n.state===u.OPENED&&27===a.keyCode&&n.close()}),b(window).on("hashchange."+q,l)})});
(function (global, factory){
typeof exports==='object'&&typeof module!=='undefined' ? module.exports=factory() :
typeof define==='function'&&define.amd ? define(factory) :
(global.PointerEventsPolyfill=factory());
}(this, function (){ 'use strict';
var MOUSE_PROPS=[
'bubbles',
'cancelable',
'view',
'detail',
'screenX',
'screenY',
'clientX',
'clientY',
'ctrlKey',
'altKey',
'shiftKey',
'metaKey',
'button',
'relatedTarget',
'pageX',
'pageY'
];
var MOUSE_DEFAULTS=[
false,
false,
null,
null,
0,
0,
0,
0,
false,
false,
false,
false,
0,
null,
0,
0
];
function PointerEvent(inType, inDict){
inDict=inDict||Object.create(null);
var e=document.createEvent('Event');
e.initEvent(inType, inDict.bubbles||false, inDict.cancelable||false);
for (var i=2, p; i < MOUSE_PROPS.length; i++){
p=MOUSE_PROPS[i];
e[p]=inDict[p]||MOUSE_DEFAULTS[i];
}
e.buttons=inDict.buttons||0;
var pressure=0;
if(inDict.pressure&&e.buttons){
pressure=inDict.pressure;
}else{
pressure=e.buttons ? 0.5:0;
}
e.x=e.clientX;
e.y=e.clientY;
e.pointerId=inDict.pointerId||0;
e.width=inDict.width||0;
e.height=inDict.height||0;
e.pressure=pressure;
e.tiltX=inDict.tiltX||0;
e.tiltY=inDict.tiltY||0;
e.twist=inDict.twist||0;
e.tangentialPressure=inDict.tangentialPressure||0;
e.pointerType=inDict.pointerType||'';
e.hwTimestamp=inDict.hwTimestamp||0;
e.isPrimary=inDict.isPrimary||false;
return e;
}
var USE_MAP=window.Map&&window.Map.prototype.forEach;
var PointerMap=USE_MAP ? Map:SparseArrayMap;
function SparseArrayMap(){
this.array=[];
this.size=0;
}
SparseArrayMap.prototype={
set: function(k, v){
if(v===undefined){
return this.delete(k);
}
if(!this.has(k)){
this.size++;
}
this.array[k]=v;
},
has: function(k){
return this.array[k]!==undefined;
},
delete: function(k){
if(this.has(k)){
delete this.array[k];
this.size--;
}},
get: function(k){
return this.array[k];
},
clear: function(){
this.array.length=0;
this.size=0;
},
forEach: function(callback, thisArg){
return this.array.forEach(function(v, k){
callback.call(thisArg, v, k, this);
}, this);
}};
var CLONE_PROPS=[
'bubbles',
'cancelable',
'view',
'detail',
'screenX',
'screenY',
'clientX',
'clientY',
'ctrlKey',
'altKey',
'shiftKey',
'metaKey',
'button',
'relatedTarget',
'buttons',
'pointerId',
'width',
'height',
'pressure',
'tiltX',
'tiltY',
'pointerType',
'hwTimestamp',
'isPrimary',
'type',
'target',
'currentTarget',
'which',
'pageX',
'pageY',
'timeStamp'
];
var CLONE_DEFAULTS=[
false,
false,
null,
null,
0,
0,
0,
0,
false,
false,
false,
false,
0,
null,
0,
0,
0,
0,
0,
0,
0,
'',
0,
false,
'',
null,
null,
0,
0,
0,
0
];
var BOUNDARY_EVENTS={
'pointerover': 1,
'pointerout': 1,
'pointerenter': 1,
'pointerleave': 1
};
var HAS_SVG_INSTANCE=(typeof SVGElementInstance!=='undefined');
var dispatcher={
pointermap: new PointerMap(),
eventMap: Object.create(null),
captureInfo: Object.create(null),
eventSources: Object.create(null),
eventSourceList: [],
registerSource: function(name, source){
var s=source;
var newEvents=s.events;
if(newEvents){
newEvents.forEach(function(e){
if(s[e]){
this.eventMap[e]=s[e].bind(s);
}}, this);
this.eventSources[name]=s;
this.eventSourceList.push(s);
}},
register: function(element){
var l=this.eventSourceList.length;
for (var i=0, es; (i < l)&&(es=this.eventSourceList[i]); i++){
es.register.call(es, element);
}},
unregister: function(element){
var l=this.eventSourceList.length;
for (var i=0, es; (i < l)&&(es=this.eventSourceList[i]); i++){
es.unregister.call(es, element);
}},
contains: function(container, contained){
try {
return container.contains(contained);
} catch (ex){
return false;
}},
down: function(inEvent){
inEvent.bubbles=true;
this.fireEvent('pointerdown', inEvent);
},
move: function(inEvent){
inEvent.bubbles=true;
this.fireEvent('pointermove', inEvent);
},
up: function(inEvent){
inEvent.bubbles=true;
this.fireEvent('pointerup', inEvent);
},
enter: function(inEvent){
inEvent.bubbles=false;
this.fireEvent('pointerenter', inEvent);
},
leave: function(inEvent){
inEvent.bubbles=false;
this.fireEvent('pointerleave', inEvent);
},
over: function(inEvent){
inEvent.bubbles=true;
this.fireEvent('pointerover', inEvent);
},
out: function(inEvent){
inEvent.bubbles=true;
this.fireEvent('pointerout', inEvent);
},
cancel: function(inEvent){
inEvent.bubbles=true;
this.fireEvent('pointercancel', inEvent);
},
leaveOut: function(event){
this.out(event);
this.propagate(event, this.leave, false);
},
enterOver: function(event){
this.over(event);
this.propagate(event, this.enter, true);
},
eventHandler: function(inEvent){
if(inEvent._handledByPE){
return;
}
var type=inEvent.type;
var fn=this.eventMap&&this.eventMap[type];
if(fn){
fn(inEvent);
}
inEvent._handledByPE=true;
},
listen: function(target, events){
events.forEach(function(e){
this.addEvent(target, e);
}, this);
},
unlisten: function(target, events){
events.forEach(function(e){
this.removeEvent(target, e);
}, this);
},
addEvent: function(target, eventName){
target.addEventListener(eventName, this.boundHandler);
},
removeEvent: function(target, eventName){
target.removeEventListener(eventName, this.boundHandler);
},
makeEvent: function(inType, inEvent){
if(this.captureInfo[inEvent.pointerId]){
inEvent.relatedTarget=null;
}
var e=new PointerEvent(inType, inEvent);
if(inEvent.preventDefault){
e.preventDefault=inEvent.preventDefault;
}
e._target=e._target||inEvent.target;
return e;
},
fireEvent: function(inType, inEvent){
var e=this.makeEvent(inType, inEvent);
return this.dispatchEvent(e);
},
cloneEvent: function(inEvent){
var eventCopy=Object.create(null);
var p;
for (var i=0; i < CLONE_PROPS.length; i++){
p=CLONE_PROPS[i];
eventCopy[p]=inEvent[p]||CLONE_DEFAULTS[i];
if(HAS_SVG_INSTANCE&&(p==='target'||p==='relatedTarget')){
if(eventCopy[p] instanceof SVGElementInstance){
eventCopy[p]=eventCopy[p].correspondingUseElement;
}}
}
if(inEvent.preventDefault){
eventCopy.preventDefault=function(){
inEvent.preventDefault();
};}
return eventCopy;
},
getTarget: function(inEvent){
var capture=this.captureInfo[inEvent.pointerId];
if(!capture){
return inEvent._target;
}
if(inEvent._target===capture||!(inEvent.type in BOUNDARY_EVENTS)){
return capture;
}},
propagate: function(event, fn, propagateDown){
var target=event.target;
var targets=[];
while (target!==document&&!target.contains(event.relatedTarget)){
targets.push(target);
target=target.parentNode;
if(!target){
return;
}}
if(propagateDown){
targets.reverse();
}
targets.forEach(function(target){
event.target=target;
fn.call(this, event);
}, this);
},
setCapture: function(inPointerId, inTarget, skipDispatch){
if(this.captureInfo[inPointerId]){
this.releaseCapture(inPointerId, skipDispatch);
}
this.captureInfo[inPointerId]=inTarget;
this.implicitRelease=this.releaseCapture.bind(this, inPointerId, skipDispatch);
document.addEventListener('pointerup', this.implicitRelease);
document.addEventListener('pointercancel', this.implicitRelease);
var e=new PointerEvent('gotpointercapture');
e.pointerId=inPointerId;
e._target=inTarget;
if(!skipDispatch){
this.asyncDispatchEvent(e);
}},
releaseCapture: function(inPointerId, skipDispatch){
var t=this.captureInfo[inPointerId];
if(!t){
return;
}
this.captureInfo[inPointerId]=undefined;
document.removeEventListener('pointerup', this.implicitRelease);
document.removeEventListener('pointercancel', this.implicitRelease);
var e=new PointerEvent('lostpointercapture');
e.pointerId=inPointerId;
e._target=t;
if(!skipDispatch){
this.asyncDispatchEvent(e);
}},
dispatchEvent: function(inEvent){
var t=this.getTarget(inEvent);
if(t){
return t.dispatchEvent(inEvent);
}},
asyncDispatchEvent: function(inEvent){
requestAnimationFrame(this.dispatchEvent.bind(this, inEvent));
}};
dispatcher.boundHandler=dispatcher.eventHandler.bind(dispatcher);
var targeting={
shadow: function(inEl){
if(inEl){
return inEl.shadowRoot||inEl.webkitShadowRoot;
}},
canTarget: function(shadow){
return shadow&&Boolean(shadow.elementFromPoint);
},
targetingShadow: function(inEl){
var s=this.shadow(inEl);
if(this.canTarget(s)){
return s;
}},
olderShadow: function(shadow){
var os=shadow.olderShadowRoot;
if(!os){
var se=shadow.querySelector('shadow');
if(se){
os=se.olderShadowRoot;
}}
return os;
},
allShadows: function(element){
var shadows=[];
var s=this.shadow(element);
while (s){
shadows.push(s);
s=this.olderShadow(s);
}
return shadows;
},
searchRoot: function(inRoot, x, y){
if(inRoot){
var t=inRoot.elementFromPoint(x, y);
var st, sr;
sr=this.targetingShadow(t);
while (sr){
st=sr.elementFromPoint(x, y);
if(!st){
sr=this.olderShadow(sr);
}else{
var ssr=this.targetingShadow(st);
return this.searchRoot(ssr, x, y)||st;
}}
return t;
}},
owner: function(element){
var s=element;
while (s.parentNode){
s=s.parentNode;
}
if(s.nodeType!==Node.DOCUMENT_NODE&&s.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){
s=document;
}
return s;
},
findTarget: function(inEvent){
var x=inEvent.clientX;
var y=inEvent.clientY;
var s=this.owner(inEvent.target);
if(!s.elementFromPoint(x, y)){
s=document;
}
return this.searchRoot(s, x, y);
}};
var forEach=Array.prototype.forEach.call.bind(Array.prototype.forEach);
var map=Array.prototype.map.call.bind(Array.prototype.map);
var toArray=Array.prototype.slice.call.bind(Array.prototype.slice);
var filter=Array.prototype.filter.call.bind(Array.prototype.filter);
var MO=window.MutationObserver||window.WebKitMutationObserver;
var SELECTOR='[touch-action]';
var OBSERVER_INIT={
subtree: true,
childList: true,
attributes: true,
attributeOldValue: true,
attributeFilter: ['touch-action']
};
function Installer(add, remove, changed, binder){
this.addCallback=add.bind(binder);
this.removeCallback=remove.bind(binder);
this.changedCallback=changed.bind(binder);
if(MO){
this.observer=new MO(this.mutationWatcher.bind(this));
}}
Installer.prototype={
watchSubtree: function(target){
if(this.observer&&targeting.canTarget(target)){
this.observer.observe(target, OBSERVER_INIT);
}},
enableOnSubtree: function(target){
this.watchSubtree(target);
if(target===document&&document.readyState!=='complete'){
this.installOnLoad();
}else{
this.installNewSubtree(target);
}},
installNewSubtree: function(target){
forEach(this.findElements(target), this.addElement, this);
},
findElements: function(target){
if(target.querySelectorAll){
return target.querySelectorAll(SELECTOR);
}
return [];
},
removeElement: function(el){
this.removeCallback(el);
},
addElement: function(el){
this.addCallback(el);
},
elementChanged: function(el, oldValue){
this.changedCallback(el, oldValue);
},
concatLists: function(accum, list){
return accum.concat(toArray(list));
},
installOnLoad: function(){
document.addEventListener('readystatechange', function(){
if(document.readyState==='complete'){
this.installNewSubtree(document);
}}.bind(this));
},
isElement: function(n){
return n.nodeType===Node.ELEMENT_NODE;
},
flattenMutationTree: function(inNodes){
var tree=map(inNodes, this.findElements, this);
tree.push(filter(inNodes, this.isElement));
return tree.reduce(this.concatLists, []);
},
mutationWatcher: function(mutations){
mutations.forEach(this.mutationHandler, this);
},
mutationHandler: function(m){
if(m.type==='childList'){
var added=this.flattenMutationTree(m.addedNodes);
added.forEach(this.addElement, this);
var removed=this.flattenMutationTree(m.removedNodes);
removed.forEach(this.removeElement, this);
}else if(m.type==='attributes'){
this.elementChanged(m.target, m.oldValue);
}}
};
function shadowSelector(v){
return 'body /shadow-deep/ ' + selector(v);
}
function selector(v){
return '[touch-action="' + v + '"]';
}
function rule(v){
return '{ -ms-touch-action: ' + v + '; touch-action: ' + v + '; }';
}
var attrib2css=[
'none',
'auto',
'pan-x',
'pan-y',
{
rule: 'pan-x pan-y',
selectors: [
'pan-x pan-y',
'pan-y pan-x'
]
}
];
var styles='';
var hasNativePE=window.PointerEvent||window.MSPointerEvent;
var hasShadowRoot = !window.ShadowDOMPolyfill&&document.head.createShadowRoot;
function applyAttributeStyles(){
if(hasNativePE){
attrib2css.forEach(function(r){
if(String(r)===r){
styles +=selector(r) + rule(r) + '\n';
if(hasShadowRoot){
styles +=shadowSelector(r) + rule(r) + '\n';
}}else{
styles +=r.selectors.map(selector) + rule(r.rule) + '\n';
if(hasShadowRoot){
styles +=r.selectors.map(shadowSelector) + rule(r.rule) + '\n';
}}
});
var el=document.createElement('style');
el.textContent=styles;
document.head.appendChild(el);
}}
var pointermap=dispatcher.pointermap;
var DEDUP_DIST=25;
var BUTTON_TO_BUTTONS=[1, 4, 2, 8, 16];
var HAS_BUTTONS=false;
try {
HAS_BUTTONS=new MouseEvent('test', { buttons: 1 }).buttons===1;
} catch (e){}
var mouseEvents={
POINTER_ID: 1,
POINTER_TYPE: 'mouse',
events: [
'mousedown',
'mousemove',
'mouseup',
'mouseover',
'mouseout'
],
register: function(target){
dispatcher.listen(target, this.events);
},
unregister: function(target){
dispatcher.unlisten(target, this.events);
},
lastTouches: [],
isEventSimulatedFromTouch: function(inEvent){
var lts=this.lastTouches;
var x=inEvent.clientX;
var y=inEvent.clientY;
for (var i=0, l=lts.length, t; i < l&&(t=lts[i]); i++){
var dx=Math.abs(x - t.x);
var dy=Math.abs(y - t.y);
if(dx <=DEDUP_DIST&&dy <=DEDUP_DIST){
return true;
}}
},
prepareEvent: function(inEvent){
var e=dispatcher.cloneEvent(inEvent);
var pd=e.preventDefault;
e.preventDefault=function(){
inEvent.preventDefault();
pd();
};
e.pointerId=this.POINTER_ID;
e.isPrimary=true;
e.pointerType=this.POINTER_TYPE;
return e;
},
prepareButtonsForMove: function(e, inEvent){
var p=pointermap.get(this.POINTER_ID);
if(inEvent.which===0||!p){
e.buttons=0;
}else{
e.buttons=p.buttons;
}
inEvent.buttons=e.buttons;
},
mousedown: function(inEvent){
if(!this.isEventSimulatedFromTouch(inEvent)){
var p=pointermap.get(this.POINTER_ID);
var e=this.prepareEvent(inEvent);
if(!HAS_BUTTONS){
e.buttons=BUTTON_TO_BUTTONS[e.button];
if(p){ e.buttons |=p.buttons; }
inEvent.buttons=e.buttons;
}
pointermap.set(this.POINTER_ID, inEvent);
if(!p||p.buttons===0){
dispatcher.down(e);
}else{
dispatcher.move(e);
}}
},
mousemove: function(inEvent){
if(!this.isEventSimulatedFromTouch(inEvent)){
var e=this.prepareEvent(inEvent);
if(!HAS_BUTTONS){ this.prepareButtonsForMove(e, inEvent); }
e.button=-1;
pointermap.set(this.POINTER_ID, inEvent);
dispatcher.move(e);
}},
mouseup: function(inEvent){
if(!this.isEventSimulatedFromTouch(inEvent)){
var p=pointermap.get(this.POINTER_ID);
var e=this.prepareEvent(inEvent);
if(!HAS_BUTTONS){
var up=BUTTON_TO_BUTTONS[e.button];
e.buttons=p ? p.buttons & ~up:0;
inEvent.buttons=e.buttons;
}
pointermap.set(this.POINTER_ID, inEvent);
e.buttons &=~BUTTON_TO_BUTTONS[e.button];
if(e.buttons===0){
dispatcher.up(e);
}else{
dispatcher.move(e);
}}
},
mouseover: function(inEvent){
if(!this.isEventSimulatedFromTouch(inEvent)){
var e=this.prepareEvent(inEvent);
if(!HAS_BUTTONS){ this.prepareButtonsForMove(e, inEvent); }
e.button=-1;
pointermap.set(this.POINTER_ID, inEvent);
dispatcher.enterOver(e);
}},
mouseout: function(inEvent){
if(!this.isEventSimulatedFromTouch(inEvent)){
var e=this.prepareEvent(inEvent);
if(!HAS_BUTTONS){ this.prepareButtonsForMove(e, inEvent); }
e.button=-1;
dispatcher.leaveOut(e);
}},
cancel: function(inEvent){
var e=this.prepareEvent(inEvent);
dispatcher.cancel(e);
this.deactivateMouse();
},
deactivateMouse: function(){
pointermap.delete(this.POINTER_ID);
}};
var captureInfo=dispatcher.captureInfo;
var findTarget=targeting.findTarget.bind(targeting);
var allShadows=targeting.allShadows.bind(targeting);
var pointermap$1=dispatcher.pointermap;
var DEDUP_TIMEOUT=2500;
var CLICK_COUNT_TIMEOUT=200;
var ATTRIB='touch-action';
var INSTALLER;
var touchEvents={
events: [
'touchstart',
'touchmove',
'touchend',
'touchcancel'
],
register: function(target){
INSTALLER.enableOnSubtree(target);
},
unregister: function(){
},
elementAdded: function(el){
var a=el.getAttribute(ATTRIB);
var st=this.touchActionToScrollType(a);
if(st){
el._scrollType=st;
dispatcher.listen(el, this.events);
allShadows(el).forEach(function(s){
s._scrollType=st;
dispatcher.listen(s, this.events);
}, this);
}},
elementRemoved: function(el){
el._scrollType=undefined;
dispatcher.unlisten(el, this.events);
allShadows(el).forEach(function(s){
s._scrollType=undefined;
dispatcher.unlisten(s, this.events);
}, this);
},
elementChanged: function(el, oldValue){
var a=el.getAttribute(ATTRIB);
var st=this.touchActionToScrollType(a);
var oldSt=this.touchActionToScrollType(oldValue);
if(st&&oldSt){
el._scrollType=st;
allShadows(el).forEach(function(s){
s._scrollType=st;
}, this);
}else if(oldSt){
this.elementRemoved(el);
}else if(st){
this.elementAdded(el);
}},
scrollTypes: {
EMITTER: 'none',
XSCROLLER: 'pan-x',
YSCROLLER: 'pan-y',
SCROLLER: /^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/
},
touchActionToScrollType: function(touchAction){
var t=touchAction;
var st=this.scrollTypes;
if(t==='none'){
return 'none';
}else if(t===st.XSCROLLER){
return 'X';
}else if(t===st.YSCROLLER){
return 'Y';
}else if(st.SCROLLER.exec(t)){
return 'XY';
}},
POINTER_TYPE: 'touch',
firstTouch: null,
isPrimaryTouch: function(inTouch){
return this.firstTouch===inTouch.identifier;
},
setPrimaryTouch: function(inTouch){
if(pointermap$1.size===0||(pointermap$1.size===1&&pointermap$1.has(1))){
this.firstTouch=inTouch.identifier;
this.firstXY={ X: inTouch.clientX, Y: inTouch.clientY };
this.scrolling=false;
this.cancelResetClickCount();
}},
removePrimaryPointer: function(inPointer){
if(inPointer.isPrimary){
this.firstTouch=null;
this.firstXY=null;
this.resetClickCount();
}},
clickCount: 0,
resetId: null,
resetClickCount: function(){
var fn=function(){
this.clickCount=0;
this.resetId=null;
}.bind(this);
this.resetId=setTimeout(fn, CLICK_COUNT_TIMEOUT);
},
cancelResetClickCount: function(){
if(this.resetId){
clearTimeout(this.resetId);
}},
typeToButtons: function(type){
var ret=0;
if(type==='touchstart'||type==='touchmove'){
ret=1;
}
return ret;
},
touchToPointer: function(inTouch){
var cte=this.currentTouchEvent;
var e=dispatcher.cloneEvent(inTouch);
var id=e.pointerId=inTouch.identifier + 2;
e.target=captureInfo[id]||findTarget(e);
e.bubbles=true;
e.cancelable=true;
e.detail=this.clickCount;
e.button=0;
e.buttons=this.typeToButtons(cte.type);
e.width=(inTouch.radiusX||inTouch.webkitRadiusX||0) * 2;
e.height=(inTouch.radiusY||inTouch.webkitRadiusY||0) * 2;
e.pressure=inTouch.force||inTouch.webkitForce||0.5;
e.isPrimary=this.isPrimaryTouch(inTouch);
e.pointerType=this.POINTER_TYPE;
e.altKey=cte.altKey;
e.ctrlKey=cte.ctrlKey;
e.metaKey=cte.metaKey;
e.shiftKey=cte.shiftKey;
var self=this;
e.preventDefault=function(){
self.scrolling=false;
self.firstXY=null;
cte.preventDefault();
};
return e;
},
processTouches: function(inEvent, inFunction){
var tl=inEvent.changedTouches;
this.currentTouchEvent=inEvent;
for (var i=0, t; i < tl.length; i++){
t=tl[i];
inFunction.call(this, this.touchToPointer(t));
}},
shouldScroll: function(inEvent){
if(this.firstXY){
var ret;
var scrollAxis=inEvent.currentTarget._scrollType;
if(scrollAxis==='none'){
ret=false;
}else if(scrollAxis==='XY'){
ret=true;
}else{
var t=inEvent.changedTouches[0];
var a=scrollAxis;
var oa=scrollAxis==='Y' ? 'X':'Y';
var da=Math.abs(t['client' + a] - this.firstXY[a]);
var doa=Math.abs(t['client' + oa] - this.firstXY[oa]);
ret=da >=doa;
}
this.firstXY=null;
return ret;
}},
findTouch: function(inTL, inId){
for (var i=0, l=inTL.length, t; i < l&&(t=inTL[i]); i++){
if(t.identifier===inId){
return true;
}}
},
vacuumTouches: function(inEvent){
var tl=inEvent.touches;
if(pointermap$1.size >=tl.length){
var d=[];
pointermap$1.forEach(function(value, key){
if(key!==1&&!this.findTouch(tl, key - 2)){
var p=value.out;
d.push(p);
}}, this);
d.forEach(this.cancelOut, this);
}},
touchstart: function(inEvent){
this.vacuumTouches(inEvent);
this.setPrimaryTouch(inEvent.changedTouches[0]);
this.dedupSynthMouse(inEvent);
if(!this.scrolling){
this.clickCount++;
this.processTouches(inEvent, this.overDown);
}},
overDown: function(inPointer){
pointermap$1.set(inPointer.pointerId, {
target: inPointer.target,
out: inPointer,
outTarget: inPointer.target
});
dispatcher.enterOver(inPointer);
dispatcher.down(inPointer);
},
touchmove: function(inEvent){
if(!this.scrolling){
if(this.shouldScroll(inEvent)){
this.scrolling=true;
this.touchcancel(inEvent);
}else{
inEvent.preventDefault();
this.processTouches(inEvent, this.moveOverOut);
}}
},
moveOverOut: function(inPointer){
var event=inPointer;
var pointer=pointermap$1.get(event.pointerId);
if(!pointer){
return;
}
var outEvent=pointer.out;
var outTarget=pointer.outTarget;
dispatcher.move(event);
if(outEvent&&outTarget!==event.target){
outEvent.relatedTarget=event.target;
event.relatedTarget=outTarget;
outEvent.target=outTarget;
if(event.target){
dispatcher.leaveOut(outEvent);
dispatcher.enterOver(event);
}else{
event.target=outTarget;
event.relatedTarget=null;
this.cancelOut(event);
}}
pointer.out=event;
pointer.outTarget=event.target;
},
touchend: function(inEvent){
this.dedupSynthMouse(inEvent);
this.processTouches(inEvent, this.upOut);
},
upOut: function(inPointer){
if(!this.scrolling){
dispatcher.up(inPointer);
dispatcher.leaveOut(inPointer);
}
this.cleanUpPointer(inPointer);
},
touchcancel: function(inEvent){
this.processTouches(inEvent, this.cancelOut);
},
cancelOut: function(inPointer){
dispatcher.cancel(inPointer);
dispatcher.leaveOut(inPointer);
this.cleanUpPointer(inPointer);
},
cleanUpPointer: function(inPointer){
pointermap$1.delete(inPointer.pointerId);
this.removePrimaryPointer(inPointer);
},
dedupSynthMouse: function(inEvent){
var lts=mouseEvents.lastTouches;
var t=inEvent.changedTouches[0];
if(this.isPrimaryTouch(t)){
var lt={ x: t.clientX, y: t.clientY };
lts.push(lt);
var fn=(function(lts, lt){
var i=lts.indexOf(lt);
if(i > -1){
lts.splice(i, 1);
}}).bind(null, lts, lt);
setTimeout(fn, DEDUP_TIMEOUT);
}}
};
INSTALLER=new Installer(touchEvents.elementAdded, touchEvents.elementRemoved,
touchEvents.elementChanged, touchEvents);
var pointermap$2=dispatcher.pointermap;
var HAS_BITMAP_TYPE=window.MSPointerEvent &&
typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE==='number';
var msEvents={
events: [
'MSPointerDown',
'MSPointerMove',
'MSPointerUp',
'MSPointerOut',
'MSPointerOver',
'MSPointerCancel',
'MSGotPointerCapture',
'MSLostPointerCapture'
],
register: function(target){
dispatcher.listen(target, this.events);
},
unregister: function(target){
dispatcher.unlisten(target, this.events);
},
POINTER_TYPES: [
'',
'unavailable',
'touch',
'pen',
'mouse'
],
prepareEvent: function(inEvent){
var e=inEvent;
if(HAS_BITMAP_TYPE){
e=dispatcher.cloneEvent(inEvent);
e.pointerType=this.POINTER_TYPES[inEvent.pointerType];
}
return e;
},
cleanup: function(id){
pointermap$2.delete(id);
},
MSPointerDown: function(inEvent){
pointermap$2.set(inEvent.pointerId, inEvent);
var e=this.prepareEvent(inEvent);
dispatcher.down(e);
},
MSPointerMove: function(inEvent){
var e=this.prepareEvent(inEvent);
dispatcher.move(e);
},
MSPointerUp: function(inEvent){
var e=this.prepareEvent(inEvent);
dispatcher.up(e);
this.cleanup(inEvent.pointerId);
},
MSPointerOut: function(inEvent){
var e=this.prepareEvent(inEvent);
dispatcher.leaveOut(e);
},
MSPointerOver: function(inEvent){
var e=this.prepareEvent(inEvent);
dispatcher.enterOver(e);
},
MSPointerCancel: function(inEvent){
var e=this.prepareEvent(inEvent);
dispatcher.cancel(e);
this.cleanup(inEvent.pointerId);
},
MSLostPointerCapture: function(inEvent){
var e=dispatcher.makeEvent('lostpointercapture', inEvent);
dispatcher.dispatchEvent(e);
},
MSGotPointerCapture: function(inEvent){
var e=dispatcher.makeEvent('gotpointercapture', inEvent);
dispatcher.dispatchEvent(e);
}};
function applyPolyfill(){
if(!window.PointerEvent){
window.PointerEvent=PointerEvent;
if(window.navigator.msPointerEnabled){
var tp=window.navigator.msMaxTouchPoints;
Object.defineProperty(window.navigator, 'maxTouchPoints', {
value: tp,
enumerable: true
});
dispatcher.registerSource('ms', msEvents);
}else{
Object.defineProperty(window.navigator, 'maxTouchPoints', {
value: 0,
enumerable: true
});
dispatcher.registerSource('mouse', mouseEvents);
if(window.ontouchstart!==undefined){
dispatcher.registerSource('touch', touchEvents);
}}
dispatcher.register(document);
}}
var n=window.navigator;
var s;
var r;
var h;
function assertActive(id){
if(!dispatcher.pointermap.has(id)){
var error=new Error('InvalidPointerId');
error.name='InvalidPointerId';
throw error;
}}
function assertConnected(elem){
var parent=elem.parentNode;
while (parent&&parent!==elem.ownerDocument){
parent=parent.parentNode;
}
if(!parent){
var error=new Error('InvalidStateError');
error.name='InvalidStateError';
throw error;
}}
function inActiveButtonState(id){
var p=dispatcher.pointermap.get(id);
return p.buttons!==0;
}
if(n.msPointerEnabled){
s=function(pointerId){
assertActive(pointerId);
assertConnected(this);
if(inActiveButtonState(pointerId)){
dispatcher.setCapture(pointerId, this, true);
this.msSetPointerCapture(pointerId);
}};
r=function(pointerId){
assertActive(pointerId);
dispatcher.releaseCapture(pointerId, true);
this.msReleasePointerCapture(pointerId);
};}else{
s=function setPointerCapture(pointerId){
assertActive(pointerId);
assertConnected(this);
if(inActiveButtonState(pointerId)){
dispatcher.setCapture(pointerId, this);
}};
r=function releasePointerCapture(pointerId){
assertActive(pointerId);
dispatcher.releaseCapture(pointerId);
};}
h=function hasPointerCapture(pointerId){
return !!dispatcher.captureInfo[pointerId];
};
function applyPolyfill$1(){
if(window.Element&&!Element.prototype.setPointerCapture){
Object.defineProperties(Element.prototype, {
'setPointerCapture': {
value: s
},
'releasePointerCapture': {
value: r
},
'hasPointerCapture': {
value: h
}});
}}
applyAttributeStyles();
applyPolyfill();
applyPolyfill$1();
var pointerevents={
dispatcher: dispatcher,
Installer: Installer,
PointerEvent: PointerEvent,
PointerMap: PointerMap,
targetFinding: targeting
};
return pointerevents;
}));
(function(scope){
'use strict';
if(scope['TextEncoder']&&scope['TextDecoder']){
return false;
}
function FastTextEncoder(utfLabel='utf-8'){
if(utfLabel!=='utf-8'){
throw new RangeError(
`Failed to construct 'TextEncoder': The encoding label provided ('${utfLabel}') is invalid.`);
}}
Object.defineProperty(FastTextEncoder.prototype, 'encoding', {value: 'utf-8'});
FastTextEncoder.prototype.encode=function(string, options={stream: false}){
if(options.stream){
throw new Error(`Failed to encode: the 'stream' option is unsupported.`);
}
let pos=0;
const len=string.length;
const out=[];
let at=0;
let tlen=Math.max(32, len + (len >> 1) + 7);
let target=new Uint8Array((tlen >> 3) << 3);
while (pos < len){
let value=string.charCodeAt(pos++);
if(value >=0xd800&&value <=0xdbff){
if(pos < len){
const extra=string.charCodeAt(pos);
if((extra & 0xfc00)===0xdc00){
++pos;
value=((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;
}}
if(value >=0xd800&&value <=0xdbff){
continue;
}}
if(at + 4 > target.length){
tlen +=8;
tlen *=(1.0 + (pos / string.length) * 2);
tlen=(tlen >> 3) << 3;
const update=new Uint8Array(tlen);
update.set(target);
target=update;
}
if((value & 0xffffff80)===0){
target[at++]=value;
continue;
}else if((value & 0xfffff800)===0){
target[at++]=((value >>  6) & 0x1f) | 0xc0;
}else if((value & 0xffff0000)===0){
target[at++]=((value >> 12) & 0x0f) | 0xe0;
target[at++]=((value >>  6) & 0x3f) | 0x80;
}else if((value & 0xffe00000)===0){
target[at++]=((value >> 18) & 0x07) | 0xf0;
target[at++]=((value >> 12) & 0x3f) | 0x80;
target[at++]=((value >>  6) & 0x3f) | 0x80;
}else{
continue;
}
target[at++]=(value & 0x3f) | 0x80;
}
return target.slice(0, at);
}
function FastTextDecoder(utfLabel='utf-8', options={fatal: false}){
if(utfLabel!=='utf-8'){
throw new RangeError(
`Failed to construct 'TextDecoder': The encoding label provided ('${utfLabel}') is invalid.`);
}
if(options.fatal){
throw new Error(`Failed to construct 'TextDecoder': the 'fatal' option is unsupported.`);
}}
Object.defineProperty(FastTextDecoder.prototype, 'encoding', {value: 'utf-8'});
Object.defineProperty(FastTextDecoder.prototype, 'fatal', {value: false});
Object.defineProperty(FastTextDecoder.prototype, 'ignoreBOM', {value: false});
FastTextDecoder.prototype.decode=function(buffer, options={stream: false}){
if(options['stream']){
throw new Error(`Failed to decode: the 'stream' option is unsupported.`);
}
const bytes=new Uint8Array(buffer);
let pos=0;
const len=bytes.length;
const out=[];
while (pos < len){
const byte1=bytes[pos++];
if(byte1===0){
break;
}
if((byte1 & 0x80)===0){
out.push(byte1);
}else if((byte1 & 0xe0)===0xc0){
const byte2=bytes[pos++] & 0x3f;
out.push(((byte1 & 0x1f) << 6) | byte2);
}else if((byte1 & 0xf0)===0xe0){
const byte2=bytes[pos++] & 0x3f;
const byte3=bytes[pos++] & 0x3f;
out.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);
}else if((byte1 & 0xf8)===0xf0){
const byte2=bytes[pos++] & 0x3f;
const byte3=bytes[pos++] & 0x3f;
const byte4=bytes[pos++] & 0x3f;
let codepoint=((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
if(codepoint > 0xffff){
codepoint -=0x10000;
out.push((codepoint >>> 10) & 0x3ff | 0xd800)
codepoint=0xdc00 | codepoint & 0x3ff;
}
out.push(codepoint);
}else{
}}
return String.fromCharCode.apply(null, out);
}
scope['TextEncoder']=FastTextEncoder;
scope['TextDecoder']=FastTextDecoder;
}(typeof window!=='undefined' ? window:(typeof global!=='undefined' ? global:this)));
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pako=t()}}(function(){return function i(s,h,l){function o(e,t){if(!h[e]){if(!s[e]){var a="function"==typeof require&&require;if(!t&&a)return a(e,!0);if(_)return _(e,!0);var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}var r=h[e]={exports:{}};s[e][0].call(r.exports,function(t){return o(s[e][1][t]||t)},r,r.exports,i,s,h,l)}return h[e].exports}for(var _="function"==typeof require&&require,t=0;t<l.length;t++)o(l[t]);return o}({1:[function(t,e,a){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e,a,n=Array.prototype.slice.call(arguments,1);n.length;){var r=n.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var i in r)e=r,a=i,Object.prototype.hasOwnProperty.call(e,a)&&(t[i]=r[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var r={arraySet:function(t,e,a,n,r){if(e.subarray&&t.subarray)t.set(e.subarray(a,a+n),r);else for(var i=0;i<n;i++)t[r+i]=e[a+i]},flattenChunks:function(t){var e,a,n,r,i,s;for(e=n=0,a=t.length;e<a;e++)n+=t[e].length;for(s=new Uint8Array(n),e=r=0,a=t.length;e<a;e++)i=t[e],s.set(i,r),r+=i.length;return s}},i={arraySet:function(t,e,a,n,r){for(var i=0;i<n;i++)t[r+i]=e[a+i]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,r)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,i))},a.setTyped(n)},{}],2:[function(t,e,a){"use strict";var l=t("./common"),r=!0,i=!0;try{String.fromCharCode.apply(null,[0])}catch(t){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){i=!1}for(var o=new l.Buf8(256),n=0;n<256;n++)o[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function _(t,e){if(e<65534&&(t.subarray&&i||!t.subarray&&r))return String.fromCharCode.apply(null,l.shrinkBuf(t,e));for(var a="",n=0;n<e;n++)a+=String.fromCharCode(t[n]);return a}o[254]=o[254]=1,a.string2buf=function(t){var e,a,n,r,i,s=t.length,h=0;for(r=0;r<s;r++)55296==(64512&(a=t.charCodeAt(r)))&&r+1<s&&56320==(64512&(n=t.charCodeAt(r+1)))&&(a=65536+(a-55296<<10)+(n-56320),r++),h+=a<128?1:a<2048?2:a<65536?3:4;for(e=new l.Buf8(h),r=i=0;i<h;r++)55296==(64512&(a=t.charCodeAt(r)))&&r+1<s&&56320==(64512&(n=t.charCodeAt(r+1)))&&(a=65536+(a-55296<<10)+(n-56320),r++),a<128?e[i++]=a:(a<2048?e[i++]=192|a>>>6:(a<65536?e[i++]=224|a>>>12:(e[i++]=240|a>>>18,e[i++]=128|a>>>12&63),e[i++]=128|a>>>6&63),e[i++]=128|63&a);return e},a.buf2binstring=function(t){return _(t,t.length)},a.binstring2buf=function(t){for(var e=new l.Buf8(t.length),a=0,n=e.length;a<n;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,i,s=e||t.length,h=new Array(2*s);for(a=n=0;a<s;)if((r=t[a++])<128)h[n++]=r;else if(4<(i=o[r]))h[n++]=65533,a+=i-1;else{for(r&=2===i?31:3===i?15:7;1<i&&a<s;)r=r<<6|63&t[a++],i--;1<i?h[n++]=65533:r<65536?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return _(h,n)},a.utf8border=function(t,e){var a;for((e=e||t.length)>t.length&&(e=t.length),a=e-1;0<=a&&128==(192&t[a]);)a--;return a<0?e:0===a?e:a+o[t[a]]>e?a:e}},{"./common":1}],3:[function(t,e,a){"use strict";e.exports=function(t,e,a,n){for(var r=65535&t|0,i=t>>>16&65535|0,s=0;0!==a;){for(a-=s=2e3<a?2e3:a;i=i+(r=r+e[n++]|0)|0,--s;);r%=65521,i%=65521}return r|i<<16|0}},{}],4:[function(t,e,a){"use strict";var h=function(){for(var t,e=[],a=0;a<256;a++){t=a;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}();e.exports=function(t,e,a,n){var r=h,i=n+a;t^=-1;for(var s=n;s<i;s++)t=t>>>8^r[255&(t^e[s])];return-1^t}},{}],5:[function(t,e,a){"use strict";var l,u=t("../utils/common"),o=t("./trees"),f=t("./adler32"),c=t("./crc32"),n=t("./messages"),_=0,d=4,p=0,g=-2,m=-1,b=4,r=2,v=8,w=9,i=286,s=30,h=19,y=2*i+1,k=15,z=3,x=258,B=x+z+1,A=42,C=113,S=1,j=2,E=3,U=4;function D(t,e){return t.msg=n[e],e}function I(t){return(t<<1)-(4<t?9:0)}function O(t){for(var e=t.length;0<=--e;)t[e]=0}function q(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(u.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function T(t,e){o._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,q(t.strm)}function L(t,e){t.pending_buf[t.pending++]=e}function N(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function R(t,e){var a,n,r=t.max_chain_length,i=t.strstart,s=t.prev_length,h=t.nice_match,l=t.strstart>t.w_size-B?t.strstart-(t.w_size-B):0,o=t.window,_=t.w_mask,d=t.prev,u=t.strstart+x,f=o[i+s-1],c=o[i+s];t.prev_length>=t.good_match&&(r>>=2),h>t.lookahead&&(h=t.lookahead);do{if(o[(a=e)+s]===c&&o[a+s-1]===f&&o[a]===o[i]&&o[++a]===o[i+1]){i+=2,a++;do{}while(o[++i]===o[++a]&&o[++i]===o[++a]&&o[++i]===o[++a]&&o[++i]===o[++a]&&o[++i]===o[++a]&&o[++i]===o[++a]&&o[++i]===o[++a]&&o[++i]===o[++a]&&i<u);if(n=x-(u-i),i=u-x,s<n){if(t.match_start=e,h<=(s=n))break;f=o[i+s-1],c=o[i+s]}}}while((e=d[e&_])>l&&0!=--r);return s<=t.lookahead?s:t.lookahead}function H(t){var e,a,n,r,i,s,h,l,o,_,d=t.w_size;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=d+(d-B)){for(u.arraySet(t.window,t.window,d,d,0),t.match_start-=d,t.strstart-=d,t.block_start-=d,e=a=t.hash_size;n=t.head[--e],t.head[e]=d<=n?n-d:0,--a;);for(e=a=d;n=t.prev[--e],t.prev[e]=d<=n?n-d:0,--a;);r+=d}if(0===t.strm.avail_in)break;if(s=t.strm,h=t.window,l=t.strstart+t.lookahead,o=r,_=void 0,_=s.avail_in,o<_&&(_=o),a=0===_?0:(s.avail_in-=_,u.arraySet(h,s.input,s.next_in,_,l),1===s.state.wrap?s.adler=f(s.adler,h,_,l):2===s.state.wrap&&(s.adler=c(s.adler,h,_,l)),s.next_in+=_,s.total_in+=_,_),t.lookahead+=a,t.lookahead+t.insert>=z)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=(t.ins_h<<t.hash_shift^t.window[i+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[i+z-1])&t.hash_mask,t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<z)););}while(t.lookahead<B&&0!==t.strm.avail_in)}function F(t,e){for(var a,n;;){if(t.lookahead<B){if(H(t),t.lookahead<B&&e===_)return S;if(0===t.lookahead)break}if(a=0,t.lookahead>=z&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+z-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-B&&(t.match_length=R(t,a)),t.match_length>=z)if(n=o._tr_tally(t,t.strstart-t.match_start,t.match_length-z),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=z){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+z-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else n=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(T(t,!1),0===t.strm.avail_out))return S}return t.insert=t.strstart<z-1?t.strstart:z-1,e===d?(T(t,!0),0===t.strm.avail_out?E:U):t.last_lit&&(T(t,!1),0===t.strm.avail_out)?S:j}function K(t,e){for(var a,n,r;;){if(t.lookahead<B){if(H(t),t.lookahead<B&&e===_)return S;if(0===t.lookahead)break}if(a=0,t.lookahead>=z&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+z-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=z-1,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-B&&(t.match_length=R(t,a),t.match_length<=5&&(1===t.strategy||t.match_length===z&&4096<t.strstart-t.match_start)&&(t.match_length=z-1)),t.prev_length>=z&&t.match_length<=t.prev_length){for(r=t.strstart+t.lookahead-z,n=o._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-z),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=r&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+z-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=z-1,t.strstart++,n&&(T(t,!1),0===t.strm.avail_out))return S}else if(t.match_available){if((n=o._tr_tally(t,0,t.window[t.strstart-1]))&&T(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return S}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=o._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<z-1?t.strstart:z-1,e===d?(T(t,!0),0===t.strm.avail_out?E:U):t.last_lit&&(T(t,!1),0===t.strm.avail_out)?S:j}function M(t,e,a,n,r){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=n,this.func=r}function P(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new u.Buf16(2*y),this.dyn_dtree=new u.Buf16(2*(2*s+1)),this.bl_tree=new u.Buf16(2*(2*h+1)),O(this.dyn_ltree),O(this.dyn_dtree),O(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new u.Buf16(k+1),this.heap=new u.Buf16(2*i+1),O(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new u.Buf16(2*i+1),O(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=r,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?A:C,t.adler=2===e.wrap?0:1,e.last_flush=_,o._tr_init(e),p):D(t,g)}function J(t){var e,a=G(t);return a===p&&((e=t.state).window_size=2*e.w_size,O(e.head),e.max_lazy_match=l[e.level].max_lazy,e.good_match=l[e.level].good_length,e.nice_match=l[e.level].nice_length,e.max_chain_length=l[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=z-1,e.match_available=0,e.ins_h=0),a}function Q(t,e,a,n,r,i){if(!t)return g;var s=1;if(e===m&&(e=6),n<0?(s=0,n=-n):15<n&&(s=2,n-=16),r<1||w<r||a!==v||n<8||15<n||e<0||9<e||i<0||b<i)return D(t,g);8===n&&(n=9);var h=new P;return(t.state=h).strm=t,h.wrap=s,h.gzhead=null,h.w_bits=n,h.w_size=1<<h.w_bits,h.w_mask=h.w_size-1,h.hash_bits=r+7,h.hash_size=1<<h.hash_bits,h.hash_mask=h.hash_size-1,h.hash_shift=~~((h.hash_bits+z-1)/z),h.window=new u.Buf8(2*h.w_size),h.head=new u.Buf16(h.hash_size),h.prev=new u.Buf16(h.w_size),h.lit_bufsize=1<<r+6,h.pending_buf_size=4*h.lit_bufsize,h.pending_buf=new u.Buf8(h.pending_buf_size),h.d_buf=1*h.lit_bufsize,h.l_buf=3*h.lit_bufsize,h.level=e,h.strategy=i,h.method=a,J(t)}l=[new M(0,0,0,0,function(t,e){var a=65535;for(a>t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(H(t),0===t.lookahead&&e===_)return S;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var n=t.block_start+a;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,T(t,!1),0===t.strm.avail_out))return S;if(t.strstart-t.block_start>=t.w_size-B&&(T(t,!1),0===t.strm.avail_out))return S}return t.insert=0,e===d?(T(t,!0),0===t.strm.avail_out?E:U):(t.strstart>t.block_start&&(T(t,!1),t.strm.avail_out),S)}),new M(4,4,8,4,F),new M(4,5,16,8,F),new M(4,6,32,32,F),new M(4,4,16,16,K),new M(8,16,32,32,K),new M(8,16,128,128,K),new M(8,32,128,256,K),new M(32,128,258,1024,K),new M(32,258,258,4096,K)],a.deflateInit=function(t,e){return Q(t,e,v,15,8,0)},a.deflateInit2=Q,a.deflateReset=J,a.deflateResetKeep=G,a.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?g:(t.state.gzhead=e,p):g},a.deflate=function(t,e){var a,n,r,i;if(!t||!t.state||5<e||e<0)return t?D(t,g):g;if(n=t.state,!t.output||!t.input&&0!==t.avail_in||666===n.status&&e!==d)return D(t,0===t.avail_out?-5:g);if(n.strm=t,a=n.last_flush,n.last_flush=e,n.status===A)if(2===n.wrap)t.adler=0,L(n,31),L(n,139),L(n,8),n.gzhead?(L(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),L(n,255&n.gzhead.time),L(n,n.gzhead.time>>8&255),L(n,n.gzhead.time>>16&255),L(n,n.gzhead.time>>24&255),L(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),L(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(L(n,255&n.gzhead.extra.length),L(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=c(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(L(n,0),L(n,0),L(n,0),L(n,0),L(n,0),L(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),L(n,3),n.status=C);else{var s=v+(n.w_bits-8<<4)<<8;s|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(s|=32),s+=31-s%31,n.status=C,N(n,s),0!==n.strstart&&(N(n,t.adler>>>16),N(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(r=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>r&&(t.adler=c(t.adler,n.pending_buf,n.pending-r,r)),q(t),r=n.pending,n.pending!==n.pending_buf_size));)L(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>r&&(t.adler=c(t.adler,n.pending_buf,n.pending-r,r)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){r=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>r&&(t.adler=c(t.adler,n.pending_buf,n.pending-r,r)),q(t),r=n.pending,n.pending===n.pending_buf_size)){i=1;break}L(n,i=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0)}while(0!==i);n.gzhead.hcrc&&n.pending>r&&(t.adler=c(t.adler,n.pending_buf,n.pending-r,r)),0===i&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){r=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>r&&(t.adler=c(t.adler,n.pending_buf,n.pending-r,r)),q(t),r=n.pending,n.pending===n.pending_buf_size)){i=1;break}L(n,i=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0)}while(0!==i);n.gzhead.hcrc&&n.pending>r&&(t.adler=c(t.adler,n.pending_buf,n.pending-r,r)),0===i&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&q(t),n.pending+2<=n.pending_buf_size&&(L(n,255&t.adler),L(n,t.adler>>8&255),t.adler=0,n.status=C)):n.status=C),0!==n.pending){if(q(t),0===t.avail_out)return n.last_flush=-1,p}else if(0===t.avail_in&&I(e)<=I(a)&&e!==d)return D(t,-5);if(666===n.status&&0!==t.avail_in)return D(t,-5);if(0!==t.avail_in||0!==n.lookahead||e!==_&&666!==n.status){var h=2===n.strategy?function(t,e){for(var a;;){if(0===t.lookahead&&(H(t),0===t.lookahead)){if(e===_)return S;break}if(t.match_length=0,a=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(T(t,!1),0===t.strm.avail_out))return S}return t.insert=0,e===d?(T(t,!0),0===t.strm.avail_out?E:U):t.last_lit&&(T(t,!1),0===t.strm.avail_out)?S:j}(n,e):3===n.strategy?function(t,e){for(var a,n,r,i,s=t.window;;){if(t.lookahead<=x){if(H(t),t.lookahead<=x&&e===_)return S;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=z&&0<t.strstart&&(n=s[r=t.strstart-1])===s[++r]&&n===s[++r]&&n===s[++r]){i=t.strstart+x;do{}while(n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&n===s[++r]&&r<i);t.match_length=x-(i-r),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=z?(a=o._tr_tally(t,1,t.match_length-z),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(T(t,!1),0===t.strm.avail_out))return S}return t.insert=0,e===d?(T(t,!0),0===t.strm.avail_out?E:U):t.last_lit&&(T(t,!1),0===t.strm.avail_out)?S:j}(n,e):l[n.level].func(n,e);if(h!==E&&h!==U||(n.status=666),h===S||h===E)return 0===t.avail_out&&(n.last_flush=-1),p;if(h===j&&(1===e?o._tr_align(n):5!==e&&(o._tr_stored_block(n,0,0,!1),3===e&&(O(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),q(t),0===t.avail_out))return n.last_flush=-1,p}return e!==d?p:n.wrap<=0?1:(2===n.wrap?(L(n,255&t.adler),L(n,t.adler>>8&255),L(n,t.adler>>16&255),L(n,t.adler>>24&255),L(n,255&t.total_in),L(n,t.total_in>>8&255),L(n,t.total_in>>16&255),L(n,t.total_in>>24&255)):(N(n,t.adler>>>16),N(n,65535&t.adler)),q(t),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?p:1)},a.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==A&&69!==e&&73!==e&&91!==e&&103!==e&&e!==C&&666!==e?D(t,g):(t.state=null,e===C?D(t,-3):p):g},a.deflateSetDictionary=function(t,e){var a,n,r,i,s,h,l,o,_=e.length;if(!t||!t.state)return g;if(2===(i=(a=t.state).wrap)||1===i&&a.status!==A||a.lookahead)return g;for(1===i&&(t.adler=f(t.adler,e,_,0)),a.wrap=0,_>=a.w_size&&(0===i&&(O(a.head),a.strstart=0,a.block_start=0,a.insert=0),o=new u.Buf8(a.w_size),u.arraySet(o,e,_-a.w_size,a.w_size,0),e=o,_=a.w_size),s=t.avail_in,h=t.next_in,l=t.input,t.avail_in=_,t.next_in=0,t.input=e,H(a);a.lookahead>=z;){for(n=a.strstart,r=a.lookahead-(z-1);a.ins_h=(a.ins_h<<a.hash_shift^a.window[n+z-1])&a.hash_mask,a.prev[n&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=n,n++,--r;);a.strstart=n,a.lookahead=z-1,H(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=z-1,a.match_available=0,t.next_in=h,t.input=l,t.avail_in=s,a.wrap=i,p},a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":1,"./adler32":3,"./crc32":4,"./messages":6,"./trees":7}],6:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],7:[function(t,e,a){"use strict";var l=t("../utils/common"),h=0,o=1;function n(t){for(var e=t.length;0<=--e;)t[e]=0}var _=0,s=29,d=256,u=d+1+s,f=30,c=19,g=2*u+1,m=15,r=16,p=7,b=256,v=16,w=17,y=18,k=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],z=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],B=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],A=new Array(2*(u+2));n(A);var C=new Array(2*f);n(C);var S=new Array(512);n(S);var j=new Array(256);n(j);var E=new Array(s);n(E);var U,D,I,O=new Array(f);function q(t,e,a,n,r){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=n,this.max_length=r,this.has_stree=t&&t.length}function i(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function T(t){return t<256?S[t]:S[256+(t>>>7)]}function L(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function N(t,e,a){t.bi_valid>r-a?(t.bi_buf|=e<<t.bi_valid&65535,L(t,t.bi_buf),t.bi_buf=e>>r-t.bi_valid,t.bi_valid+=a-r):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)}function R(t,e,a){N(t,a[2*e],a[2*e+1])}function H(t,e){for(var a=0;a|=1&t,t>>>=1,a<<=1,0<--e;);return a>>>1}function F(t,e,a){var n,r,i=new Array(m+1),s=0;for(n=1;n<=m;n++)i[n]=s=s+a[n-1]<<1;for(r=0;r<=e;r++){var h=t[2*r+1];0!==h&&(t[2*r]=H(i[h]++,h))}}function K(t){var e;for(e=0;e<u;e++)t.dyn_ltree[2*e]=0;for(e=0;e<f;e++)t.dyn_dtree[2*e]=0;for(e=0;e<c;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*b]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function M(t){8<t.bi_valid?L(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function P(t,e,a,n){var r=2*e,i=2*a;return t[r]<t[i]||t[r]===t[i]&&n[e]<=n[a]}function G(t,e,a){for(var n=t.heap[a],r=a<<1;r<=t.heap_len&&(r<t.heap_len&&P(e,t.heap[r+1],t.heap[r],t.depth)&&r++,!P(e,n,t.heap[r],t.depth));)t.heap[a]=t.heap[r],a=r,r<<=1;t.heap[a]=n}function J(t,e,a){var n,r,i,s,h=0;if(0!==t.last_lit)for(;n=t.pending_buf[t.d_buf+2*h]<<8|t.pending_buf[t.d_buf+2*h+1],r=t.pending_buf[t.l_buf+h],h++,0===n?R(t,r,e):(R(t,(i=j[r])+d+1,e),0!==(s=k[i])&&N(t,r-=E[i],s),R(t,i=T(--n),a),0!==(s=z[i])&&N(t,n-=O[i],s)),h<t.last_lit;);R(t,b,e)}function Q(t,e){var a,n,r,i=e.dyn_tree,s=e.stat_desc.static_tree,h=e.stat_desc.has_stree,l=e.stat_desc.elems,o=-1;for(t.heap_len=0,t.heap_max=g,a=0;a<l;a++)0!==i[2*a]?(t.heap[++t.heap_len]=o=a,t.depth[a]=0):i[2*a+1]=0;for(;t.heap_len<2;)i[2*(r=t.heap[++t.heap_len]=o<2?++o:0)]=1,t.depth[r]=0,t.opt_len--,h&&(t.static_len-=s[2*r+1]);for(e.max_code=o,a=t.heap_len>>1;1<=a;a--)G(t,i,a);for(r=l;a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,i,1),n=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=n,i[2*r]=i[2*a]+i[2*n],t.depth[r]=(t.depth[a]>=t.depth[n]?t.depth[a]:t.depth[n])+1,i[2*a+1]=i[2*n+1]=r,t.heap[1]=r++,G(t,i,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var a,n,r,i,s,h,l=e.dyn_tree,o=e.max_code,_=e.stat_desc.static_tree,d=e.stat_desc.has_stree,u=e.stat_desc.extra_bits,f=e.stat_desc.extra_base,c=e.stat_desc.max_length,p=0;for(i=0;i<=m;i++)t.bl_count[i]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;a<g;a++)c<(i=l[2*l[2*(n=t.heap[a])+1]+1]+1)&&(i=c,p++),l[2*n+1]=i,o<n||(t.bl_count[i]++,s=0,f<=n&&(s=u[n-f]),h=l[2*n],t.opt_len+=h*(i+s),d&&(t.static_len+=h*(_[2*n+1]+s)));if(0!==p){do{for(i=c-1;0===t.bl_count[i];)i--;t.bl_count[i]--,t.bl_count[i+1]+=2,t.bl_count[c]--,p-=2}while(0<p);for(i=c;0!==i;i--)for(n=t.bl_count[i];0!==n;)o<(r=t.heap[--a])||(l[2*r+1]!==i&&(t.opt_len+=(i-l[2*r+1])*l[2*r],l[2*r+1]=i),n--)}}(t,e),F(i,o,t.bl_count)}function V(t,e,a){var n,r,i=-1,s=e[1],h=0,l=7,o=4;for(0===s&&(l=138,o=3),e[2*(a+1)+1]=65535,n=0;n<=a;n++)r=s,s=e[2*(n+1)+1],++h<l&&r===s||(h<o?t.bl_tree[2*r]+=h:0!==r?(r!==i&&t.bl_tree[2*r]++,t.bl_tree[2*v]++):h<=10?t.bl_tree[2*w]++:t.bl_tree[2*y]++,i=r,(h=0)===s?(l=138,o=3):r===s?(l=6,o=3):(l=7,o=4))}function W(t,e,a){var n,r,i=-1,s=e[1],h=0,l=7,o=4;for(0===s&&(l=138,o=3),n=0;n<=a;n++)if(r=s,s=e[2*(n+1)+1],!(++h<l&&r===s)){if(h<o)for(;R(t,r,t.bl_tree),0!=--h;);else 0!==r?(r!==i&&(R(t,r,t.bl_tree),h--),R(t,v,t.bl_tree),N(t,h-3,2)):h<=10?(R(t,w,t.bl_tree),N(t,h-3,3)):(R(t,y,t.bl_tree),N(t,h-11,7));i=r,(h=0)===s?(l=138,o=3):r===s?(l=6,o=3):(l=7,o=4)}}n(O);var X=!1;function Y(t,e,a,n){var r,i,s,h;N(t,(_<<1)+(n?1:0),3),i=e,s=a,h=!0,M(r=t),h&&(L(r,s),L(r,~s)),l.arraySet(r.pending_buf,r.window,i,s,r.pending),r.pending+=s}a._tr_init=function(t){X||(function(){var t,e,a,n,r,i=new Array(m+1);for(n=a=0;n<s-1;n++)for(E[n]=a,t=0;t<1<<k[n];t++)j[a++]=n;for(j[a-1]=n,n=r=0;n<16;n++)for(O[n]=r,t=0;t<1<<z[n];t++)S[r++]=n;for(r>>=7;n<f;n++)for(O[n]=r<<7,t=0;t<1<<z[n]-7;t++)S[256+r++]=n;for(e=0;e<=m;e++)i[e]=0;for(t=0;t<=143;)A[2*t+1]=8,t++,i[8]++;for(;t<=255;)A[2*t+1]=9,t++,i[9]++;for(;t<=279;)A[2*t+1]=7,t++,i[7]++;for(;t<=287;)A[2*t+1]=8,t++,i[8]++;for(F(A,u+1,i),t=0;t<f;t++)C[2*t+1]=5,C[2*t]=H(t,5);U=new q(A,k,d+1,u,m),D=new q(C,z,0,f,m),I=new q(new Array(0),x,0,c,p)}(),X=!0),t.l_desc=new i(t.dyn_ltree,U),t.d_desc=new i(t.dyn_dtree,D),t.bl_desc=new i(t.bl_tree,I),t.bi_buf=0,t.bi_valid=0,K(t)},a._tr_stored_block=Y,a._tr_flush_block=function(t,e,a,n){var r,i,s=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return h;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return o;for(e=32;e<d;e++)if(0!==t.dyn_ltree[2*e])return o;return h}(t)),Q(t,t.l_desc),Q(t,t.d_desc),s=function(t){var e;for(V(t,t.dyn_ltree,t.l_desc.max_code),V(t,t.dyn_dtree,t.d_desc.max_code),Q(t,t.bl_desc),e=c-1;3<=e&&0===t.bl_tree[2*B[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),r=t.opt_len+3+7>>>3,(i=t.static_len+3+7>>>3)<=r&&(r=i)):r=i=a+5,a+4<=r&&-1!==e?Y(t,e,a,n):4===t.strategy||i===r?(N(t,2+(n?1:0),3),J(t,A,C)):(N(t,4+(n?1:0),3),function(t,e,a,n){var r;for(N(t,e-257,5),N(t,a-1,5),N(t,n-4,4),r=0;r<n;r++)N(t,t.bl_tree[2*B[r]+1],3);W(t,t.dyn_ltree,e-1),W(t,t.dyn_dtree,a-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),J(t,t.dyn_ltree,t.dyn_dtree)),K(t),n&&M(t)},a._tr_tally=function(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(j[a]+d+1)]++,t.dyn_dtree[2*T(e)]++),t.last_lit===t.lit_bufsize-1},a._tr_align=function(t){var e;N(t,2,3),R(t,b,A),16===(e=t).bi_valid?(L(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}},{"../utils/common":1}],8:[function(t,e,a){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],"/lib/deflate.js":[function(t,e,a){"use strict";var s=t("./zlib/deflate"),h=t("./utils/common"),l=t("./utils/strings"),r=t("./zlib/messages"),i=t("./zlib/zstream"),o=Object.prototype.toString,_=0,d=-1,u=0,f=8;function c(t){if(!(this instanceof c))return new c(t);this.options=h.assign({level:d,method:f,chunkSize:16384,windowBits:15,memLevel:8,strategy:u,to:""},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var a=s.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==_)throw new Error(r[a]);if(e.header&&s.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(n="string"==typeof e.dictionary?l.string2buf(e.dictionary):"[object ArrayBuffer]"===o.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(a=s.deflateSetDictionary(this.strm,n))!==_)throw new Error(r[a]);this._dict_set=!0}}function n(t,e){var a=new c(e);if(a.push(t,!0),a.err)throw a.msg||r[a.err];return a.result}c.prototype.push=function(t,e){var a,n,r=this.strm,i=this.options.chunkSize;if(this.ended)return!1;n=e===~~e?e:!0===e?4:0,"string"==typeof t?r.input=l.string2buf(t):"[object ArrayBuffer]"===o.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new h.Buf8(i),r.next_out=0,r.avail_out=i),1!==(a=s.deflate(r,n))&&a!==_)return this.onEnd(a),!(this.ended=!0);0!==r.avail_out&&(0!==r.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(l.buf2binstring(h.shrinkBuf(r.output,r.next_out))):this.onData(h.shrinkBuf(r.output,r.next_out)))}while((0<r.avail_in||0===r.avail_out)&&1!==a);return 4===n?(a=s.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===_):2!==n||(this.onEnd(_),!(r.avail_out=0))},c.prototype.onData=function(t){this.chunks.push(t)},c.prototype.onEnd=function(t){t===_&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=h.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=c,a.deflate=n,a.deflateRaw=function(t,e){return(e=e||{}).raw=!0,n(t,e)},a.gzip=function(t,e){return(e=e||{}).gzip=!0,n(t,e)}},{"./utils/common":1,"./utils/strings":2,"./zlib/deflate":5,"./zlib/messages":6,"./zlib/zstream":8}]},{},[])("/lib/deflate.js")});