var iaoApiServerEMBED = 'https://online.instantatlas.com/api'; var iaoAzureDomainEMBED = 'https://iao.blob.core.windows.net/';
/*! KM / JC InstantAlasDashboardBuilder 1.4.4  2020-12-08 */function getThemeJson(a,b){for(var c=0;c<a.length;c++){var d=a[c];if(d.id==b)return d;if(d.themes&&d.themes.length>0&&(d=getThemeJson(d.themes,b),0!=d))return d}return!1}function getItem(a,b,c){return a=a.filter(function(a){return a[b]==c}),0!==a.length?a[0]:void 0}function replaceBadCharacters(a){return a.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"")}var dbProduct="InstantAlasDashboardBuilder",dbProductVersion="1.4.4",dbProductVersionStatus="",dbProductReleaseDate="2020-12-08",dbAppId="77fVPZU7t16I4Hls",dbAppDebug="false";if(function(a,b){function c(a){var b=a.length,c=ka.type(a);return ka.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||"function"!==c&&(0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a){var b=za[a]={};return ka.each(a.match(ma)||[],function(a,c){b[c]=!0}),b}function e(a,c,d,e){if(ka.acceptData(a)){var f,g,h=ka.expando,i=a.nodeType,j=i?ka.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||d!==b||"string"!=typeof c)return k||(k=i?a[h]=ba.pop()||ka.guid++:h),j[k]||(j[k]=i?{}:{toJSON:ka.noop}),("object"==typeof c||"function"==typeof c)&&(e?j[k]=ka.extend(j[k],c):j[k].data=ka.extend(j[k].data,c)),g=j[k],e||(g.data||(g.data={}),g=g.data),d!==b&&(g[ka.camelCase(c)]=d),"string"==typeof c?(f=g[c],null==f&&(f=g[ka.camelCase(c)])):f=g,f}}function f(a,b,c){if(ka.acceptData(a)){var d,e,f=a.nodeType,g=f?ka.cache:a,i=f?a[ka.expando]:ka.expando;if(g[i]){if(b&&(d=c?g[i]:g[i].data)){ka.isArray(b)?b=b.concat(ka.map(b,ka.camelCase)):b in d?b=[b]:(b=ka.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!h(d):!ka.isEmptyObject(d))return}(c||(delete g[i].data,h(g[i])))&&(f?ka.cleanData([a],!0):ka.support.deleteExpando||g!=g.window?delete g[i]:g[i]=null)}}}function g(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(Ba,"-$1").toLowerCase();if(d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:Aa.test(d)?ka.parseJSON(d):d}catch(f){}ka.data(a,c,d)}else d=b}return d}function h(a){var b;for(b in a)if(("data"!==b||!ka.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function i(){return!0}function j(){return!1}function k(){try{return Y.activeElement}catch(a){}}function l(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function m(a,b,c){if(ka.isFunction(b))return ka.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return ka.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(Qa.test(b))return ka.filter(b,a,c);b=ka.filter(b,a)}return ka.grep(a,function(a){return ka.inArray(a,b)>=0!==c})}function n(a){var b=Ua.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function o(a,b){return ka.nodeName(a,"table")&&ka.nodeName(1===b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function p(a){return a.type=(null!==ka.find.attr(a,"type"))+"/"+a.type,a}function q(a){var b=eb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function r(a,b){for(var c,d=0;null!=(c=a[d]);d++)ka._data(c,"globalEval",!b||ka._data(b[d],"globalEval"))}function s(a,b){if(1===b.nodeType&&ka.hasData(a)){var c,d,e,f=ka._data(a),g=ka._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)ka.event.add(b,c,h[c][d])}g.data&&(g.data=ka.extend({},g.data))}}function t(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!ka.support.noCloneEvent&&b[ka.expando]){e=ka._data(b);for(d in e.events)ka.removeEvent(b,d,e.handle);b.removeAttribute(ka.expando)}"script"===c&&b.text!==a.text?(p(b).text=a.text,q(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),ka.support.html5Clone&&a.innerHTML&&!ka.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&bb.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function u(a,c){var d,e,f=0,g=typeof a.getElementsByTagName!==W?a.getElementsByTagName(c||"*"):typeof a.querySelectorAll!==W?a.querySelectorAll(c||"*"):b;if(!g)for(g=[],d=a.childNodes||a;null!=(e=d[f]);f++)!c||ka.nodeName(e,c)?g.push(e):ka.merge(g,u(e,c));return c===b||c&&ka.nodeName(a,c)?ka.merge([a],g):g}function v(a){bb.test(a.type)&&(a.defaultChecked=a.checked)}function w(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=yb.length;e--;)if(b=yb[e]+c,b in a)return b;return d}function x(a,b){return a=b||a,"none"===ka.css(a,"display")||!ka.contains(a.ownerDocument,a)}function y(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=ka._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&x(d)&&(f[g]=ka._data(d,"olddisplay",C(d.nodeName)))):f[g]||(e=x(d),(c&&"none"!==c||!e)&&ka._data(d,"olddisplay",e?c:ka.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function z(a,b,c){var d=rb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function A(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=ka.css(a,c+xb[f],!0,e)),d?("content"===c&&(g-=ka.css(a,"padding"+xb[f],!0,e)),"margin"!==c&&(g-=ka.css(a,"border"+xb[f]+"Width",!0,e))):(g+=ka.css(a,"padding"+xb[f],!0,e),"padding"!==c&&(g+=ka.css(a,"border"+xb[f]+"Width",!0,e)));return g}function B(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=kb(a),g=ka.support.boxSizing&&"border-box"===ka.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=lb(a,b,f),(0>e||null==e)&&(e=a.style[b]),sb.test(e))return e;d=g&&(ka.support.boxSizingReliable||e===a.style[b]),e=parseFloat(e)||0}return e+A(a,b,c||(g?"border":"content"),d,f)+"px"}function C(a){var b=Y,c=ub[a];return c||(c=D(a,b),"none"!==c&&c||(jb=(jb||ka("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(b.documentElement),b=(jb[0].contentWindow||jb[0].contentDocument).document,b.write("<!doctype html><html><body>"),b.close(),c=D(a,b),jb.detach()),ub[a]=c),c}function D(a,b){var c=ka(b.createElement(a)).appendTo(b.body),d=ka.css(c[0],"display");return c.remove(),d}function E(a,b,c,d){var e;if(ka.isArray(b))ka.each(b,function(b,e){c||Ab.test(a)?d(a,e):E(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==ka.type(b))d(a,b);else for(e in b)E(a+"["+e+"]",b[e],c,d)}function F(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(ma)||[];if(ka.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function G(a,c,d,e){function f(i){var j;return g[i]=!0,ka.each(a[i]||[],function(a,i){var k=i(c,d,e);return"string"!=typeof k||h||g[k]?h?!(j=k):b:(c.dataTypes.unshift(k),f(k),!1)}),j}var g={},h=a===Rb;return f(c.dataTypes[0])||!g["*"]&&f("*")}function H(a,c){var d,e,f=ka.ajaxSettings.flatOptions||{};for(e in c)c[e]!==b&&((f[e]?a:d||(d={}))[e]=c[e]);return d&&ka.extend(!0,a,d),a}function I(a,c,d){for(var e,f,g,h,i=a.contents,j=a.dataTypes;"*"===j[0];)j.shift(),f===b&&(f=a.mimeType||c.getResponseHeader("Content-Type"));if(f)for(h in i)if(i[h]&&i[h].test(f)){j.unshift(h);break}if(j[0]in d)g=j[0];else{for(h in d){if(!j[0]||a.converters[h+" "+j[0]]){g=h;break}e||(e=h)}g=g||e}return g?(g!==j[0]&&j.unshift(g),d[g]):b}function J(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}function K(){try{return new a.XMLHttpRequest}catch(b){}}function L(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function M(){return setTimeout(function(){$b=b}),$b=ka.now()}function N(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function O(a,b,c){var d,e,f=0,g=dc.length,h=ka.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||M(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:ka.extend({},b),opts:ka.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||M(),duration:c.duration,tweens:[],createTween:function(b,c){var d=ka.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(P(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return ka.map(k,N,j),ka.isFunction(j.opts.start)&&j.opts.start.call(a,j),ka.fx.timer(ka.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function P(a,b){var c,d,e,f,g;for(c in a)if(d=ka.camelCase(c),e=b[d],f=a[c],ka.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=ka.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Q(a,b,c){var d,e,f,g,h,i,j=this,k={},l=a.style,m=a.nodeType&&x(a),n=ka._data(a,"fxshow");c.queue||(h=ka._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,j.always(function(){j.always(function(){h.unqueued--,ka.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[l.overflow,l.overflowX,l.overflowY],"inline"===ka.css(a,"display")&&"none"===ka.css(a,"float")&&(ka.support.inlineBlockNeedsLayout&&"inline"!==C(a.nodeName)?l.zoom=1:l.display="inline-block")),c.overflow&&(l.overflow="hidden",ka.support.shrinkWrapBlocks||j.always(function(){l.overflow=c.overflow[0],l.overflowX=c.overflow[1],l.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(m?"hide":"show"))continue;k[d]=n&&n[d]||ka.style(a,d)}if(!ka.isEmptyObject(k)){n?"hidden"in n&&(m=n.hidden):n=ka._data(a,"fxshow",{}),f&&(n.hidden=!m),m?ka(a).show():j.done(function(){ka(a).hide()}),j.done(function(){var b;ka._removeData(a,"fxshow");for(b in k)ka.style(a,b,k[b])});for(d in k)g=N(m?n[d]:0,d,j),d in n||(n[d]=g.start,m&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function R(a,b,c,d,e){return new R.prototype.init(a,b,c,d,e)}function S(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=xb[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function T(a){return ka.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}var U,V,W=typeof b,X=a.location,Y=a.document,Z=Y.documentElement,$=a.jQuery,_=a.$,aa={},ba=[],ca="1.10.2",da=ba.concat,ea=ba.push,fa=ba.slice,ga=ba.indexOf,ha=aa.toString,ia=aa.hasOwnProperty,ja=ca.trim,ka=function(a,b){return new ka.fn.init(a,b,V)},la=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ma=/\S+/g,na=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,oa=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,pa=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,qa=/^[\],:{}\s]*$/,ra=/(?:^|:|,)(?:\s*\[)+/g,sa=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,ta=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,ua=/^-ms-/,va=/-([\da-z])/gi,wa=function(a,b){return b.toUpperCase()},xa=function(a){(Y.addEventListener||"load"===a.type||"complete"===Y.readyState)&&(ya(),ka.ready())},ya=function(){Y.addEventListener?(Y.removeEventListener("DOMContentLoaded",xa,!1),a.removeEventListener("load",xa,!1)):(Y.detachEvent("onreadystatechange",xa),a.detachEvent("onload",xa))};ka.fn=ka.prototype={jquery:ca,constructor:ka,init:function(a,c,d){var e,f;if(!a)return this;if("string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:oa.exec(a),!e||!e[1]&&c)return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a);if(e[1]){if(c=c instanceof ka?c[0]:c,ka.merge(this,ka.parseHTML(e[1],c&&c.nodeType?c.ownerDocument||c:Y,!0)),pa.test(e[1])&&ka.isPlainObject(c))for(e in c)ka.isFunction(this[e])?this[e](c[e]):this.attr(e,c[e]);return this}if(f=Y.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return d.find(a);this.length=1,this[0]=f}return this.context=Y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):ka.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),ka.makeArray(a,this))},selector:"",length:0,toArray:function(){return fa.call(this)},get:function(a){return null==a?this.toArray():0>a?this[this.length+a]:this[a]},pushStack:function(a){var b=ka.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return ka.each(this,a,b)},ready:function(a){return ka.ready.promise().done(a),this},slice:function(){return this.pushStack(fa.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},map:function(a){return this.pushStack(ka.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:ea,sort:[].sort,splice:[].splice},ka.fn.init.prototype=ka.fn,ka.extend=ka.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),"object"==typeof h||ka.isFunction(h)||(h={}),j===i&&(h=this,--i);j>i;i++)if(null!=(f=arguments[i]))for(e in f)a=h[e],d=f[e],h!==d&&(k&&d&&(ka.isPlainObject(d)||(c=ka.isArray(d)))?(c?(c=!1,g=a&&ka.isArray(a)?a:[]):g=a&&ka.isPlainObject(a)?a:{},h[e]=ka.extend(k,g,d)):d!==b&&(h[e]=d));return h},ka.extend({expando:"jQuery"+(ca+Math.random()).replace(/\D/g,""),noConflict:function(b){return a.$===ka&&(a.$=_),b&&a.jQuery===ka&&(a.jQuery=$),ka},isReady:!1,readyWait:1,holdReady:function(a){a?ka.readyWait++:ka.ready(!0)},ready:function(a){if(a===!0?!--ka.readyWait:!ka.isReady){if(!Y.body)return setTimeout(ka.ready);ka.isReady=!0,a!==!0&&--ka.readyWait>0||(U.resolveWith(Y,[ka]),ka.fn.trigger&&ka(Y).trigger("ready").off("ready"))}},isFunction:function(a){return"function"===ka.type(a)},isArray:Array.isArray||function(a){return"array"===ka.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?aa[ha.call(a)]||"object":typeof a},isPlainObject:function(a){var c;if(!a||"object"!==ka.type(a)||a.nodeType||ka.isWindow(a))return!1;try{if(a.constructor&&!ia.call(a,"constructor")&&!ia.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(d){return!1}if(ka.support.ownLast)for(c in a)return ia.call(a,c);for(c in a);return c===b||ia.call(a,c)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw Error(a)},parseHTML:function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||Y;var d=pa.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=ka.buildFragment([a],b,e),e&&ka(e).remove(),ka.merge([],d.childNodes))},parseJSON:function(c){return a.JSON&&a.JSON.parse?a.JSON.parse(c):null===c?c:"string"==typeof c&&(c=ka.trim(c),c&&qa.test(c.replace(sa,"@").replace(ta,"]").replace(ra,"")))?Function("return "+c)():(ka.error("Invalid JSON: "+c),b)},parseXML:function(c){var d,e;if(!c||"string"!=typeof c)return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return d&&d.documentElement&&!d.getElementsByTagName("parsererror").length||ka.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&ka.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(ua,"ms-").replace(va,wa)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,d){var e,f=0,g=a.length,h=c(a);if(d){if(h)for(;g>f&&(e=b.apply(a[f],d),e!==!1);f++);else for(f in a)if(e=b.apply(a[f],d),e===!1)break}else if(h)for(;g>f&&(e=b.call(a[f],f,a[f]),e!==!1);f++);else for(f in a)if(e=b.call(a[f],f,a[f]),e===!1)break;return a},trim:ja&&!ja.call("\ufeff ")?function(a){return null==a?"":ja.call(a)}:function(a){return null==a?"":(a+"").replace(na,"")},makeArray:function(a,b){var d=b||[];return null!=a&&(c(Object(a))?ka.merge(d,"string"==typeof a?[a]:a):ea.call(d,a)),d},inArray:function(a,b,c){var d;if(b){if(ga)return ga.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if("number"==typeof d)for(;d>f;f++)a[e++]=c[f];else for(;c[f]!==b;)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;for(c=!!c;g>f;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,b,d){var e,f=0,g=a.length,h=c(a),i=[];if(h)for(;g>f;f++)e=b(a[f],f,d),null!=e&&(i[i.length]=e);else for(f in a)e=b(a[f],f,d),null!=e&&(i[i.length]=e);return da.apply([],i)},guid:1,proxy:function(a,c){var d,e,f;return"string"==typeof c&&(f=a[c],c=a,a=f),ka.isFunction(a)?(d=fa.call(arguments,2),e=function(){return a.apply(c||this,d.concat(fa.call(arguments)))},e.guid=a.guid=a.guid||ka.guid++,e):b},access:function(a,c,d,e,f,g,h){var i=0,j=a.length,k=null==d;if("object"===ka.type(d)){f=!0;for(i in d)ka.access(a,c,i,d[i],!0,g,h)}else if(e!==b&&(f=!0,ka.isFunction(e)||(h=!0),k&&(h?(c.call(a,e),c=null):(k=c,c=function(a,b,c){return k.call(ka(a),c)})),c))for(;j>i;i++)c(a[i],d,h?e:e.call(a[i],i,c(a[i],d)));return f?a:k?c.call(a):j?c(a[0],d):g},now:function(){return(new Date).getTime()},swap:function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e}}),ka.ready.promise=function(b){if(!U)if(U=ka.Deferred(),"complete"===Y.readyState)setTimeout(ka.ready);else if(Y.addEventListener)Y.addEventListener("DOMContentLoaded",xa,!1),a.addEventListener("load",xa,!1);else{Y.attachEvent("onreadystatechange",xa),a.attachEvent("onload",xa);var c=!1;try{c=null==a.frameElement&&Y.documentElement}catch(d){}c&&c.doScroll&&function e(){if(!ka.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}ya(),ka.ready()}}()}return U.promise(b)},ka.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){aa["[object "+b+"]"]=b.toLowerCase()}),V=ka(Y),function(a,b){function c(a,b,c,d){var e,f,g,h,i,j,k,l,o,p;if((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,c=c||[],!a||"string"!=typeof a)return c;if(1!==(h=b.nodeType)&&9!==h)return[];if(I&&!d){if(e=ta.exec(a))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&M(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return aa.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&x.getElementsByClassName&&b.getElementsByClassName)return aa.apply(c,b.getElementsByClassName(g)),c}if(x.qsa&&(!J||!J.test(a))){if(l=k=N,o=b,p=9===h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(j=m(a),(k=b.getAttribute("id"))?l=k.replace(wa,"\\$&"):b.setAttribute("id",l),l="[id='"+l+"'] ",i=j.length;i--;)j[i]=l+n(j[i]);o=na.test(a)&&b.parentNode||b,p=j.join(",")}if(p)try{return aa.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{k||b.removeAttribute("id")}}}return v(a.replace(ja,"$1"),b,c,d)}function d(){function a(c,d){return b.push(c+=" ")>z.cacheLength&&delete a[b.shift()],a[c]=d}var b=[];return a}function e(a){return a[N]=!0,a}function f(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function g(a,b){for(var c=a.split("|"),d=a.length;d--;)z.attrHandle[c[d]]=b}function h(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||X)-(~a.sourceIndex||X);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function i(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function j(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function k(a){return e(function(b){return b=+b,e(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function l(){}function m(a,b){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return b?0:k.slice(0);for(h=a,i=[],j=z.preFilter;h;){(!d||(e=la.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=ma.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(ja," ")}),h=h.slice(d.length));for(g in z.filter)!(e=ra[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return b?h.length:h?c.error(a):S(a,i).slice(0)}function n(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function o(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=P+" "+f;if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e)if(j=b[N]||(b[N]={}),(i=j[d])&&i[0]===k){if((h=i[1])===!0||h===y)return h===!0}else if(i=j[d]=[k],i[1]=a(b,c,g)||y,i[1]===!0)return!0}}function p(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function r(a,b,c,d,f,g){return d&&!d[N]&&(d=r(d)),f&&!f[N]&&(f=r(f,g)),e(function(e,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=e||u(b||"*",h.nodeType?[h]:h,[]),r=!a||!e&&b?p:q(p,m,a,h,i),s=c?f||(e?a:o||d)?[]:g:r;if(c&&c(r,s,h,i),d)for(j=q(s,n),d(j,[],h,i),k=j.length;k--;)(l=j[k])&&(s[n[k]]=!(r[n[k]]=l));if(e){if(f||a){if(f){for(j=[],k=s.length;k--;)(l=s[k])&&j.push(r[k]=l);f(null,s=[],j,i)}for(k=s.length;k--;)(l=s[k])&&(j=f?ca.call(e,l):m[k])>-1&&(e[j]=!(g[j]=l))}}else s=q(s===g?s.splice(o,s.length):s),f?f(null,g,s,i):aa.apply(g,s)})}function s(a){for(var b,c,d,e=a.length,f=z.relative[a[0].type],g=f||z.relative[" "],h=f?1:0,i=o(function(a){return a===b},g,!0),j=o(function(a){return ca.call(b,a)>-1},g,!0),k=[function(a,c,d){return!f&&(d||c!==D)||((b=c).nodeType?i(a,c,d):j(a,c,d))}];e>h;h++)if(c=z.relative[a[h].type])k=[o(p(k),c)];else{if(c=z.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;e>d&&!z.relative[a[d].type];d++);return r(h>1&&p(k),h>1&&n(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ja,"$1"),c,d>h&&s(a.slice(h,d)),e>d&&s(a=a.slice(d)),e>d&&n(a))}k.push(c)}return p(k)}function t(a,b){var d=0,f=b.length>0,g=a.length>0,h=function(e,h,i,j,k){var l,m,n,o=[],p=0,r="0",s=e&&[],t=null!=k,u=D,v=e||g&&z.find.TAG("*",k&&h.parentNode||h),w=P+=null==u?1:Math.random()||.1;for(t&&(D=h!==G&&h,y=d);null!=(l=v[r]);r++){if(g&&l){for(m=0;n=a[m++];)if(n(l,h,i)){j.push(l);break}t&&(P=w,y=++d)}f&&((l=!n&&l)&&p--,e&&s.push(l))}if(p+=r,f&&r!==p){for(m=0;n=b[m++];)n(s,o,h,i);if(e){if(p>0)for(;r--;)s[r]||o[r]||(o[r]=$.call(j));o=q(o)}aa.apply(j,o),t&&!e&&o.length>0&&p+b.length>1&&c.uniqueSort(j)}return t&&(P=w,D=u),s};return f?e(h):h}function u(a,b,d){for(var e=0,f=b.length;f>e;e++)c(a,b[e],d);return d}function v(a,b,c,d){var e,f,g,h,i,j=m(a);if(!d&&1===j.length){if(f=j[0]=j[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&x.getById&&9===b.nodeType&&I&&z.relative[f[1].type]){if(b=(z.find.ID(g.matches[0].replace(xa,ya),b)||[])[0],!b)return c;a=a.slice(f.shift().value.length)}for(e=ra.needsContext.test(a)?0:f.length;e--&&(g=f[e],!z.relative[h=g.type]);)if((i=z.find[h])&&(d=i(g.matches[0].replace(xa,ya),na.test(f[0].type)&&b.parentNode||b))){if(f.splice(e,1),a=d.length&&n(f),!a)return aa.apply(c,d),c;break}}return C(a,j)(d,b,!I,c,na.test(a)),c}var w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+-new Date,O=a.document,P=0,Q=0,R=d(),S=d(),T=d(),U=!1,V=function(a,b){return a===b?(U=!0,0):0},W=typeof b,X=1<<31,Y={}.hasOwnProperty,Z=[],$=Z.pop,_=Z.push,aa=Z.push,ba=Z.slice,ca=Z.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},da="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ea="[\\x20\\t\\r\\n\\f]",fa="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ga=fa.replace("w","w#"),ha="\\["+ea+"*("+fa+")"+ea+"*(?:([*^$|!~]?=)"+ea+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+ga+")|)|)"+ea+"*\\]",ia=":("+fa+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+ha.replace(3,8)+")*)|.*)\\)|)",ja=RegExp("^"+ea+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ea+"+$","g"),la=RegExp("^"+ea+"*,"+ea+"*"),ma=RegExp("^"+ea+"*([>+~]|"+ea+")"+ea+"*"),na=RegExp(ea+"*[+~]"),oa=RegExp("="+ea+"*([^\\]'\"]*)"+ea+"*\\]","g"),pa=RegExp(ia),qa=RegExp("^"+ga+"$"),ra={ID:RegExp("^#("+fa+")"),CLASS:RegExp("^\\.("+fa+")"),TAG:RegExp("^("+fa.replace("w","w*")+")"),ATTR:RegExp("^"+ha),PSEUDO:RegExp("^"+ia),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ea+"*(even|odd|(([+-]|)(\\d*)n|)"+ea+"*(?:([+-]|)"+ea+"*(\\d+)|))"+ea+"*\\)|)","i"),bool:RegExp("^(?:"+da+")$","i"),needsContext:RegExp("^"+ea+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ea+"*((?:-\\d)?\\d*)"+ea+"*\\)|)(?=[^-]|$)","i")},sa=/^[^{]+\{\s*\[native \w/,ta=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ua=/^(?:input|select|textarea|button)$/i,va=/^h\d$/i,wa=/'|\\/g,xa=RegExp("\\\\([\\da-f]{1,6}"+ea+"?|("+ea+")|.)","ig"),ya=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(55296|d>>10,56320|1023&d)};try{aa.apply(Z=ba.call(O.childNodes),O.childNodes),Z[O.childNodes.length].nodeType}catch(za){aa={apply:Z.length?function(a,b){_.apply(a,ba.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}B=c.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},x=c.support={},F=c.setDocument=function(a){var c=a?a.ownerDocument||a:O,d=c.defaultView;return c!==G&&9===c.nodeType&&c.documentElement?(G=c,H=c.documentElement,I=!B(c),d&&d.attachEvent&&d!==d.top&&d.attachEvent("onbeforeunload",function(){F()}),x.attributes=f(function(a){return a.className="i",!a.getAttribute("className")}),x.getElementsByTagName=f(function(a){return a.appendChild(c.createComment("")),!a.getElementsByTagName("*").length}),x.getElementsByClassName=f(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),x.getById=f(function(a){return H.appendChild(a).id=N,!c.getElementsByName||!c.getElementsByName(N).length}),x.getById?(z.find.ID=function(a,b){if(typeof b.getElementById!==W&&I){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},z.filter.ID=function(a){var b=a.replace(xa,ya);return function(a){return a.getAttribute("id")===b}}):(delete z.find.ID,z.filter.ID=function(a){var b=a.replace(xa,ya);return function(a){var c=typeof a.getAttributeNode!==W&&a.getAttributeNode("id");return c&&c.value===b}}),z.find.TAG=x.getElementsByTagName?function(a,c){return typeof c.getElementsByTagName!==W?c.getElementsByTagName(a):b}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},z.find.CLASS=x.getElementsByClassName&&function(a,c){return typeof c.getElementsByClassName!==W&&I?c.getElementsByClassName(a):b},K=[],J=[],(x.qsa=sa.test(c.querySelectorAll))&&(f(function(a){a.innerHTML="<select><option selected=''></option></select>",a.querySelectorAll("[selected]").length||J.push("\\["+ea+"*(?:value|"+da+")"),a.querySelectorAll(":checked").length||J.push(":checked")}),f(function(a){var b=c.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("t",""),a.querySelectorAll("[t^='']").length&&J.push("[*^$]="+ea+"*(?:''|\"\")"),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(x.matchesSelector=sa.test(L=H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&f(function(a){x.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",ia)}),J=J.length&&RegExp(J.join("|")),K=K.length&&RegExp(K.join("|")),M=sa.test(H.contains)||H.compareDocumentPosition?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},V=H.compareDocumentPosition?function(a,b){if(a===b)return U=!0,0;var d=b.compareDocumentPosition&&a.compareDocumentPosition&&a.compareDocumentPosition(b);return d?1&d||!x.sortDetached&&b.compareDocumentPosition(a)===d?a===c||M(O,a)?-1:b===c||M(O,b)?1:E?ca.call(E,a)-ca.call(E,b):0:4&d?-1:1:a.compareDocumentPosition?-1:1}:function(a,b){var d,e=0,f=a.parentNode,g=b.parentNode,i=[a],j=[b];if(a===b)return U=!0,0;if(!f||!g)return a===c?-1:b===c?1:f?-1:g?1:E?ca.call(E,a)-ca.call(E,b):0;if(f===g)return h(a,b);for(d=a;d=d.parentNode;)i.unshift(d);for(d=b;d=d.parentNode;)j.unshift(d);for(;i[e]===j[e];)e++;return e?h(i[e],j[e]):i[e]===O?-1:j[e]===O?1:0},c):G},c.matches=function(a,b){return c(a,null,null,b)},c.matchesSelector=function(a,b){if((a.ownerDocument||a)!==G&&F(a),b=b.replace(oa,"='$1']"),!(!x.matchesSelector||!I||K&&K.test(b)||J&&J.test(b)))try{var d=L.call(a,b);if(d||x.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return c(b,G,null,[a]).length>0},c.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},c.attr=function(a,c){(a.ownerDocument||a)!==G&&F(a);var d=z.attrHandle[c.toLowerCase()],e=d&&Y.call(z.attrHandle,c.toLowerCase())?d(a,c,!I):b;return e===b?x.attributes||!I?a.getAttribute(c):(e=a.getAttributeNode(c))&&e.specified?e.value:null:e},c.error=function(a){throw Error("Syntax error, unrecognized expression: "+a)},c.uniqueSort=function(a){var b,c=[],d=0,e=0;if(U=!x.detectDuplicates,E=!x.sortStable&&a.slice(0),a.sort(V),U){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return a},A=c.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=A(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=A(b);return c},z=c.selectors={cacheLength:50,createPseudo:e,match:ra,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(xa,ya),a[3]=(a[4]||a[5]||"").replace(xa,ya),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||c.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&c.error(a[0]),a},PSEUDO:function(a){var c,d=!a[5]&&a[2];return ra.CHILD.test(a[0])?null:(a[3]&&a[4]!==b?a[2]=a[4]:d&&pa.test(d)&&(c=m(d,!0))&&(c=d.indexOf(")",d.length-c)-d.length)&&(a[0]=a[0].slice(0,c),a[2]=d.slice(0,c)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(xa,ya).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=RegExp("(^|"+ea+")"+a+"("+ea+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==W&&a.getAttribute("class")||"");
})},ATTR:function(a,b,d){return function(e){var f=c.attr(e,a);return null==f?"!="===b:b?(f+="","="===b?f===d:"!="===b?f!==d:"^="===b?d&&0===f.indexOf(d):"*="===b?d&&f.indexOf(d)>-1:"$="===b?d&&f.slice(-d.length)===d:"~="===b?(" "+f+" ").indexOf(d)>-1:"|="===b?f===d||f.slice(0,d.length+1)===d+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[N]||(q[N]={}),j=k[a]||[],n=j[0]===P&&j[1],m=j[0]===P&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[P,n,m];break}}else if(s&&(j=(b[N]||(b[N]={}))[a])&&j[0]===P)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[N]||(l[N]={}))[a]=[P,m]),l!==b)););return m-=e,m===d||0===m%d&&m/d>=0}}},PSEUDO:function(a,b){var d,f=z.pseudos[a]||z.setFilters[a.toLowerCase()]||c.error("unsupported pseudo: "+a);return f[N]?f(b):f.length>1?(d=[a,a,"",b],z.setFilters.hasOwnProperty(a.toLowerCase())?e(function(a,c){for(var d,e=f(a,b),g=e.length;g--;)d=ca.call(a,e[g]),a[d]=!(c[d]=e[g])}):function(a){return f(a,0,d)}):f}},pseudos:{not:e(function(a){var b=[],c=[],d=C(a.replace(ja,"$1"));return d[N]?e(function(a,b,c,e){for(var f,g=d(a,null,e,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:e(function(a){return function(b){return c(a,b).length>0}}),contains:e(function(a){return function(b){return(b.textContent||b.innerText||A(b)).indexOf(a)>-1}}),lang:e(function(a){return qa.test(a||"")||c.error("unsupported lang: "+a),a=a.replace(xa,ya).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeName>"@"||3===a.nodeType||4===a.nodeType)return!1;return!0},parent:function(a){return!z.pseudos.empty(a)},header:function(a){return va.test(a.nodeName)},input:function(a){return ua.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||b.toLowerCase()===a.type)},first:k(function(){return[0]}),last:k(function(a,b){return[b-1]}),eq:k(function(a,b,c){return[0>c?c+b:c]}),even:k(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:k(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:k(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:k(function(a,b,c){for(var d=0>c?c+b:c;b>++d;)a.push(d);return a})}},z.pseudos.nth=z.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})z.pseudos[w]=i(w);for(w in{submit:!0,reset:!0})z.pseudos[w]=j(w);l.prototype=z.filters=z.pseudos,z.setFilters=new l,C=c.compile=function(a,b){var c,d=[],e=[],f=T[a+" "];if(!f){for(b||(b=m(a)),c=b.length;c--;)f=s(b[c]),f[N]?d.push(f):e.push(f);f=T(a,t(e,d))}return f},x.sortStable=N.split("").sort(V).join("")===N,x.detectDuplicates=U,F(),x.sortDetached=f(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),f(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||g("type|href|height|width",function(a,c,d){return d?b:a.getAttribute(c,"type"===c.toLowerCase()?1:2)}),x.attributes&&f(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||g("value",function(a,c,d){return d||"input"!==a.nodeName.toLowerCase()?b:a.defaultValue}),f(function(a){return null==a.getAttribute("disabled")})||g(da,function(a,c,d){var e;return d?b:(e=a.getAttributeNode(c))&&e.specified?e.value:a[c]===!0?c.toLowerCase():null}),ka.find=c,ka.expr=c.selectors,ka.expr[":"]=ka.expr.pseudos,ka.unique=c.uniqueSort,ka.text=c.getText,ka.isXMLDoc=c.isXML,ka.contains=c.contains}(a);var za={};ka.Callbacks=function(a){a="string"==typeof a?za[a]||d(a):ka.extend({},a);var c,e,f,g,h,i,j=[],k=!a.once&&[],l=function(b){for(e=a.memory&&b,f=!0,h=i||0,i=0,g=j.length,c=!0;j&&g>h;h++)if(j[h].apply(b[0],b[1])===!1&&a.stopOnFalse){e=!1;break}c=!1,j&&(k?k.length&&l(k.shift()):e?j=[]:m.disable())},m={add:function(){if(j){var b=j.length;!function d(b){ka.each(b,function(b,c){var e=ka.type(c);"function"===e?a.unique&&m.has(c)||j.push(c):c&&c.length&&"string"!==e&&d(c)})}(arguments),c?g=j.length:e&&(i=b,l(e))}return this},remove:function(){return j&&ka.each(arguments,function(a,b){for(var d;(d=ka.inArray(b,j,d))>-1;)j.splice(d,1),c&&(g>=d&&g--,h>=d&&h--)}),this},has:function(a){return a?ka.inArray(a,j)>-1:!(!j||!j.length)},empty:function(){return j=[],g=0,this},disable:function(){return j=k=e=b,this},disabled:function(){return!j},lock:function(){return k=b,e||m.disable(),this},locked:function(){return!k},fireWith:function(a,b){return!j||f&&!k||(b=b||[],b=[a,b.slice?b.slice():b],c?k.push(b):l(b)),this},fire:function(){return m.fireWith(this,arguments),this},fired:function(){return!!f}};return m},ka.extend({Deferred:function(a){var b=[["resolve","done",ka.Callbacks("once memory"),"resolved"],["reject","fail",ka.Callbacks("once memory"),"rejected"],["notify","progress",ka.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return ka.Deferred(function(c){ka.each(b,function(b,f){var g=f[0],h=ka.isFunction(a[b])&&a[b];e[f[1]](function(){var a=h&&h.apply(this,arguments);a&&ka.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[g+"With"](this===d?c.promise():this,h?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?ka.extend(a,d):d}},e={};return d.pipe=d.then,ka.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=fa.call(arguments),g=f.length,h=1!==g||a&&ka.isFunction(a.promise)?g:0,i=1===h?a:ka.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?fa.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=Array(g),c=Array(g),d=Array(g);g>e;e++)f[e]&&ka.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}}),ka.support=function(b){var c,d,e,f,g,h,i,j,k,l=Y.createElement("div");if(l.setAttribute("className","t"),l.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",c=l.getElementsByTagName("*")||[],d=l.getElementsByTagName("a")[0],!d||!d.style||!c.length)return b;f=Y.createElement("select"),h=f.appendChild(Y.createElement("option")),e=l.getElementsByTagName("input")[0],d.style.cssText="top:1px;float:left;opacity:.5",b.getSetAttribute="t"!==l.className,b.leadingWhitespace=3===l.firstChild.nodeType,b.tbody=!l.getElementsByTagName("tbody").length,b.htmlSerialize=!!l.getElementsByTagName("link").length,b.style=/top/.test(d.getAttribute("style")),b.hrefNormalized="/a"===d.getAttribute("href"),b.opacity=/^0.5/.test(d.style.opacity),b.cssFloat=!!d.style.cssFloat,b.checkOn=!!e.value,b.optSelected=h.selected,b.enctype=!!Y.createElement("form").enctype,b.html5Clone="<:nav></:nav>"!==Y.createElement("nav").cloneNode(!0).outerHTML,b.inlineBlockNeedsLayout=!1,b.shrinkWrapBlocks=!1,b.pixelPosition=!1,b.deleteExpando=!0,b.noCloneEvent=!0,b.reliableMarginRight=!0,b.boxSizingReliable=!0,e.checked=!0,b.noCloneChecked=e.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!h.disabled;try{delete l.test}catch(m){b.deleteExpando=!1}e=Y.createElement("input"),e.setAttribute("value",""),b.input=""===e.getAttribute("value"),e.value="t",e.setAttribute("type","radio"),b.radioValue="t"===e.value,e.setAttribute("checked","t"),e.setAttribute("name","t"),g=Y.createDocumentFragment(),g.appendChild(e),b.appendChecked=e.checked,b.checkClone=g.cloneNode(!0).cloneNode(!0).lastChild.checked,l.attachEvent&&(l.attachEvent("onclick",function(){b.noCloneEvent=!1}),l.cloneNode(!0).click());for(k in{submit:!0,change:!0,focusin:!0})l.setAttribute(i="on"+k,"t"),b[k+"Bubbles"]=i in a||l.attributes[i].expando===!1;l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",b.clearCloneStyle="content-box"===l.style.backgroundClip;for(k in ka(b))break;return b.ownLast="0"!==k,ka(function(){var c,d,e,f="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",g=Y.getElementsByTagName("body")[0];g&&(c=Y.createElement("div"),c.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",g.appendChild(c).appendChild(l),l.innerHTML="<table><tr><td></td><td>t</td></tr></table>",e=l.getElementsByTagName("td"),e[0].style.cssText="padding:0;margin:0;border:0;display:none",j=0===e[0].offsetHeight,e[0].style.display="",e[1].style.display="none",b.reliableHiddenOffsets=j&&0===e[0].offsetHeight,l.innerHTML="",l.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",ka.swap(g,null!=g.style.zoom?{zoom:1}:{},function(){b.boxSizing=4===l.offsetWidth}),a.getComputedStyle&&(b.pixelPosition="1%"!==(a.getComputedStyle(l,null)||{}).top,b.boxSizingReliable="4px"===(a.getComputedStyle(l,null)||{width:"4px"}).width,d=l.appendChild(Y.createElement("div")),d.style.cssText=l.style.cssText=f,d.style.marginRight=d.style.width="0",l.style.width="1px",b.reliableMarginRight=!parseFloat((a.getComputedStyle(d,null)||{}).marginRight)),typeof l.style.zoom!==W&&(l.innerHTML="",l.style.cssText=f+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=3===l.offsetWidth,l.style.display="block",l.innerHTML="<div></div>",l.firstChild.style.width="5px",b.shrinkWrapBlocks=3!==l.offsetWidth,b.inlineBlockNeedsLayout&&(g.style.zoom=1)),g.removeChild(c),c=l=e=d=null)}),c=f=g=h=d=e=null,b}({});var Aa=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,Ba=/([A-Z])/g;ka.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?ka.cache[a[ka.expando]]:a[ka.expando],!!a&&!h(a)},data:function(a,b,c){return e(a,b,c)},removeData:function(a,b){return f(a,b)},_data:function(a,b,c){return e(a,b,c,!0)},_removeData:function(a,b){return f(a,b,!0)},acceptData:function(a){if(a.nodeType&&1!==a.nodeType&&9!==a.nodeType)return!1;var b=a.nodeName&&ka.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),ka.fn.extend({data:function(a,c){var d,e,f=null,h=0,i=this[0];if(a===b){if(this.length&&(f=ka.data(i),1===i.nodeType&&!ka._data(i,"parsedAttrs"))){for(d=i.attributes;d.length>h;h++)e=d[h].name,0===e.indexOf("data-")&&(e=ka.camelCase(e.slice(5)),g(i,e,f[e]));ka._data(i,"parsedAttrs",!0)}return f}return"object"==typeof a?this.each(function(){ka.data(this,a)}):arguments.length>1?this.each(function(){ka.data(this,a,c)}):i?g(i,a,ka.data(i,a)):null},removeData:function(a){return this.each(function(){ka.removeData(this,a)})}}),ka.extend({queue:function(a,c,d){var e;return a?(c=(c||"fx")+"queue",e=ka._data(a,c),d&&(!e||ka.isArray(d)?e=ka._data(a,c,ka.makeArray(d)):e.push(d)),e||[]):b},dequeue:function(a,b){b=b||"fx";var c=ka.queue(a,b),d=c.length,e=c.shift(),f=ka._queueHooks(a,b),g=function(){ka.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return ka._data(a,c)||ka._data(a,c,{empty:ka.Callbacks("once memory").add(function(){ka._removeData(a,b+"queue"),ka._removeData(a,c)})})}}),ka.fn.extend({queue:function(a,c){var d=2;return"string"!=typeof a&&(c=a,a="fx",d--),d>arguments.length?ka.queue(this[0],a):c===b?this:this.each(function(){var b=ka.queue(this,a,c);ka._queueHooks(this,a),"fx"===a&&"inprogress"!==b[0]&&ka.dequeue(this,a)})},dequeue:function(a){return this.each(function(){ka.dequeue(this,a)})},delay:function(a,b){return a=ka.fx?ka.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=ka.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};for("string"!=typeof a&&(c=a,a=b),a=a||"fx";h--;)d=ka._data(g[h],a+"queueHooks"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var Ca,Da,Ea=/[\t\r\n\f]/g,Fa=/\r/g,Ga=/^(?:input|select|textarea|button|object)$/i,Ha=/^(?:a|area)$/i,Ia=/^(?:checked|selected)$/i,Ja=ka.support.getSetAttribute,Ka=ka.support.input;ka.fn.extend({attr:function(a,b){return ka.access(this,ka.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){ka.removeAttr(this,a)})},prop:function(a,b){return ka.access(this,ka.prop,a,b,arguments.length>1)},removeProp:function(a){return a=ka.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g=0,h=this.length,i="string"==typeof a&&a;if(ka.isFunction(a))return this.each(function(b){ka(this).addClass(a.call(this,b,this.className))});if(i)for(b=(a||"").match(ma)||[];h>g;g++)if(c=this[g],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(Ea," "):" ")){for(f=0;e=b[f++];)0>d.indexOf(" "+e+" ")&&(d+=e+" ");c.className=ka.trim(d)}return this},removeClass:function(a){var b,c,d,e,f,g=0,h=this.length,i=0===arguments.length||"string"==typeof a&&a;if(ka.isFunction(a))return this.each(function(b){ka(this).removeClass(a.call(this,b,this.className))});if(i)for(b=(a||"").match(ma)||[];h>g;g++)if(c=this[g],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(Ea," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");c.className=a?ka.trim(d):""}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):ka.isFunction(a)?this.each(function(c){ka(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if("string"===c)for(var b,d=0,e=ka(this),f=a.match(ma)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else(c===W||"boolean"===c)&&(this.className&&ka._data(this,"__className__",this.className),this.className=this.className||a===!1?"":ka._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(Ea," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];return arguments.length?(e=ka.isFunction(a),this.each(function(c){var f;1===this.nodeType&&(f=e?a.call(this,c,ka(this).val()):a,null==f?f="":"number"==typeof f?f+="":ka.isArray(f)&&(f=ka.map(f,function(a){return null==a?"":a+""})),d=ka.valHooks[this.type]||ka.valHooks[this.nodeName.toLowerCase()],d&&"set"in d&&d.set(this,f,"value")!==b||(this.value=f))})):f?(d=ka.valHooks[f.type]||ka.valHooks[f.nodeName.toLowerCase()],d&&"get"in d&&(c=d.get(f,"value"))!==b?c:(c=f.value,"string"==typeof c?c.replace(Fa,""):null==c?"":c)):void 0}}),ka.extend({valHooks:{option:{get:function(a){var b=ka.find.attr(a,"value");return null!=b?b:a.text}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(ka.support.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&ka.nodeName(c.parentNode,"optgroup"))){if(b=ka(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=ka.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=ka.inArray(ka(d).val(),f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}},attr:function(a,c,d){var e,f,g=a.nodeType;return a&&3!==g&&8!==g&&2!==g?typeof a.getAttribute===W?ka.prop(a,c,d):(1===g&&ka.isXMLDoc(a)||(c=c.toLowerCase(),e=ka.attrHooks[c]||(ka.expr.match.bool.test(c)?Da:Ca)),d===b?e&&"get"in e&&null!==(f=e.get(a,c))?f:(f=ka.find.attr(a,c),null==f?b:f):null!==d?e&&"set"in e&&(f=e.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d):(ka.removeAttr(a,c),b)):void 0},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(ma);if(f&&1===a.nodeType)for(;c=f[e++];)d=ka.propFix[c]||c,ka.expr.match.bool.test(c)?Ka&&Ja||!Ia.test(c)?a[d]=!1:a[ka.camelCase("default-"+c)]=a[d]=!1:ka.attr(a,c,""),a.removeAttribute(Ja?c:d)},attrHooks:{type:{set:function(a,b){if(!ka.support.radioValue&&"radio"===b&&ka.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(a,c,d){var e,f,g,h=a.nodeType;return a&&3!==h&&8!==h&&2!==h?(g=1!==h||!ka.isXMLDoc(a),g&&(c=ka.propFix[c]||c,f=ka.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&null!==(e=f.get(a,c))?e:a[c]):void 0},propHooks:{tabIndex:{get:function(a){var b=ka.find.attr(a,"tabindex");return b?parseInt(b,10):Ga.test(a.nodeName)||Ha.test(a.nodeName)&&a.href?0:-1}}}}),Da={set:function(a,b,c){return b===!1?ka.removeAttr(a,c):Ka&&Ja||!Ia.test(c)?a.setAttribute(!Ja&&ka.propFix[c]||c,c):a[ka.camelCase("default-"+c)]=a[c]=!0,c}},ka.each(ka.expr.match.bool.source.match(/\w+/g),function(a,c){var d=ka.expr.attrHandle[c]||ka.find.attr;ka.expr.attrHandle[c]=Ka&&Ja||!Ia.test(c)?function(a,c,e){var f=ka.expr.attrHandle[c],g=e?b:(ka.expr.attrHandle[c]=b)!=d(a,c,e)?c.toLowerCase():null;return ka.expr.attrHandle[c]=f,g}:function(a,c,d){return d?b:a[ka.camelCase("default-"+c)]?c.toLowerCase():null}}),Ka&&Ja||(ka.attrHooks.value={set:function(a,c,d){return ka.nodeName(a,"input")?(a.defaultValue=c,b):Ca&&Ca.set(a,c,d)}}),Ja||(Ca={set:function(a,c,d){var e=a.getAttributeNode(d);return e||a.setAttributeNode(e=a.ownerDocument.createAttribute(d)),e.value=c+="","value"===d||c===a.getAttribute(d)?c:b}},ka.expr.attrHandle.id=ka.expr.attrHandle.name=ka.expr.attrHandle.coords=function(a,c,d){var e;return d?b:(e=a.getAttributeNode(c))&&""!==e.value?e.value:null},ka.valHooks.button={get:function(a,c){var d=a.getAttributeNode(c);return d&&d.specified?d.value:b},set:Ca.set},ka.attrHooks.contenteditable={set:function(a,b,c){Ca.set(a,""===b?!1:b,c)}},ka.each(["width","height"],function(a,c){ka.attrHooks[c]={set:function(a,d){return""===d?(a.setAttribute(c,"auto"),d):b}}})),ka.support.hrefNormalized||ka.each(["href","src"],function(a,b){ka.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),ka.support.style||(ka.attrHooks.style={get:function(a){return a.style.cssText||b},set:function(a,b){return a.style.cssText=b+""}}),ka.support.optSelected||(ka.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),ka.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ka.propFix[this.toLowerCase()]=this}),ka.support.enctype||(ka.propFix.enctype="encoding"),ka.each(["radio","checkbox"],function(){ka.valHooks[this]={set:function(a,c){return ka.isArray(c)?a.checked=ka.inArray(ka(a).val(),c)>=0:b}},ka.support.checkOn||(ka.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var La=/^(?:input|select|textarea)$/i,Ma=/^key/,Na=/^(?:mouse|contextmenu)|click/,Oa=/^(?:focusinfocus|focusoutblur)$/,Pa=/^([^.]*)(?:\.(.+)|)$/;ka.event={global:{},add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r=ka._data(a);if(r){for(d.handler&&(j=d,d=j.handler,f=j.selector),d.guid||(d.guid=ka.guid++),(h=r.events)||(h=r.events={}),(l=r.handle)||(l=r.handle=function(a){return typeof ka===W||a&&ka.event.triggered===a.type?b:ka.event.dispatch.apply(l.elem,arguments)},l.elem=a),c=(c||"").match(ma)||[""],i=c.length;i--;)g=Pa.exec(c[i])||[],o=q=g[1],p=(g[2]||"").split(".").sort(),o&&(k=ka.event.special[o]||{},o=(f?k.delegateType:k.bindType)||o,k=ka.event.special[o]||{},m=ka.extend({type:o,origType:q,data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&ka.expr.match.needsContext.test(f),namespace:p.join(".")},j),(n=h[o])||(n=h[o]=[],n.delegateCount=0,k.setup&&k.setup.call(a,e,p,l)!==!1||(a.addEventListener?a.addEventListener(o,l,!1):a.attachEvent&&a.attachEvent("on"+o,l))),k.add&&(k.add.call(a,m),m.handler.guid||(m.handler.guid=d.guid)),f?n.splice(n.delegateCount++,0,m):n.push(m),ka.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=ka.hasData(a)&&ka._data(a);if(q&&(k=q.events)){for(b=(b||"").match(ma)||[""],j=b.length;j--;)if(h=Pa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=ka.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=k[n]||[],h=h[2]&&RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;f--;)g=m[f],!e&&p!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||ka.removeEvent(a,n,q.handle),delete k[n])}else for(n in k)ka.event.remove(a,n+b[j],c,d,!0);ka.isEmptyObject(k)&&(delete q.handle,ka._removeData(a,"events"))}},trigger:function(c,d,e,f){var g,h,i,j,k,l,m,n=[e||Y],o=ia.call(c,"type")?c.type:c,p=ia.call(c,"namespace")?c.namespace.split("."):[];if(i=l=e=e||Y,3!==e.nodeType&&8!==e.nodeType&&!Oa.test(o+ka.event.triggered)&&(o.indexOf(".")>=0&&(p=o.split("."),o=p.shift(),p.sort()),h=0>o.indexOf(":")&&"on"+o,c=c[ka.expando]?c:new ka.Event(o,"object"==typeof c&&c),c.isTrigger=f?2:3,c.namespace=p.join("."),c.namespace_re=c.namespace?RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,c.result=b,c.target||(c.target=e),d=null==d?[c]:ka.makeArray(d,[c]),k=ka.event.special[o]||{},f||!k.trigger||k.trigger.apply(e,d)!==!1)){if(!f&&!k.noBubble&&!ka.isWindow(e)){for(j=k.delegateType||o,Oa.test(j+o)||(i=i.parentNode);i;i=i.parentNode)n.push(i),l=i;l===(e.ownerDocument||Y)&&n.push(l.defaultView||l.parentWindow||a)}for(m=0;(i=n[m++])&&!c.isPropagationStopped();)c.type=m>1?j:k.bindType||o,g=(ka._data(i,"events")||{})[c.type]&&ka._data(i,"handle"),g&&g.apply(i,d),g=h&&i[h],g&&ka.acceptData(i)&&g.apply&&g.apply(i,d)===!1&&c.preventDefault();if(c.type=o,!f&&!c.isDefaultPrevented()&&(!k._default||k._default.apply(n.pop(),d)===!1)&&ka.acceptData(e)&&h&&e[o]&&!ka.isWindow(e)){l=e[h],l&&(e[h]=null),ka.event.triggered=o;try{e[o]()}catch(q){}ka.event.triggered=b,l&&(e[h]=l)}return c.result}},dispatch:function(a){a=ka.event.fix(a);var c,d,e,f,g,h=[],i=fa.call(arguments),j=(ka._data(this,"events")||{})[a.type]||[],k=ka.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){for(h=ka.event.handlers.call(this,a,j),c=0;(f=h[c++])&&!a.isPropagationStopped();)for(a.currentTarget=f.elem,g=0;(e=f.handlers[g++])&&!a.isImmediatePropagationStopped();)(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,d=((ka.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),d!==b&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,c){var d,e,f,g,h=[],i=c.delegateCount,j=a.target;if(i&&j.nodeType&&(!a.button||"click"!==a.type))for(;j!=this;j=j.parentNode||this)if(1===j.nodeType&&(j.disabled!==!0||"click"!==a.type)){for(f=[],g=0;i>g;g++)e=c[g],d=e.selector+" ",f[d]===b&&(f[d]=e.needsContext?ka(d,this).index(j)>=0:ka.find(d,this,null,[j]).length),f[d]&&f.push(e);f.length&&h.push({elem:j,handlers:f})}return c.length>i&&h.push({elem:this,handlers:c.slice(i)}),h},fix:function(a){if(a[ka.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=Na.test(e)?this.mouseHooks:Ma.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new ka.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||Y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,e,f,g=c.button,h=c.fromElement;return null==a.pageX&&null!=c.clientX&&(e=a.target.ownerDocument||Y,f=e.documentElement,d=e.body,a.pageX=c.clientX+(f&&f.scrollLeft||d&&d.scrollLeft||0)-(f&&f.clientLeft||d&&d.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||d&&d.scrollTop||0)-(f&&f.clientTop||d&&d.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?c.toElement:h),a.which||g===b||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==k()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===k()&&this.blur?(this.blur(),!1):b},delegateType:"focusout"},click:{trigger:function(){return ka.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):b},_default:function(a){return ka.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){a.result!==b&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=ka.extend(new ka.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?ka.event.trigger(e,null,b):ka.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},ka.removeEvent=Y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===W&&(a[d]=null),a.detachEvent(d,c))},ka.Event=function(a,c){return this instanceof ka.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?i:j):this.type=a,c&&ka.extend(this,c),this.timeStamp=a&&a.timeStamp||ka.now(),this[ka.expando]=!0,b):new ka.Event(a,c)},ka.Event.prototype={isDefaultPrevented:j,isPropagationStopped:j,isImmediatePropagationStopped:j,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=i,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=i,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i,this.stopPropagation()}},ka.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){ka.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!ka.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),ka.support.submitBubbles||(ka.event.special.submit={setup:function(){return ka.nodeName(this,"form")?!1:(ka.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=ka.nodeName(c,"input")||ka.nodeName(c,"button")?c.form:b;d&&!ka._data(d,"submitBubbles")&&(ka.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),ka._data(d,"submitBubbles",!0))}),b)},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&ka.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return ka.nodeName(this,"form")?!1:(ka.event.remove(this,"._submit"),b)}}),ka.support.changeBubbles||(ka.event.special.change={setup:function(){return La.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(ka.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),ka.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),ka.event.simulate("change",this,a,!0)})),!1):(ka.event.add(this,"beforeactivate._change",function(a){var b=a.target;La.test(b.nodeName)&&!ka._data(b,"changeBubbles")&&(ka.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||ka.event.simulate("change",this.parentNode,a,!0)}),ka._data(b,"changeBubbles",!0))}),b)},handle:function(a){var c=a.target;return this!==c||a.isSimulated||a.isTrigger||"radio"!==c.type&&"checkbox"!==c.type?a.handleObj.handler.apply(this,arguments):b},teardown:function(){return ka.event.remove(this,"._change"),!La.test(this.nodeName)}}),ka.support.focusinBubbles||ka.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){ka.event.simulate(b,a.target,ka.event.fix(a),!0)};ka.event.special[b]={setup:function(){0===c++&&Y.addEventListener(a,d,!0)},teardown:function(){0===--c&&Y.removeEventListener(a,d,!0)}}}),ka.fn.extend({on:function(a,c,d,e,f){var g,h;if("object"==typeof a){"string"!=typeof c&&(d=d||c,c=b);for(g in a)this.on(g,c,d,a[g],f);return this}if(null==d&&null==e?(e=c,d=c=b):null==e&&("string"==typeof c?(e=d,d=b):(e=d,d=c,c=b)),e===!1)e=j;else if(!e)return this;return 1===f&&(h=e,e=function(a){return ka().off(a),h.apply(this,arguments)},e.guid=h.guid||(h.guid=ka.guid++)),this.each(function(){ka.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,ka(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if("object"==typeof a){for(f in a)this.off(f,c,a[f]);return this}return(c===!1||"function"==typeof c)&&(d=c,c=b),d===!1&&(d=j),this.each(function(){ka.event.remove(this,a,d,c)})},trigger:function(a,b){return this.each(function(){ka.event.trigger(a,b,this)})},triggerHandler:function(a,c){var d=this[0];return d?ka.event.trigger(a,c,d,!0):b}});var Qa=/^.[^:#\[\.,]*$/,Ra=/^(?:parents|prev(?:Until|All))/,Sa=ka.expr.match.needsContext,Ta={children:!0,contents:!0,next:!0,prev:!0};ka.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(ka(a).filter(function(){for(b=0;e>b;b++)if(ka.contains(d[b],this))return!0}));for(b=0;e>b;b++)ka.find(a,d[b],c);return c=this.pushStack(e>1?ka.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},has:function(a){var b,c=ka(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(ka.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(m(this,a||[],!0))},filter:function(a){return this.pushStack(m(this,a||[],!1))},is:function(a){return!!m(this,"string"==typeof a&&Sa.test(a)?ka(a):a||[],!1).length},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=Sa.test(a)||"string"!=typeof a?ka(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(11>c.nodeType&&(g?g.index(c)>-1:1===c.nodeType&&ka.find.matchesSelector(c,a))){c=f.push(c);break}return this.pushStack(f.length>1?ka.unique(f):f)},index:function(a){return a?"string"==typeof a?ka.inArray(this[0],ka(a)):ka.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1;
},add:function(a,b){var c="string"==typeof a?ka(a,b):ka.makeArray(a&&a.nodeType?[a]:a),d=ka.merge(this.get(),c);return this.pushStack(ka.unique(d))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),ka.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return ka.dir(a,"parentNode")},parentsUntil:function(a,b,c){return ka.dir(a,"parentNode",c)},next:function(a){return l(a,"nextSibling")},prev:function(a){return l(a,"previousSibling")},nextAll:function(a){return ka.dir(a,"nextSibling")},prevAll:function(a){return ka.dir(a,"previousSibling")},nextUntil:function(a,b,c){return ka.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return ka.dir(a,"previousSibling",c)},siblings:function(a){return ka.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return ka.sibling(a.firstChild)},contents:function(a){return ka.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:ka.merge([],a.childNodes)}},function(a,b){ka.fn[a]=function(c,d){var e=ka.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=ka.filter(d,e)),this.length>1&&(Ta[a]||(e=ka.unique(e)),Ra.test(a)&&(e=e.reverse())),this.pushStack(e)}}),ka.extend({filter:function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?ka.find.matchesSelector(d,a)?[d]:[]:ka.find.matches(a,ka.grep(b,function(a){return 1===a.nodeType}))},dir:function(a,c,d){for(var e=[],f=a[c];f&&9!==f.nodeType&&(d===b||1!==f.nodeType||!ka(f).is(d));)1===f.nodeType&&e.push(f),f=f[c];return e},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}});var Ua="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Va=/ jQuery\d+="(?:null|\d+)"/g,Wa=RegExp("<(?:"+Ua+")[\\s/>]","i"),Xa=/^\s+/,Ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Za=/<([\w:]+)/,$a=/<tbody/i,_a=/<|&#?\w+;/,ab=/<(?:script|style|link)/i,bb=/^(?:checkbox|radio)$/i,cb=/checked\s*(?:[^=]|=\s*.checked.)/i,db=/^$|\/(?:java|ecma)script/i,eb=/^true\/(.*)/,fb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,gb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:ka.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},hb=n(Y),ib=hb.appendChild(Y.createElement("div"));gb.optgroup=gb.option,gb.tbody=gb.tfoot=gb.colgroup=gb.caption=gb.thead,gb.th=gb.td,ka.fn.extend({text:function(a){return ka.access(this,function(a){return a===b?ka.text(this):this.empty().append((this[0]&&this[0].ownerDocument||Y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=o(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=o(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?ka.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||ka.cleanData(u(c)),c.parentNode&&(b&&ka.contains(c.ownerDocument,c)&&r(u(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){for(1===a.nodeType&&ka.cleanData(u(a,!1));a.firstChild;)a.removeChild(a.firstChild);a.options&&ka.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return ka.clone(this,a,b)})},html:function(a){return ka.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return 1===c.nodeType?c.innerHTML.replace(Va,""):b;if(!("string"!=typeof a||ab.test(a)||!ka.support.htmlSerialize&&Wa.test(a)||!ka.support.leadingWhitespace&&Xa.test(a)||gb[(Za.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(Ya,"<$1></$2>");try{for(;e>d;d++)c=this[d]||{},1===c.nodeType&&(ka.cleanData(u(c,!1)),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=ka.map(this,function(a){return[a.nextSibling,a.parentNode]}),b=0;return this.domManip(arguments,function(c){var d=a[b++],e=a[b++];e&&(d&&d.parentNode!==e&&(d=this.nextSibling),ka(this).remove(),e.insertBefore(c,d))},!0),b?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b,c){a=da.apply([],a);var d,e,f,g,h,i,j=0,k=this.length,l=this,m=k-1,n=a[0],o=ka.isFunction(n);if(o||!(1>=k||"string"!=typeof n||ka.support.checkClone)&&cb.test(n))return this.each(function(d){var e=l.eq(d);o&&(a[0]=n.call(this,d,e.html())),e.domManip(a,b,c)});if(k&&(i=ka.buildFragment(a,this[0].ownerDocument,!1,!c&&this),d=i.firstChild,1===i.childNodes.length&&(i=d),d)){for(g=ka.map(u(i,"script"),p),f=g.length;k>j;j++)e=i,j!==m&&(e=ka.clone(e,!0,!0),f&&ka.merge(g,u(e,"script"))),b.call(this[j],e,j);if(f)for(h=g[g.length-1].ownerDocument,ka.map(g,q),j=0;f>j;j++)e=g[j],db.test(e.type||"")&&!ka._data(e,"globalEval")&&ka.contains(h,e)&&(e.src?ka._evalUrl(e.src):ka.globalEval((e.text||e.textContent||e.innerHTML||"").replace(fb,"")));i=d=null}return this}}),ka.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){ka.fn[a]=function(a){for(var c,d=0,e=[],f=ka(a),g=f.length-1;g>=d;d++)c=d===g?this:this.clone(!0),ka(f[d])[b](c),ea.apply(e,c.get());return this.pushStack(e)}}),ka.extend({clone:function(a,b,c){var d,e,f,g,h,i=ka.contains(a.ownerDocument,a);if(ka.support.html5Clone||ka.isXMLDoc(a)||!Wa.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ib.innerHTML=a.outerHTML,ib.removeChild(f=ib.firstChild)),!(ka.support.noCloneEvent&&ka.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||ka.isXMLDoc(a)))for(d=u(f),h=u(a),g=0;null!=(e=h[g]);++g)d[g]&&t(e,d[g]);if(b)if(c)for(h=h||u(a),d=d||u(f),g=0;null!=(e=h[g]);g++)s(e,d[g]);else s(a,f);return d=u(f,"script"),d.length>0&&r(d,!i&&u(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,l=a.length,m=n(b),o=[],p=0;l>p;p++)if(f=a[p],f||0===f)if("object"===ka.type(f))ka.merge(o,f.nodeType?[f]:f);else if(_a.test(f)){for(h=h||m.appendChild(b.createElement("div")),i=(Za.exec(f)||["",""])[1].toLowerCase(),k=gb[i]||gb._default,h.innerHTML=k[1]+f.replace(Ya,"<$1></$2>")+k[2],e=k[0];e--;)h=h.lastChild;if(!ka.support.leadingWhitespace&&Xa.test(f)&&o.push(b.createTextNode(Xa.exec(f)[0])),!ka.support.tbody)for(f="table"!==i||$a.test(f)?"<table>"!==k[1]||$a.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;e--;)ka.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j);for(ka.merge(o,h.childNodes),h.textContent="";h.firstChild;)h.removeChild(h.firstChild);h=m.lastChild}else o.push(b.createTextNode(f));for(h&&m.removeChild(h),ka.support.appendChecked||ka.grep(u(o,"input"),v),p=0;f=o[p++];)if((!d||-1===ka.inArray(f,d))&&(g=ka.contains(f.ownerDocument,f),h=u(m.appendChild(f),"script"),g&&r(h),c))for(e=0;f=h[e++];)db.test(f.type||"")&&c.push(f);return h=null,m},cleanData:function(a,b){for(var c,d,e,f,g=0,h=ka.expando,i=ka.cache,j=ka.support.deleteExpando,k=ka.event.special;null!=(c=a[g]);g++)if((b||ka.acceptData(c))&&(e=c[h],f=e&&i[e])){if(f.events)for(d in f.events)k[d]?ka.event.remove(c,d):ka.removeEvent(c,d,f.handle);i[e]&&(delete i[e],j?delete c[h]:typeof c.removeAttribute!==W?c.removeAttribute(h):c[h]=null,ba.push(e))}},_evalUrl:function(a){return ka.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),ka.fn.extend({wrapAll:function(a){if(ka.isFunction(a))return this.each(function(b){ka(this).wrapAll(a.call(this,b))});if(this[0]){var b=ka(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return ka.isFunction(a)?this.each(function(b){ka(this).wrapInner(a.call(this,b))}):this.each(function(){var b=ka(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=ka.isFunction(a);return this.each(function(c){ka(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){ka.nodeName(this,"body")||ka(this).replaceWith(this.childNodes)}).end()}});var jb,kb,lb,mb=/alpha\([^)]*\)/i,nb=/opacity\s*=\s*([^)]*)/,ob=/^(top|right|bottom|left)$/,pb=/^(none|table(?!-c[ea]).+)/,qb=/^margin/,rb=RegExp("^("+la+")(.*)$","i"),sb=RegExp("^("+la+")(?!px)[a-z%]+$","i"),tb=RegExp("^([+-])=("+la+")","i"),ub={BODY:"block"},vb={position:"absolute",visibility:"hidden",display:"block"},wb={letterSpacing:0,fontWeight:400},xb=["Top","Right","Bottom","Left"],yb=["Webkit","O","Moz","ms"];ka.fn.extend({css:function(a,c){return ka.access(this,function(a,c,d){var e,f,g={},h=0;if(ka.isArray(c)){for(f=kb(a),e=c.length;e>h;h++)g[c[h]]=ka.css(a,c[h],!1,f);return g}return d!==b?ka.style(a,c,d):ka.css(a,c)},a,c,arguments.length>1)},show:function(){return y(this,!0)},hide:function(){return y(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){x(this)?ka(this).show():ka(this).hide()})}}),ka.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=lb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":ka.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var f,g,h,i=ka.camelCase(c),j=a.style;if(c=ka.cssProps[i]||(ka.cssProps[i]=w(j,i)),h=ka.cssHooks[c]||ka.cssHooks[i],d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];if(g=typeof d,"string"===g&&(f=tb.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(ka.css(a,c)),g="number"),!(null==d||"number"===g&&isNaN(d)||("number"!==g||ka.cssNumber[i]||(d+="px"),ka.support.clearCloneStyle||""!==d||0!==c.indexOf("background")||(j[c]="inherit"),h&&"set"in h&&(d=h.set(a,d,e))===b)))try{j[c]=d}catch(k){}}},css:function(a,c,d,e){var f,g,h,i=ka.camelCase(c);return c=ka.cssProps[i]||(ka.cssProps[i]=w(a.style,i)),h=ka.cssHooks[c]||ka.cssHooks[i],h&&"get"in h&&(g=h.get(a,!0,d)),g===b&&(g=lb(a,c,e)),"normal"===g&&c in wb&&(g=wb[c]),""===d||d?(f=parseFloat(g),d===!0||ka.isNumeric(f)?f||0:g):g}}),a.getComputedStyle?(kb=function(b){return a.getComputedStyle(b,null)},lb=function(a,c,d){var e,f,g,h=d||kb(a),i=h?h.getPropertyValue(c)||h[c]:b,j=a.style;return h&&(""!==i||ka.contains(a.ownerDocument,a)||(i=ka.style(a,c)),sb.test(i)&&qb.test(c)&&(e=j.width,f=j.minWidth,g=j.maxWidth,j.minWidth=j.maxWidth=j.width=i,i=h.width,j.width=e,j.minWidth=f,j.maxWidth=g)),i}):Y.documentElement.currentStyle&&(kb=function(a){return a.currentStyle},lb=function(a,c,d){var e,f,g,h=d||kb(a),i=h?h[c]:b,j=a.style;return null==i&&j&&j[c]&&(i=j[c]),sb.test(i)&&!ob.test(c)&&(e=j.left,f=a.runtimeStyle,g=f&&f.left,g&&(f.left=a.currentStyle.left),j.left="fontSize"===c?"1em":i,i=j.pixelLeft+"px",j.left=e,g&&(f.left=g)),""===i?"auto":i}),ka.each(["height","width"],function(a,c){ka.cssHooks[c]={get:function(a,d,e){return d?0===a.offsetWidth&&pb.test(ka.css(a,"display"))?ka.swap(a,vb,function(){return B(a,c,e)}):B(a,c,e):b},set:function(a,b,d){var e=d&&kb(a);return z(a,b,d?A(a,c,d,ka.support.boxSizing&&"border-box"===ka.css(a,"boxSizing",!1,e),e):0)}}}),ka.support.opacity||(ka.cssHooks.opacity={get:function(a,b){return nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=ka.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===ka.trim(f.replace(mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=mb.test(f)?f.replace(mb,e):f+" "+e)}}),ka(function(){ka.support.reliableMarginRight||(ka.cssHooks.marginRight={get:function(a,c){return c?ka.swap(a,{display:"inline-block"},lb,[a,"marginRight"]):b}}),!ka.support.pixelPosition&&ka.fn.position&&ka.each(["top","left"],function(a,c){ka.cssHooks[c]={get:function(a,d){return d?(d=lb(a,c),sb.test(d)?ka(a).position()[c]+"px":d):b}}})}),ka.expr&&ka.expr.filters&&(ka.expr.filters.hidden=function(a){return 0>=a.offsetWidth&&0>=a.offsetHeight||!ka.support.reliableHiddenOffsets&&"none"===(a.style&&a.style.display||ka.css(a,"display"))},ka.expr.filters.visible=function(a){return!ka.expr.filters.hidden(a)}),ka.each({margin:"",padding:"",border:"Width"},function(a,b){ka.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+xb[d]+b]=f[d]||f[d-2]||f[0];return e}},qb.test(a)||(ka.cssHooks[a+b].set=z)});var zb=/%20/g,Ab=/\[\]$/,Bb=/\r?\n/g,Cb=/^(?:submit|button|image|reset|file)$/i,Db=/^(?:input|select|textarea|keygen)/i;ka.fn.extend({serialize:function(){return ka.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=ka.prop(this,"elements");return a?ka.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!ka(this).is(":disabled")&&Db.test(this.nodeName)&&!Cb.test(a)&&(this.checked||!bb.test(a))}).map(function(a,b){var c=ka(this).val();return null==c?null:ka.isArray(c)?ka.map(c,function(a){return{name:b.name,value:a.replace(Bb,"\r\n")}}):{name:b.name,value:c.replace(Bb,"\r\n")}}).get()}}),ka.param=function(a,c){var d,e=[],f=function(a,b){b=ka.isFunction(b)?b():null==b?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(c===b&&(c=ka.ajaxSettings&&ka.ajaxSettings.traditional),ka.isArray(a)||a.jquery&&!ka.isPlainObject(a))ka.each(a,function(){f(this.name,this.value)});else for(d in a)E(d,a[d],c,f);return e.join("&").replace(zb,"+")},ka.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){ka.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),ka.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var Eb,Fb,Gb=ka.now(),Hb=/\?/,Ib=/#.*$/,Jb=/([?&])_=[^&]*/,Kb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Lb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mb=/^(?:GET|HEAD)$/,Nb=/^\/\//,Ob=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Pb=ka.fn.load,Qb={},Rb={},Sb="*/".concat("*");try{Fb=X.href}catch(Tb){Fb=Y.createElement("a"),Fb.href="",Fb=Fb.href}Eb=Ob.exec(Fb.toLowerCase())||[],ka.fn.load=function(a,c,d){if("string"!=typeof a&&Pb)return Pb.apply(this,arguments);var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),ka.isFunction(c)?(d=c,c=b):c&&"object"==typeof c&&(g="POST"),h.length>0&&ka.ajax({url:a,type:g,dataType:"html",data:c}).done(function(a){f=arguments,h.html(e?ka("<div>").append(ka.parseHTML(a)).find(e):a)}).complete(d&&function(a,b){h.each(d,f||[a.responseText,b,a])}),this},ka.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){ka.fn[b]=function(a){return this.on(b,a)}}),ka.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Fb,type:"GET",isLocal:Lb.test(Eb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Sb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ka.parseJSON,"text xml":ka.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?H(H(a,ka.ajaxSettings),b):H(ka.ajaxSettings,a)},ajaxPrefilter:F(Qb),ajaxTransport:F(Rb),ajax:function(a,c){function d(a,c,d,e){var f,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),k=b,h=e||"",w.readyState=a>0?4:0,f=a>=200&&300>a||304===a,d&&(t=I(m,w,d)),t=J(m,t,w,f),f?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(ka.lastModified[g]=v),v=w.getResponseHeader("etag"),v&&(ka.etag[g]=v)),204===a||"HEAD"===m.type?x="nocontent":304===a?x="notmodified":(x=t.state,l=t.data,s=t.error,f=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),w.status=a,w.statusText=(c||x)+"",f?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=b,j&&o.trigger(f?"ajaxSuccess":"ajaxError",[w,m,f?l:s]),q.fireWith(n,[w,x]),j&&(o.trigger("ajaxComplete",[w,m]),--ka.active||ka.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=b),c=c||{};var e,f,g,h,i,j,k,l,m=ka.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?ka(n):ka.event,p=ka.Deferred(),q=ka.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!l)for(l={};b=Kb.exec(h);)l[b[1].toLowerCase()]=b[2];b=l[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?h:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return k&&k.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((a||m.url||Fb)+"").replace(Ib,"").replace(Nb,Eb[1]+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=ka.trim(m.dataType||"*").toLowerCase().match(ma)||[""],null==m.crossDomain&&(e=Ob.exec(m.url.toLowerCase()),m.crossDomain=!(!e||e[1]===Eb[1]&&e[2]===Eb[2]&&(e[3]||("http:"===e[1]?"80":"443"))===(Eb[3]||("http:"===Eb[1]?"80":"443")))),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=ka.param(m.data,m.traditional)),G(Qb,m,c,w),2===u)return w;j=m.global,j&&0===ka.active++&&ka.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!Mb.test(m.type),g=m.url,m.hasContent||(m.data&&(g=m.url+=(Hb.test(g)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=Jb.test(g)?g.replace(Jb,"$1_="+Gb++):g+(Hb.test(g)?"&":"?")+"_="+Gb++)),m.ifModified&&(ka.lastModified[g]&&w.setRequestHeader("If-Modified-Since",ka.lastModified[g]),ka.etag[g]&&w.setRequestHeader("If-None-Match",ka.etag[g])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Sb+"; q=0.01":""):m.accepts["*"]);for(f in m.headers)w.setRequestHeader(f,m.headers[f]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(f in{success:1,error:1,complete:1})w[f](m[f]);if(k=G(Rb,m,c,w)){w.readyState=1,j&&o.trigger("ajaxSend",[w,m]),m.async&&m.timeout>0&&(i=setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,k.send(s,d)}catch(x){if(!(2>u))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getJSON:function(a,b,c){return ka.get(a,b,c,"json")},getScript:function(a,c){return ka.get(a,b,c,"script")}}),ka.each(["get","post"],function(a,c){ka[c]=function(a,d,e,f){return ka.isFunction(d)&&(f=f||e,e=d,d=b),ka.ajax({url:a,type:c,dataType:f,data:d,success:e})}}),ka.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return ka.globalEval(a),a}}}),ka.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),ka.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=Y.head||ka("head")[0]||Y.documentElement;return{send:function(b,e){c=Y.createElement("script"),c.async=!0,a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,b){(b||!c.readyState||/loaded|complete/.test(c.readyState))&&(c.onload=c.onreadystatechange=null,c.parentNode&&c.parentNode.removeChild(c),c=null,b||e(200,"success"))},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(b,!0)}}}});var Ub=[],Vb=/(=)\?(?=&|$)|\?\?/;ka.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Ub.pop()||ka.expando+"_"+Gb++;return this[a]=!0,a}}),ka.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.jsonp!==!1&&(Vb.test(c.url)?"url":"string"==typeof c.data&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vb.test(c.data)&&"data");return i||"jsonp"===c.dataTypes[0]?(f=c.jsonpCallback=ka.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,i?c[i]=c[i].replace(Vb,"$1"+f):c.jsonp!==!1&&(c.url+=(Hb.test(c.url)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||ka.error(f+" was not called"),h[0]},c.dataTypes[0]="json",g=a[f],a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,Ub.push(f)),h&&ka.isFunction(g)&&g(h[0]),h=g=b}),"script"):b});var Wb,Xb,Yb=0,Zb=a.ActiveXObject&&function(){var a;for(a in Wb)Wb[a](b,!0)};ka.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&K()||L()}:K,Xb=ka.ajaxSettings.xhr(),ka.support.cors=!!Xb&&"withCredentials"in Xb,Xb=ka.support.ajax=!!Xb,Xb&&ka.ajaxTransport(function(c){if(!c.crossDomain||ka.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();if(c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async),c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),c.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l;try{if(d&&(e||4===i.readyState))if(d=b,g&&(i.onreadystatechange=ka.noop,Zb&&delete Wb[g]),e)4!==i.readyState&&i.abort();else{l={},h=i.status,j=i.getAllResponseHeaders(),"string"==typeof i.responseText&&(l.text=i.responseText);try{k=i.statusText}catch(m){k=""}h||!c.isLocal||c.crossDomain?1223===h&&(h=204):h=l.text?200:404}}catch(n){e||f(-1,n)}l&&f(h,k,l,j)},c.async?4===i.readyState?setTimeout(d):(g=++Yb,Zb&&(Wb||(Wb={},ka(a).unload(Zb)),Wb[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(b,!0)}}}});var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=RegExp("^(?:([+-])=|)("+la+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[Q],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(ka.cssNumber[a]?"":"px"),g=(ka.cssNumber[a]||"px"!==f&&+d)&&bc.exec(ka.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,ka.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};ka.Animation=ka.extend(O,{tweener:function(a,b){ka.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),ka.Tween=R,R.prototype={constructor:R,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(ka.cssNumber[c]?"":"px")},cur:function(){var a=R.propHooks[this.prop];return a&&a.get?a.get(this):R.propHooks._default.get(this)},run:function(a){var b,c=R.propHooks[this.prop];return this.pos=b=this.options.duration?ka.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):R.propHooks._default.set(this),this}},R.prototype.init.prototype=R.prototype,R.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=ka.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){ka.fx.step[a.prop]?ka.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[ka.cssProps[a.prop]]||ka.cssHooks[a.prop])?ka.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},R.propHooks.scrollTop=R.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},ka.each(["toggle","show","hide"],function(a,b){var c=ka.fn[b];ka.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(S(b,!0),a,d,e)}}),ka.fn.extend({fadeTo:function(a,b,c,d){return this.filter(x).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=ka.isEmptyObject(a),f=ka.speed(b,c,d),g=function(){var b=O(this,ka.extend({},a),f);(e||ka._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return"string"!=typeof a&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=null!=a&&a+"queueHooks",f=ka.timers,g=ka._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cc.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem!==this||null!=a&&f[c].queue!==a||(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&ka.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=ka._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=ka.timers,g=d?d.length:0;for(c.finish=!0,ka.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),ka.each({slideDown:S("show"),slideUp:S("hide"),slideToggle:S("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){ka.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),ka.speed=function(a,b,c){var d=a&&"object"==typeof a?ka.extend({},a):{complete:c||!c&&b||ka.isFunction(a)&&a,duration:a,easing:c&&b||b&&!ka.isFunction(b)&&b};return d.duration=ka.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in ka.fx.speeds?ka.fx.speeds[d.duration]:ka.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){ka.isFunction(d.old)&&d.old.call(this),d.queue&&ka.dequeue(this,d.queue)},d},ka.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},ka.timers=[],ka.fx=R.prototype.init,ka.fx.tick=function(){var a,c=ka.timers,d=0;for($b=ka.now();c.length>d;d++)a=c[d],a()||c[d]!==a||c.splice(d--,1);c.length||ka.fx.stop(),$b=b},ka.fx.timer=function(a){a()&&ka.timers.push(a)&&ka.fx.start()},ka.fx.interval=13,ka.fx.start=function(){_b||(_b=setInterval(ka.fx.tick,ka.fx.interval))},ka.fx.stop=function(){clearInterval(_b),_b=null},ka.fx.speeds={slow:600,fast:200,_default:400},ka.fx.step={},ka.expr&&ka.expr.filters&&(ka.expr.filters.animated=function(a){return ka.grep(ka.timers,function(b){return a===b.elem}).length}),ka.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){ka.offset.setOffset(this,a,b)});var c,d,e={top:0,left:0},f=this[0],g=f&&f.ownerDocument;return g?(c=g.documentElement,ka.contains(c,f)?(typeof f.getBoundingClientRect!==W&&(e=f.getBoundingClientRect()),d=T(g),{top:e.top+(d.pageYOffset||c.scrollTop)-(c.clientTop||0),left:e.left+(d.pageXOffset||c.scrollLeft)-(c.clientLeft||0)}):e):void 0},ka.offset={setOffset:function(a,b,c){var d=ka.css(a,"position");"static"===d&&(a.style.position="relative");var e,f,g=ka(a),h=g.offset(),i=ka.css(a,"top"),j=ka.css(a,"left"),k=("absolute"===d||"fixed"===d)&&ka.inArray("auto",[i,j])>-1,l={},m={};k?(m=g.position(),e=m.top,f=m.left):(e=parseFloat(i)||0,f=parseFloat(j)||0),ka.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(l.top=b.top-h.top+e),null!=b.left&&(l.left=b.left-h.left+f),"using"in b?b.using.call(a,l):g.css(l)}},ka.fn.extend({position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===ka.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),ka.nodeName(a[0],"html")||(c=a.offset()),c.top+=ka.css(a[0],"borderTopWidth",!0),c.left+=ka.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-ka.css(d,"marginTop",!0),left:b.left-c.left-ka.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||Z;a&&!ka.nodeName(a,"html")&&"static"===ka.css(a,"position");)a=a.offsetParent;return a||Z})}}),ka.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);ka.fn[a]=function(e){return ka.access(this,function(a,e,f){var g=T(a);return f===b?g?c in g?g[c]:g.document.documentElement[e]:a[e]:(g?g.scrollTo(d?ka(g).scrollLeft():f,d?f:ka(g).scrollTop()):a[e]=f,b)},a,e,arguments.length,null)}}),ka.each({Height:"height",Width:"width"},function(a,c){ka.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){ka.fn[e]=function(e,f){var g=arguments.length&&(d||"boolean"!=typeof e),h=d||(e===!0||f===!0?"margin":"border");return ka.access(this,function(c,d,e){var f;return ka.isWindow(c)?c.document.documentElement["client"+a]:9===c.nodeType?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?ka.css(c,d,h):ka.style(c,d,e,h)},c,g?e:b,g,null)}})}),ka.fn.size=function(){return this.length},ka.fn.andSelf=ka.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=ka:(a.jQuery=a.$=ka,"function"==typeof define&&define.amd&&define("jquery",[],function(){return ka}))}(window),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},
a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),
g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);var LZString=function(){function a(a,b){if(!e[a]){e[a]={};for(var c=0;c<a.length;c++)e[a][a.charAt(c)]=c}return e[a][b]}var b=String.fromCharCode,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",e={},f={compressToBase64:function(a){if(null==a)return"";var b=f._compress(a,6,function(a){return c.charAt(a)});switch(b.length%4){default:case 0:return b;case 1:return b+"===";case 2:return b+"==";case 3:return b+"="}},decompressFromBase64:function(b){return null==b?"":""==b?null:f._decompress(b.length,32,function(d){return a(c,b.charAt(d))})},compressToUTF16:function(a){return null==a?"":f._compress(a,15,function(a){return b(a+32)})+" "},decompressFromUTF16:function(a){return null==a?"":""==a?null:f._decompress(a.length,16384,function(b){return a.charCodeAt(b)-32})},compressToUint8Array:function(a){for(var b=f.compress(a),c=new Uint8Array(2*b.length),d=0,e=b.length;e>d;d++){var g=b.charCodeAt(d);c[2*d]=g>>>8,c[2*d+1]=g%256}return c},decompressFromUint8Array:function(a){if(null===a||void 0===a)return f.decompress(a);for(var c=new Array(a.length/2),d=0,e=c.length;e>d;d++)c[d]=256*a[2*d]+a[2*d+1];var g=[];return c.forEach(function(a){g.push(b(a))}),f.decompress(g.join(""))},compressToEncodedURIComponent:function(a){return null==a?"":f._compress(a,6,function(a){return d.charAt(a)})},decompressFromEncodedURIComponent:function(b){return null==b?"":""==b?null:(b=b.replace(/ /g,"+"),f._decompress(b.length,32,function(c){return a(d,b.charAt(c))}))},compress:function(a){return f._compress(a,16,function(a){return b(a)})},_compress:function(a,b,c){if(null==a)return"";var d,e,f,g={},h={},i="",j="",k="",l=2,m=3,n=2,o=[],p=0,q=0;for(f=0;f<a.length;f+=1)if(i=a.charAt(f),Object.prototype.hasOwnProperty.call(g,i)||(g[i]=m++,h[i]=!0),j=k+i,Object.prototype.hasOwnProperty.call(g,j))k=j;else{if(Object.prototype.hasOwnProperty.call(h,k)){if(k.charCodeAt(0)<256){for(d=0;n>d;d++)p<<=1,q==b-1?(q=0,o.push(c(p)),p=0):q++;for(e=k.charCodeAt(0),d=0;8>d;d++)p=p<<1|1&e,q==b-1?(q=0,o.push(c(p)),p=0):q++,e>>=1}else{for(e=1,d=0;n>d;d++)p=p<<1|e,q==b-1?(q=0,o.push(c(p)),p=0):q++,e=0;for(e=k.charCodeAt(0),d=0;16>d;d++)p=p<<1|1&e,q==b-1?(q=0,o.push(c(p)),p=0):q++,e>>=1}l--,0==l&&(l=Math.pow(2,n),n++),delete h[k]}else for(e=g[k],d=0;n>d;d++)p=p<<1|1&e,q==b-1?(q=0,o.push(c(p)),p=0):q++,e>>=1;l--,0==l&&(l=Math.pow(2,n),n++),g[j]=m++,k=String(i)}if(""!==k){if(Object.prototype.hasOwnProperty.call(h,k)){if(k.charCodeAt(0)<256){for(d=0;n>d;d++)p<<=1,q==b-1?(q=0,o.push(c(p)),p=0):q++;for(e=k.charCodeAt(0),d=0;8>d;d++)p=p<<1|1&e,q==b-1?(q=0,o.push(c(p)),p=0):q++,e>>=1}else{for(e=1,d=0;n>d;d++)p=p<<1|e,q==b-1?(q=0,o.push(c(p)),p=0):q++,e=0;for(e=k.charCodeAt(0),d=0;16>d;d++)p=p<<1|1&e,q==b-1?(q=0,o.push(c(p)),p=0):q++,e>>=1}l--,0==l&&(l=Math.pow(2,n),n++),delete h[k]}else for(e=g[k],d=0;n>d;d++)p=p<<1|1&e,q==b-1?(q=0,o.push(c(p)),p=0):q++,e>>=1;l--,0==l&&(l=Math.pow(2,n),n++)}for(e=2,d=0;n>d;d++)p=p<<1|1&e,q==b-1?(q=0,o.push(c(p)),p=0):q++,e>>=1;for(;;){if(p<<=1,q==b-1){o.push(c(p));break}q++}return o.join("")},decompress:function(a){return null==a?"":""==a?null:f._decompress(a.length,32768,function(b){return a.charCodeAt(b)})},_decompress:function(a,c,d){var e,f,g,h,i,j,k,l,m=[],n=4,o=4,p=3,q="",r=[],s={val:d(0),position:c,index:1};for(f=0;3>f;f+=1)m[f]=f;for(h=0,j=Math.pow(2,2),k=1;k!=j;)i=s.val&s.position,s.position>>=1,0==s.position&&(s.position=c,s.val=d(s.index++)),h|=(i>0?1:0)*k,k<<=1;switch(e=h){case 0:for(h=0,j=Math.pow(2,8),k=1;k!=j;)i=s.val&s.position,s.position>>=1,0==s.position&&(s.position=c,s.val=d(s.index++)),h|=(i>0?1:0)*k,k<<=1;l=b(h);break;case 1:for(h=0,j=Math.pow(2,16),k=1;k!=j;)i=s.val&s.position,s.position>>=1,0==s.position&&(s.position=c,s.val=d(s.index++)),h|=(i>0?1:0)*k,k<<=1;l=b(h);break;case 2:return""}for(m[3]=l,g=l,r.push(l);;){if(s.index>a)return"";for(h=0,j=Math.pow(2,p),k=1;k!=j;)i=s.val&s.position,s.position>>=1,0==s.position&&(s.position=c,s.val=d(s.index++)),h|=(i>0?1:0)*k,k<<=1;switch(l=h){case 0:for(h=0,j=Math.pow(2,8),k=1;k!=j;)i=s.val&s.position,s.position>>=1,0==s.position&&(s.position=c,s.val=d(s.index++)),h|=(i>0?1:0)*k,k<<=1;m[o++]=b(h),l=o-1,n--;break;case 1:for(h=0,j=Math.pow(2,16),k=1;k!=j;)i=s.val&s.position,s.position>>=1,0==s.position&&(s.position=c,s.val=d(s.index++)),h|=(i>0?1:0)*k,k<<=1;m[o++]=b(h),l=o-1,n--;break;case 2:return r.join("")}if(0==n&&(n=Math.pow(2,p),p++),m[l])q=m[l];else{if(l!==o)return null;q=g+g.charAt(0)}r.push(q),m[o++]=g+q.charAt(0),n--,g=q,0==n&&(n=Math.pow(2,p),p++)}}};return f}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module&&(module.exports=LZString);var EmbeddedIAO=EmbeddedIAO||{};!function(iao,$){function iasRunImagePreload(a){for(var b=new Array,c=0;c<a.length;c++)b[c]=new Image,b[c].src=a[c]}function iasGetHelpPopperElement(a){var b=null;if(a&&"function"==typeof a.substring)$("#iaCloudHelperContent").html(null!=me.localizedText[a]?me.localizedText[a]:"!["+a+"]"),b=$("#iaCloudHelper"),$(b).data("helpKey",a);else if(!a||"undefined"==typeof a.jquery&&"undefined"==typeof a.tagName)b=$("#iaCloudHelper");else if($(a).hasClass("helpPopper"))b=$(a).eq(0);else{var c=$(a).html();$("#iaCloudHelperContent").html(c),b=$("#iaCloudHelper"),$(b).data("helpKey",a)}return b}function iacPopMetadataDialog(a,b,c,d,e){me.showMetadataDialog(a,b,c,d,e)}function setUiSkin(a){var b=$("#bootstrapCssLink").attr("href").split("/");b.pop(),$("#bootstrapCssLink").attr("href",b.join("/")+"/iao-bootstrap"+(a?"-"+a:"")+".min.css"),$("html").attr("class","iao-content").addClass(a)}function bindBootstrapStandards(){$("body").addClass(window.location.hostname.split(".")[0]);var a=$(".navbar a span");a.each(function(){$(this).parent().prop("title",$(this).prop("title"))}).prop("title",""),a=$(".navbar li a, #signInLink a"),a.tooltip({placement:"auto bottom",container:"body"}),a=$('.navbar .nav a, .navbar div[data-toggle="tooltip"]'),a.tooltip({placement:"auto bottom",container:"body"}),a=$('a > span[data-toggle="tooltip"]'),a.each(function(){$(this).parent().attr("title",$(this).attr("title")).attr("data-placement",$(this).attr("data-placement")).attr("data-toggle","tooltip"),$(this).attr("data-toggle","").attr("data-placement","")}),a=$('*[data-toggle="tooltip"]'),a.tooltip({container:"body"})}var me=iao.util=iao.util||{};return me.LOCALIZATION_EVENT_NAME="iaLocalization",me.log=function(a){"undefined"!=typeof console&&"undefined"!=typeof console.log&&console.log(a)},iao.locale=iao.locale||"en",me.createGlobalHelpers=function(a){me.updateLocalizedResources(null,null,a),me.addHtml5FormExtras($("input")),$.each($(".ribbon"),function(a,b){$(b).hasClass("noscroll")||($(b).find(".scroller").css("margin-left","0px"),$(b).append('<div class="arrow" style="left: 0px;"><div class="arrowLeft">&lt;</div></div>'),$(b).append('<div class="arrow" style="right: 0px;"><div class="arrowRight">&gt;</div></div>'),$(b).find(".arrowLeft").bind("mousedown",function(a){return $(this).parent().parent().data("over",!0),me.animateRibbon(b,-9999),a.preventDefault(),!1}),$(b).find(".arrowLeft, .arrowRight").bind("mouseup",function(a){return $(this).parent().parent().data("over",!1),a.preventDefault(),!1}),$(b).find(".arrowRight").bind("mousedown",function(a){return $(this).parent().parent().data("over",!0),me.animateRibbon(b,9999),a.preventDefault(),!1}),$(b).bind("mousedown",function(a){return $(this).data("down",!0),$(this).data("mx",a.pageX),$(this).data("ox",a.pageX),$(this).data("ot",new Date),a.preventDefault(),!1}),$.each($(b).find("button,.btn"),function(a,c){var d=$(c).prop("onclick");d&&($(c).off("click"),$(c).prop("onclick",null),$(c).bind("click",function(a){$(b).data("down",!1);var c=(new Date).getTime()-$(b).data("mt").getTime();return c>250?(a.preventDefault(),!1):void d()}))}),$(b).bind("mouseup",function(a){if($(this).data("down",!1),!$(a.target).hasClass("arrowRight")&&!$(a.target).hasClass("arrowLeft")){var b=$(this).data("ox"),c=(a.pageX-b,(new Date).getTime(),$(this).data("ot").getTime(),$(this).data("offset")?$(this).data("offset"):0,$(this).find(".scroller .item")),d=$(this).find(".scroller").css("margin-left");if(d){d.length>2&&"px"==d.substring(d.length-2)&&(d=d.substring(0,d.length-2)),d=-1*parseFloat(d);var e=this;$.each(c,function(a,b){var c=$(b).position().left;return c>=d?($(e).data("offset",a),!1):void 0})}}return a.preventDefault(),!1}),$(b).bind("mouseleave",function(a){if($(this).data("down",!1),!$(a.target).hasClass("arrowRight")&&!$(a.target).hasClass("arrowLeft")){var b=($(this).data("offset")?$(this).data("offset"):0,$(this).find(".scroller .item")),c=$(this).find(".scroller").css("margin-left");if(c){c.length>2&&"px"==c.substring(c.length-2)&&(c=c.substring(0,c.length-2)),c=-1*parseFloat(c);var d=this;$.each(b,function(a,b){var e=$(b).position().left;return e>=c?($(d).data("offset",a),!1):void 0})}}return a.preventDefault(),!1}),$(b).bind("mousemove",function(a){if(1==$(this).data("down")){var b=a.pageX-$(this).data("mx"),c=$(this).find(".scroller").css("margin-left"),d=Math.min(0,parseFloat(c.substring(0,c.length-2))+b);$(this).find(".scroller").css("margin-left",d+"px"),$(this).data("mx",a.pageX)}return a.preventDefault(),!1}))});var b=$(".pageHelpContent");if(b&&b.length>0&&!$(b).hasClass("silent")&&$(b).find(".pageHelpSection").length>0){var c='<div id="helpBtn__pageHelp" class="abs helpBtn" style="top: 5px; right: 5px;">&nbsp;</div>',d=$(".pageHelpBanner");d=$(".bodyContent"),d&&d.length>0&&($(d).eq(0).append(c),me.bringToFront($("#helpBtn__pageHelp"),':not([class*="mce-"],.tooltip,.popover)'),$("#helpBtn__pageHelp").bind("click",function(){me.showHelpDialog()}))}},me.addHtml5FormExtras=function(a){$(a).each(function(a,b){try{var c=$(b);c.hasClass("urlBox")&&"url"!=c.prop("type")?c.prop("type","url"):c.hasClass("number-control")&&"number"!=c.prop("type")?(c.prop("type","number"),c.hasClass("positiveBox")&&c.prop("min","0"),c.hasClass("percentageBox")?(c.prop("max","100"),c.prop("min","0"),c.prop("step","1")):c.hasClass("rangeBox1")?(c.prop("max","1"),c.prop("min","0"),c.prop("step","0.1")):c.hasClass("rangeBox10")&&(c.prop("max","1"),c.prop("min","0"),c.prop("step","0.1"))):c.hasClass("emailBox")&&"email"!=c.prop("type")?c.prop("type","email"):c.hasClass("percentageBox")&&"range"!=c.prop("type")?(c.prop("type","range"),c.prop("max","100"),c.prop("min","0")):c.hasClass("rangeBox1")&&"range"!=c.prop("type")?(c.prop("type","range"),c.prop("max","1"),c.prop("min","0"),c.prop("step","0.1")):c.hasClass("rangeBox10")&&"range"!=c.prop("type")&&(c.prop("type","range"),c.prop("max","10"),c.prop("min","0"),c.prop("step","1"))}catch(d){}})},me.updateLocalizedResources=function(a,b,c){for(var d,e,f=document.getElementsByTagName("script"),g=f.length,h=/EmbeddedIAO\.util\.js/,i=/EmbeddedIAO\.min\.js/,j=(a&&a.culture?a.culture:iao.locale)+(a&&a.region?"-"+a.region:"");g--;)if(d=f[g].src,e=f[g].id,d&&(d.match(h)||d.match(i))||e&&"iaoPageUtils"==e){d=d.split("/").slice(0,-1).join("/"),d=d+(d.indexOf("/src/")>0||d.indexOf("/lib/")>0?"/../../..":"/../..")+"/utils/text/"+j+(b?"/"+b:""),$.ajax({url:d,type:"GET",contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(b){me.applicationPath=b.applicationPath,me.localizedText=b.localizedText,me.applicationSettings=b.applicationSettings,a&&a.userName&&""!=a.userName&&(me.applicationUser=a,b.applicationUser=a),me.isLoaded=!0;var d=10,e=10,f=$("body").find(".tabContent").eq(0);if(f&&1==f.length){var g=$(f).offset(),h=$(f).width();d=g.top+2,e=$(window).width()-(g.left+h+2)}var i='<div id="iaCloudHelper" class="abs popper helpPopper" style="display: none; top: '+d+"px; right: "+e+'px;"><div class="floatRight"><a id="iaCloudHelperCloser" href="javascript:void(0);" class="close-dialog-btn fa fa-fw fa-times"><img src="'+me.resolveUrl("~/Images/pixel.gif",!1,!1)+'" alt="close" /></a></div><div id="iaCloudHelperContent"></div></div>';$("body").append(i),$("#iaCloudHelperCloser").bind("click",function(){return me.hideHelpPopper(),!1}),"function"==typeof c&&c(iao,b),$("body").trigger({type:"iaLocalization",status:"loaded",data:me.localizedText,src:iao}),b.images&&setTimeout(function(){iasRunImagePreload(b.images)},500)}).fail(function(a,b,d){console.log("AJAX localization error: "+a.responseText+", "+d+", "+b),"function"==typeof c&&c(iao,a.responseText),$("body").trigger({type:"iaLocalization",status:"failed",data:me.localizedText,src:iao})});break}},me.addPlaceholders=function(){var a;$.each($("input"),function(b,c){a=$(c).prop("id"),a.indexOf("_")>0&&(a=a.substring(a.lastIndexOf("_")+1));try{me.localizedText&&me.localizedText[a+".PlaceholderText"]&&$(c).prop("placeholder",me.localizedText[a+".PlaceholderText"])}catch(d){}})},me.animateRibbon=function(a,b){if(0!=$(a).data("over")){var c=$(a).data("offset")?$(a).data("offset"):0,d=$(a).children(".scroller")[0],e=$(d).children(".item");if(-9999>=b||b>=-9999){var f=$(a).width(),g=$(a).find(".scroller .item").eq(0).width(),h=Math.floor(f/g);b=-9999>=b?-1*h:h}var i=Math.min(Math.max(0,c+b),e.length-1),j=-1*$(e[i]).position().left;$(a).data("offset",i),i!=c&&$(d).animate({marginLeft:j},250,"linear",function(){setTimeout(function(){me.animateRibbon(a,b)},100)})}},me.showPopupScriptDialog=function(a,b,c){var d=c&&c.popupId?c.popupId:"iasScriptedPopupA5F4B17BAB4B47A4BFFBEA0CE3DB0B11",e=jQuery("#"+d);e&&e.length>0&&jQuery("#"+d).remove();var f="undefined"!=typeof b.jquery||"undefined"!=typeof b.tagName,g='<div id="'+d+'" class="popupDialog'+(null!=c.dialogClass?" "+c.dialogClass:"")+'" style="position: absolute; width: '+(null!=c.width?c.width:"550px")+"; height: "+(null!=c.height?c.height:"auto")+'; top: 0px; left: -1000px;"><div id="'+d+'Bar" class="popupDialogTitleBar" style="cursor: move;"><div class="floatRight"><a href="javascript:void(0);" id="'+d+'_closeBtn" class="close-dialog-btn fa fa-fw fa-times" title="'+(null!=c.cancelText?c.cancelText:"Close")+'">&nbsp;</a></div><span class="popupDialogTitleText">'+a+'</span></div><div class="popupDialogMessage">'+(f?'<div class="popupContentPlacer"></div>':'<div class="popupDialogMessageBody"><'+("<"==b.substring(0,1)?"div":"p")+' class="'+("information"==c.messageType?" informationBig":"question"==c.messageType?" questionBig":"error"==c.messageType?" errorBig":"warning"==c.messageType?" warningBig":"forbidden"==c.messageType?" forbiddenBig":"")+'">'+b+"</"+("<"==b.substring(0,1)?"div":"p")+"></div>");(null==c.buttons||"none"!=c.buttons.toLowerCase())&&(g+='<div class="buttonHolder"><div style="text-align: center;">');var h=me.localizedText&&null!=me.localizedText["YesButton.Text"]?me.localizedText["YesButton.Text"]:"Yes",i=me.localizedText&&null!=me.localizedText["NoButton.Text"]?me.localizedText["NoButton.Text"]:"No",j=me.localizedText&&null!=me.localizedText["CancelButton.Text"]?me.localizedText["CancelButton.Text"]:"Cancel",k=me.localizedText&&null!=me.localizedText["OkButton.Text"]?me.localizedText["OkButton.Text"]:"OK";null!=c.buttons&&"yesnocancel"==c.buttons.toLowerCase()?(g+='<button id="'+d+'_yesBtn" type="button" class="btn">'+(null!=c.yesButtonText?c.yesButtonText:h)+"</button> ",g+='<button id="'+d+'_noBtn" type="button" class="btn">'+(null!=c.noButtonText?c.noButtonText:i)+"</button> ",g+='<button id="'+d+'_cancelBtn" type="button" class="btn">'+(null!=c.cancelButtonText?c.cancelButtonText:j)+"</button>"):null!=c.buttons&&"yesno"==c.buttons.toLowerCase()?(g+='<button id="'+d+'_yesBtn" type="button" class="btn">'+(null!=c.yesButtonText?c.yesButtonText:h)+"</button> ",g+='<button id="'+d+'_noBtn" type="button" class="btn">'+(null!=c.noButtonText?c.noButtonText:i)+"</button>"):null!=c.buttons&&"okcancel"==c.buttons.toLowerCase()?(g+='<button id="'+d+'_okBtn" type="button" class="btn">'+(null!=c.okButtonText?c.okButtonText:k)+"</button> ",g+='<button id="'+d+'_cancelBtn" type="button" class="btn">'+(null!=c.cancelButtonText?c.cancelButtonText:j)+"</button>"):(null==c.buttons||"ok"==c.buttons.toLowerCase())&&(g+='<button id="'+d+'_okBtn" type="button" class="btn">'+(null!=c.okButtonText?c.okButtonText:k)+"</button>"),(null==c.buttons||"none"!=c.buttons.toLowerCase())&&(g+="</div></div>"),g+="</div></div>";var l=c&&c.appendTo?c.appendTo.jquery?c.appendTo:jQuery(c.appendTo):jQuery("#pageContent");if((!l||l.length<1)&&(l=jQuery("body")),l.append(g),jQuery("#"+d+"_closeBtn").off("click"),jQuery("#"+d+"_closeBtn").on("click",function(){me.hidePopupDialog(d,c)}),f&&$("#"+d).find(".popupContentPlacer").append($(b).clone(!0)),null!=c.focus?c.focus=jQuery("#"+d+' .btn[id*="'+c.focus+'"]').addClass("btn-primary").prop("id"):null!=c.primary?c.focus=jQuery("#"+d+' .btn[id*="'+c.primary+'"]').addClass("btn-primary").prop("id"):1==jQuery("#"+d+" .btn").length&&(c.focus=jQuery("#"+d+" .btn").prop("id")),null!=c.cancel){var m=c.cancel;jQuery("#"+d+"_cancelBtn,#"+d+"_closeBtn").off("click").on("click",function(a){me.hidePopupDialog(d,c),m(a,c.data)})}else jQuery("#"+d+"_cancelBtn").off("click"),jQuery("#"+d+"_cancelBtn").on("click",function(){me.hidePopupDialog(d,c)});if(null!=c.ok){var n=c.ok;jQuery("#"+d+"_okBtn").off("click"),jQuery("#"+d+"_okBtn").on("click",function(a){me.hidePopupDialog(d,c),n(a,c.data)})}else jQuery("#"+d+"_okBtn").off("click"),jQuery("#"+d+"_okBtn").on("click",function(){me.hidePopupDialog(d,c)});if(null!=c.yes){var o=c.yes;jQuery("#"+d+"_yesBtn").on("click",function(a){me.hidePopupDialog(d,c),o(a,c.data)})}if(null!=c.no){var p=c.no;jQuery("#"+d+"_noBtn").bind("click",function(a){me.hidePopupDialog(d,c),p(a,c.data)})}return me.showPopupDialog(d,c)},me.showPopupDialog=function(a,b){var c=a.jquery?a:jQuery("#"+a);if(!c||1!=c.length)return alert("Dialog error: "+(!c||c.length<1?"cannot find #"+a+".":"#"+a+" matches "+c.length+" elements.")),null;var d=null;if(b&&1==b.modal){var e='<div id="'+c.prop("id")+'_mask" style="position: fixed; top: 0px; left: 0px; width: 100%; height: 100%;" class="iasMask">&nbsp;</div>';jQuery("body").append(e),d=jQuery('div[id="'+c.prop("id")+'_mask"]'),me.bringToFront(d,':not([class*="mce-"],.tooltip,.popover)')}b&&b.overlaid&&jQuery(b.overlaid).addClass("iasOverlaid"),(!b||b&&!b.noHelp)&&c.find('.popupDialogTitleBar a[class*="help"]').filter(function(){return $(this).prop("href")&&""!=$(this).prop("href")}).css("display","");var f=c.width(),g=c.height(),h=0,i=0,j=0,k=0;return window.pageYOffset?(j=window.pageXOffset,k=window.pageYOffset):0!=document.documentElement.scrollTop?(k=document.documentElement.scrollTop,j=document.documentElement.scrollLeft):(k=document.body.scrollTop,j=document.body.scrollLeft),h=(me.getWindowSize().width-f)/2+j,i=(me.getWindowSize().height-g)/2+k,me.bringToFront(c,null!=b.below?b.below:':not([class*="mce-"],.tooltip,.popover)'),d&&d.css("z-index",parseInt(c.css("z-index"))-1),c.css("left",Math.round(h)+"px"),c.css("top",Math.round(i)+"px"),c.css("display","block").fadeIn(350,function(){var a=c[0];if(null!=b.shown&&"function"==typeof b.shown&&b.shown(a),null!=b.focus){var d=b.focus.jquery?b.focus:$(b.focus);d.focus()}else{var d=c.find(".buttonHolder").find("button").eq(0);d.focus()}}),"undefined"!=typeof EmbeddedIAODragger&&new EmbeddedIAODragger(c[0],document.getElementById(c.prop("id")+"Bar")),c},me.zIndexMax=65500,me.bringToFront=function(a,b,c,d){var e,f,g,h=new Array("div","li","p","span"),i=0,j=c&&c>0?c:me.zIndexMax;if(d)e=d.jquery?d:$(d),e.each(function(a,b){""!=$(b).css("z-index")&&(f=parseInt($(b).css("z-index")),f>i&&(i=f,g=$(b)))});else for(var k=0;k<h.length;k++)e=$(h[k]),b&&(e=":"==b.substring(0,1)?$(h[k]+b):e.filter(b)),e.each(function(a,b){""!=$(b).css("z-index")&&(f=parseInt($(b).css("z-index")),f>i&&(i=f,g=$(b)))});var l=a.jquery?a:$(a);return j&&j>0&&i>j&&(i=j-1),i+=1,l.css("z-index",i),i},me.hidePopupDialog=function(a){var b=a.jquery?a.eq(0).prop("id"):a,c=jQuery('*[id="'+b+'_mask"]');c&&c.length>0&&(jQuery(c).css("display","none"),jQuery(c).remove()),jQuery(".iasOverlaid").removeClass("iasOverlaid");var d=document.getElementById(b);null!=d&&("undefined"!=typeof jQuery?jQuery(d).fadeOut(350,function(){d.style.display="none"}):d.style.display="none")},me.getWindowSize=function(){var a=0,b=0;return window.innerWidth?(a=window.innerWidth,b=window.innerHeight):0!=document.documentElement.clientWidth?(a=document.documentElement.clientWidth,b=document.documentElement.clientHeight):(a=document.body.clientWidth,b=document.body.clientHeight),{width:a,height:b}},me.replaceAll=function(a,b,c){var d,e,f,g;if("function"==typeof b.splice)if(e=a,c)for(f=0;f<b.length;f++)e=me.replaceAll(e,b[f],f<c.length?c[f]:c[c.length-1]);else for(f=0;f<b.length;f++)e=me.replaceAll(e,"{"+f+"}",b[f]);else{for(d=a,e="",f=d.indexOf(b),g=b.length;f>=0;)e+=(f>0?d.substring(0,f):"")+c,d=d.substring(f+g),f=d.indexOf(b);d.length>0&&(e+=d)}return e},me.htmlAttributeEncode=function(a){for(var b=["&",'"',"<",">"],c=["&amp;","&quot;","&lt;","&gt;"],d=a,e=0;e<b.length;e++)d=me.replaceAll(d,b[e],c[e]);return d},me.cleanForUrl=function(a,b){for(var c,d,e=a.replace(/[^a-zA-Z0-9_-]+/g,b),f="",g=0;g<e.length;g++)c=e.substring(g,g+1),d=encodeURIComponent(c),f+=c==d?c:b;return f},me.onClickLinkButtonConfirm=function(clickedElementId,message,title){return me.showPopupScriptDialog(null!=title?title:"Confirm",message,{modal:!0,buttons:"yesno",no:function(){},yes:function(){eval($("#"+clickedElementId).attr("href"))}}),!1},me.resolveUrl=function(a,b,c,d){var e=d||me.applicationPath||me.appPath||"/";if(b){var f=("/"==e.substring(e.length-1)?e:e+"/")+("~/"==a.substring(0,2)?a.substring(2):a),g=null!=me.applicationSettings&&null!=me.applicationSettings.httpPort&&""!=me.applicationSettings.httpPort&&"80"!=me.applicationSettings.httpPort?":"+me.applicationSettings.httpPort:"",h=null!=me.applicationSettings&&null!=me.applicationSettings.httpsPort&&""!=me.applicationSettings.httpsPort&&"443"!=me.applicationSettings.httpsPort?":"+me.applicationSettings.httpsPort:"";if(c){if("/"==f.substring(0,1))f="https://"+window.location.hostname+h+f;else if("./"==f.substring(0,2)){var i=window.location.pathname;f="https://"+window.location.hostname+h+i.substring(0,i.lastIndexOf("/")+1)+f.substring(2)}else if(".."==f.substring(0,2)||"https:"!=f.substring(0,6)){var i=window.location.pathname;f="https://"+window.location.hostname+h+i.substring(0,i.lastIndexOf("/")+1)+f}else"http:"==f.substring(0,5)&&(f="https:"+f.substring(5));return f}if("/"==f.substring(0,1))f=window.location.protocol+"//"+window.location.hostname+g+f;else if("./"==f.substring(0,2)){var i=window.location.pathname;f=window.location.protocol+"//"+window.location.hostname+g+i.substring(0,i.lastIndexOf("/")+1)+f.substring(2)}else if(".."==f.substring(0,2)||"http"!=f.substring(0,4)){var i=window.location.pathname;f=window.location.protocol+"//"+window.location.hostname+g+i.substring(0,i.lastIndexOf("/")+1)+f}else"http"==f.substring(0,4)&&(f=window.location.protocol+f.substring(5));return f}return e="/"==a.substring(0,1)||"http"==a.substring(0,4)?"":"/"==e.substring(e.length-1)?e:e+"/",e+("~/"==a.substring(0,2)?a.substring(2):a)},me.setOpacity=function(a,b){$(a).css("opacity",b),$(a).css("-moz-opacity",b),$(a).css("-ktml-opacity",b),$(a).css("-ms-filter",'"progid:DXImageTransform.Microsoft.Alpha(Opacity='+100*b+')"'),$(a).css("filter","alpha(opacity="+100*b+")")},me.setTransition=function(a,b){$(a).css("transition",null!=b?b:"all 0.3s"),$(a).css("-webkit-transition",null!=b?b:"all 0.3s"),$(a).css("-moz-transition",null!=b?b:"all 0.3s"),$(a).css("-ms-transition",null!=b?b:"all 0.3s")},me.setScale=function(a,b,c){c&&($(a).css("transform-origin",c),$(a).css("-webkit-transform-origin",c),$(a).css("-moz-transform-origin",c),$(a).css("-ms-transform-origin",c)),$(a).css("transform","scale("+b+")"),$(a).css("-webkit-transform","scale("+b+")"),$(a).css("-ms-transform","scale("+b+")"),$(a).css("-moz-transform","scale("+b+")")},me.getScale=function(a){var b=$(a).css($(a).css("transform")?"transform":$(a).css("-webkit-transform")?"-webkit-transform":$(a).css("-ms-transform")?"-ms-transform":"-moz-transform");return b&&(b.indexOf("scale(")>=0||b.indexOf("matrix(")>=0)?(b=b.substring(b.lastIndexOf("(")+1),b=b.substring(0,b.lastIndexOf(")")),parseFloat(b.split(",")[0])):1},me.expandMain=function(){jQuery(".page").animate({marginLeft:"0px",marginRight:"0px"},"slow",me.shrinkTop)},me.shrinkTop=function(){jQuery(".titleBar").animate({fontSize:"2em"},"fast")},me.securePageLinks=function(){var a=null!=me.applicationSettings&&null!=me.applicationSettings.httpPort&&""!=me.applicationSettings.httpPort&&"80"!=me.applicationSettings.httpPort?":"+me.applicationSettings.httpPort:"",b=null!=me.applicationSettings&&null!=me.applicationSettings.httpsPort&&""!=me.applicationSettings.httpsPort&&"443"!=me.applicationSettings.httpsPort?":"+me.applicationSettings.httpsPort:"";$.each($(".secured"),function(a,c){var d=$(c).attr("href");if("~/"==d.substring(0,2)&&(d=me.resolveUrl(d)),"/"==d.substring(0,1))d="https://"+window.location.hostname+b+d;else if("./"==d.substring(0,2)){var e=window.location.pathname;d="https://"+window.location.hostname+b+e.substring(0,e.lastIndexOf("/")+1)+d.substring(2)}else if(".."==d.substring(0,2)||"http:"!=d.substring(0,5)){var e=window.location.pathname;d="https://"+window.location.hostname+b+e.substring(0,e.lastIndexOf("/")+1)+d}else"http:"==d.substring(0,5)&&(d="https:"+d.substring(5));$(c).prop("href",d)}),$.each($(".unsecured"),function(b,c){var d=$(c).attr("href");if("~/"==d.substring(0,2)&&(d=me.resolveUrl(d)),"/"==d.substring(0,1))d="http://"+window.location.hostname+a+d;else if("./"==d.substring(0,2)){var e=window.location.pathname;d="http://"+window.location.hostname+a+e.substring(0,e.lastIndexOf("/")+1)+d.substring(2)}else"https:"==d.substring(0,6)&&(d="http:"+d.substring(6));$(c).prop("href",d)})},me.openSecuredPage=function(a){var b=(null!=me.applicationSettings&&null!=me.applicationSettings.httpPort&&""!=me.applicationSettings.httpPort&&"80"!=me.applicationSettings.httpPort?":"+me.applicationSettings.httpPort:"",null!=me.applicationSettings&&null!=me.applicationSettings.httpsPort&&""!=me.applicationSettings.httpsPort&&"443"!=me.applicationSettings.httpsPort?":"+me.applicationSettings.httpsPort:"");if("~/"==a.substring(0,2)&&(a=me.resolveUrl(a)),"/"==a.substring(0,1))a="https://"+window.location.hostname+b+a;else if("./"==a.substring(0,2)){var c=window.location.pathname;a="https://"+window.location.hostname+b+c.substring(0,c.lastIndexOf("/")+1)+a.substring(2)}else if(".."==a.substring(0,2)||"http:"!=a.substring(0,5)){var c=window.location.pathname;a="https://"+window.location.hostname+b+c.substring(0,c.lastIndexOf("/")+1)+a}else"http:"==a.substring(0,5)&&(a="https:"+a.substring(5));window.location.href=a},me.popLink=function(a,b,c){var d=me.resolveUrl(a.jquery?a.prop("href"):"string"==typeof a?a:$(a).prop("href")),e=window.open(d,b?this:"_blank",c?c:"",!0);return e&&"undefined"!=typeof e.focus&&e.focus(),!1},me.injectStyles=function(a,b,c){if($("#"+a).remove(),b&&c){var d='<style id="'+a+'" type="text/css">'+b+"</style>";$(d).insertBefore($(c))}else if(b){var d='<style id="'+a+'" type="text/css">'+b+"</style>";$("head").append(d)}},me.injectCssReferences=function(a,b,c){if($('link[id^="'+a+'"]').remove(),$('style[id^="'+a+'"]').remove(),b&&c)for(var d in b){var e=me.resolveUrl(b[d]),f='<link id="'+a+"_"+d+'" type="text/css" rel="stylesheet" href="'+e+'" />';$(f).insertBefore($(c))}else if(b)for(var d in b){var e=me.resolveUrl(b[d]),f='<link id="'+a+"_"+d+'" type="text/css" rel="stylesheet" href="'+e+'" />';$("head").append(f)}},me.attachDataDescriptorHandlers=function(a,b){var c=a||".dataset",d=b||".datasetDesc";$(c).hover(function(){$(".datasetDesc").hide(),$(this).css("z-index","100");var a=$(this).attr("id")+"_desc",b=$(this).position(),c=$('div[id="'+a+'"]');$(c).css({position:"absolute",left:b.left+25,top:b.top+$(this).height()-15+$(this).parent().scrollTop(),zIndex:10001,opacity:1,width:"auto",height:"auto"}),$(c).stop().show("fast")},function(){$(this).css("z-index","999");var a=$(this).attr("id")+"_desc",b=setTimeout(function(){$('div[id="'+a+'"]').stop().hide("fast")},150);$('div[id="'+a+'"]').data("pending",b)}),$(d).hover(function(){var a=$(this).data("pending");$(this).css({display:"block"}),a&&clearTimeout(a)},function(){$(this).hide("fast")})},me.forceNameHeights=function(a,b,c){var d=0,e=b||".dsName";a?($.each(c?$(a).children(e):$(a).find(e),function(a,b){d=Math.max(d,$(b).height())}),d>0&&$(a).find(e).css("height",d+"px")):($.each($(e),function(a,b){d=Math.max(d,$(b).height())}),d>0&&$(e).css("height",d+"px"))},me.forceSameWidths=function(a,b){var c=0,d=b||"button",e=null;a?(e=(a.jquery?a:$(a)).find(d),e.each(function(a,b){c=Math.max(c,$(b).outerWidth())}),c>0&&e.css("width",c+"px")):(e=$(d),e.each(function(a,b){c=Math.max(c,$(b).outerWidth())}),c>0&&e.css("width",c+"px"))},me.replaceFileInputWithStyled=function(a){if(-1==navigator.userAgent.indexOf("iPhone")&&-1==navigator.userAgent.indexOf("iPod")&&-1==navigator.userAgent.indexOf("iPad")&&!me.isIE&&"undefined"!=typeof $){"undefined"==typeof a.toLowerCase&&(a=$(a).prop("id"));var b=$("#"+a+"_cloneBtn");if(!(null!=b&&b.length>0)){var c='<button class="btn" type="button" id="'+a+'_cloneBtn">'+(null!=me.localizedText["FileInputBrowseButton.Text"]?me.localizedText["FileInputBrowseButton.Text"]:"Choose...")+"</button>";
$(c).insertBefore($("#"+a));var d='<input class="fileInput" type="text" id="'+a+'_cloneText" value="" disabled="disabled" />';$(d).insertBefore($("#"+a+"_cloneBtn")),$("#"+a+"_cloneBtn").click(function(){$("#"+a).click()}),$("#"+a).bind("change",function(){var b=$(this).val();b.indexOf("fakepath\\")>0&&(b=b.substring(b.lastIndexOf("\\"))),$("#"+a+"_cloneText").val(b)}),$("#"+a).width(0),$("#"+a).css("opacity","0")}}},me.maskElement=function(a){var b=$(a).offset(),c=$(a).width(),d=$(a).height(),e="iasElementMask_"+$(a).prop("id");return $("body").append('<div id="'+e+'" style="position:absolute;top:'+b.top+"px;left:"+b.left+"px;width: "+c+"px;height:"+d+'px;" class="iasMask iasProgress">&nbsp;</div>'),me.bringToFront($('div[id="'+e+'"]'),':not([class*="mce-"],.tooltip,.popover)'),$('div[id="'+e+'"]')},me.showHelpDialogForSection=function(a){return me.showHelpDialog(null,null,null,null,!1,a)},me.showHelpDialog=function(a,b,c,d,e,f){var g="",h="",i=!1;if(!a){var j;if($("body").data("pageHelpContent"))a=$("body").data("pageHelpContent"),j=$("body").data("pageHelpIndex"),i=!0;else{a=$(".pageHelpContent").eq(0),$(a).append('<div class="pageHelpHolder"><div class="pageHelpNavigator"></div><div class="pageHelpText"></div></div>');var k=$(a).find(".pageHelpNavigator").eq(0),l=$(a).find(".pageHelpText").eq(0);j=new Object,$.each($(a).find(".pageHelpHeader"),function(a,b){$(b).prop("id")&&(j[$(b).prop("id")]="__iac__pageHelp__navBtn_"+a),$(b).prop("id","__iac__pageHelp__navBtn_"+a),$(k).append($(b))}),$.each($(a).find(".pageHelpSection"),function(a,b){$(b).prop("id","__iac__pageHelp__text_"+a),$(l).append($(b)),$(b).css("display","none")}),$(a).find(".pageHelpSection").eq(0).css("display","block"),$(a).find(".pageHelpHeader").eq(0).addClass("selectedHelpItem"),$("body").data("pageHelpContent",a),$("body").data("pageHelpIndex",j),i=!0}}if(a&&"function"==typeof a.substring?g=null!=me.localizedText[a]?me.localizedText[a]:"!["+a+"]":!a||i||"undefined"==typeof a.jquery&&"undefined"==typeof a.tagName||(g=$(a).html()),i||""!=g){h=null!=me.localizedText[b]?me.localizedText[b]:b?b:'InstantAtlas<span class="tm">&#8482;</span> Online - Help';var m=me.showPopupScriptDialog(h,i?a:'<div class="toolboxScrollable helpBody">'+g+"</div>",{modal:e,buttons:"none",okButtonText:null!=me.localizedText["HelpDialogCloseButton.Text"]?me.localizedText["HelpDialogCloseButton.Text"]:"Close",width:c?c:"75%",height:d?d:"400px"});i&&($(a).css("display","block"),$(a).find(".pageHelpHeader").off("click"),$(a).find(".pageHelpHeader").bind("click",function(){var a=$(this).prop("id").split("_").pop();$(this).parents(".pageHelpHolder").find(".pageHelpHeader").removeClass("selectedHelpItem"),$(this).parents(".pageHelpHolder").find(".pageHelpSection").filter(":visible").css("display","none"),$('div[id="__iac__pageHelp__text_'+a+'"]').fadeIn("fast"),$(this).addClass("selectedHelpItem")}));var n=$(m).find(".pageHelpText").eq(0);return $(n).css("height",$(m).height()-$(n).parent().position().top-5),$(m).append('<div class="dialogResizeHandle abs" style="bottom: 5px; right: 5px;">&nbsp;</div>'),$(m).find(".dialogResizeHandle").eq(0).bind("mousedown",function(a){$(m).data("active","resize"),$(m).data("ox",a.pageX),$(m).data("oy",a.pageY),$(m).data("mx",1),$(m).data("my",1),a.stopPropagation(),a.preventDefault()}),$(document).bind("mousemove",function(a){if("resize"==$(m).data("active")&&$(m).data("ox")){var b=$(m).offset(),c=$(m).data("mx"),d=$(m).data("my"),e=(a.pageX-$(m).data("ox"))*c,f=(a.pageY-$(m).data("oy"))*d,g=Math.max($(m).width()+e,200),h=Math.max($(m).height()+f,170);$(m).css({width:g,height:h,top:b.top-(d>=0?0:f),left:b.left-(c>=0?0:e)});var i=$(m).find(".pageHelpText").eq(0);$(i).css("height",$(m).height()-$(i).parent().position().top-5),$(m).data("ox",a.pageX),$(m).data("oy",a.pageY),a.preventDefault()}}),$(document).bind("mouseup",function(){$(m).data("active",null)}),f&&j&&j[f]&&$('*[id="'+j[f]+'"]').trigger("click"),m}return null},me.toggleHelpPopper=function(a,b,c,d,e,f){var g=iasGetHelpPopperElement(a);return $(g).is(":visible")?me.hideHelpPopper(a):me.showHelpPopper(a,b,c,d,e,f)},me.initHelpPopper=function(a,b,c,d,e,f){me.showHelpPopper(a,b,c,d,e,f,!0)},me.showHelpPopper=function(a,b,c,d,e,f,g){var h=iasGetHelpPopperElement(a),i=f||300,j=100,k=$(h).css("right"),l=$(h).css("top");if(e?(j=e,$(h).data("targetHeight",e)):($(h).css({height:"auto",width:i,display:"block",top:$(window).height()+500}),j=$(h).height(),$(h).css({height:1,width:1,top:l})),b&&"undefined"!=typeof b.top)k=$(h).parent().is("body")?$(window).width()-(b.left-c):$(h).parent().width()-(b.left-c),$(h).css({top:b.top+c,right:k});else if(b){var m=$(b).offset(),n=$(b).width();k=$(h).parent().is("body")?$(window).width()-(m.left+n-c):$(h).parent().width()-(m.left+n-c),$(h).css({top:m.top+c,right:k})}return d&&$(h).data("callbackFunc",d),g?(me.hideHelpPopper(a,!0),d&&d(h)):(me.bringToFront($(h),':not([class*="mce-"],.tooltip,.popover)'),$(h).css({height:1,width:1,display:"block"}).stop().animate({height:j,width:i},"fast",function(){d&&d(this)})),h},me.hideHelpPopper=function(a,b){var c=iasGetHelpPopperElement(a);$(c).stop().animate({width:1,height:1},b?0:"fast",function(){var a=$(this).data("helpKey"),b="";if(a&&"function"==typeof a.substring)b=me.replaceAll(a,".","_");else if(!a||"undefined"==typeof a.jquery&&"undefined"==typeof a.tagName){var d=$(c).prop("id");b=me.replaceAll(d,".","_")}else{var d=$(a).prop("id");b=me.replaceAll(d,".","_")}var e=null,f=$(this).data("callbackFunc");a&&(e=$('div[id="helpBtn__'+b+'"]'),(!e||e.length<1)&&($("body").append('<div id="helpBtn__'+b+'" class="abs helpSmallBtn" style="top:'+$(this).css("top")+";right:"+$(this).css("right")+'">&nbsp;</div>'),e=$('div[id="helpBtn__'+b+'"]'),$(e).data("helpKey",a),$(e).data("targetHeight",$(this).data("targetHeight")),f&&$(e).data("callbackFunc",f),$(e).bind("click",function(){var a=$(this).data("helpKey");me.showHelpPopper(a,this,0,$(this).data("callbackFunc"),$(this).data("targetHeight"))}))),f&&f(this,e),$(this).css({display:"none"})})},me.isTablet=function(a){var b=!1;return b=a?"apple"===a.toString().toLowerCase()||"i"===a.toString().toLowerCase()?-1!=navigator.userAgent.indexOf("iPhone")||-1!=navigator.userAgent.indexOf("iPod")||-1!=navigator.userAgent.indexOf("iPad"):"android"===a.toString().toLowerCase()?-1!=navigator.userAgent.toLowerCase().indexOf("android"):-1!=navigator.userAgent.toLowerCase().indexOf(a.toString().toLowerCase()):-1!=navigator.userAgent.indexOf("iPhone")||-1!=navigator.userAgent.indexOf("iPod")||-1!=navigator.userAgent.indexOf("iPad")||-1!=navigator.userAgent.toLowerCase().indexOf("android")},me.isPhone=function(a){var b=!1;return b=a?"apple"===a.toString().toLowerCase()||"i"===a.toString().toLowerCase()?-1!=navigator.userAgent.indexOf("iPhone")||-1!=navigator.userAgent.indexOf("iPod"):"android"===a.toString().toLowerCase()?-1!=navigator.userAgent.toLowerCase().indexOf("android")&&-1!=navigator.userAgent.toLowerCase().indexOf("mobile"):-1!=navigator.userAgent.toLowerCase().indexOf(a.toString().toLowerCase()):-1!=navigator.userAgent.indexOf("iPhone")||-1!=navigator.userAgent.indexOf("iPod")||-1!=navigator.userAgent.toLowerCase().indexOf("android")&&-1!=navigator.userAgent.toLowerCase().indexOf("mobile")},me.htmlEncode=function(a){return $("<div/>").text(a).html()},me.htmlDecode=function(a){return $("<div/>").html(a).text()},me.findPrecedingLabel=function(a,b,c){var d=$('.wizardButtons *[id$="'+a+'"]'),e=b||".wizardStepSeparatorNext",f=c||".wizardBtn";if(d&&d.length>0){var g=$(d).prop("id"),h=null,i=e+","+f;return e=e.substring(1),f=f.substring(1),$.each($(".wizardButtons").eq(0).find(i),function(a,b){if($(b).hasClass(e))h=b;else if($(b).hasClass(f)&&$(b).prop("id")==g&&null!=h)return!1}),h}return null},me.showMetadataDialog=function(a,b,c,d,e){var f='<span class="popupDialogTitleBarContent">'+me.replaceAll(null!=me.localizedText["ReportViewerMetadataDialog.Title"]?me.localizedText["ReportViewerMetadataDialog.Title"]:"About {0}",[c?c:"["+a+" #"+b+"]"])+"</span>",g=e&&e.contentClass?e.contentClass:e&&e.scrollContent?"toolboxScrollable":"informationBig",h=me.replaceAll(null!=me.localizedText["ReportViewerMetadataDialog.MessageFormat"]?me.localizedText["ReportViewerMetadataDialog.MessageFormat"]:'<div class="'+g+'"></div>',[c?c:b]),i=me.showPopupScriptDialog(f,h,e?e:{modal:!0,buttons:"none"});$(i).find("."+g).addClass("iasProgress"),e&&e.smallText&&$(i).find("."+g).addClass("smallerText");var j=me.resolveUrl("~/App_Pages/ReportView.aspx",!1,!1)+"/GetMetadata";return $.ajax({url:j,type:"POST",data:JSON.stringify({objectType:a,objectId:b}),contentType:"application/json; charset=utf-8",dataType:"json",success:function(a){var c=","+(null!=me.localizedText["ReportViewerMetadata.Items"]?me.localizedText["ReportViewerMetadata.Items"]:"dc:description,dc:creator,dc:date.created,dc:rights")+",";if(a&&a.d){var e="",h="",j=a.d.Items;for(var k in j)"ias"!=j[k].Name.substring(0,3)&&"iac"!=j[k].Name.substring(0,3)&&c.indexOf(","+j[k].Name+",")>=0&&(h=me.replaceAll(j[k].Name,":","."),h=null!=me.localizedText["MetadataItem."+h+".Text"]?me.localizedText["MetadataItem."+h+".Text"]:j[k].Name,e+='<div class="smSpaced"><div class="label20">'+h+'</div><div class="f73 top2">'+j[k].Value+'</div><div class="cb"><!--spacer--></div></div>'),"ias:Name"==j[k].Name&&(h=j[k].Value,f=me.replaceAll(null!=me.localizedText["ReportViewerMetadataDialog.Title"]?me.localizedText["ReportViewerMetadataDialog.Title"]:"About {0}",[h,b]),$(i).find(".popupDialogTitleBarContent").text(f));d&&(e+=d),$(i).find("."+g).html(e),$(i).find("."+g).removeClass("iasProgress")}},error:function(a,b,c){me.log(a.responseText+" "+c)}}),e&&e.allowResize&&($(i).append('<div class="dialogResizeHandle abs" style="bottom: 2px; right: 2px; background-color: #dedede;">&nbsp;</div>'),$(i).find(".dialogResizeHandle").eq(0).bind("mousedown",function(a){$(i).data("active","resize"),$(i).data("ox",a.pageX),$(i).data("oy",a.pageY),$(i).data("mx",1),$(i).data("my",1),a.stopPropagation(),a.preventDefault()}),$(document).bind("mousemove",function(a){if($(i).is(":visible")&&"resize"==$(i).data("active")&&$(i).data("ox")){var b=$(i).offset(),c=$(i).data("mx"),d=$(i).data("my"),e=(a.pageX-$(i).data("ox"))*c,f=(a.pageY-$(i).data("oy"))*d,g=Math.max($(i).width()+e,250),h=Math.max($(i).height()+f,90);$(i).css({width:g,height:h,top:b.top-(d>=0?0:f),left:b.left-(c>=0?0:e)}),$(i).data("ox",a.pageX),$(i).data("oy",a.pageY),a.preventDefault()}}),$(document).bind("mouseup",function(){$(i).is(":visible")&&$(i).data("active",null)})),i},me.showAsMenu=function(a){me.bringToFront($(a),':not([class*="mce-"],.tooltip,.popover)'),$(a).show("fast",function(){$("body").one("click",function(){$(a).hide("fast")})})},me.parseQueryString=function(a,b){for(var c,d,e=new Object,f=b||"&",g=a.split(f),h=0;h<g.length;h++)c=g[h].substring(0,g[h].indexOf("=")),d=g[h].substring(g[h].indexOf("=")+1),e[c]=d;return e},me.slideToggleChild=function(a,b){var c=$(b),d=$(a);d.hasClass("open")?c.slideUp("fast",function(){d.addClass("closed"),d.removeClass("open")}):c.slideDown("fast",function(){d.removeClass("closed"),d.addClass("open");var a=c.parents(".toolboxScrollable").eq(0);if(a&&a.length>0){var b=a.scrollTop()+a.height()-10,e=0;$.each(c.prevAll(":visible"),function(a,b){e+=$(b).outerHeight(!0)}),e+=c.height(),e>b&&a.animate({scrollTop:e-c.outerHeight(!0)-d.outerHeight(!0)},"fast")}})},me.indexOfAny=function(a,b,c){for(var d,e=c||0,f=a.length+1,g=0;g<b.length;g++)d=a.indexOf(b[g],e),d>=e&&f>d&&(f=d);return f<a.length?f:-1},me.lastIndexOfAny=function(a,b,c){for(var d,e=c||0,f=a.length+1,g=0;g<b.length;g++)d=a.lastIndexOf(b[g],e),d>=e&&f>d&&(f=d);return f<a.length?f:-1},me.convertToWebText=function(a){if(!a||""==a||a.indexOf("<a")>=0)return a;var b="";a+=" ";for(var c,d=new Array(" ","\n","(",")"),e=me.indexOfAny(a,d,0),f=null;e>=0;)c=me.indexOfAny(a,d,e+1),f=a.substring(0,e),0==f.indexOf("http")&&f.indexOf("://")>0?(b+='<a href="',b+=f,b+='" onclick="me.popLink(this);return false;">',b+=f,b+="</a>"):b+=f,b+=a.substring(e,e+1),a=a.substring(e+1),e=me.indexOfAny(a,d,0);return b+=a},me.convertToWords=function(a,b){for(var c,d="",e=b||"",f=0;f<a.length;f++)c=a.charAt(f),(c.toLocaleUpperCase()==c&&c.toLocaleLowerCase()!=c||"-_()".indexOf(c)>=0)&&(d+=e),d+=c;return $.trim(d)},me.bindSkins=function(a){a=a||$("a.skin-switch"),a.off("click.iao.uiskin").on("click.iao.uiskin",function(a){var b=$(this).attr("href").substring(1);setUiSkin(b),iao&&iao.arcgis&&iao.arcgis.setPreference("ui.skin",b),a.preventDefault()});var b=iao&&iao.arcgis?iao.arcgis.getPreference("ui.skin",""):"";b&&"undefined"==typeof iaoSkinLocked&&setUiSkin(b)},me.init=function(a){var b=a||{},c="function"==typeof b?b:b.done;if(b.bootstrap!==!1&&bindBootstrapStandards(),b.skins===!0&&me.bindSkins(),b.localize===!0&&me.createGlobalHelpers(c),b.fonts!==!1){var d="Nunito,Source Sans Pro,Rubik".split(",");for(var e in d)$("head").prepend('<link href="https://fonts.googleapis.com/css?family='+encodeURIComponent(d[e])+'" rel="stylesheet" type="text/css" />')}},me}(EmbeddedIAO||{},jQuery);var EmbeddedIAO=EmbeddedIAO||{};!function(a,b){function c(a,b){if(a.length>0){var d=a.eq(0),e=d.attr("src");if(e||(e=d.css("background-image"),e&&"url("==e.substring(0,4)&&(e=e.substring(4),e=e.substring(0,e.lastIndexOf(")"))),"none"==e&&(e=null)),e){var f=new XMLHttpRequest;f.onreadystatechange=function(){console.log(this.readyState+","+this.status),4==this.readyState&&200!=this.status&&c(a.slice(1),b)},f.onload=function(){if(200==this.status){for(var e=new Uint8Array(this.response),f=e.length,g=new Array(f);f--;)g[f]=String.fromCharCode(e[f]);var h=g.join(""),i=window.btoa(h);if(d.attr("src")?d.attr("src","data:image/png;base64,"+i):d.css("background-image","url(data:image/png;base64,"+i+")"),d.hasClass("layerTile")&&d.attr("style")&&d.attr("style").indexOf("transform: translate(")>=0){d.attr("data-arc-style",d.attr("style"));var j=d.attr("style"),k=j.indexOf("transform: translate("),l=j.indexOf(")",k),m=j.substring(k,l);j=j.substring(0,k)+j.substring(l+1),m=m.substring(m.indexOf("(")+1).replace(")","").replace(/\s/g,"").split(","),j+="left: "+m[0]+"; top: "+m[1]+";",d.attr("style",j)}}c(a.slice(1),b)},f.open("GET",e,!0),f.responseType="arraybuffer",f.send()}else c(a.slice(1),b)}else b()}function d(a,c){var d,e,f="undefined"!=typeof c?c:0,g="",h=[],i=0,j=0,k={};return a.find("thead > tr").each(function(a){a>=f&&(j=0,b(this).children("th").each(function(){j+=b(this).attr("colspan")?parseInt(b(this).attr("colspan")):1}),i=Math.max(j,i))}),a.find("thead > tr").each(function(a){a>=f&&(k[a]||(k[a]=new Array(i)),e=0,b(this).children("th").each(function(){for(d='"'+b.trim(b(this).text())+'"';k[a][e]&&'"<spanned>"'==k[a][e]&&i>e;)e++;if(e<k[a].length){if(k[a][e]=d,j=b(this).attr("rowspan")?parseInt(b(this).attr("rowspan")):1,j>1)for(var c=1;j>c;c++)k[a+c]||(k[a+c]=new Array(i)),k[a+c][e]='"<spanned>"';if(j=b(this).attr("colspan")?parseInt(b(this).attr("colspan")):1,j>1){for(var c=1;j>c;c++)e+c<k[a].length?k[a][e+c]=d:k[a].push(d);e+=j}else e++}}))}),a.find("thead > tr").each(function(a){a>=f&&(g+=k[a].join(",").replace(/<spanned>/g," ")+"\n")}),a.find("tbody > tr").each(function(){h=[],b(this).children("th,td").each(function(){d=b(this).contents().filter(function(){return 3==this.nodeType})[0],d=d?b.trim(d.nodeValue):b(this).text(),h.push(!isNaN(parseFloat(d))&&d.indexOf(",")<0?d:'"'+d+'"')}),g+=h.join(",")+"\n"}),g}function e(a,c,d){var e=d&&d.container?d.container.jquery?d.container:b(d.container):h.getPageManager("_default").container,f=e.find(".profileReport:not(.iaoVisualOnly)").eq(0),g=f.find(c>a?".foldtl":".foldtr"),i=c>a?{borderBottomWidth:80,borderLeftWidth:50}:{borderBottomWidth:80,borderRightWidth:50};b(g).animate(i,100,function(){var b=(h.getPageManager(e).max>=0?h.getPageManager(e).max:f.find(".iaProfileSection:not(.iaoVisualOnly)").length)-1;f.find(".foldtr").css("display",b>a?"block":"none").css("border-right-width","36px").css("border-bottom-width","36px"),f.find(".foldtl").css("display",a>0?"block":"none").css("border-left-width","36px").css("border-bottom-width","36px")}),b(".tooltip").hide()}function f(a,c,d){var e=0,f=0,g=0;if(a.each(function(a,c){e=Math.max(b(c).width(),e),f=Math.max(b(c).height(),f),g+=b(c).height()}),window.parent&&window!=window.parent){var h=d||"";window.parent.postMessage({section:{width:e,height:f},id:h,report:{height:g},type:"report-size-change"},c?c:"*")}}function g(a){h.util.forceSameWidths(a,".modal-footer div:not(.btn-group) > .btn, .modal-footer > .btn")}var h=a||{};h.appPath="/",h.page="",h.pageMaskId="iasPageMaskDesignLoading",h.pageMaskLabelId="updatingReportLabel",h.applicationId="",h.applicationDomain="https://www.arcgis.com",h.applicationFolder=null,h.authenticationId="KAJv7BpoO28hj5TO",h.currentPage=0,h.currentFeature=null,h.pageManagers={},h.browser="",h.browserVersion=0,h.helpUrl="https://help.instantatlas.com/report-builder",h.appType="unknown",h.communicationMode=null,h.metadataUrl="undefined"!=typeof iaoMetadataUrl&&""!=iaoMetadataUrl?iaoMetadataUrl:"https://hub.instantatlas.com/data-catalog-metadata-service/",h.metadataTerms="undefined"!=typeof iaoMetadataTerms&&""!=iaoMetadataTerms?iaoMetadataTerms:"IndicatorID,Description,Subject,Source,Issued,LastPublished,Spatial,Temporal,Rights,Keywords,Status,LastRevised,LastUpdated,Creator,Publisher,UpdateFrequency,Methodology",h.iconCssClasses={iconSelector:"fas",icon:"fas fa-fw",calendar:"fa-calendar-alt",close:"fa-times",copy:"fa-copy",down:"fa-chevron-circle-down",download:"fa-cloud-download-alt",edit:"fa-edit",file:"fa-file",filter:"fa-filter",folder:"fa-folder",folderOpen:"fa-folder-open",folderClosed:"fa-folder",geo:"fa-globe-africa",group:"fa-users",iconBig:"fa-lg",icon2x:"fa-2x",icon3x:"fa-3x",icon4x:"fa-4x",icon5x:"fa-5x",key:"fa-key",list:"fa-list",pdf:"fa-file-pdf",plus:"fa-plus-square",properties:"fa-cog",remove:"fa-trash-alt",save:"fa-save",spinner:"fa-cog fa-spin",tag:"fa-tag",tags:"fa-tags",target:"fa-crosshairs",user:"fa-user-circle",up:"fa-chevron-circle-up",upload:"fa-cloud-upload-alt",getCssAttribute:function(a){var b="",c="undefined"!=typeof a.splice?a:a.toString().split(",");for(var d in c)b+=" "+h.iconCssClasses[c[d]];return b.substring(1)}},jQuery.fn.extend({updateData:function(a,b){return this.each(function(){jQuery(this).data(a,b).attr("data-"+a,b)})}});var i=!1;h.init=function(a){if(i&&!a.reset)return void console.log("Cannot call EmbeddedIAO.init() more than once without calling reset");i=!0,h.appPath=a.path?a.path:"/",h.page=a.page,h.page&&!a.path&&h.page.lastIndexOf("/")>0&&(h.appPath=h.page.substring(0,h.page.lastIndexOf("/"))),h.applicationId=a.applicationId,h.applicationDomain=a.applicationDomain?a.applicationDomain:"https://www.arcgis.com",h.applicationFolder=a.applicationFolder?a.applicationFolder:null,h.appType=a.appType?a.appType:a.applicationSourceType?a.applicationSourceType:"Web Mapping Application";var c=a.reportHolderId?a.reportHolderId:"reportViewerBox";if(h.pageManagers._default={container:b("#"+c),current:0,max:-1},h.authenticationId=a.authenticationId&&""!=a.authenticationId?a.authenticationId:h.authenticationId,h.communicationMode=a.mode?a.mode:h.communicationMode,h.metadataUrl=a.metadataUrl&&""!=a.metadataUrl?a.metadataUrl:h.metadataUrl,h.metadataExplorerUrl=a.metadataExplorerUrl&&""!=a.metadataExplorerUrl?a.metadataExplorerUrl:null,h.xhrPool=[],a.browser)h.browser=a.browser,h.browserVersion=a.browserVersion?a.browserVersion:0;else if(b('body input[id="application-viewer"]').length>0){var d=b('body input[id="application-viewer"]').attr("value").split("|");h.browser=d[0],h.browserVersion=parseFloat(d[1])}if(h.xhrPool.indexOf||(h.xhrPool.indexOf=function(a){for(var b in this)if(this[b]==a)return b;return-1}),window.console||(window.console={log:function(){},error:function(){},warn:function(){},debug:function(){}}),window.console.debug||(window.console.debug=window.console.log),b(document).ajaxSend(function(a,b,c){h.xhrPool.push(b),b.requestUrl=c.url,b.timestamp=(new Date).getTime(),c.timeout=c.timeout?c.timeout:3e4}),b(document).ajaxComplete(function(a,b){var c=h.xhrPool.indexOf(b);c>-1&&h.xhrPool.splice(c,1)}),a&&a.authenticationHandler&&(b("body").on("authenticated",a.authenticationHandler),b("body").on("authenticationFailure",a.authenticationHandler)),a&&"undefined"!=typeof a.help&&!a.help||!("undefined"!=typeof iaoHelpStem||a&&a.helpStem)||(h.helpUrl="undefined"!=typeof iaoHelpStem?iaoHelpStem:a.helpStem,b(document).ready(function(){h.buildHelpLinks(b("body")),b('*[data-toggle="popover"]').on("shown.bs.popover",function(){h.buildHelpLinks(b(".popover:visible"))})})),a&&(a.complete||a.done)){var e=a.complete||a.done;e(this)}},h.buildHelpLinks=function(a,c){function d(a){var b=jQuery(a).attr("href"),d=b;if(0==b.indexOf("#help:")){d=b.split(":")[1];var e=h.azure&&h.azure.getAzureUserDetails()?h.azure.getAzureUserDetails().owner:sessionStorage.getItem("iaoUserId"),f=e&&""!=e;c=c||b.split(":").length>2&&"all"==b.split(":")[2].toLowerCase(),c||(d=(h.appType&&"IAS-Profile"==h.appType?"/ias-reports/":f?"-iao/":"-agol/")+(0==d.indexOf("/")?d.substring(1):d)),d=h.helpUrl+(0==d.indexOf("/")?d.substring(1):d)}return d}a.off("click.iao.help").on("click.iao.help",'a[data-link-type="help"],a[href^="#help:"]',function(a){a.preventDefault();var b=jQuery(this).attr("target"),c=d(this);b=b?b:"iaoHelpWindow";var e=window.open(c,b,"",!0);e&&"undefined"!=typeof e.focus&&e.focus()}),a.find('a[data-link-type="help"],a[href^="#help:"]').on("mouseover focus",function(){b(this).attr("href",d(this))})},h.parseArcGisOnlineAuthResponse=function(a){var c,d,e=a||{},f=e.hash||window.location.hash,g=e.query||window.location.search,i=null,j=e.app&&"skip"==e.app,k="undefined"!=typeof window.iaoAuthenticationId?window.iaoAuthenticationId:e.app||b("body").attr("data-ia-application-id"),l=e.home||"https://www.arcgis.com/sharing/rest",m=e.done||e.success,n=e.error||e.fail;if(f&&f.indexOf("access_token=")>=0){var o=h.parseQueryString(f.substring(1).split("?")[0],"&",!1);c=o.access_token,d=o.expires_in?o.expires_in:"3600";var p=new Date,q=p.getTime()+1e3*parseInt(d);i={server:l,token:c,expires:q,urlReferrer:window.location.href.substring(0,window.location.href.indexOf(f)),username:o.username},window.sessionStorage.setItem("iaoArcGisOnlineToken",JSON.stringify(i)),b("body").trigger({type:"authenticated",provider:"ArcGisOnline",providerType:"OAuth2",providerSubType:"implicit",data:i}),!j&&k?(k=k.split(";"),b.getJSON(l+"/portals/self?f=json&token="+i.token,function(a){return!a||!a.appInfo||a&&a.error&&a.error>497&&a.error<500||a&&a.appInfo.appId&&!j&&k.indexOf(a.appInfo.appId)<0?(sessionStorage.removeItem("iaoToken"),sessionStorage.removeItem("iaoArcGisOnlineToken"),void(n&&n({type:"authenticationFailure",provider:"ArcGisOnline",providerType:"OAuth2",providerSubType:"implicit",message:"Wrong Product Key",data:i,portal:a}))):void(m&&m({type:"authenticated",provider:"ArcGisOnline",providerType:"OAuth2",providerSubType:"implicit",data:i,portal:a}))})):m&&m({type:"authenticated",provider:"ArcGisOnline",providerType:"OAuth2",providerSubType:"implicit",data:i})}else if(g&&g.indexOf("code=")>=0)c=g.substring(g.indexOf("code=")+"code=".length),c.indexOf("&")>0&&(c=c.substring(0,c.indexOf("&"))),i={server:"https://www.arcgis.com/sharing/rest/",code:c,urlReferrer:window.location.href.substring(0,window.location.href.indexOf(g))},b("body").trigger({type:"authenticated",provider:"ArcGisOnline",providerType:"OAuth2",providerSubType:"explicit",data:i}),m&&m({type:"authenticated",provider:"ArcGisOnline",providerType:"OAuth2",providerSubType:"explicit",data:i});else if((f&&f.indexOf("error=")>=0||g&&g.indexOf("error=")>=0)&&(f=f&&f.indexOf("error=")>=0?f:g,c=f.substring(f.indexOf("error=")+"error=".length),c.indexOf("&")>0&&(c=c.substring(0,c.indexOf("&"))),d=f.indexOf("error_description=")>=0?f.substring(f.indexOf("error_description=")+"error_description=".length):"",d.indexOf("&")>0&&(d=d.substring(0,d.indexOf("&"))),b("body").trigger({type:"authenticationFailure",provider:"ArcGisOnline",providerType:"OAuth2",message:decodeURIComponent(c),data:decodeURIComponent(d&&""!=d?d:c),isError:!0}),i={message:decodeURIComponent(c),detail:decodeURIComponent(d&&""!=d?d:c),isError:!0},n?n({type:"authenticationFailure",provider:"ArcGisOnline",providerType:"OAuth2",message:decodeURIComponent(c),data:decodeURIComponent(d&&""!=d?d:c),isError:!0}):m&&m({type:"authenticationFailure",provider:"ArcGisOnline",providerType:"OAuth2",message:decodeURIComponent(c),data:decodeURIComponent(d&&""!=d?d:c),isError:!0}),!e.silentFail)){var r=e.failureDialogTitle?e.failureDialogTitle:h.getText("ArcGisOnlineAuthFailureDialog.Title","Sign In Error"),s=e.failureDialogMessage?e.failureDialogMessage:h.getText("ArcGisOnlineAuthFailureDialog.Message",'<p>You could not sign in to <a href="https://www.arcgis.com/" target="arcLink">ArcGIS Online</a> - you will not be able to see your ArcGIS Online data. The error message sent back by ArcGIS Online was "{0}". </p>');"access_denied"==decodeURIComponent(c)&&(r=e.failureDialogTitle?e.failureDialogTitle:h.getText("ArcGisOnlineAuthDeniedDialog.Title","Sign In Cancelled"),s=e.failureDialogMessage?e.failureDialogMessage:h.getText("ArcGisOnlineAuthDeniedDialog.Message",'<p>You cancelled sign in to <a href="https://www.arcgis.com/" target="arcLink">ArcGIS Online</a> - you will not be able to see your ArcGIS Online data. To access ArcGIS Online you must <a href="#" onclick="EmbeddedIAO.redirectToArcGisOnlineAuth(null, { responseType: \'token\', protocol: \'https\', redirectUri: \'./oauth/success\'  });return false;">sign in</a>. </p>')),s=h.util.replaceAll(s,[decodeURIComponent(d&&""!=d?d:c),decodeURIComponent(c)]),h.showPopupScriptDialog(r,s,{buttons:"ok",modal:!0,type:"warning",dialogClass:"popupNoSize",ok:function(){}})}return i},h.getToken=function(a){var c,d,e=sessionStorage.getItem("iaoToken"),f=new Date;if(!e&&sessionStorage.getItem("iaoArcGisOnlineToken"))try{c=JSON.parse(sessionStorage.getItem("iaoArcGisOnlineToken")),e=c.token+";"+c.expires}catch(g){console.log("Error fetching token: "+g)}return!e&&b("#iaoArcToken").length>0&&b("#iaoArcToken").val()&&(e=b("#iaoArcToken").val().split(";")[0]),e&&e.indexOf(";")>0&&(d=parseInt(e.split(";")[1]),d<=f.getTime()?(e=null,a||sessionStorage.removeItem("iaoToken")):e=e.split(";")[0]),e},h.getFullToken=function(a){var c,d=null,e=new Date;if(sessionStorage.getItem("iaoArcGisOnlineToken"))try{d=JSON.parse(sessionStorage.getItem("iaoArcGisOnlineToken"))}catch(f){d=null}return null==d&&null!=(c=b("#iaoArcToken").val())&&c.split(";").length>2&&(c=c.split(";"),d={expires:parseInt(c[1]),server:c[2],ssl:!1,token:c[0],username:c.length>3?c[3]:b("#iaoArcUser").val()}),null==d&&h.getToken()&&(d={token:h.getToken(),server:"https://www.arcgis.com/sharing/rest/",expires:(new Date).getTime()+1,username:""}),null==d||d.username&&""!=d.username||!sessionStorage.getItem("iaoAppUser")||(d.username=JSON.parse(sessionStorage.getItem("iaoAppUser")).username),d&&d.expires>0&&d.expires<=e.getTime()+3&&(d=null,a||sessionStorage.removeItem("iaoArcGisOnlineToken")),d},h.initLocales=function(a,c){function d(){console.log("EmbeddedIAO - attempting load of localized text for '"+f+"'..."),b.ajax({type:"HEAD",url:j}).done(function(){b.getJSON(j).done(function(a){console.log("EmbeddedIAO - load of localized text for '"+f+"' succeeded."),h.localizedText=a,h.locale=f,e&&e()})}).fail(function(d){console.log("EmbeddedIAO - non-fatal error. Load of localized text for '"+f+"' failed ("+d.status+") - will use default 'en' locale."),a.length>0?h.initLocales(a,c):"en"!=f?(j=g+i+"en.js",b.getJSON(j).done(function(a){if(h.localizedText=a,h.localizedText.popovers){var c,d;for(var f in h.localizedText.popovers)if(c=h.localizedText.popovers[f],c.selector&&c.text&&c.title){if(d=b(c.selector),c.icon){var g='<a href="#" class="iao-popper"><i class="fas fa-fw ';g+="true"==c.icon.toString().toLowerCase()?"fa-question-circle":c.icon,g+='"></i></a>',d.append(g),d=d.children(".iao-popper")}d.popover({placement:c.placement?c.placement:"bottom",trigger:c.trigger?c.trigger:"click",html:!0,content:c.text,title:c.title})}}e&&e()})):e&&e()})}var e=c?c.complete:null,f=a.shift();f=f.split(";")[0];var g=c&&c.path?c.path:"./scripts/";"undefined"!=typeof h.appPath&&(g=h.util.resolveUrl(g,!1,!1,h.appPath));var i=c&&c.stem?c.stem:"iao-ui-text-"+(c&&c.page?c.page+"-":"undefined"!=typeof iaoPageTextKey?iaoPageTextKey.toString().toLowerCase()+"-":""),j=g+i+f+".json";b.getJSON(g+"supported.json").done(function(a){c.supportedLocales=a.locales,c.supportedLocales&&c.supportedLocales.indexOf(f)>=0?d():e&&e()}).fail(function(){c.supportedLocales=null,e&&e()})},h.getText=function(a,c){var d=c;return h.localizedText&&h.localizedText[a]?d=h.localizedText[a]:h.util&&h.util.localizedText&&h.util.localizedText[a]?d=h.util.localizedText[a]:1==b('.text-bundles .text-bundle[data-text-key="'+a+'"]').length&&(d=b('.text-bundles .text-bundle[data-text-key="'+a+'"]').html()),d||c},h.redirectToArcGisOnlineAuth=function(a,b){var c,d,e=a||h.authenticationId,f=window.location.hash,g=f?window.location.href.substring(0,window.location.href.indexOf(f)):window.location.href,i=((b&&b.protocol&&""!=b.protocol?b.protocol:window.location.protocol)+":").replace("::",":");if(e==h.authenticationId&&window.sessionStorage&&window.sessionStorage.iaoApplicationId&&(e=window.sessionStorage.iaoApplicationId),b&&b.redirectUri)if(0==b.redirectUri.indexOf("http"))g=b.redirectUri;else if(0==b.redirectUri.indexOf(".")){for(g=i+"//"+window.location.hostname+(80!=window.location.port&&443!=window.location.port?window.location.port:"")+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1),c=b.redirectUri;0==c.indexOf("../");)g=g.substring(0,g.length-1),g=g.substring(0,g.lastIndexOf("/")+1),c=c.substring(3);for(;0==c.indexOf("./");)c=c.substring(2);g+=c}else 0==b.redirectUri.indexOf("/")&&(g=i+"//"+window.location.hostname+(80!=window.location.port&&443!=window.location.port?window.location.port:"")+b.redirectUri);d="https://www.arcgis.com/sharing/oauth2/authorize?client_id="+e.split(";")[0]+"&response_type="+(b&&b.responseType?b.responseType:"token")+"&redirect_uri="+encodeURIComponent(g),b&&b.locale&&(d+="&locale="+b.locale),b&&b.state&&(d+="&state="+b.state),b&&b.expiration&&!isNaN(b.expiration)&&(d+="&expiration="+b.expiration),b&&b.mode&&"iframe"==b.mode?d+="&display="+b.mode:b&&b.display&&(d+="&display="+b.display),b&&b.allowNavigateBack?window.location.href=d:window.location.replace(d)},h.openApplication=function(a,b){var c=h.applicationDomain+"/home/item.html?id="+(b?b:h.applicationId);if(a){var d=window.open(c,"_blank");d.focus()}else window.location.href=c},h.abortPendingRequests=function(a,c){var d=b(h.xhrPool),e=0,f=(new Date).getTime();return d.each(function(b,d){(!d.requestUrl||!a||d.requestUrl.indexOf(a)>=0)&&(d.timestamp<f||c)&&(d.abort(),e++)}),e},h.getPageManager=function(a,c){if(a&&a.jquery)for(var d=a;null!=d&&d.length>0;){if(h.pageManagers[d.prop("id")])return h.pageManagers[d.prop("id")];d=d.parent()}return a&&"undefined"!=typeof h.pageManagers[a]?h.pageManagers[a]:a&&c?(h.pageManagers[a]={container:b("#"+a),page:0,max:-1},h.pageManagers[a]):h.pageManagers._default},h.showPage=function(a,c){var d=c&&c.container?c.container.jquery?c.container:b(c.container):h.getPageManager("_default").container,e=d.find('div.iaProfileSection[id$="section_'+a+'"]');if(e&&e.length>0)if(d.hasClass("page-flow")||d.parents(".page-flow").length>0||d.find(".profileReport.page-flow").length>0){var f=e.offset();b(window).scrollTop(f.top),e.trigger("me.shown")}else d.find(".iaProfileSection:not(.iaoVisualOnly)").css("display","none"),e.css("display","block").trigger("me.shown");return e},h.setPage=function(a,c,d,f){var g=f&&f.container?f.container.jquery?f.container:b(f.container):h.getPageManager("_default").container,i="undefined"!=typeof c&&c>=0?c:h.getPageManager(g.prop("id")).current,j=g.find('div.iaProfileSection[id$="section_'+a+'"]'),k=g.find('div.iaProfileSection[id$="section_'+i+'"]'),l="page-loading-"+a;
if(j&&j.length>0){if(g.hasClass("page-flow")||g.parents(".page-flow").length>0||g.find(".profileReport.page-flow").length>0){var m=j.offset();d&&b(window).scrollTop(m.top),j.trigger("me.shown")}else if(g.hasClass("page-all-toggle")||g.parents(".page-all-toggle").length>0||g.find(".profileReport.page-all-toggle").length>0){j.css("display","block").slideDown("fast");var m=j.offset();d&&b(window).scrollTop(m.top),j.trigger("me.shown")}else g.hasClass("page-all-animate")||g.parents(".page-all-animate").length>0||g.find(".profileReport.page-all-animate").length>0?(k.prevAll(".iaProfileSection").addClass("left").removeClass("right"),k.nextAll(".iaProfileSection").addClass("right").removeClass("left"),k.addClass(a>i?"left":"right").removeClass(i>a?"left":"right"),g.find(".iaProfileSection:not(.iaoVisualOnly)").removeClass("in").addClass("out"),j.removeClass("out").addClass("in").trigger("me.shown")):(g.find(".iaProfileSection:not(.iaoVisualOnly)").css("display","none"),j.css("display","block").trigger("me.shown"));h.getPageManager(g.prop("id")).current=a,h.afterPageChange(j,a),(!f||"undefined"==typeof f.rollovers||"no,0,false".indexOf(f.rollovers.toString().toLowerCase())<0)&&h.buildWidgetDataRollovers({page:a,container:g,metadata:!f||"undefined"==typeof f.metadata||"none"!=f.metadata.toLowerCase()}),(!f||"undefined"==typeof f.tables||"no,0,false".indexOf(f.tables.toString().toLowerCase())<0)&&h.buildWidgetTableRenderers({page:a,container:g});var n=j.find('a[href^="#metadata:"],a[href^="/#metadata:"]');n.off("click").on("click",function(a){a.preventDefault();var c=b(this).attr("href").split(":")[1];c&&h.showMetadataPopup(this,c,null,{maxWidth:"33vw"})}).attr("arial-label","Metadata").attr("href",function(){return b(this).attr("href").replace(/^#metadata:(.*)$/,"/#metadata:$1")}),f&&f.done&&f.done(j,a)}else if(!g.data(l)){var o=f||{};o.scroll=d,o.from=i,o.navigate=!0,h.loadPage(a,o)}e(a,i,f)},h.loadPage=function(a,c){var d=c&&c.container?c.container.jquery?c.container:b(c.container):h.getPageManager("_default").container,f="undefined"!=typeof c.from&&c.from>=0?c.from:h.getPageManager(d.prop("id")).current,g=d.find('div.iaProfileSection[id$="section_'+a+'"]'),i=d.find('div.iaProfileSection[id$="section_'+f+'"]'),j="page-loading-"+a,k=c&&c.scroll,l=c&&c.navigate;if(!d.data(j)){d.data(j,!0);var m=!c||c&&"undefined"==typeof c.mask||c&&c.mask;h.refreshReport({selection:h.getPageManager(d).feature?h.getPageManager(d).feature:h.currentFeature,container:d,page:a,clear:!1,autoHide:!1,mask:m,timeout:c&&c.timeout?c.timeout:h.standardTimeout?h.standardTimeout:3e4,navigate:l,complete:function(m){if(m.success){if(d.hasClass("page-flow")||d.parents(".page-flow").length>0||d.find(".profileReport.page-flow").length>0){g=d.find('div.iaProfileSection[id$="section_'+a+'"]');var n=g.offset();k&&b(window).scrollTop(n.top),l&&g.trigger("me.shown")}else if(d.hasClass("page-all-toggle")||d.parents(".page-all-toggle").length>0||d.find(".profileReport.page-all-toggle").length>0)if(g=d.find('div.iaProfileSection[id$="section_'+a+'"]'),l){g.css("display","block").slideDown("fast");var n=g.offset();k&&b(window).scrollTop(n.top),g.trigger("me.shown")}else g.css("display","none");else d.hasClass("page-all-animate")||d.parents(".page-all-animate").length>0||d.find(".profileReport.page-all-animate").length>0?(l&&(i.prevAll(".iaProfileSection").addClass("left").removeClass("right"),i.nextAll(".iaProfileSection").addClass("right").removeClass("left"),i.addClass(a>f?"left":"right").removeClass(f>a?"left":"right"),d.find(".iaProfileSection:not(.iaoVisualOnly)").removeClass("in").addClass("out")),g=d.find('div.iaProfileSection[id$="section_'+a+'"]'),l?g.removeClass("out").addClass("in").trigger("me.shown"):g.removeClass("in").addClass("out").trigger("me.shown")):(l&&d.find(".iaProfileSection:not(.iaoVisualOnly)").css("display","none"),g=d.find('div.iaProfileSection[id$="section_'+a+'"]'),l?g.css("display","block").trigger("me.shown"):g.css("display","none"));l&&(h.getPageManager(d.prop("id")).current=a),h.afterPageLoad(g,a),d.trigger("me.page.load",[g,a]),l&&h.afterPageChange(g,a),c&&c.done&&c.done(g,a)}else!m.data||400!=m.data.status&&401!=m.data.status&&403!=m.data.status||0!=h.appType.indexOf("Web Map")?c&&c.fail&&c.fail(m):"undefined"!=typeof h.refreshArcToken&&h.refreshArcToken({page:a,error:m.data});d.removeData(j),c&&e(h.getPageManager(d.prop("id")).current,f,c)}})}},h.afterPageChange=function(){},h.afterPageLoad=function(){},h.exportPage=function(a,d,e){function f(){c(l,function(){var a=k.find(".esriMapLayers > svg");a.each(function(){if(b(this).attr("style")&&b(this).attr("style").indexOf("transform: translate(")>=0){b(this).attr("data-arc-style",b(this).attr("style"));var a=b(this).attr("style"),c=a.indexOf("transform: translate("),d=a.indexOf(")",c),e=a.substring(c,d);a=a.substring(0,c)+a.substring(d+1),e=e.substring(e.indexOf("(")+1).replace(")","").replace(/\s/g,"").split(","),a+="left: "+e[0]+"; top: "+e[1]+";",b(this).attr("style",a)}});var c=d||"image/png";html2canvas(k[0],{onrendered:function(d){var e=d.toDataURL(c);g(e),b("body").attr("class",i),l.filter('[data-arc-style][data-arc-style!=""]').each(function(){b(this).attr("style",b(this).attr("data-arc-style")),b(this).removeAttr("data-arc-style")}),a.filter('[data-arc-style][data-arc-style!=""]').each(function(){b(this).attr("style",b(this).attr("data-arc-style")),b(this).removeAttr("data-arc-style")})}})})}var g=e&&"function"==typeof e?e:e?e.done||e.complete:null,i=b("body").attr("class");b("body").removeClass("show-bounds").addClass("suppress-map-tiles");var j=e&&e.container?e.container.jquery?e.container:b(e.container):h.getPageManager("_default").container,k="undefined"!=typeof a?h.showPage(a):j.find("div.iaProfileSection").filter(":visible").eq(0);if(k&&k.length>0&&"undefined"!=typeof html2canvas){var l=k.find('img[src^="http"],.esriMapContainer img.layerTile');if(l=l.add(k.find(".iaProfileSectionContentWrapper")),e&&e.charts&&"convert"==e.charts.toLowerCase()&&e.chartsUpdateUrl){var m,n,o,p,q=k.find(".iaProfileWidget.iaChartWidget"),r=[];q.each(function(){m=b.ajax({url:e.chartsUpdateUrl,type:"POST",data:JSON.stringify({atSectionIndex:a,widgetId:b(this).prop("id").split("_").pop()}),contentType:"application/json; charset=utf-8",dataType:"json"}),r.push(m)}),0==r.length?f():b.when.apply(b,r).done(function(){for(var a=0;a<r.length;a++)n=1==r.length?arguments[0]:arguments[a][0],n.d&&(n=n.d.toString()),o=1==r.length?arguments[1]:arguments[a][1],p=1==r.length?arguments[2]:arguments[a][2],n&&q.eq(a).find("img").attr("src",n);f()}).fail(function(a,b,c){console.log("Error on exporting image(s): "+a.status+", "+b+", "+c),f()})}else f()}else g(null),b("body").attr("class",i)},h.buildWidgetDataRollovers=function(c){var e,f=c&&c.container?c.container.jquery?c.container:b(c.container):h.getPageManager("_default").container,g=c&&"undefined"!=typeof c.page?c.page:h.getPageManager(f).current,i=!c||"undefined"==typeof c.download||"no,0,false".indexOf(c.download.toString().toLowerCase())<0,j=!c||"undefined"==typeof c.tables||"no,0,false".indexOf(c.tables.toString().toLowerCase())<0,k=c&&c.target?c.target.jquery?c.target:b(c.target):f.find('div.iaProfileSection[id$="section_'+g+'"]');if(k&&k.length>0){var l=k.find('input[data-ui-task="table-features"][id$="featureIds"]');l&&l.length>0&&l.each(function(e,f){var g=b(f).parents(".iaProfileWidget").eq(0);if(g&&1==g.length){var j=g.find(".iao-rollover-table");if(j.length<1){var k="iao"+a.generateGuid().replace(/\-/g,""),l='<div class="iao-rollover-table"><table id="'+k+'" class="table table-striped standard'+(i?" downloadable":"")+'">',m=g.find('input[data-ui-task="table-features"][id$="featureNames"]'),n=m.val()&&m.val()?m.val().split(";"):[];m=g.find('input[data-ui-task="table-data"][id$="dataIds"]');var o=m.val()?m.val().split(";"):[];m=g.find('input[data-ui-task="table-data"][id$="_dataCodes"]');var p=m.val()?m.val().split(";"):[];m=g.find('input[data-ui-task="table-data"][id$="dataNames"]');var q=m.val()?m.val().split(";"):[];m=g.find('input[data-ui-task="table-data"][id$="dataDates"]');var r,s,t=m.val()?m.val().split(";"):[];if(q.length>n.length){l+='<thead><tr><th><span style="display: none;">Indicator</span></th>';for(var u in n)l+="<th>"+n[u],l+="</th>";l+="</tr></thead><tbody>";for(var u in o){l+="<tr><th>"+q[u]+" "+t[u],c&&!c.metadata||!p[u]||(l+=' <a href="/#metadata:'+p[u]+'" aria-label="Metadata" class="ind-meta-link" title="'+q[u]+' | Metadata"><span class="sr-only">metadata</span><i class="fas fa-fw fa-info-circle"></i></a>'),l+="</th>",m=g.find('input[data-ui-task="table-data"][id*="dataValues"][data-for="'+o[u]+'"]'),r=m.val()?m.val()?m.val().split(";"):[]:[" "];for(var v in r)s=!r[v]||""===r[v]||" "===r[v],l+=(s?'<td aria-label="no value">':"<td>")+r[v]+"</td>";l+="</tr>"}}else{l+='<thead><tr><th><span style="display: none;">Feature</span></th>';for(var u in q)l+="<th>"+q[u]+" "+t[u],c&&!c.metadata||!p[u]||(l+=' <a href="/#metadata:'+p[u]+'" aria-label="Metadata" class="ind-meta-link" title="'+q[u]+' | Metadata"><span class="sr-only">metadata</span><i class="fas fa-fw fa-info-circle"></i></a>'),l+="</th>";l+="</tr></thead><tbody>";for(var v in n){l+="<tr><th>"+n[v]+"</th>";for(var u in q)m=g.find('input[data-ui-task="table-data"][id*="dataValues"][data-for="'+o[u]+'"]'),m&&m.val()&&m.val().length>0?(r=m.val()?m.val().split(";"):[],s=!r[v]||""===r[v]||" "===r[v],l+=(s?'<td aria-label="no value">':"<td>")+r[v]+"</td>"):l+='<td aria-label="no value">&nbsp;</td>';l+="</tr>"}}l+="</tbody></table></div>";var w=g.hasClass("iaWidgetActor")||g.hasClass("iao-widget-actor")?g:g.find(".iaWidgetActor,.iao-widget-actor").eq(0),x=w.width(),y=w.height();w.append(l),j=g.find(".iao-rollover-table"),j.css("width",Math.floor(x)+"px").css("height",Math.floor(y)+"px"),w.append('<div class="iao-rollover-trigger"><i class="fas fa-fw fa-table">&nbsp;</i></div>'),!c||c&&c.popup||c&&!c.inline?w.children(".iao-rollover-trigger").off("click").on("click",function(){var c=b(this).siblings(".iao-rollover-table").clone(),e=b(this).parents(".iaProfileWidget").eq(0),f=e.find('input[data-task="chart-title"]').length>0?e.find('input[data-task="chart-title"]').val():e.find(".iaWidgetActor > img").attr("title")||e.find(".iaWidgetActor > img").attr("data-original-title"),g=b(this).parents(".iaProfileSection").data("catalog-url")?b(this).parents(".iaProfileSection").data("catalog-url"):null;h.showPopupScriptDialog((f&&f.length>0?f+" | ":"")+"Data",'<div class="iao-placeholder"></div>',{modal:!0,buttons:i?"yesno":"ok",buttonText:{yes:a.getText("TableDownloadButton.Text",'<span><i class="fas fa-cloud-download-alt"></i> Download</span>'),no:a.getText("TablePopupCloseButton.Text","Close")},large:!0,shown:function(f){var i=b(f.target);if(window.self!=window.top&&(i.children(".modal-dialog").css("top",""),e.length>0)){var j=e.offset();j=j.top-b(window).scrollTop(),j>0&&(j=Math.max(0,Math.min(b(window).height()-i.children(".modal-dialog").outerHeight(),j)),i.children(".modal-dialog").css("top",Math.round(j)+"px"))}if(i.find(".modal-body .iao-placeholder").filter(":visible").append(c),i.find(".modal-body").toggleClass("modal-body-scrollable",!0),null!=g&&i.find('a.ind-meta-link[href^="#metadata:"],a.ind-meta-link[href^="/#metadata:"]').attr("data-src-url",g),i.find('a.ind-meta-link[href^="#metadata:"],a.ind-meta-link[href^="/#metadata:"]').off("click").on("click",function(a){a.preventDefault();var c=b(this).attr("href").split(":")[1];c&&h.showMetadataPopup(this,c,null,{maxWidth:"33vw"})}),c.addClass("rolled").css("width","auto").css("min-width","100%").css("height","auto").css("overflow","hidden"),c.children("table").hasClass("downloadable")){var k,l="#CSV",m="btnCsv"+a.generateGuid(),n=d(c.children("table")),o=i.find('button[data-task="yes"]'),p=i.find(".modal-title").length>0?b.trim(i.find(".modal-title").text()):"table";o.before('<a id="'+m+'" class="btn btn-default" href="'+l+'" download="'+p.replace(/[^0-9a-zA-Z]/g,"-")+'.csv"><span class="placeholder">&nbsp;</span></a>'),o.siblings("a").append(o.children()),o.siblings("a").children(".placeholder").remove(),o.remove(),window&&window.navigator&&"undefined"!=typeof window.navigator.msSaveOrOpenBlob?(b("#"+m).after('<input type="hidden" id="'+m+'_data" data-content-type="CSV" value="'+encodeURIComponent(n)+'" />'),b("#"+m).on("click",function(a){a.preventDefault();var c=b(this).attr("download"),d=decodeURIComponent(b(this).siblings('input[data-content-type="CSV"]').val()),e=new Blob([d],{type:"text/csv"});window.navigator.msSaveOrOpenBlob(e,c)})):(k=new Blob([n],{type:"text/csv"}),l=window.URL.createObjectURL(k),b("#"+m).attr("href",l))}},focus:i?"no":"ok"})}):w.children(".iao-rollover-trigger").off("click").on("click",function(){b(this).siblings(".iao-rollover-table").toggleClass("rolled")})}}}),e=k.hasClass("ia-table-widget")||k.hasClass("ia-time-series-table-widget")||k.hasClass("ia-arc-gis-online-related-items-table-widget")||k.hasClass("ia-rule-aware-text-widget")||k.hasClass("ia-text-box-widget")?k:k.find(".ia-table-widget, .ia-time-series-table-widget, .ia-arc-gis-online-related-items-table-widget, .ia-rule-aware-text-widget, .ia-text-box-widget"),l=e.filter(function(){return b(this).find("table").length+b(this).find("table > thead").length+b(this).find("table > tbody").length>2});var m="\ufeff";l&&l.length>0&&j&&l.each(function(c,e){var f,g,h,i,j=b(e).find("table").eq(0),k="btnCsv"+a.generateGuid();j&&1==j.length&&!j.hasClass("downloadable")&&(f=m+d(j),h="#CSV",i=j.attr("summary")?b.trim(j.attr("summary")):j.find("thead .tableTitleCell").length>0?b.trim(j.find("thead .tableTitleCell").eq(0).text()):"",i.length<1&&(i="table-"+(c+1).toFixed(0)),i='<div class="iao-download-hover"><a id="'+k+'" href="'+h+'" download="'+i.replace(/[^0-9a-zA-Z]/g,"-")+'.csv"><span class="sr-only">download</span><i class="fas fa-fw fa-cloud-download-alt"></i></a></div>',j.parent().append(i),window&&window.navigator&&"undefined"!=typeof window.navigator.msSaveOrOpenBlob?(b("#"+k).after('<input type="hidden" id="'+k+'_data" data-content-type="CSV" value="'+encodeURIComponent(f)+'" />'),b("#"+k).on("click",function(a){a.preventDefault();var c=b(this).attr("download"),d=decodeURIComponent(b(this).siblings('input[data-content-type="CSV"]').val()),e=new Blob([d],{type:"text/csv"});window.navigator.msSaveOrOpenBlob(e,c)})):(g=new Blob([f],{type:"text/csv"}),h=window.URL.createObjectURL(g),b("#"+k).attr("href",h)),j.addClass("downloadable"),j.parents(".iaProfileWidget").eq(0).addClass("downloadable"))})}},h.buildWidgetTableRenderers=function(a){var c=a&&a.container?a.container.jquery?a.container:b(a.container):h.getPageManager("_default").container,d=a&&"undefined"!=typeof a.page?a.page:h.getPageManager(c).current;c.find('div.iaProfileSection[id$="section_'+d+'"]')},h.refreshReport=function(a){var c,d,e,f,g,i,j,k,l=a&&a.container?a.container.jquery?a.container:b(a.container):h.getPageManager("_default").container,m=h.getPageManager(l),n=a.selection.id?a.selection.id:a.selection;if(a.selection&&a.selection.id&&a.selection.name&&(m.feature={id:a.selection.id,name:a.selection.name}),c=a&&"undefined"!=typeof a.page?a.page:m.current,d=a&&"undefined"!=typeof a.clear?a.clear:!0,(!a||a&&"undefined"==typeof a.mask||a&&a.mask)&&h.showPageMask(),d&&(h.abortPendingRequests("/GetRenderedReportSection"),l.find(" .profileReport").find(".iaProfileWidget").remove()),e=m.feature&&"undefined"!=typeof m.feature.name?m.feature.name:null,null!=e){var o=h.util.replaceAll(h.getText("ProfilePageReload.ProgressMessageText","Switching view to {0}. Please wait..."),[e,m.feature.id]);b("#"+h.pageMaskLabelId).html(o)}if(f=l.find(" .profileReport:not(.iaoVisualOnly)").eq(0),g={reportId:a&&a.report?a.report:h.applicationId,sectionIndex:c,geoFeatureId:n,format:"json",mapId:null,iaoUserId:null,flush:!1,timed:!1},a&&a.iaoUserId)g.iaoUserId=a.iaoUserId;else if(window.location.search&&window.location.search.indexOf("iaoUserId=")>=0)g.iaoUserId=h.parseQueryString(window.location.search).iaoUserId;else if(h.userId)g.iaoUserId=h.userId;else if(h.isViewer)try{null!=(i=h.getToken())&&(g.token=i)}catch(p){}if(a&&a.map?g.map=a.map:window.location.search&&window.location.search.indexOf("map=")>=0&&(g.map=h.parseQueryString(window.location.search).map),a&&a.requestParams)for(var q in a.requestParams)g[q]=a.requestParams[q];a&&a.progress&&a.progress(10),j=g.geoFeatureId.length>500,k={url:h.isViewer?h.util.resolveUrl("~/services/report/render/"+(j?"invoke":"section"),!1,!1,h.appPath):h.page+"/GetRenderedReportSection",type:h.isViewer&&!j?"GET":"POST",data:h.isViewer&&!j?g:JSON.stringify(g),contentType:"application/json; charset=utf-8",dataType:h.communicationMode&&h.isViewer?h.communicationMode:h.isViewer&&"json"!=g.format?"text":"json",processData:!j},a&&a.timeout&&(k.timeout=a.timeout),a&&"undefined"!=typeof a.cache&&(k.cache=a.cache),"jsonp"==k.dataType.toLowerCase()&&(k.jsonp="callback",k.data.format="jsonp"),b.ajax(k).done(function(e,g,i){a&&a.progress&&a.progress(15),m.feature||(m.feature={id:n,name:n}),d&&f.empty();var j="undefined"!=typeof e.d?e.d:"undefined"!=typeof e.html?e.html:e;if(!j||""==j.toString())return h.hidePageMask(),a&&a.complete&&a.complete({success:!1,errorMessage:"No page data",data:i,status:g}),console.log("AJAX refresh report error - null response: "+g+", detail: "+i.status),void(!h.onError||"function"!=typeof h.onError||a&&a.silent||h.onError("Error refreshing page content - no text in response",i,g,"No page data"));if(j=h.util.replaceAll(j,h.util.resolveUrl("~/services/report/render/",!1,!1,h.appPath),h.appPath),j=h.util.replaceAll(j,'"/services/report/render/',h.appPath),j=h.util.replaceAll(j,'"/report/images/disposable/','"'+h.appPath+("/"!=h.appPath.charAt(h.appPath.length-1)?"/":"")+"report/images/disposable/"),a&&a.progress&&a.progress(30),e.scripts)for(var k in e.scripts)b('head > script[src][src="'+e.scripts[k]+'"]').length<1&&b("head").append('<script src="'+e.scripts[k]+'"></script>');var o=f.find('div.iaProfileSection[id$="section_'+(c+1)+'"]'),p=f.find('div.iaProfileSection[id$="section_'+(c-1)+'"]');o&&o.length>0?o.eq(0).before(b(j)):p&&p.length>0?p.eq(0).after(b(j)):f.append(j),a&&a.progress&&a.progress(60);var q=l.find('.iaProfileSection[id$="section_'+c+'"]');if((!a||a.autoHide)&&(l.find(".iaProfileSection:not(.iaoVisualOnly)").css("display","none"),q.css("display","block")),a&&"undefined"!=typeof a.tooltips&&"none"==a.tooltips.toLowerCase()||h.buildExtendedToolTips(q,{container:q.parents(".profileReport").eq(0)}),a&&"undefined"!=typeof a.chartTables&&"none"==a.chartTables.toLowerCase()||h.buildWidgetDataRollovers({page:c,container:l,metadata:!a||"undefined"==typeof a.metadata||"none"!=a.metadata.toLowerCase()}),a&&"undefined"!=typeof a.tableCellsRender&&"false"==a.tableCellsRender.toLowerCase()&&"none"==a.tableCellsRender.toLowerCase()||h.buildWidgetTableRenderers({page:c,container:l}),!a||"undefined"==typeof a.metadata||"none"!=a.metadata.toLowerCase()){var r=q.find('a[href^="#metadata:"],a[href^="/#metadata:"]');r.off("click").on("click",function(a){a.preventDefault();var c=b(this).attr("href").split(":")[1];c&&h.showMetadataPopup(this,c,null,{maxWidth:"33vw"})}).attr("arial-label","Metadata").attr("href",function(){return b(this).attr("href").replace(/^#metadata:(.*)$/,"/#metadata:$1")})}a&&"undefined"!=typeof a.fixTextBox&&"false"==a.fixTextBox.toLowerCase()||setTimeout(function(){q.find(".ia-text-box > .ia-text-box-title, .iaTextBox > .iaTextBoxTitle").each(function(){var a=b(this).height();b(this).next(".ia-child-widget-container").css("height","calc(100% - "+a+"px")})},900),a&&a.progress&&a.progress(75),(!a||a&&"undefined"==typeof a.mask||a&&a.mask)&&h.hidePageMask(),(!a||a&&"undefined"==typeof a.navigate||a&&a.navigate)&&(h.getPageManager(l).current=c);var s=e.pageCount?e.pageCount:i&&i.getResponseHeader("X-IAO-PageCount")?parseInt(i.getResponseHeader("X-IAO-PageCount")):-1,t=e.title?e.title:i&&i.getResponseHeader("X-IAO-ReportTitle")?i.getResponseHeader("X-IAO-ReportTitle"):"";0>s?h.updateProfileReportPageCount(l,function(){h.createPageTurners({container:l})}):(h.getPageManager(l).max=s,h.createPageTurners({container:l})),a&&a.progress&&a.progress(100),a&&a.complete&&a.complete({success:!0,data:e,page:c,maxPages:s,target:q,title:t}),b("body").trigger({type:"iao.ReportRefresh",success:!0,page:c,target:q,title:t})}).fail(function(b,d,e){"abort"!=e?(h.hidePageMask(),a&&a.complete&&a.complete({success:!1,errorMessage:e,data:b,status:d}),console.log("AJAX refresh report error: "+e+", detail: "+b.responseText),!h.onError||"function"!=typeof h.onError||a&&a.silent||h.onError("Error refreshing page content",b,d,e)):console.log("GetRenderedReportSection cancelled/aborted - section #"+c+', feature "'+n+'".')})},h.buildExtendedToolTips=function(a,c){var d=a.hasClass(".iao-extended-tooltips")?a:a.find(".iao-extended-tooltips"),e=d.find('*[data-toggle][data-toggle="tooltip"]');e=e.add(d.find('*[title][title!=""]').not('*[data-toggle][data-toggle="tooltip"]')),e.each(function(a,c){var d,e,f,g=b(c).attr("title");g&&g.indexOf("#color:")>=0&&(d=g.indexOf("#color:"),e=g.indexOf("#color:")+"#color:0x000000".length,f=g.substring(d,e),g=g.replace(f,'<div class="swatch iao-swatch" style="background-color: #'+f.substring("#color:0x".length)+';">&nbsp;</div>'),b(c).attr("title",g))}),e.filter('[href="#"]').on("click",function(a){return a.preventDefault(),a.stopPropagation(),!1}).attr("tabindex","-1"),e.tooltip({placement:c&&c.placement?c.placement:"top auto",container:c&&c.container?c.container:a.parents(".profileReport").eq(0),viewport:c&&c.viewport?c.viewport:c&&c.container?c.container:a.parents(".profileReport").eq(0),trigger:"hover focus",html:!0}),d.find("area,.iao-icon-set").on("mousemove",function(a){var d=b(c&&c.container?c.container:b(this).parents(".profileReport")).eq(0),e=d.children(".tooltip:visible"),f=a.pageX-d.offset().left,g=a.pageY-d.offset().top;e&&(e.hasClass("bottom")||e.hasClass("top"))?f-=Math.round(e.width()/2):e&&(e.hasClass("left")||e.hasClass("right"))&&(g-=Math.round(e.height()/2)),e&&e.hasClass("top")&&(g-=Math.round(e.outerHeight())+10),e.css("left",f+"px").css("top",g+"px"),e.children(".tooltip-arrow").css("left","").css("right","")}),c&&"undefined"!=typeof c.hover&&"html"!=c.hover.toLowerCase()||(b(c&&c.container?c.container:b(this).parents(".profileReport")).eq(0),d.children(".iao-hover-current").length<1&&d.append('<div class="iao-hover-current"><div class="iao-hover-content"></div></div>'),d.on("mouseenter","area,.iao-icon-set",function(){var a=(b(c&&c.container?c.container:b(this).parents(".profileReport")).eq(0),b(this).parents(".iaProfileWidget").eq(0)),d=a.find(".iao-hover-current");d.addClass("in");var e;a.offset().left,a.offset().top,"AREA"==this.tagName&&"rect"==b(this).attr("shape")?(e=b(this).attr("coords").split(","),d.css("left",parseFloat(e[0])+"px").css("top",parseFloat(e[1])+"px").css("width",parseFloat(e[2])-parseFloat(e[0])+"px").css("height",parseFloat(e[3])-parseFloat(e[1])+"px").addClass("rect")):"AREA"==this.tagName&&"circle"==b(this).attr("shape")&&(e=b(this).attr("coords").split(","),d.css("left",parseFloat(e[0])-parseFloat(e[2])+"px").css("top",parseFloat(e[1])-parseFloat(e[2])+"px").css("width",2*parseFloat(e[2])+"px").css("height",2*parseFloat(e[2])+"px").addClass("circle"))}),d.on("mouseleave","area,.iao-icon-set",function(){var a=b(this).parents(".iaProfileWidget").eq(0),c=a.find(".iao-hover-current");c.removeClass("in").removeClass("rect").removeClass("circle")}))},h.updateProfileReportPageCount=function(a,c){b.ajax({url:h.page+"/GetReportSectionCount",type:"POST",data:JSON.stringify({reportId:h.applicationId}),contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(b){h.getPageManager(a).max=b.d,c&&c({success:!0,count:b.d})}).fail(function(a,b,d){h.hidePageMask(),c&&c({success:!1,errorMessage:d,data:a.responseText,status:b}),h.onError&&"function"==typeof h.onError&&h.onError("Error refreshing page count",a,b,d),console.log("AJAX get report pages error: "+d+" "+a.responseText)})},h.createPageTurners=function(a){var c=a&&a.container?a.container.jquery?a.container:b(a.container):h.getPageManager("_default").container,d=h.getPageManager(c.prop("id")),e=c.find(".profileReport:not(.iaoVisualOnly)").eq(0);if(e&&1==e.length){b(window).width(),e.find(".foldtl").remove(),e.find(".foldtr").remove(),e.css("width",Math.ceil(e.find(".iaProfileSection:not(.iaoVisualOnly)").eq(0).width())+"px"),e.css("min-height",Math.ceil(e.find(".iaProfileSection:not(.iaoVisualOnly)").eq(0).height())+"px").css("height","auto");var f=(e.outerWidth(),e.height(),e.parent()),g=(f.width(),e.offset()),i=(g.top-f.offset().top,f.find(".ia-back-link").length>0?f.find(".ia-back-link").eq(0).text():"« Prev"),j=f.find(".ia-next-link").length>0?f.find(".ia-next-link").eq(0).text():"Next »",k=b("body .iao-content").length>0?"body .iao-content:eq(0)":"body";e.find(".iaProfileSection:not(.iaoVisualOnly)").eq(0).before('<button type="button" class="foldtr floatRight" aria-label="Next page">&nbsp;</button>'),e.find(".iaProfileSection:not(.iaoVisualOnly)").eq(0).before('<button type="button" class="foldtl floatLeft" aria-label="Previous page">&nbsp;</button>'),e.find(".foldtl").prop("title",i).tooltip({container:k,placement:"right auto"}),e.find(".foldtr").prop("title",j).tooltip({container:k,placement:"left auto"}),f.find(".arrowFade .arrowLeft,.foldtl").on("click",function(){var c=h.getPageManager(b(this));c.current>0&&h.setPage(c.current-1,c.current,!1,a)}),f.find(".arrowFade .arrowRight,.foldtr").on("click",function(){var c=h.getPageManager(b(this)),d=c.max-1;c.current<d&&h.setPage(c.current+1,c.current,!1,a)}),e.find(".foldtr").css("display",d.current<d.max-1?"block":"none"),e.find(".foldtl").css("display",d.current>0?"block":"none"),e.find('a[href^="#page"]').off("click").on("click",function(c){var d=h.getPageManager(b(this)),e=parseInt(b(this).attr("href").substring(5)-1);return h.setPage(e,d.current,!0,a),c.preventDefault(),!1});var l=e.find(".iaProfileSectionFooter").eq(0).outerHeight();e.find(".ia-page-navbar").css({position:"absolute",bottom:Math.ceil(l)+"px",width:"100%"}),e.off("touchstart"),e.off("touchend"),e.off("touchmove"),e.on("touchstart",function(a){var b=new Date,c=a.originalEvent.touches.length>0?a.originalEvent.touches:a.originalEvent.changedTouches,d={action:"start",x:c[0].pageX,y:c[0].pageY,time:b};e.data("lastTouch",d)}),e.on("touchmove",function(a){if(e.data("lastTouch")){var c=h.getPageManager(b(this)),d=c.max-1,f=a.originalEvent.touches.length>0?a.originalEvent.touches:a.originalEvent.changedTouches,g=e.data("lastTouch"),i=f[0].pageX-g.x,j=(f[0].pageY-g.y,Math.round(Math.min(Math.abs(i),240)/190*35)),k=e.find(".iaProfileSection:not(.iaoVisualOnly):visible").eq(0);if(i>0&&c.current>0||0>i&&c.current<d){b("#iaoProfileSectionBackdrop").remove();var l=k.parent().position().left,m=k.parent().position().top,n=k.parent().css("width"),o=k.parent().css("height"),p=(k.css("z-index")&&parseInt(k.css("z-index"))?parseInt(k.css("z-index")):1)-1;k.parent().before('<div id="iaoProfileSectionBackdrop" class="profileReport iaoVisualOnly" style="position: absolute; z-index: '+p+";left: "+l+"px; top: "+m+"px; width: "+n+"; height: "+o+';"><div class="iaProfileSection iaoVisualOnly">&nbsp;</div></div>'),k.parent().css("-webkit-perspective","10000px"),j*=0>i?-1:1,k.css("-webkit-transform","rotateY("+j+"deg)").css("-webkit-transform-origin",0>i?"0 0":"100% 0"),k.css("transform","rotateY("+j+"deg)").css("transform-origin",0>i?"0 0":"100% 0"),e.find(".foldtr").css("display","none"),e.find(".foldtl").css("display","none")}}}),e.on("touchend",function(a){var c=h.getPageManager(b(this)),d=c.max-1;if(e.data("lastTouch")){var f=a.originalEvent.touches.length>0?a.originalEvent.touches:a.originalEvent.changedTouches,g=e.data("lastTouch"),i=f[0].pageX-g.x,j=(f[0].pageY-g.y,(new Date).getTime()-g.time.getTime());Math.abs(i)>50&&2e4>j&&(i>0&&c.current>0?h.setPage(c.current-1,c.current):0>i&&c.current<d&&h.setPage(c.current+1,c.current))}var k=e.find(".iaProfileSection");k.css("-webkit-transform","").css("-webkit-transform-origin","").css("transform","").css("transform-origin",""),k.removeClass("scruffyPaperNext").removeClass("scruffyPaperPrev"),e.find(".foldtr").css("display",c.current<d?"block":"none"),e.find(".foldtl").css("display",c.current>0?"block":"none"),e.removeData("lastTouch")})}},h.createSectionToggles=function(a){var c=a&&a.container?a.container.jquery?a.container:b(a.container):b(".profileReport"),d=a&&a.selector?a.selector:"h2",e=a&&a.togglers?a.togglers.jquery?a.togglers:b(a.togglers):c.find(d);e.on("click",function(){var e=b(this),g=e.parents(".iaProfileWidget").eq(0),h=g.nextUntil(g.nextAll(".iaProfileWidget").filter(function(){return b(this).find(d).length>0}).eq(0)),i=b(this).attr("data-report-id")||"";e.hasClass("iao-closed")?h.slideDown("fast",function(){if(e.removeClass("iao-closed").addClass("iao-open"),g&&1==g.length){var b=g.parent().children().index(g);if(0==b){var d=g.parents(".iaProfileSection").eq(0);d.removeClass("iao-closed").addClass("iao-open")}}a&&a.disableEvents||f(c.find(".iaProfileSection"),null,i)}):h.slideUp("fast",function(){if(e.addClass("iao-closed").removeClass("iao-open"),g&&1==g.length){var b=g.parent().children().index(g);if(0==b){var d=g.parents(".iaProfileSection").eq(0);d.addClass("iao-closed").removeClass("iao-open")}}a&&a.disableEvents||f(c.find(".iaProfileSection"),null,i)})}),a&&a.closed?e.trigger("click"):e.addClass("iao-open"),a&&a.id&&e.attr("data-report-id",a.id)},h.updateDependentControls=function(a,c,d,e,f){var g=b(a),h=":"==c.substring(0,1)?g.is(c):g.prop(c),i=h==d?f:!f;e.prop("disabled",i),i?e.addClass("link-disabled"):e.removeClass("link-disabled")},h.showPageMask=function(a,c){return b("#iaoPageMaskLoading").length<1&&b("body").append('<div id="iaoPageMaskLoading" style="position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; display: none;" class="iaoMask iaoProgressZ"><div style="width:128px; height: 128px; position:absolute; left: 50%; top: 50%; margin-left:-64px; margin-top:-64px; font-size:128px; line-height:128px; padding:0px; text-align:center;"><i id="iaoPageMaskIcon" class="fas fa-cog fa-spin"></i></div><div id="iaoPageMaskLabel" class="mask-label" style="font-size: 14px;position: absolute;left: 20%;top: 50%;text-align: center;margin-top: 95px;width: 60%;">&nbsp;</div></div>'),b("#iaoPageMaskLoading .mask-label").html("undefined"!=typeof a?a:""),b("#iaoPageMaskIcon").attr("class","fas fa-cog fa-spin"),!c||"fas "!=c.substring(0,4)&&"far "!=c.substring(0,4)&&"fab "!=c.substring(0,4)?c&&b("#iaoPageMaskLoading .fas.fa-spin").addClass("fa-"+c.toLowerCase()).attr("data-extra-icon","fa-"+c):b("#iaoPageMaskIcon").attr("class",c.toLowerCase()).toggleClass("fa-spin",!0),b("#iaoPageMaskLoading").is(":visible")||(b("body").append(b("#iaoPageMaskLoading")),b("#iaoPageMaskLoading").css("z-index","65500"),b("#iaoPageMaskLoading").show()),b("#iaoPageMaskLoading")},h.getPageMask=function(){return b("#iaoPageMaskLoading")},h.hidePageMask=function(){b("#iaoPageMaskLoading").hide("fast",function(){b("#iaoPageMaskIcon").attr("data-extra-icon")&&b("#iaoPageMaskIcon").removeClass(b("#iaoPageMaskIcon").attr("data-extra-icon"))})},h.showMask=function(a,c){var d,e,f,g,i;c&&(c.id&&(d=c.id),c.className&&(e=c.className),c.message&&(f=c.message),c.append&&(g=c.append),(c.done||c.after)&&(i=c.done||c.after));var j,k=e||"fas fa-cog fa-spin",l=a.jquery?a:b(a),m=h.generateGuid();return l.each(function(a,e){j=b(e),j.prop("id")||j.prop("id","iao_"+h.util.replaceAll(h.generateGuid(),"-",""));var l=d||j.prop("id")+"_iaoMask",n=b("#"+l);n.length<1&&(b("body").append('<div id="'+l+'" class="iao-masker" data-mask-id="'+m+'" style="position: absolute;">&nbsp;</div>'),n=b("#"+l)),n.children().remove();var o=Math.round(j.height());if(f&&(n.append(c&&c.messagePosition&&"center"==c.messagePosition?'<div style="width: 100%; height: 100%;word-break: break-word; display: table;"><div style=" display: table-cell;vertical-align: middle; width: 100%; margin: 0 auto; text-align: center;"><div class="mask-label"></div></div></div>':'<div class="mask-label" style="font-size: 14px; position: absolute; left: 20%; top: 50%; text-align: center; margin-top: '+Math.round(.5*Math.min(128,o))+'px;width: 60%;"></div>'),
"undefined"!=typeof f.indexOf&&n.find(".mask-label").html(f)),g)n.css("left","0").css("top","0").css("width","100%").css("height","100%"),n.append('<div style="position: absolute; top: 25%; left: 25%; font-size: '+Math.min(128,Math.round(.5*o))+'px; width: 50%;text-align: center;" class="'+k+'"></div>'),j.append(n),h.util.bringToFront(n,null,-1,j.find('div > div:not([class*="mce-"],.tooltip,.popover)'));else{var p=j.offset(),q=Math.round(j.outerWidth(!0));n.css("left",p?p.left:100).css("top",p?p.top:100).css("width",q+"px").css("height",o+"px"),n.append('<div style="position: absolute; top: '+Math.round(.25*o)+"px; left: "+Math.round(.25*q)+"px; font-size: "+Math.min(128,Math.round(.5*o))+"px; width: "+Math.round(.5*q)+'px;text-align: center;" class="'+k+'"></div>'),h.util.bringToFront(n,'body > *:not([class*="mce-"],.tooltip,.popover)')}n.show("fast","linear",function(a){i&&i(a)})}),b('.iao-masker[data-mask-id="'+m+'"]')},h.hideMask=function(a,c){var d,e,f=c&&0==c.remove,g=c&&"undefined"!=typeof c.speed?c.speed:"fast",h=c&&"undefined"!=typeof c.fade?c.fade:!1,i=f?function(){}:function(){b(this).remove()};a&&a.jquery?a.each(function(a,c){d=b(c).prop("id")+"_iaoMask",e=b('*[id^="'+d+'"]'),h?e.fadeOut(g,i):e.hide(g,i)}):(d=a&&a.jquery?a.prop("id")+"_iaoMask":a||"iaoMasker",e=b('*[id^="'+d+'"]'),h?e.fadeOut(g,i):e.hide(g,i)),(!e||e.length<1)&&(h?b(".iao-masker").fadeOut(g,i):b(".iao-masker").hide(g,i))},h.getStyleRuleValue=function(a,b,c){for(var d="undefined"!=typeof c?[c]:document.styleSheets,e=0,f=d.length;f>e;e++){var c=d[e];try{if(!c.cssRules)continue;for(var g=0,h=c.cssRules.length;h>g;g++){var i=c.cssRules[g];if(i.selectorText&&-1!==i.selectorText.split(",").indexOf(b))return i.style[a]}}catch(j){if("SecurityError"!==j.name)throw j}}return null},h.exportReport=function(a,c,d,e,f){var g="~/report/export/"+d+"/"+(e.indexOf(",")>0?"multiple-features":e)+(c?"/"+c.toLowerCase():""),i="f=json"+(e.indexOf(",")>0?"&features="+e:""),j=f&&f.newWindow;i+=f&&"undefined"!=typeof f.allowScript?"&enable-javascript="+("false,no,0".indexOf(f.allowScript.toString().toLowerCase())<0).toString():"&enable-javascript=true";var k,l,m,n,o,p,q,r;if(f&&f.useQueryString&&(a&&a.target?(l=b(a.target).attr("href").split("?"),l.length>1&&(i+="&"+l[1])):window.location.search&&(i+="&"+window.location.search.substring(1))),f&&f.sizeToFit){k=f&&f.container?f.container.find(".profileReport .iaProfileSection").eq(0):b(".profileReport .iaProfileSection").eq(0);try{m=h.getStyleRuleValue("width",".profileReport .iaProfileSection"),n=h.getStyleRuleValue("height",".profileReport .iaProfileSection")}catch(s){m="auto",n="auto"}o=(m&&"auto"!=m?m:Math.round(k.width())+"px")+","+(n&&"auto"!=n?n:Math.round(k.height())+"px"),i+="&size="+o}return i+=f&&f.media?"&media="+f.media:"&media=screen",p=h.util.resolveUrl(g,!1),q=b("#iaoButtonMask"),a&&(q=h.showMask(a.target,"iaoButtonMask"),q.prop("title",h.util.replaceAll(h.getText("ViewPageConversionLabel.ToolTipFormat","Converting to {0}. Please wait..."),[c,e,d])),r=b("body .iao-content").length>0?"body .iao-content:eq(0)":"body",q.tooltip({container:r,placement:"left auto"}),a.stopPropagation(),a.preventDefault()),b.ajax({url:p,type:e.indexOf(",")>0?"POST":"GET",data:i,dataType:"json",timeout:12e4}).done(function(a){if(q.hide("fast"),a.success&&a.documents){var b=a.documents[0];if(b){var c="~/report/"+(j?"fetch":"download")+"/"+b,d=h.util.resolveUrl(c,!0,!0);j?window.open(d,"iaoPopWindow",null,!0):window.location.href=d}}}).fail(function(a,b,f){if(q.hide("fast"),console.error("AJAX error exporting to "+c+": "+f+", "+b),!h.onError||"function"!=typeof h.onError){if("timeout"==b)return void h.showPopupScriptDialog("Export Timeout",'InstantAtlas seems to be taking a long time to export your report. Sorry about that. Please try again. If this problem persists please contact <a href="mailto:support@instantatlas.com">support@instantatlas.com</a> with the URL of your report.',{type:"warning",modal:!0,buttons:"ok",buttonText:{ok:"Close"},ok:function(){}});var g=h.getText("ExportGenericErrorDialog.Title","Export Error"),i=h.getText("ExportGenericErrorDialog.MessageFormat",'<p>InstantAtlas could not export your report - the server sent back an error message:</p><p class="bg-danger pad10"><span class="text-danger">{0}: {1}</span></p><p>Sorry about that. Please try again. If this problem persists please contact <a href="mailto:support@instantatlas.com?subject=Report%20Export%20Error&amp;body=Error:%20{0}%20{1},%20URL:%20{7},%20{5},%20Time:%20{6}">support@instantatlas.com</a> with the URL of your report.</p>');return i=h.util.replaceAll(i,[a.status,f,b,d,e,p,(new Date).toISOString(),window.location.href]),void h.showPopupScriptDialog(g,i,{type:"error",modal:!0,buttons:"ok",buttonText:{ok:"Close"},ok:function(){}})}h.onError("Error exporting report",a,b,f)}).always(function(){q.tooltip("destroy")}),!1},h.closeMenus=function(a){a?(b(".page > .dropdown-menu").hide(),b(".dropdown").removeClass("open")):(b(".page > .dropdown-menu").css("display","none"),b(".dropdown").removeClass("open"))},h.showMenu=function(a,c,d,e){var f=d&&d.jquery?d:b(d?d:"body"),g=c.jquery?c:b("#"+c);g.find('div[id$="SubMenu"]').hide();var i=e&&e.toggle;if(i){if(g.hasClass("in"))return h.closeMenus(),void g.toggleClass("in",!1)}else h.closeMenus();g.toggleClass("in",!1);var j=a.currentTarget&&b(a.currentTarget).hasClass("btn")?b(a.currentTarget):a.target&&b(a.target).hasClass("btn")?b(a.target):null,k=null!=j?j.offset().left:a.pageX+2,l=null!=j?j.offset().top+j.outerHeight():a.pageY+2,m=l+g.outerHeight(),n=k+g.outerWidth(),o=b(document).scrollTop()+b(window).height(),p=f.offset().left+f.outerWidth();m>o&&(l-=m-o),n>p&&(k-=n-p),g.css({left:-1e3,top:-1e3,width:"auto",height:"auto",display:"block"}),h.util.bringToFront(g,null,-1,f.children(':not([class*="mce-"],.tooltip,.popover)'));var q=g.width(),r=g.height();g.css({left:k,top:l,width:null!=j?q+"px":"1px",height:"1px",display:"block"}),g.animate({left:k,top:l,width:q,height:r},100,function(){g.css("width","auto").css("height","auto").css("overflow",e&&e.overflow?e.overflow:"visible"),g.toggleClass("in",!0),b("body").one("click",function(){g.toggleClass("in",!1),h.closeMenus()})})};var j=1001;new Object,h.expandTheme=function(a,c,d,e){var f=b(".theme-children"),g=0,i=0;if(c)for(var k=0;k<f.length;k++)b(f[k]).is(":visible")&&(g+=b(f[k]).children(".themeSidebar").width()+3,i++);else b(".theme-children.in").removeClass("in"),b(".theme-children:visible").hide();var l=e&&e.marginTop?e.marginTop:0,m=a.jquery?a:b(0==a.indexOf("#")?a:"#thm_"+a),n=m.position(),o=d&&d.jquery?d:b("#"+d),p=e&&e.width?e.width:o.width()-(e&&"undefined"!=typeof e.marginRight?e.marginRight:60)-g,q=e&&e.height?e.height:o.height()-10-l,r="theme-children_"+a;j++;var s=b("#"+r);s.css({left:n.left,top:n.top,width:10,height:10,display:"block",zIndex:j}),s.find(".toolboxScrollable").css("height","95%");var t=b("#thmBtn_"+a);t.off("click");var u=e&&e.collapse?e.collapse:null,v=e&&e.collapsing?e.collapsing:null;t.on("click",function(a){v&&v(b('div[id="'+r+'"]'));var c=b('div[id="'+r+'"]').data("nest-level"),d=b('div[id="'+r+'"]');d=d.add(d.parent().find(".theme-children:visible").filter(function(){return b(this).data("nest-level")>c})),d.animate({width:10,height:10},"fast",function(){b(this).css("display","none"),u&&u(b('div[id="'+r+'"]'))}),a.preventDefault()});var w=e&&e.expanding?e.expanding:null,x=e&&e.complete?e.complete:e&&e.expand?e.expand:null;w&&w({themeId:a,panel:s}),s.attr("data-nest-level",i.toString()).data("nest-level",i),s.animate({left:Math.max(g,0)+(e&&"undefined"!=typeof e.marginLeft?e.marginLeft:5),top:l,width:p,height:q},"fast",function(){e&&e.keepScrollable?(s.find(".toolboxScrollable").css("height",q),s.css("height","auto").css("min-height",q)):(s.find(" .toolboxScrollable").css("height","auto").removeClass("toolboxScrollable"),s.css("height","auto").css("min-height",q)),e&&e.autoSizeChildren||h.util.forceNameHeights(s),x&&x({themeId:a,panel:s})})},h.bindResizer=function(a,c,d){var e=a.jquery?a:b(a).eq(0);if(e&&e.length>0){var f=d?d.jquery?d:b(d):e.parents(".modal").eq(0),g=c?c.jquery?c:b(c):e.parents(".modal").eq(0);f.prop("id")!=g.eq(0).prop("id")&&(g.css("width",Math.round(g.width())+"px"),f.css("width","auto"));var i=f.prop("id");b(document).data("iaoSizeBound_"+i)||(f.css("box-sizing","content-box"),b(document).on("mousedown",function(){f.data("active","no"),b("#iaoDragSurfaceTemp").css("display","none")}),b(document).on("mouseup",function(){f.data("active","no"),b("#iaoDragSurfaceTemp").css("display","none")}),b(document).on("mousemove",function(a){if(f.is(":visible")&&"resize"==f.data("active")&&f.data("ox")){var c=f.find(".popupDialogMessageBody").length>0?f.find(".popupDialogMessageBody").eq(0):f;c.css("box-sizing","content-box");var d=b("#iaoDragSurfaceTemp");d.length<1&&(b("body").append('<div id="iaoDragSurfaceTemp" class="abs" style="background-color: rgba(255,255,255,0.1);">&nbsp;</div>'),d=b("#iaoDragSurfaceTemp"),h.util.bringToFront(d,'body > *:not([class*="mce-"],.tooltip,.popover)'));var e=f.offset(),i=f.data("mx"),j=f.data("my"),k=(a.pageX-f.data("ox"))*i,l=(a.pageY-f.data("oy"))*j,m=-1,n=-1;g.length>1||!g.eq(0).hasClass(".modal")?(b(g.selector).each(function(a,c){m=Math.max(m,Math.round(b(c).width()+k)),n=Math.max(n,Math.round(b(c).height()+l)),b(c).width(m),b(c).height(n),m=Math.max(m,Math.round(b(c).width())),n=Math.max(n,Math.round(b(c).height()))}),b(g.selector).each(function(a,c){b(c).width(m),b(c).height(n)}),d.css("left",e.left).css("top",e.top),d.width(m),d.height(n),d.css("display","block")):(m=Math.round(g.width()+k),n=Math.round(c.height()+l),g.width(m),c.height(n),d.css("left",e.left).css("top",e.top),d.width(m),d.height(n),d.css("display","block")),f.data("ox",a.pageX),f.data("oy",a.pageY)}}),e.off("mousedown"),e.on("mousedown",function(a){f.data("active","resize"),f.data("ox",a.pageX),f.data("oy",a.pageY),f.data("mx",1),f.data("my",1),a.stopPropagation(),a.preventDefault()}),e.off("mouseup"),e.on("mouseup",function(){f.data("active","no"),b("#iaoDragSurfaceTemp").css("display","none")}),b(document).data("iaoSizeBound_"+i,!0))}},h.showHelp=function(a,c){var d=b("#iaoHelpPopup"),e=function(){var c=d.find(".popupDialogMessageBody");c.addClass("iaoProgress128"),b.ajax({url:h.util.resolveUrl("~/help/get/"+a),type:"GET",dataType:" html",success:function(a){if(c.children().remove(),c.append(a),c.find("form").length>0){var b=c.find("form").html();c.children().remove(),c.append(b)}c.removeClass("iaoProgress128")}})},f={modal:c&&"undefined"!=typeof c.modal?c.modal:!1,shown:e},g=d.find(".popupDialogMessageContent").length>0?d.find(".popupDialogMessageContent"):d.find(".popupDialogMessage").length>0?d.find(".popupDialogMessage"):d;g.find(".draggableSized").length>0?g=b("#"+d.prop("id")+" .draggableSized:not(.scrollCancel)"):g.find(".toolboxScrollable").length>0&&(g=b("#"+d.prop("id")+" .toolboxScrollable:not(.scrollCancel)")),h.bindResizer(d.find(".iaoSizer").eq(0),g),g.css("width",g.width()),d.css("width","auto"),h.showPopupDialog(d,f)},h.createShareAndExportLinks=function(a,c,d){var e,f,g,i,j,k,l,m=(a&&a.jquery?a:b(a?a:".profileReport")).eq(0),n=c||h.shareOptions,o=d||h.exportOptions||"print",p=window.location.pathname.split("/"),q=h.applicationHost?h.applicationHost:"undefined"!=typeof iaoApplicationHost?iaoApplicationHost:"https://reports.instantatlas.com";if(m.length>0&&(o||n)){if(g='<div class="exportControls">',o&&(o.toLowerCase().indexOf("!print")<0&&m.find(".fa-print.iao-print-btn").length<1&&(e=p.pop(),g+='<a href="'+e+'#iao-action=print" class="fas fa-fw fa-print iao-print-btn" rel="nofollow" target="iaoPopper"><span class="sr-only">print</span></a>',window.location.hash&&0==window.location.hash.indexOf("#iao-action=print")&&window.print()),o.toLowerCase().indexOf("pdf")>=0&&m.find(".fa-file-pdf-o.iao-pdf-btn").length<1)){window.location.search&&window.location.search.toLowerCase().indexOf("pdf=true")>0&&b("head").append('<link href="'+q+'/styles/PDF.min.css" type="text/css" rel="stylesheet" />'),e=e||p.pop(),f=p.pop(),g+='<a href="'+q+"/report/publication-export/"+f+"/"+e+"/pdf",i=m.find(".iaProfileSection").eq(0);try{j=h.getStyleRuleValue("width",".profileReport .iaProfileSection"),k=h.getStyleRuleValue("height",".profileReport .iaProfileSection")}catch(r){j="auto",k="auto"}l=(j&&"auto"!=j?j:Math.round(i.width())+"px")+","+(k&&"auto"!=k?k:Math.round(i.height())+"px"),g+="?PageSize="+l,g+='" class="far fa-fw fa-file-pdf iao-pdf-btn" rel="nofollow" target="iaoPopper"><span class="sr-only">PDF</span></a>'}g+="</div>",'<div class="exportControls"></div>'!=g&&m.children(".exportControls").length<1&&(m.append(g),m.find(".exportControls > .iao-print-btn").on("click",function(a){window.self===window.top&&(a.preventDefault(),window.print())}),m.find(".exportControls > .iao-pdf-btn").on("click",function(a){if(window.self===window.top){var c,d,e=b(this).attr("href"),f=b(this).attr("target"),g=b("body .profileReport .iaProfileSection");try{c=h.getStyleRuleValue("width",".profileReport .iaProfileSection"),d=h.getStyleRuleValue("height",".profileReport .iaProfileSection")}catch(i){c="auto",d="auto"}var j=0;(!d||d&&"auto"==d.toLowerCase())&&g.each(function(){j=Math.max(j,b(this).height()+5)});var k=(c&&"auto"!=c?c:Math.round(g.eq(0).width())+"px")+","+(d&&"auto"!=d?d:Math.round(j)+"px");e=e.split("?")[0]+"?PageSize="+k,a.preventDefault();var l=window.open(e,f||"_blank",null,!0);l&&"undefined"!=typeof l.focus&&l.focus()}}))}},h.createShareReportLink=function(a,b,c,d){var e=null;return a&&""!=a&&("email"===b?e="mailto:?"+(c?"subject="+encodeURIComponent(c)+"&":"")+"body="+encodeURIComponent(a):"facebook"===b?e="http://www.facebook.com/sharer.php?u="+encodeURIComponent(a):"twitter"===b?e="https://twitter.com/share?url="+encodeURIComponent(a):"reddit"===b?e="http://reddit.com/submit?url="+encodeURIComponent(a)+(c?"&title="+encodeURIComponent(c):""):"linkedin"===b?e="http://www.linkedin.com/shareArticle?mini=true&url="+encodeURIComponent(a)+(c?"&title="+encodeURIComponent(c):"")+"&source="+encodeURIComponent("InstantAtals Report Builder"):"digg"===b?e="http://digg.com/submit?phase=2&url="+encodeURIComponent(a)+(c?"&title="+encodeURIComponent(c):""):"googleplus"===b?e="https://plus.google.com/share?url="+encodeURIComponent(a):"embed-script"===b?e='<script type="text/javascript" src="'+a+'"></script>':("embed"===b||"embed-iframe"===b)&&(e='<iframe name="iaoFrame" src="'+(d&&d.view&&"view"==d.view.toLowerCase()?a:a.replace("/view/","/embed/"))+'"',d&&d.style&&(e+=' style="'+d.style+'"'),e+=' sandbox="'+(d&&d.sandbox?d.sandbox:"allow-popups allow-scripts allow-top-navigation allow-same-origin")+'"',e+=d&&"undefined"!=typeof d.seamless?d.seamless?' seamless="seamless"':"":' seamless="seamless"',e+="></iframe>")),e},h.parseQueryString=function(a,b,c){var d,e,f,g={};if(a&&""!=a){var h=b||"&";0==a.indexOf("?")&&(a=a.substring(1));var i=a.split(h);for(var j in i)if(f=i[j].indexOf("="),f>0){d=i[j].substring(0,f);try{e=decodeURIComponent(i[j].substring(f+1))}catch(k){e=i[j].substring(f+1)}g[d]=e,c||(g[d.toLowerCase()]=e,g[d.toUpperCase()]=e)}}return g},h.cleanQueryString=function(a,b,c,d){var e=c||"&",f=[];if(b)if("function"==typeof b.splice)f=b;else if(b.indexOf(e)>=0){var g=h.parseQueryString(b,e,d);for(var i in g)f.push(i)}else f=b.split(",");for(var j="object"==typeof a?a:h.parseQueryString(a,e,!0),i=0;i<f.length;i++){var k=f[i];"undefined"!=typeof j[k]&&(j[k]=null,delete j[k])}var l=[];for(var i in j)l.push(i+"="+encodeURIComponent(j[i]));return l.join("&")},h.mergeQueryStrings=function(a,b){var c=h.cleanQueryString(a,b,"&",!0);return c=c+(c.length>0?"&":"")+(b&&0==b.indexOf("?")?b.substring(1):b),c.length>0&&0!=c.indexOf("?")&&(c="?"+c),c},h.generateGuid=function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()},h.trimEnd=function(a,b){if(a&&b)for(var c in b)for(;a.lastIndexOf(b[c])==a.length-1;)a=a.substring(0,a.length-1);return a},h.createToolTips=function(a,c,d,e,f){var g=b("#iaoSmallTip");(!g||g.length<1)&&(b("body").append('<div id="iaoSmallTip" class="leftTip abs smallerText"><div class="tipContent"><div></div></div><div class="arrTop">&nbsp;</div><div class="arrBottom">&nbsp;</div></div>'),g=b("#iaoSmallTip"));var i=g.find(".tipContent *").eq(0),j=c||"left",k=d||"leftTip",l=e||2e3;a.each(function(){var a=b(this),c=a.prop("id")?a.prop("id"):"iaoDesignTask_"+h.generateGuid();a.prop("id",c);var d=a.find("span").length>0?a.find("span").eq(0):a,e=d.prop("title");e&&""!=e&&(b("#iaoToolTipFor_"+c).remove(),i.append('<p id="iaoToolTipFor_'+c+'" class="helpItem" style="display: none;">'+e+"</p>"),a.find("span").eq(0).prop("title",""),d.prop("title",""),a.on("mouseover",function(a){var c=b(this),d=0,e=0,g="top";"left"==j.toLowerCase()?(d=c.offset().left+c.outerWidth(!0)+40,e=c.parent().hasClass("design-control-popper")?c.width()/2+10:c.offset().top+c.height()/2-20):"right"==j.toLowerCase()?(d=b(window).width()-c.offset().left+20,e=c.offset().top+c.height()/2):j.toLowerCase().indexOf("top")>=0&&(j.toLowerCase().indexOf("center")>=0||j.toLowerCase().indexOf("centre")>=0)?(d=f?a.pageX:c.offset().left+c.outerWidth(!1)/2,e=f?a.pageY+c.outerHeight():c.offset().top+c.outerHeight()+10):j.toLowerCase().indexOf("bottom")>=0&&(j.toLowerCase().indexOf("center")>=0||j.toLowerCase().indexOf("centre")>=0)&&(d=f?a.pageX:c.offset().left+c.outerWidth(!1)/2,e=f?b(window).height()-a.pageY+15:b(window).height()-c.offset().top+15,g="bottom");var i=h.showExtendedTip(j.split(" ")[0],d,e,c.prop("id"),k,!0,l,null,g);c.one("mouseout",function(){i.hide()})}))})},h.showExtendedTip=function(a,c,d,e,f,g,i,j,k){if(!h.blockTips){clearTimeout(h.popTimeoutId);var l=i||2e3,m=b("#iaoSmallTip");(!m||m.length<1)&&(b("body").append('<div id="iaoSmallTip" class="leftTip abs smallerText"><div class="tipContent"><div></div></div><div class="arrTop">&nbsp;</div><div class="arrBottom">&nbsp;</div></div>'),m=b("#iaoSmallTip")),m.removeClass("leftTip").removeClass("rightTip").removeClass("topTip").removeClass("bottomTip").removeClass("autoWidthTip").addClass(f),m.find(".tipContent > * > span").css("display","none"),m.find(".helpItem").css("display","none"),m.find('*[id$="_'+e+'"]').css("display",j?j:"block"),m.find('*[id$="_'+e+'"]').parent().css("display","block");var n=k||"top";if(!m.is(":visible")){var o=m.css("left","9999px").css("display","block").css("top","10px").height();m.css("top","").css("bottom","").css("height",o).css(n,d),m.fadeIn(100)}return"center"==a&&(c=Math.min(b(window).width()-m.width()/2,Math.max(1,c-m.width()/2)),a="left"),m.css("left","").css("right","").css(a,c).css("top","").css("bottom","").css(n,d),g&&h.util.bringToFront(m,':not([class*="mce-"],.tooltip,.popover)'),m.one("click",function(){m.fadeOut(100)}),h.popTimeoutId=setTimeout(function(){m.fadeOut(200),m.css("width","")},l),m}},h.hideTip=function(a){clearTimeout(h.popTimeoutId);var c=a||"fast";b("#iaoSmallTip").hide(c)},h.showPopupDialog=function(a,c){var d=a.jquery?a:b("#"+a);if(d.hasClass("modal")){if(c&&c.show){var e=c.show;d.one("show.bs.modal",function(a){g(d),e(a,d)})}if(c&&c.shown){var e=c.shown;d.one("shown.bs.modal",function(a){g(d),e(a,d)})}else d.one("shown.bs.modal",function(){g(d)});var f=c&&c.hidden?c.hidden:null;if(d.one("hidden.bs.modal",function(a){d.css("z-index",""),f&&f(a)}),c&&c.noDrag||"undefined"==typeof d.draggable||d.draggable({handle:".modal-header"}),c&&"undefined"!=typeof c.resize&&1==c.resize&&!d.data("sizeApplied")?d.one("shown.bs.modal",function(){var a=d.find(".modal-content");a.css("overflow","hidden");var c=a.height();a.css("height",c+"px"),d.find(".modal-footer").addClass("modal-footer-abs");var e=a.width(),f=a.height(),g=function(a,c){var d=c.element,e=d.height(),f=d.children(".modal-body"),g=f.position().top,h=f.find(".tabHolder").outerHeight(),i=d.children(".modal-footer"),j=i.outerHeight(),k=d.find(".modal-body .toolboxScrollable,.modal-body-scrollable");k.each(function(){var a=(b(this).position().top,e-g-j-40-h);k.css("height",Math.floor(a)+"px")})};a.resizable({minWidth:e,minHeight:f,handles:"se",stop:g}),d.data("sizeApplied",!0)}):d.one("shown.bs.modal",function(){var a=d.find(".modal-content");a.css("overflow","hidden").css("height","auto"),d.find(".modal-footer").removeClass("modal-footer-abs"),d.data("sizeApplied")&&(a.resizable("option","cancel"),d.data("sizeApplied",!1))}),(!c||"undefined"==typeof c.position||c.position&&(c.position.reset||"reset"==c.position.toString().toLowerCase()))&&d.css("left","").css("top","").css("right","").css("bottom",""),c&&c.modal&&(c.parentDialog||c.parent)){var i=c.parentDialog||c.parent,j=i.jquery?i:b(i);if(j&&j.length>0){j.parent().append(d);var k=j.css("z-index");h.util.bringToFront(d,':not([class*="mce-"],.tooltip,.popover)',c&&c.maxZ?c.maxZ:k?k+10:-1,j.parent().children(j.hasClass("modal")?".modal":':not([class*="mce-"],.tooltip,.popover)'))}else h.util.bringToFront(d,':not([class*="mce-"],.tooltip,.popover)',c&&c.maxZ?c.maxZ:k?k+10:-1);d.one("hidden.bs.modal",function(){d.css("z-index","")})}return c&&c.forceFront&&(h.util.bringToFront(d,":not(.tooltip,.popover)",c&&c.maxZ?c.maxZ:-1),d.one("hidden.bs.modal",function(){d.css("z-index","")})),d.find(".modal-body").removeClass("bg-danger").removeClass("bg-warning").removeClass("bg-information"),h.hideMask(),h.hidePageMask(),d.is(":visible")&&d.hasClass("in")?(d.trigger("show.bs.modal"),d.trigger("shown.bs.modal")):(d.removeData("bs.modal"),d.modal({show:!0,backdrop:c&&c.modal?"static":!0,keyboard:c&&c.keyboard?c.keyboard:!1})),d}return console.log("Dialog not found? "+JSON.stringify(a)+"? Trying fallback method..."),h.util.showPopupDialog(a,c)},h.hidePopupDialog=function(a,c){var d=a.jquery?a:b("#"+a);d.hasClass("modal")?(c&&c.destroy&&d.one("hidden.bs.modal",function(){b(this).remove()}),d.modal("hide"),b(".tooltip").hide()):h.util.hidePopupDialog(a,c)},h.getPopupDialog=function(a,c){var d=b('.modal[id="'+a+'"]');if(d.length>0)return d.eq(0);if("undefined"==typeof c||1==c){var e='<div id="'+a+'" class="modal fade"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button><h4 class="modal-title"></h4></div><div class="modal-body"></div><div class="modal-footer"></div></div></div></div>';if(b("body").append(e),d=b('.modal[id="'+a+'"]'),d.length>0)return d.eq(0)}return null},h.appendProgressBar=function(a,c){var d=a.jquery?a:b(a),e=d.prop("id");return e||(d.prop("id","iao"+h.generateGuid()),e=d.prop("id")),c&&c.clear&&d.children(".progress-bar-form").remove(),d.append('<div class="form-horizontal progress-bar-form"><div class="spaced row"><label class="col-md-2 text-right">'+(c&&c.label?c.label:"Progress: ")+'</label><div class="col-md-10"><div class="progress progress-striped active"><div class="progress-bar-holder"><div id="'+e+'ProgressBar" class="progress-bar alignRight" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;">'+(c&&c.marker?'<span class="fas fa-'+c.marker+'">&nbsp;</span>':"")+'</div></div></div><div><span id="'+e+'ProgressLabel" class="small progress-label"></span></div></div></div></div>'),d.find(".progress-bar")},h.showPopupScriptDialog=function(c,d,e){var f,g=e||{},i=g&&g.popupId?g.popupId:g&&g.dialogId?g.dialogId:g&&g.parentDialog?"iao-modal-alert-"+a.generateGuid().replace(/[^a-f0-9]/g,""):"iao-modal-alert",j=b("#"+i);(!j||j.length<1)&&(f='<div class="iao-content iao-popup-container"><div class="modal ia-modal-popup" id="'+i+'" tabindex="-1" role="dialog"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button><h4 class="modal-title">&nbsp;</h4></div><div class="modal-body"></div><div class="modal-footer"></div></div></div></div></div>',b("body > .topmost-surface").length>0?b("body > .topmost-surface").before(f):b("body").append(f),j=b("#"+i)),j.find(".modal-header").removeClass("iao-hidden"),j.find(".modal-footer .btn").removeClass("btn-link"),j.find(".modal-body").removeClass("bg-danger").removeClass("bg-warning").removeClass("bg-information").removeClass("modal-body-scrollable").removeClass("modal-body-unpadded"),j.find(".modal-title").html(c||""),g.showTitle||c&&""!=c||j.find(".modal-header").addClass("iao-hidden"),(g.scroll||g.scrolling)&&j.find(".modal-body").addClass("modal-body-scrollable"),"undefined"!=typeof g.padding&&"no,false,0".indexOf(g.padding.toString().toLowerCase())&&j.find(".modal-body").addClass("modal-body-unpadded");var k=d;g.type&&(k='<div><div style="float: left; margin-right: 10px;margin-bottom: 10px;">'+(0==g.type.indexOf("<")?g.type:'<i class="fas fa-'+("question"==g.type.toLowerCase()?"question-circle":"warning"==g.type.toLowerCase()?"exclamation-triangle":"error"==g.type.toLowerCase()?"times-circle":"forbidden"==g.type.toLowerCase()?"ban":"info"==g.type.toLowerCase().substring(0,4)?"info-circle":g.type)+'" style="font-size:48px;"></i>')+'</div><div style="margin-left: '+(g.marginLeft?g.marginLeft:"68px")+';">'+d+"</div></div>"),j.find(".modal-body").html(k);var l="",m={ok:function(){},yes:function(){},no:function(){},cancel:function(){}};if(j.removeClass("maxi-enabled"),j.find(".modal-header .btn-maximize,.modal-header .btn-minimize,.modal-header .btn-restore").remove(),g.maximizeable&&(j.addClass("maxi-enabled"),j.find(".modal-header button.close").after('<button class="close btn-maximize"><i class="fas fa-fw fa-window-maximize"></i></button><button class="close btn-restore" style="font-size: 1em; margin-right: 5px;"><i class="fas fa-fw fa-window-restore"></i></button>'),j.find(".modal-header .btn-maximize,.modal-header .btn-restore").on("click",function(a){a.preventDefault(),b(this).parents(".modal").eq(0).toggleClass("maxi",b(this).hasClass("btn-maximize"))})),g.yes&&(m.yes=g.yes),g.no&&(m.no=g.no),g.ok&&(m.ok=g.ok),g.cancel&&(m.cancel=g.cancel),g.buttons&&g.buttons.toLowerCase().indexOf("yesno")>=0&&(l='<button type="button" data-task="yes" class="btn btn-primary">Yes</button><button type="button" data-task="no" class="btn btn-default">No</button>'),g.buttons&&g.buttons.toLowerCase().indexOf("ok")>=0&&(l+='<button type="button" data-task="ok" class="btn '+("ok"==g.buttons.toLowerCase()?"btn-primary":"btn-default")+'">OK</button>'),g.buttons&&g.buttons.toLowerCase().indexOf("cancel")>=0&&(l+='<button type="button" data-task="cancel" class="btn '+("cancel"==g.buttons.toLowerCase()?"btn-primary":"btn-default")+'">Cancel</button>'),j.find(".modal-footer").text("").append(l),g.buttonStyle&&(g.buttonStyle.toLowerCase().indexOf("link")>=0&&j.find(".modal-footer .btn").addClass("btn-link"),g.buttonStyle.toLowerCase().indexOf("small")>=0&&j.find(".modal-footer .btn").addClass("btn-sm")),g.buttonText&&(g.buttonText.ok&&j.find('button[data-task="ok"]').html(g.buttonText.ok),g.buttonText.cancel&&j.find('button[data-task="cancel"]').html(g.buttonText.cancel),g.buttonText.yes&&j.find('button[data-task="yes"]').html(g.buttonText.yes),g.buttonText.no&&j.find('button[data-task="no"]').html(g.buttonText.no)),m.ok){var n=m.ok;j.find('button[data-task="ok"]').off("click").on("click",function(a){a.preventDefault(),n(a)||a.cancelClose||b(a.target).parents(".modal").eq(0).modal("hide")})}else g&&g.buttons&&g.buttons.toLowerCase().indexOf("ok")>=0&&j.find('button[data-task="ok"]').off("click").on("click",function(a){a.preventDefault(),b(a.target).parents(".modal").eq(0).modal("hide")});if(m.yes){var o=m.yes;j.find('button[data-task="yes"]').off("click").on("click",function(a){a.preventDefault(),o(a)||a.cancelClose||b(a.target).parents(".modal").eq(0).modal("hide")})}if(m.no){var p=m.no;j.find('button[data-task="no"]').off("click").on("click",function(a){a.preventDefault(),p(a)||a.cancelClose||b(a.target).parents(".modal").eq(0).modal("hide")})}if(j.find('.modal-header button[data-dismiss="modal"]').off("click"),m.cancel){var q=m.cancel;j.find('button[data-task="cancel"]').off("click").on("click",function(a){a.preventDefault(),q(a)||a.cancelClose||b(a.target).parents(".modal").eq(0).modal("hide")}),j.find('.modal-header button[data-dismiss="modal"]').one("click",function(a){a.preventDefault(),q(a)})}return g.largeDialog||g.large?j.find(".modal-dialog").addClass("modal-lg"):j.find(".modal-dialog").removeClass("modal-lg"),g.focus&&(j.find(".modal-footer .btn-primary").removeClass("btn-primary"),j.find('button[data-task="'+g.focus+'"]').addClass("btn-primary").focus()),h.showPopupDialog(j,g)},h.showPopupImage=function(a,c,d,e,f){var g,i,j,k,l=c&&""!=c?c:b(a).prop("src"),m=b("#iaoImageScreenCentrePopper");return(!m||m.length<1)&&(b("body").append('<div id="iaoImageScreenCentrePopper" class="image-popper"></div>'),m=b("#iaoImageScreenCentrePopper")),m.css({top:"-1000px",left:"-1000px",width:"auto",height:"auto",display:"block"}),m.html(""),m.append('<img id="iaoImageScreenCentrePopperImage" />'),m.append('<div id="iaoImageScreenCentrePopperImageCloser" style="position: absolute; right: 10px; top: 10px; background-color: rgba(255,255,255,0.5);border-radius:1px;padding:1px;"><a href="#close" class="nodef"><span class="sr-only">close</span><i class="fas fa-fw fa-times"></i></a></div>'),f||b("#iaoImageScreenCentrePopperImageCloser").prepend('<a href="#rotate-left" class="nodef"><span class="sr-only">rotate</span><i class="fas fa-fw fa-undo"></i></a>&nbsp;<a href="#rotate-right" class="nodef"><span class="sr-only">rotate</span><i class="fas fa-fw fa-redo"></i></a>&nbsp;'),m.find("img").one("load",function(){d&&""!=d&&m.find("img").css("width",d),e&&""!=e&&m.find("img").css("height",e),g=m.find("img").width(),i=m.find("img").height(),j=b(window).width(),k=b(window).height(),m.find("img").css("width","1px").css("height","1px"),m.css("overflow","hidden").css("top",Math.round(k/2)+"px").css("left",Math.round(j/2)+"px").css("display","block"),h.util.bringToFront(m,':not([class*="mce-"],.tooltip,.popover)'),m.find("img").animate({width:g,height:i},"fast"),m.animate({left:Math.round(j/2)-Math.round(g/2),top:Math.round(k/2)-Math.round(i/2)},"fast",function(){m.css("width",Math.round(g)+"px").css("height",Math.round(i)+"px"),m.find('a[href^="#rotate"]').on("click",function(a){a.preventDefault();var c=b(this).parents(".image-popper").eq(0),d=c.find("img");d.css("transition","all .3s");var e=parseFloat(d.css("width").replace("px","")),f=parseFloat(d.css("height").replace("px","")),g="#rotate-left"==b(this).attr("href")?-90:90,h=(d.data("rotation")?d.data("rotation"):0)+g;if(-360>h&&(h=0),d.css("transform","rotate("+h+"deg)"),d.data("rotation",h),90==Math.abs(h)||270==Math.abs(h)){c.css("width",f),c.css("height",e);var i=(e-f)/2;d.css("transform","translateX(-"+i+"px) translateY("+i+"px) rotate("+h+"deg)")}else c.css("width",e),c.css("height",f);c.css("left",Math.round(b(window).width()/2)-Math.round(c.width()/2)+"px").css("top",Math.round(b(window).height()/2)-Math.round(c.height()/2)+"px")}),m.find('a[href="#close"]').on("click",function(a){a.preventDefault(),m.css("display","none")})})}),m.find("img").prop("src",l),m},h.showMetadataPopup=function(a,c,d,e){var f=b(a);if(!f.data("popped")||!f.attr("data-ind-key")){c?f.attr("data-ind-key",c):(c=f.attr("href"),0==c.toLowerCase().indexOf("/#metadata:")&&(c=c.substring("/#metadata:".length)),0==c.toLowerCase().indexOf("#metadata:")&&(c=c.substring("#metadata:".length)),f.attr("data-ind-key",c)),d&&f.attr("data-src-url",d);var g=f.data("popover-container")?f.data("popover-container"):b("body .iao-content").length>0&&!b("body").hasClass("iao-content")?"body .iao-content:eq(0)":"body",i={content:function(){return'<div id="metadata_'+c+'" class="metadata-container"><p>Please wait. Contacting <a href="'+h.metadataUrl+'">metadata service...</a></p></div>'},html:!0,container:g,trigger:"manual",placement:e&&e.placement?e.placement:"bottom"};e&&e.template?i.template=e.template:e&&e.maxWidth&&(i.template='<div class="popover" role="tooltip" style="width: '+e.maxWidth+"; max-width: "+e.maxWidth+'"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'),
f.popover(i).on("show.bs.popover",function(){var a=b(this).data("ind-key");b('.popover[data-metadata-for="'+a+'"]').remove()}).on("shown.bs.popover",function(){var a=b(this).data("ind-key"),c=b(this).data("src-url")?b(this).data("src-url"):b(this).parents(".iaProfileSection").data("catalog-url")?b(this).parents(".iaProfileSection").data("catalog-url"):h.dataStoreUrl,d="__metapop"+a+(new Date).getTime().toString();b(this).prop("id",d),h.datamanager.populateDataStoreMetadataPopup(a,c,c?null:h.metadataUrl,{direct:!0,fields:h.metadataTerms?h.metadataTerms:"Description,Subject,Source,Issued,LastPublished,Spatial,Temporal,Rights,Keywords,Status,LastRevised,LastUpdated,Creator,Publisher,UpdateFrequency",token:h.getToken(),done:function(c){c.parents(".popover").attr("data-metadata-for",a);var e=c.parents(".popover").find(".popover-title");e.children(".closer").remove(),e.prepend('<div class="closer" style="float: right; cursor: pointer;" data-target="'+d+'"><i class="fas fa-times"></i></div>'),e.find(".closer").on("click",function(){b('a[id="'+b(this).attr("data-target")+'"]').popover("hide")})}})}),f.data("popped",!0)}f.popover("show")},h.getPagePoint=function(a){var b={pageX:0,pageY:0};if(a.type&&"touch"==a.type.substring(0,5).toLowerCase()&&a.originalEvent&&a.originalEvent.changedTouches.length>0){var c=a.originalEvent.changedTouches[a.originalEvent.changedTouches.length-1];b.pageX="undefined"!=typeof c.pageX?c.pageX:c.clientX,b.pageY="undefined"!=typeof c.pageY?c.pageY:c.clientY}else if(a.type&&"touch"==a.type.substring(0,5).toLowerCase()&&a.originalEvent&&a.originalEvent.targetTouches.length>0){var c=a.originalEvent.targetTouches[a.originalEvent.targetTouches.length-1];b.pageX="undefined"!=typeof c.pageX?c.pageX:c.clientX,b.pageY="undefined"!=typeof c.pageY?c.pageY:c.clientY}else if(a.type&&"touch"==a.type.substring(0,5).toLowerCase()&&a.originalEvent&&a.originalEvent.touches.length>0){var c=a.originalEvent.touches[a.originalEvent.touches.length-1];b.pageX="undefined"!=typeof c.pageX?c.pageX:c.clientX,b.pageY="undefined"!=typeof c.pageY?c.pageY:c.clientY}else"undefined"!=typeof a.pageX&&(b.pageX=a.pageX,b.pageY=a.pageY);return b},h.bindPages=function(a){var c=a&&a.report?a.report.jquery?a.report:b(a.report):b(".profileReport").eq(0),d=c.find(".iaProfileSection");if((!a||"undefined"==typeof a.size||"no,false,1".indexOf(a.size.toString().toLowerCase()<0))&&(c.css("width",d.eq(0).width()+"px"),c.css("height",d.eq(0).height()+"px")),c.data("currentPage",0),h.getPageManager(c.prop("id"),!0),b(window).off("resize"),b(window).on("hashchange",function(){if(window.location.hash&&"#page"==window.location.hash.substring(0,5).toLowerCase()){var a=parseInt(window.location.hash.substring(5))-1;h.setPage(a,c.data("currentPage"),!1,{container:c})}}),h.setPage(0,c.data("currentPage"),!1,{container:c}),window.parent&&window!=window.parent&&(c.attr("data-report-id")||a&&a.reportId)){var e=c.attr("data-report-id")||a&&a.reportId;window.parent.postMessage({id:e,report:{height:c.height()}},"*")}},h.bindFrameMessaging=function(a,c,d){var e=b(".iaProfileSection"),f=0,g=0,i=0,j=e.parents(".profileReport").eq(0);if(j.attr("data-report-id",a),h.buildExtendedToolTips(e,{container:e.parents(".profileReport").eq(0)}),e.each(function(a,c){h.buildWidgetDataRollovers({page:a,container:b(c).parents(".profileReport").eq(0),metadata:!0,target:b(c)}),h.buildWidgetTableRenderers({page:a,container:b(c).parents(".profileReport").eq(0),target:b(c)});var d=e.find('a[href^="#metadata:"],a[href^="/#metadata:"]');d.off("click").on("click",function(a){a.preventDefault();var c=b(this).attr("href").split(":")[1];c&&h.showMetadataPopup(this,c,null,{maxWidth:"33vw"})}).attr("arial-label","Metadata").attr("href",function(){return b(this).attr("href").replace(/^#metadata:(.*)$/,"/#metadata:$1")}),f=Math.max(b(c).width(),f),g=Math.max(b(c).height(),g),i+=b(c).outerHeight(!0)}),h.createSectionToggles({container:e.parents(".profileReport").eq(0),selector:"h2",id:a,geo:c}),window.parent&&window!=window.parent){var k=!d||"undefined"==typeof d.hash||"false,no,0,allow".indexOf(d.hash.toString().toLowerCase())<0,l=!d||"undefined"==typeof d.resize||"false,no,0,allow".indexOf(d.resize.toString().toLowerCase())<0;window.parent.postMessage({section:{width:f,height:g},report:{height:i},id:a,feature:c,type:"startup"},"*"),b('a[href^="#"]').on("click",function(c){var d=b(this).attr("href").substring(1);if("top:"==d.substring(0,4))k&&c.preventDefault(),window.parent.postMessage({url:d.substring(4),type:"navigation-top",id:a,target:"_top"},"*");else{var e=b("#"+d);if(e&&1==e.length){k&&c.preventDefault();var f=e.offset().top;window.parent.postMessage({elementId:d,offset:f,type:"navigation-anchor",id:a},"*")}}}),b("a").not('[href^="#"]').on("click",function(){var c=b(this).attr("href"),d=b(this).attr("target");c&&""!=c&&window.parent.postMessage({url:c,type:"navigation-page",id:a,target:d&&""!=d?d:"_self"},"*")}),l||b(window).on("resize",function(){clearTimeout(b("body").data("resizeTimeoutId"));var d=setTimeout(function(){var d=0,e=0,f=0;b(".profileReport .iaProfileSection").each(function(a,c){d=Math.max(b(c).width(),d),e=Math.max(b(c).height(),e),f+=b(c).outerHeight(!0)}),window.parent.postMessage({section:{width:d,height:e},report:{height:f},id:a,feature:c,type:"resize"},"*")},200);b("body").data("resizeTimeoutId",d)}),b(window).on("scroll",function(){clearTimeout(b("body").data("scrollTimeoutId"));var d=setTimeout(function(){var d=b(window).scrollTop();window.parent.postMessage({report:{scrollTop:d},id:a,feature:c,type:"scroll"},"*")},50);b("body").data("scrollTimeoutId",d)})}},h.trackUserAction=function(a,b){window.woopra&&window.woopra.track&&(b&&"string"==typeof b.toLowerCase()?b=h.parseQueryString(b):b||(b={url:window.location.href,title:document.title}),b.url||(b.url=window.location.href),window.woopra.track(a.toLowerCase(),b,function(a){console.log(a)}))}}(EmbeddedIAO,jQuery),window.EmbeddedIAO=function(a,b){function c(c,d,e,f){var g,h,i=c.split("/").pop(),j=a.getToken();b.getJSON(c+"/queryAttachments?objectIds="+d.join(",")+"&f=json"+(j?"&token="+j:""),function(a){if(a.attachmentGroups)for(var d in a.attachmentGroups)if(h=b(e.replace(/\{0\}/g,i).replace(/\{1\}/g,a.attachmentGroups[d].parentObjectId.toString())),a.attachmentGroups[d].attachmentInfos)for(var k in a.attachmentGroups[d].attachmentInfos)g=c+"/"+a.attachmentGroups[d].parentObjectId+"/attachments/"+a.attachmentGroups[d].attachmentInfos[k].id+(j?"?token="+j:""),h.append("image"==a.attachmentGroups[d].attachmentInfos[k].contentType.split("/")[0]?'<a href="'+g+'" class="att-link" target="_blank"><img class="att-image '+(f?f:"")+'" style="max-width: 100%; margin-bottom: 2px;" alt="'+a.attachmentGroups[d].attachmentInfos[k].keywords+'" src="'+g+'" title="'+a.attachmentGroups[d].attachmentInfos[k].name+'" /></a>':'<a href="'+g+'" class="att-link" target="_blank">'+a.attachmentGroups[d].attachmentInfos[k].name+"</a>")})}function d(a,b,c){if(v&&"cookie"==v.toLowerCase()){var d=new Date;d.setTime(d.getTime()+24*c*60*60*1e3);var e="expires="+d.toUTCString();document.cookie=a+"="+encodeURIComponent(b)+";"+e+";path=/"}else localStorage.setItem(a,b)}function f(a){if(!v||"cookie"!=v.toLowerCase()){var b=localStorage.getItem(a);return b}for(var c=a+"=",d=document.cookie.split(";"),e=0;e<d.length;e++){for(var f=d[e];" "==f.charAt(0);)f=f.substring(1);if(0==f.indexOf(c))return decodeURIComponent(f.substring(c.length,f.length))}return""}function g(a,c){var d,e,f,g,i=[],j=(a.labelFormat||"full").toLowerCase();if(a.seriesType&&"indicator"==a.seriesType.toLowerCase()&&a.source.selector&&a.source.selector.length>0){if(c&&c.features)for(var k=0;k<a.source.selector.length;k++){d={x:[],y:[],type:a.type||"bar",name:a.source.selector[k]},a.fill&&(d.fill=a.fill);for(var l={},m=0;m<c.fields.length;m++)f=c.fields[m].alias,e=c.fields[m].name,l[e]=f;g=[];for(var n=0;n<c.features.length;n++)for(var o in c.features[n].attributes)o!=a.source.featureIdField&&o!=a.source.featureNameField&&l[o]&&(e=c.features[n].attributes[o],f=l[o].split("|"),0==f.indexOf(a.source.selector[k])&&g.push({key:"date"==j&&f.length>1?f[1]:"name"==j?c.features[n].attributes[a.source.featureNameField]:f.join(" | ")+c.features[n].attributes[a.source.featureNameField],value:e}));a&&"date"==j&&!a.noSort&&g.sort(h);for(var m=0;m<g.length;m++)d.x.push(g[m].key),d.y.push(g[m].value);a&&a.palette&&(d.marker={color:k<a.palette.length?a.palette[k]:a.palette[k%a.palette.length]}),i.push(d)}}else if(c&&c.features){for(var l={},m=0;m<c.fields.length;m++)f=c.fields[m].alias,e=c.fields[m].name,l[e]=f;for(var n=0;n<c.features.length;n++){d={x:[],y:[],type:a.type||"bar",name:c.features[n].attributes[a.source.featureNameField]},a.fill&&(d.fill=a.fill),g=[];for(var o in c.features[n].attributes)o!=a.source.featureIdField&&o!=a.source.featureNameField&&l[o]&&(e=c.features[n].attributes[o],f=l[o].split("|"),g.push({key:"date"==j&&f.length>1?f[1]:"name"==j?f[0]:f.join(" | "),value:e}));a&&"date"==j&&!a.noSort&&g.sort(h);for(var m=0;m<g.length;m++)d.x.push(g[m].key),d.y.push(g[m].value);a&&a.palette&&(d.marker={color:n<a.palette.length?a.palette[n]:a.palette[n%a.palette.length]}),i.push(d)}}if(i&&i.length>0){var p={barmode:"group",margin:{b:40,l:60,r:60,t:40,pad:10},font:{family:a.fontFamily?a.fontFamily:"Roboto"},plot_bgcolor:"rgba(255,255,255,0)",paper_bgcolor:"rgba(255,255,255,0)"};if(a.layout)for(var q in a.layout)p[q]=a.layout[q];var r={showLink:!1,displayModeBar:!1};if(a.plot)for(var q in a.plot)r[q]=a.plot[q];var s=a.container.jquery?a.container.get(0):a.container;if(Plotly.newPlot(s,i,p,r),!a.fixedSize){var t=a.container.jquery?a.container:b("string"==typeof a.container?"#"+a.container:a.container);b(window).on("resize",function(){var a=t.data("resizeTimeoutId");clearTimeout(a),a=setTimeout(function(){Plotly.Plots.resize(t.get(0))},250),t.data("resizeTimeoutId",a)})}}}function h(a,b){return a.key.localeCompare(b.key)}function i(c){var d=c||{},e=d.group||b("body").data("iao-data-group"),f=d.item,g=d.token||a.getToken(),h=function(){};d&&d.admin?(b("#iaoTempTableItem").remove(),b("form").append('<input type="text" id="iaoTempTableItem" value="" style="display: none;" />'),b("#iaoTempTableItem").on("input",function(){var a=b(this).val();"http"==a.substring(0,4)&&k(a,b(this).data("arc-item-name"),d)}),a.datamanager.showWebArcTableChooserDialog(b("#iaoTempTableItem"),{searchTerm:"ia-item-type=StoreMasterTable OR ia-item-type=CatalogMasterTable"})):(b("body").data("iao-data-group")||d.group||d.item)&&(d&&"undefined"!=typeof d.mask&&1!=d.mask?d&&"function"==typeof d.mask&&(h=d.mask):h=a.showPageMask,h(a.util.replaceAll(a.getText("DataCatalogPreOpen.MessageFormat","Querying your data catalog. Please wait..."),["edit"])),b.ajax({url:"https://www.arcgis.com/sharing/rest/search",data:{f:"json",token:g,q:f?"id:"+f:"group:"+e+" AND (ia-item-type=CatalogIndexMap OR ia-item-type=StoreIndexMap OR ia-item-type=CatalogMasterTable OR ia-item-type=StoreMasterTable)",sortField:"title",sortOrder:"asc",num:100},dataType:"json"}).done(function(b){var c,f,g,h=d.load;for(var i in b.results)g=b.results[i].tags,(g.indexOf("ia-item-type=CatalogIndexMap")>=0||g.indexOf("ia-item-type=StoreIndexMap")>=0)&&(c=b.results[i]),(g.indexOf("ia-item-type=CatalogMasterTable")>=0||g.indexOf("ia-item-type=StoreMasterTable")>=0)&&(f=b.results[i]);if(f)d&&d.popup?j(f.url+"/0",f.title,f.id):d&&d.container&&(d.load=null,l(f.url.replace("http:",window.location.protocol)+"/0",f.title,f.id,d),h&&h({map:c,table:f}));else{d&&"undefined"!=typeof d.mask&&1!=d.mask||a.hidePageMask();var k=a.getText("DataCatalogGroupMissingErrorDialog.MessageFormat",'<p>Report Builder could not find data catalog information for your account. This is probably due to a mis-configuration on ArcGIS Online -  please contact <a href="mailto:support@instantatlas.com?subject=Data%20Catalog%Failure,%20{0},%20{1},%20{2}">support@instantatlas.com</a>.</p>');k=a.util.replaceAll(k,[e,f?f.title:"MissingTable",c?c.title:"MissingMap"]),a.showPopupScriptDialog(a.getText("DataCatalogGroupMissingErrorDialog.Title","Data Catalog Details Missing"),k,{modal:!0,type:"error",buttons:"ok",ok:function(){},focus:"ok"})}}).fail(function(b,c,f){d&&"undefined"!=typeof d.mask&&1!=d.mask||a.hidePageMask();var g=a.getText("DataCatalogGroupErrorDialog.MessageFormat",'<p>Report Builder could not find data catalog information for your account. Sometimes this is just due to a network error - in this case the best approach is to <strong>reload</strong> this page.</p><p>If this error is persistent please contact <a href="mailto:support@instantatlas.com?subject=Data%20Catalog%Failure,%20{0},%20{1},%20{3}">support@instantatlas.com</a>.</p>');g=a.util.replaceAll(g,[e,b.status,c,f]),a.showPopupScriptDialog(a.getText("DataCatalogConnectionErrorDialog.Title","Data Catalog Connection Failed"),g,{modal:!0,type:"error",buttons:"okcancel",buttonText:{ok:a.getText("DataCatalogGroupErrorDialog.ContinueButton.Text","Continue"),cancel:a.getText("DataCatalogGroupErrorDialog.ReloadButton.Text","Reload")},ok:function(){},cancel:function(){window.location.reload(!0)},focus:"cancel"})}))}function j(c,d){c&&"http"==c.substring(0,4)?k(c,d):b.getJSON(a.applicationDomain+"/sharing/rest/content/items/"+c+"?f=json&token="+a.getToken(),function(a){var b=a.url;b&&k(b,a.title)})}function k(c,d,e){var f='<div class="form-horizontal" style="flex: 1 0 100%;"><div class="row spaced"><div class="col-md-3 text-right"><label for="iaoTempGeoDropDown" class="control-label">Choose Geography:</label></div><div class="col-md-9"><select id="iaoTempGeoDropDown" class="form-control"></select></div></div><div class="row spaced explorer-tree-holder" style="min-height: calc(100vh - 300px);"><div class="col-md-3 text-right"><label class="control-label">Available Data:</label></div><div class="col-md-9" style="height: 100%; min-height: calc(100vh - 300px);"><div class="explorerTree" style="height: 100%; min-height: calc(100vh - 300px);"></div></div></div>';a.showPopupScriptDialog(a.getText("DataCatalogExplorerPopup.Title",'<i class="fas fa-fw fa-database"></i> <span class="iao-catalog-name"></span> Data Catalog | Browse...'),f,{modal:!0,large:!0,maximizeable:!0,buttons:"",shown:function(f){b(f.target).find(".modal-body").css("display","flex"),b(f.target).find(".iao-catalog-name").text(d);var g=b(f.target).find(".explorer-tree-holder"),h="calc(100% - "+Math.round(g.siblings("div.row").outerHeight(!0))+"px)";g.css("height",h).css("min-height",h).css("max-height",h).css("flex","1 0 100%");var i=b(f.target).find(".modal-body .explorerTree");i.css("height","100%"),a.showMask(i,{message:"Querying geographies. Please wait..."}),a.datamanager.getDataCatalogGeoSource(c,null,{token:a.getToken(),orderBy:"Item_Order,ID,NAME",done:function(e){if(e.success){"undefined"==typeof e.geo.splice&&(e.geo=[e.geo]);for(var f in e.geo)b("#iaoTempGeoDropDown").append('<option class="feature-layer-option" value="'+e.geo[f].id+'"'+(e.geo[f].idField?' data-feature-id-field="'+e.geo[f].idField+'"':"")+(e.geo[f].nameField?' data-feature-name-field="'+e.geo[f].nameField+'"':"")+">"+e.geo[f].name+"</option>");b("#iaoTempGeoDropDown").on("change",function(){var e=b(this).val();m(c,d?d:c,e,i,null,!0,null,function(b){b?a.showMask(i,{message:b}):a.hideMask(i)})}),a.hideMask(i),b("#iaoTempGeoDropDown").trigger("change")}}}),e&&e.admin&&b(f.target).find(".modal-footer").append('<div class="pull-right iao-explorer-link"><a href="http://iao.blob.core.windows.net/data-explorer/index.html#/indicators?mastertableUrl='+encodeURIComponent(c)+'" target="iaoDataCatalogExplorerWindow">'+a.getText("DataCatalogExplorerExternalLink.Text",'Search &amp; Explore <i class="fas fa-external-link-alt"></i>')+"</a></div>")},hidden:function(a){b(a.target).find(".modal-body").css("display",""),b(a.target).find(".modal-footer .iao-explorer-link").remove()}})}function l(c,d,f,g){var h="iaoDropDown"+a.generateGuid(),i='<div class="form-horizontal iao-data-catalog-container"><div class="row spaced"><div class="col-md-12"><select id="'+h+'" class="form-control"></select></div></div><div class="row spaced explorer-tree-holder"><div class="col-md-12"><div class="explorerTree"></div></div></div>',j=g.container.jquery?g.container:b(g.container);j.find(".iao-data-catalog-container").remove(),j.append(i),j.find(".iao-catalog-name").text(d);var k=j.find(".explorer-tree-holder"),l="calc(100% - "+Math.round(k.siblings("div.row").outerHeight(!0))+"px)";(!g||g.inlineCss)&&k.css("height",l).css("min-height",l).css("max-height",l).css("flex","1 0 100%");var n=j.find(".explorerTree");(!g||g.inlineCss)&&n.css("height","100%");var o=function(){};g&&"undefined"!=typeof g.mask&&1!=g.mask?g&&"function"==typeof g.mask&&(o=g.mask):o=function(b){e?a.showMask(n,{message:b}):a.hideMask(n)},o("Querying geographies. Please wait..."),a.datamanager.getDataCatalogGeoSource(c,null,{token:a.getToken(),orderBy:"Item_Order,ID,NAME",done:function(a){if(a.success){"undefined"==typeof a.geo.splice&&(a.geo=[a.geo]);for(var e in a.geo)b("#"+h).append('<option value="'+a.geo[e].id+'"'+(a.geo[e].idField?' data-feature-id-field="'+a.geo[e].idField+'"':"")+(a.geo[e].nameField?' data-feature-name-field="'+a.geo[e].nameField+'"':"")+">"+a.geo[e].name+"</option>");b("#"+h).on("change",function(){var a=b(this).val();m(c,d?d:c,a,n,g.indicatorClick,!0,function(a){f&&a.container&&(a.container.hasClass("data-catalog-tree-root")?a.container:a.container.find(".data-catalog-tree-root")).attr("data-uuid",f),f&&a.catalog&&(a.catalog.id=f),g.done&&g.done(a)},o)}),o(),b("#"+h).trigger("change")}}})}function m(c,d,e,f,g,h,i,j){j("Querying indicators. Please wait..."),f.find(".data-catalog-tree-root").remove(),f.append('<div class="data-catalog-tree-root" data-uuid="'+c+'" data-src-url="'+c+'"><div class="i-name">'+d+'</div><ul class="igroup-children"></ul></div>');var k=f.find('.data-catalog-tree-root[data-uuid="'+c+'"]').detach();k.addClass("data-catalog-source"),a.datamanager.getDataCatalogIndicatorModel(c,{token:a.getToken(),geo:e,removeEmpty:!0,done:function(l){var m=l.model.getProperty("metadataUrl")||a.metadataUrl;a.datamanager.populateIndicatorTree(k.children(".igroup-children"),{indicators:l.model.getThemes(),model:l.model,allowModification:!1,showSourceFieldName:!1,elementIdPrefix:"dsTglTree-",useDragAndDrop:!1,showModelLevelInfo:!1,allowAddSource:!1,showSelection:!1,complete:function(l){var n,o,p;j(),f.append(k),p=l.container.parent(),p.addClass("data-tree-container"),m&&p.attr("data-metadata-url",m),l.container.find(".igroup-name > a").trigger("click");var q=b("body .iao-content").length>0?"body .iao-content:eq(0)":"body";if(l.container.find(".i-aliased").tooltip({container:q}),b("#iaoTempIndicatorsSearch").remove(),f.parents(".modal-body").append('<div id="iaoTempIndicatorsSearch" class="form-horizontal form-inline indicator-search-panel" style="position: absolute; bottom: -48px; left: 20px; z-index: 9999; display: none;"><span class="input-group"><input type="text" id="iaoTempIndicatorsSearchBox" name="iaoTempIndicatorsSearchBox" size="10" value="" class="form-control control-exp-focus" /><span class="input-group-btn"><button id="iaoTempIndicatorsSearchBtn" class="small btn btn-default" style="text-decoration:none; font-size: 14px;"><span title="Search for indicators within the list" class="iao-tooltip"><i class="fas fa-fw fa-search"></i></span></button></span></span></div>'),m){a.metadataExplorerUrl&&(p=l.container.parents(".data-tree-container").eq(0),p.data("src-url")&&(p.children(".igroup-name").append('<span class="small" style="margin-left: 2em;"><button type="button" class="nodef btn btn-xs metadata-explorer" title="'+a.util.replaceAll(a.getText("DataCatalogExplorerLink.ToolTip","Explore the data available in {0}"),[p.children(".igroup-name").find("label").text()])+'">'+a.getText("DataCatalogExplorerLink.Text",'<i class="fas fa-fw fa-search"></i><i class="fas fa-external-link-alt small"></i>')+"</button></span>"),p.find(".metadata-explorer").on("click",function(c){c.preventDefault();var d=a.metadataExplorerUrl+"?metadataUrl="+encodeURIComponent(b(this).parents(".data-tree-container").data("metadata-url")||a.metadataUrl)+"&mastertableUrl="+encodeURIComponent(b(this).parents(".widgetIndicators").data("src-url").split(";")[0]),e=window.open(d,"iaoDataCatalogExplorer");e&&e.focus()}).tooltip({container:q}))),n=l.container.find(".ind > .i-date");var r=h?'<div class="btn-group"><button type="button" class="btn btn-xs ind-webmap-link" tabindex="0" title="Add this indicator to the map for the current layer/geography"><i class="fas fa-plus-circle"></i></button><button type="button" class="btn btn-xs dropdown-toggle" data-toggle="dropdown"><i class="fas fa-caret-down"></i></button><ul class="dropdown-menu"><li><a href="#current" class="ind-webmap-link"><i class="fas fa-plus"></i><span class="fa-stack ia-layers-icon"><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i></span> ...for active map layer</a></li><li><a href="#all" class="ind-webmap-link"><i class="fas fa-plus"></i><span class="fa-stack ia-layers-icon"><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i></span> ...for all map layers</a></li></ul></div>':'<button type="button" class="btn btn-xs ind-webmap-link" tabindex="0" title="Add this indicator to the map"><i class="fas fa-plus-circle"></i></button>&nbsp;</span>';n.after('<span class="ind-controls small"><a href="#metadata" class="ind-meta-link" tabindex="0"><span class="sr-only">metadata</span><i class="fas fa-info-circle"></i></a>&nbsp;'+r);var o=l.container.find("a.ind-meta-link"),q=l.container.parents(".iao-content").not("html").length>0?l.container.parents(".iao-content").eq(0):"body";a.datamanager.bindMetadataPoppers(o,l.container.parents(".modal").length>0?l.container.parents(".modal").eq(0):q,{placement:l.container.parents(".modal").length>0?"bottom":"right"});var s=l.container.find(".ind-webmap-link");l.container.on("click",".ind-webmap-link",g||function(a){a.preventDefault();var c=b(this).parents(".ind").eq(0).attr("data-ind-uuid"),d=b(this).parents(".ind").eq(0).find(".i-name").text(),e=b(this).parents(".data-catalog-source").data("src-url");t.insertIndicatorIntoMap(c,e,d),b(this).parents(".modal").modal("hide")}),s.tooltip({container:f.parents(".modal").length>0?f.parents(".modal").eq(0):q,placement:"bottom"})}i&&i({success:!0,container:f,catalog:{url:c,name:d},geo:e}),j()}})},fail:function(b,d,e){j();var f=a.getText("DataCatalogConnectionErrorDialog.MessageFormat","Report Builder could not connect to the data catalog index table at <strong>{0}</strong>. You can continue without this but you will encounter problems when editing widgets. Often the best approach is to <strong>reload</strong> this page.");f=a.util.replaceAll(f,[c,b.status,d,e]),a.showPopupScriptDialog(a.getText("DataCatalogConnectionErrorDialog.Title","Data Catalog Connection Failed"),f,{modal:!0,type:"error",buttons:"okcancel",buttonText:{ok:a.getText("DataCatalogConnectionErrorDialog.ContinueButton.Text","Continue"),cancel:a.getText("DataCatalogConnectionErrorDialog.ReloadButton.Text","Reload")},ok:function(){i&&i({success:!1,data:b})},cancel:function(){window.location.reload(!0)},focus:"cancel"})}})}function n(a){"use strict";var b=[];return require(["dojo/_base/array","dojo/Deferred","dojo/when"],function(c,d,e){var f=[];if(a instanceof Array)f=a;else for(var g in a)Object.hasOwnProperty.call(a,g)&&f.push(a[g]);c.forEach(f,function(a){b.push(e(a).always(function(a){return a}))})}),b}function o(a,b,c,d,e){var f=new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,new esri.Color([0,0,0]),.5),null),g=new esri.tasks.ClassBreaksDefinition;g.classificationField=b,g.classificationMethod=c?c:"quantile",g.breakCount=d||5,g.baseSymbol=f,g.standardDeviationInterval=1;var h;if(h=new esri.tasks.AlgorithmicColorRamp,e&&1==e.length)for(var i in t.arcColorRamps)if(t.arcColorRamps[i].name.toLowerCase()==e[0].toLowerCase()){e=t.arcColorRamps[i].colors;break}h.fromColor=e[0]?"rgb"==e[0].substring(0,3)?esri.Color.fromRgb(e[0]):esri.Color.fromHex(e[0]):esri.Color.fromRgb("rgb(202,155,155)"),h.toColor=e[e.length-1]?"rgb"==e[e.length-1].substring(0,3)?esri.Color.fromRgb(e[e.length-1]):esri.Color.fromHex(e[e.length-1]):esri.Color.fromRgb("rgb(202,0,19)"),h.algorithm="cie-lab",g.colorRamp=h;var j=new esri.tasks.GenerateRendererParameters;j.classificationDefinition=g;var k=new esri.tasks.GenerateRendererTask(a);return k.execute(j)}function p(c,d){var e=b("#iaoArcUser").val(),f="?f=json&token="+a.getToken();b.getJSON(a.applicationDomain+"/sharing/rest/content/items/"+d+f,function(g){b.getJSON(a.applicationDomain+"/sharing/rest/content/items/"+d+"/data"+f,function(f){f.operationalLayers||(f.operationalLayers=[]);for(var h in c.itemData.operationalLayers)f.operationalLayers.push(c.itemData.operationalLayers[h]);var i={text:JSON.stringify(f),f:"json",token:a.getToken()};a.showPageMask(a.util.replaceAll(a.getText("NewWebMapCommitSpinner.Text","Saving web map <strong>{0}</strong>. Please wait..."),[g.title])),b.ajax({url:a.applicationDomain+"/sharing/rest/content/users/"+e+"/items/"+d+"/update",method:"POST",data:i,dataType:"json"}).done(function(b){console.log(b),a.hidePageMask(),b.success&&t.popWebMapPreview(b.id,function(c,d){d.find(".modal-footer").append('<a href="'+a.applicationDomain+"/home/webmap/viewer.html?webmap="+b.id+'" target="iaoArcGisOnlinePopWindow">'+a.getText("WebMapPreviewDialog.NewWindowLink.Text",'View at arcgis.com <i class="fas fa-external-link-alt small"></i>')+"</a>")})}).fail(function(){console.log(arcItem),a.hidePageMask()})})})}function q(c){var d=c.fail||c.error,e=c.url+(c.token&&c.url.indexOf(c.token)<0&&c.url.indexOf("-public")<0?(c.url.indexOf("?")>0?"&":"?")+c.token:""),f=c.token||(e.indexOf("?")>0?"?"+e.split("?")[1]:"");b.ajax({url:e,dataType:"text",cache:c&&"undefined"!=typeof c.cache?c.cache:!1}).done(function(g,h,i){function j(b){var d,e=(c&&c.rowDelimiter?c.rowDelimiter:"\n",[]),f=c&&c.noHeaderRow?1:2,h=f-1,i=[],j='<table class="table table-striped"><thead><tr>';e=a.datamanager.transfer.convertCsvToRows(g),i=e[0];for(var k=0;k<i.length;k++)j+=b&&b[i[k]]?'<th title="'+i[k]+'">'+b[i[k]]+"</th>":"<th>"+i[k]+"</th>";j+="</tr></thead><tbody>";for(var k=h;k<e.length;k++)if(d=e[k],d&&d.length>=0){j+="<tr>";for(var l=0;l<i.length;l++)j+="<td>"+(l<d.length&&d[l]?d[l].replace("\b",""):"&nbsp;")+"</td>";j+="</tr>"}j+="</tbody></table>";var m=c.done||c.complete;m({status:"OK",source:c.url,data:j})}try{var k=i.getResponseHeader("x-ms-meta-Details");if(k&&""!=k&&(k=JSON.parse(k)),k&&k.associated&&k.associated.model){var l=e.substring(0,e.indexOf("/data/"));l=l.substring(0,l.lastIndexOf("/")+1)+k.associated.model,b.ajax({url:l+f,method:"GET",dataType:"json",cache:!1}).done(function(a){var b={};r(a,b),j(b)}).fail(function(a,b,c){console.log("Model download failure: "+b+", "+c),j()})}else j()}catch(m){d({status:"Error",source:c.url,data:m,message:m.message})}}).fail(function(a,b){d({status:"Error",source:c.url,data:a,message:b})})}function r(a,b){if(a.src&&a.src.fieldName)b[a.src.fieldName]=a.name+(a.date?" "+a.date:"");else if(a.indicators)for(var c=0;c<a.indicators.length;c++)r(a.indicators[c],b);if(a.associates)for(var c=0;c<a.associates.length;c++)r(a.associates[c],b);if(a.themes)for(var c=0;c<a.themes.length;c++)r(a.themes[c],b)}function s(a,b,c){var d;b<a.length?(d=new FileReader,d.addEventListener("loadend",function(){a[b]=d.result,s(a,b+1,c)}),d.readAsText(a[b])):c(a)}var t=a.arcgis=a.arcgis||{};t.embedAttachments=function(a,c){var d=c&&c.container?c.container.jquery?c.container:b(c.container):b(".iaProfileSectionContentWrapper:visible").last();require(["esri/map","esri/layers/FeatureLayer"],function(b,e){var f=new e(c.url,{mode:e.MODE_ONDEMAND}),g=new esri.tasks.Query;g.where=(c.featureIdField?c.featureIdField:"OBJECTID")+" = '"+a+"'";var h=f.selectFeatures(g,esri.layers.FeatureLayer.SELECTION_NEW);h.then(function(){var b=f.queryAttachmentInfos(a);b.then(function(a){if(a&&a.length>0)for(var b=c&&c.imageFormat?c.imageFormat:' style="width: 64px; height: auto;"',e=0;e<a.length;e++)d.append(a[e].contentType&&"image/"==a[e].contentType.substring(0,6).toLowerCase()?'<img src="'+a[e].url+'" id="'+a[e].globalId+'" alt="'+a[e].name+'" title="'+a[e].name+'"'+b+" />":'<a href="'+a[e].url+'" id="'+a[e].globalId+'" title="'+a[e].name+'" target="_blank">'+a[e].name+"</a>")})})})},t.insertAttachments=function(a){var d,e,f,g,h,i=a||{},j=i.container?i.container.jquery?i.container:b(i.container):b(".related-items-table").last(),k=i.config?i.config.jquery?i.config:b(i.config):null,l=i.layout||"FeaturesAreRows",m=null!=k&&k.text()?JSON.parse(k.text()):[],n=i.label||"Attachments",o=i.imgClass||"";if("featuresarerows"==l.toLowerCase())for(var p in m)m[p].key&&m[p].relationshipTable&&(m[p].oids=[],j.find('tbody > tr[data-objectid][data-objectid!=""][data-relationship-id="'+m[p].key+'"]').each(function(){h=b(this).attr("data-objectid"),g=b(this).attr("data-relationship-id"),h&&g&&(m[p].oids.push(h),b(this).append('<td class="att-layer-cell" data-uaid="'+m[p].key+"|"+h+'"></td>'))}),m[p].oids.length>0&&(e=j.find('tbody > tr[data-objectid][data-objectid!=""][data-relationship-id="'+m[p].key+'"]').eq(0).parent().prev("thead").children("tr").last().children("th").last(),e.after('<th class="atts-header">'+n+"</th>"),1==e.parent().prev("tr").length&&1==e.parent().prev("tr").children("th").length&&e.parent().prev("tr").children("th").attr("colspan",e.parent().children("th").length.toString()),m[p].queryUrl=m[p].queryUrl.substring(0,m[p].queryUrl.indexOf("/",m[p].queryUrl.lastIndexOf("/FeatureServer")+1))+"/"+m[p].relationshipTable,c(m[p].queryUrl,m[p].oids,"#"+j.prop("id")+' .att-layer-cell[data-uaid="{0}|{1}"]',o)));else if("featuresarecolumns"==l.toLowerCase())for(var p in m)m[p].key&&m[p].relationshipTable&&m[p].queryUrl&&(m[p].oids=[],d=j.find('thead[data-query-url="'+m[p].queryUrl+'"][data-query-id="'+m[p].key+'"]'),f='<th class="atts-header">'+n+"</th>",d.find('tr > th[data-objectid][data-objectid!=""][data-relationship-id="'+m[p].key+'"]').each(function(){h=b(this).attr("data-objectid"),g=b(this).attr("data-relationship-id"),h&&g?(m[p].oids.push(h),f+='<td class="att-layer-cell" data-uaid="'+m[p].key+"|"+h+'"></td>'):f+='<td class="att-layer-cell"></td>'}),m[p].oids.length>0&&(e=d.next("tbody").children("tr").last(),m[p].queryUrl=m[p].queryUrl.substring(0,m[p].queryUrl.indexOf("/",m[p].queryUrl.lastIndexOf("/FeatureServer")+1))+"/"+m[p].relationshipTable,e.after('<tr id="atts'+m[p].queryUrl.replace(/[^0-9a-zA-Z]/g,"")+'">'+f+"</tr>"),c(m[p].queryUrl,m[p].oids,"#atts"+m[p].queryUrl.replace(/[^0-9a-zA-Z]/g,"")+' .att-layer-cell[data-uaid="{0}|{1}"]',o)))};var u="",v="storage";t.setUser=function(a){u=a},t.getUser=function(){return u},t.setPreferencesStorageMode=function(a){v=a},t.getPreferencesStorageMode=function(){return v=mode},t.getPreferences=function(a,b){var c=f("iao.userPreferences.arcGisOnline."+u.replace(/[^0-9a-zA-Z]/g,"_"));b(c?JSON.parse(c):{})},t.getPreference=function(a,b){var c=f("iao.userPreferences.arcGisOnline."+u.replace(/[^0-9a-zA-Z]/g,"_")),d=b;if(c&&""!=c){for(var e=JSON.parse(c),g=a.split("."),h=e,i=0;i<g.length-1&&("undefined"==typeof h[g[i]]&&(h[g[i]]={}),h=h[g[i]],"string"!=typeof h);i++);var j=g.pop();d="undefined"!=typeof h[j]?h[j]:b}return d},t.setPreference=function(a,b,c){a&&t.getPreferences(!1,function(e){for(var f=a.split("."),g=e,h=0;h<f.length-1;h++)"undefined"==typeof g[f[h]]&&(g[f[h]]={}),g=g[f[h]];var i=f.pop();"undefined"==typeof b?delete g[i]:g[i]=b,d("iao.userPreferences.arcGisOnline."+u.replace(/[^0-9a-zA-Z]/g,"_"),JSON.stringify(e),90),c&&"function"==typeof c&&c(e)})},t.applyUserPreferences=function(){var a=t.getPreference("ui.skin");a&&b("html").addClass(a),a=t.getPreference("ui.font"),a&&b("html").addClass(a)},t.appendUserPreferenceControls=function(c,d,e){
var f,g=c.jquery?c:b(c),h=d?d.jquery?d:b(d):g.children(".btn").last(),i='<ul class="dropdown-menu">',j=["Normal","Dark"],k=["Nunito","Roboto","Rubik","Source Sans Pro"];e&&(i+='<li class="dropdown-header">'+a.getText("UserPreferencesMenu.UserFormat",'<span class="You are signed in as {0}" data-toggle="tooltip" placement="left">{1}</span>').replace(/\{0\}/g,e.username).replace(/\{1\}/g,e.fullName||e.username)+"</li>"),i+='<li class="divider"></li>',i+='<li class="dropdown-header">'+a.getText("UserPreferencesMenu.Skin.Title","Skin")+"</li>";for(var l in j)i+='<li><input type="radio" id="iaoSkinBox_'+j[l]+'" name="iaoSkinBox" class="form-control iao-skin-control" value="skin-'+j[l].replace(/[^0-9a-zA-Z\-\_]/g,"").toLowerCase()+'" />',i+='<label for="iaoSkinBox_'+j[l]+'" class="control-label">'+j[l]+"</label></li>";i+='<li class="divider"></li>',i+='<li class="dropdown-header">'+a.getText("UserPreferencesMenu.Font.Title","Text")+"</li>";for(var l in k)i+='<li><input type="radio" id="iaoFontBox_'+k[l]+'" name="iaoFontBox" class="form-control iao-font-control" value="f-'+k[l].replace(/[^0-9a-zA-Z\-\_]/g,"").toLowerCase()+'" />',i+='<label for="iaoFontBox_'+k[l]+'" class="control-label" style="font-family: \''+k[l]+"';\">"+k[l]+"</label></li>";return i+="</ul>",g.append(i),g.on("change",".iao-skin-control",function(){var a=b(this).parents(".dropdown-menu").find(".iao-skin-control:checked").val();for(var c in j)b("html").removeClass("skin-"+j[c].toLowerCase());b("html").addClass(a),t.setPreference("ui.skin",a)}),g.on("change",".iao-font-control",function(){var a=b(this).parents(".dropdown-menu").find(".iao-font-control:checked").val();for(var c in k)b("html").removeClass("f-"+k[c].replace(/[^0-9a-zA-Z\-\_]/g,"").toLowerCase());b("html").addClass(a),t.setPreference("ui.font",a)}),f=t.getPreference("ui.skin","skin-"+j[0].replace(/[^0-9a-zA-Z\-\_]/g,"").toLowerCase()),g.find('.iao-skin-control[value="'+f+'"]').prop("checked",!0).trigger("change"),f=t.getPreference("ui.font","f-roboto"),g.find('.iao-font-control[value="'+f+'"]').prop("checked",!0).trigger("change"),h.attr("data-toggle","dropdown"),h.dropdown(),g.find('*[data-toggle="tooltip"]').tooltip({container:"body"}),{container:g,button:h,menu:g.children("ul.dropdown-menu").eq(0)}},t.showSimpleQueryResults=function(c){var d=c.where?c.where:"1=1",e={f:"json",outFields:c.outFields?c.outFields:"*",where:d,returnGeometry:!1};!c.anonymous&&a.getToken()&&(e.token=a.getToken()),b.ajax({url:c.url+"/query",data:e,dataType:"json",method:d.length>500?"POST":"GET"}).done(function(a){if(a&&a.fields&&a.features){var d="",e=c&&("undefined"==typeof c.showLabels||1==c.showLabels),f=c&&c.exclusions?c.exclusions:[];if(f.push(a.objectIdFieldName),c.layout&&"table"==c.layout.toLowerCase())for(var g=0;g<a.fields.length;g++)f.indexOf(a.fields[g].name)<0&&(d+='<tr data-field-name="'+a.fields[g].name+'">',e&&(d+='<td class="field-label">'+(a.fields[g].alias?a.fields[g].alias:a.fields[g].name)+"</td>"),d+='<td class="field-value">${'+a.fields[g].name+"}</td></tr>");else for(var g=0;g<a.fields.length;g++)f.indexOf(a.fields[g].name)<0&&(d+='<div class="row" data-field-name="'+a.fields[g].name+'">',e&&(d+='<div class="col-md-3 field-label">'+(a.fields[g].alias?a.fields[g].alias:a.fields[g].name)+"</div>"),d+='<div class="col-md-'+(e?"9":"12")+' field-value">${'+a.fields[g].name+"}</div></div>");var h,i,j="",k=c.layout&&"table"==c.layout.toLowerCase(),l=c.keyField?c.keyField:null,m=c&&c.keyPrefix?c.keyPrefix:"results-",n={};for(var g in a.fields)n[a.fields[g].name]=a.fields[g];for(var g=0;g<a.features.length;g++){h=d,l&&k?j+='<table id="'+m+a.features[g].attributes[l]+'" class="query-results query-results-table"><tbody>':l&&k&&(j+='<div id="'+m+a.features[g].attributes[l]+'" class="query-results">');for(var o in a.features[g].attributes)if(o!=a.objectIdFieldName){if(i=a.features[g].attributes[o],i&&"esriFieldTypeDate"==n[o].type&&(i=new Date(i).toISOString().substr(0,10)),i&&("undefined"==typeof c.autoLink||1==c.autoLink)&&i.toString().indexOf("http")>=0){i=i.toString().split(" ");for(var p=0;p<i.length;p++)(0==i[p].indexOf("http:")||0==i[p].indexOf("https:"))&&(i[p]='<a href="'+i[p]+'" target="_blank">'+i[p]+'<i class="fas fa-external-link-alt"></i></a>');i=i.join(" ")}h=h.replace("${"+o+"}",i&&null!=i?i:"")}j+=h,l&&k?j+="</tbody></table>":l&&(j+="</div>")}k&&!l?j='<table class="query-results query-results-table"><tbody>'+j+"</tbody></table>":l||(j='<div class="query-results">'+j+"</div>");var q=c.container.jquery?c.container:b('*[id="'+c.container+'"]');c&&c.popup?q.popover({content:j,placement:c.popupPosition?c.popupPosition:"top auto",trigger:"manual"}).popover("show"):q.append(j),c.done&&c.done(a,q,j)}})},t.drawChart=function(a){var c,d=a.source.featureIdField+" IN ('"+a.source.featureIds.join("','")+"')";a.source.featureNameField=a.source.featureNameField||a.source.featureIdField,a.source.fields?(c=a.source.featureIdField+","+a.source.featureNameField+","+("undefined"!=typeof a.source.fields.splice?a.source.fields.join(","):a.source.fields),b.ajax({url:a.source.url+"/query",data:{f:"json",outFields:c,where:d,returnGeometry:!1},dataType:"json"}).done(function(b){g(a,b)})):a.source.selector&&b.ajax({url:a.source.url,data:{f:"json"},dataType:"json"}).done(function(e){c=[],a.source.selector="undefined"!=typeof a.source.selector.splice?a.source.selector:a.source.selector.split(",");for(var f=0;f<e.fields.length;f++)for(var h=0;h<a.source.selector.length;h++)e.fields[f].alias&&0==e.fields[f].alias.toLowerCase().indexOf(a.source.selector[h].toLowerCase())&&c.push(e.fields[f].name);c=c.slice(-1*Math.min(c.length,a.source.count)),c.push(a.source.featureIdField),c.push(a.source.featureNameField),c=c.join(","),b.ajax({url:a.source.url+"/query",method:c.length>1e3?"POST":"GET",data:{f:"json",outFields:c,where:d,returnGeometry:!1},dataType:"json"}).done(function(b){g(a,b)})})},t.updateItemData=function(a,c,d){var e=d||{},f=e.url||"https://www.arcgis.com/sharing/rest/content/users/"+e.username+"/items/"+a+"/update";b.ajax({method:"POST",url:f,data:{f:"json",text:c,token:e.token},dataType:"json"}).done(function(a){e.complete?e.complete(a):e.done?e.done(a):alert(JSON.stringify(a))}).fail(function(a,b,c){e.fail?e.fail(a,b,c):alert(a.status+", "+b+", "+c)})},t.createAppCopy=function(c,d,e){var f=e||{};if(f.platformUrl=f.orgUrl||"https://www.arcgis.com",!f.token)throw"&token must be specified";if(!f.username)throw"User name must be specified";var g=f.fail||function(a,b,c){console.log(a.status+": "+b+", "+c)},h=f.done||f.complete||function(a){console.log('No "done" function!'),console.log(a)},i=f.platformUrl+"/sharing/rest/content/items/"+c;b.ajax({method:"GET",url:i,data:{f:"json",token:f.token},dataType:"json"}).done(function(d){i=f.platformUrl+"/sharing/rest/content/items/"+c+"/data",b.ajax({method:"GET",url:i,data:{f:"json",token:f.token},dataType:"json"}).done(function(c){var e={source:f.creator?f.creator:c.creator,folderId:f.folder?f.folder:null,values:{webmap:f.webmap?f.webmap:c.values.webmap}},j=d.title,k=d.tags?d.tags.join(","):"";if(f.replacements)for(var l in f.replacements)j=a.util.replaceAll(j,l,f.replacements[l]),k=a.util.replaceAll(k,l,f.replacements[l]);var m="title="+encodeURIComponent(j)+"&tags="+encodeURIComponent(k)+"&snippet="+(d.snippet?encodeURIComponent(d.snippet):"")+"&name="+(d.name?encodeURIComponent(d.name):"")+"&typeKeywords="+(d.typeKeywords?encodeURIComponent(d.typeKeywords.join(",")):"Web%20Map%2C%20Map%2C%20Online%20Map%2C%20Mapping%20Site%2C%20JavaScript%2C%20Ready%20To%20Use")+"&type=Web%20Mapping%20Application&url="+encodeURIComponent(d.url)+"&text="+encodeURIComponent(JSON.stringify(e))+"&overwrite=false&f=json&token="+f.token;i=f.platformUrl+"/sharing/rest/content/users/"+f.username+(f.folder?"/"+f.folder:"")+"/addItem",b.ajax({method:"POST",url:i,data:m,processData:!1,dataType:"json"}).done(function(a){if(console.log(a),a.success){var c=d.url.replace(d.id,a.id);i=f.platformUrl+"/sharing/rest/content/users/"+f.username+(f.folder?"/"+f.folder:"")+"/items/"+a.id+"/update",b.ajax({method:"POST",url:i,data:{url:c,f:"json",token:f.token},dataType:"json"}).done(function(b){h(a,b)}).fail(function(a,b,c){g(a,b,c)})}else h(a)}).fail(function(a,b,c){g(a,b,c)})}).fail(function(a,b,c){g(a,b,c)})}).fail(function(a,b,c){g(a,b,c)})},t.popDataCatalogExplorer=function(a){i({admin:a,popup:!0})},t.buildDataCatalogExplorer=function(a,b){i({container:a,popup:!1,group:b&&b.group?b.group:null,item:b&&(b.item||b.table)?b.item||b.table:null,token:b&&b.token?b.token:null,indicatorClick:b&&b.indicatorClick?b.indicatorClick:null,load:b&&b.load?b.load:function(){},done:b&&b.done?b.done:function(){},mask:b&&"undefined"!=typeof b.mask?b.mask:!0})},t.getVanillaWebMap=function(b){var c={};if(c.item={title:b&&b.title?b.title:"Vanilla Map",extent:b&&b.extent?b.extent:[[-180,-90],[180,90]]},c.itemData={baseMap:{baseMapLayers:[{id:"World_Dark_Gray_Base_EmbeddedIAO",layerType:"ArcGISTiledMapServiceLayer",url:"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer",visibility:!0,opacity:1,title:"World Dark Gray Canvas Base"},{id:"World_Dark_Gray_Reference_EmbeddedIAO",layerType:"ArcGISTiledMapServiceLayer",url:"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Reference/MapServer",visibility:!0,opacity:1,title:"World Dark Gray Reference",isReference:!0}],title:"Dark Gray Canvas"}},b&&b.basemaps&&b.basemaps.length>0){c.itemData.baseMap.baseMapLayers=[];for(var d in b.basemaps)c.itemData.baseMap.baseMapLayers.push({id:"reflyr"+a.generateGuid(),layerType:"ArcGISTiledMapServiceLayer",url:b.basemaps[d].split(";")[0],visibility:!0,opacity:1,title:b.basemaps[d].split(";").length>1?b.basemaps[d].split(";")[1]:b.basemaps[d],isReference:d>0})}return c.itemData.operationalLayers=[],c};var w,x;t.insertIndicatorIntoMap=function(c,d,e,f){var g,h=f||{},i=function(){},j=h&&h.fieldLabel?h.fieldLabel:"{0} ({1})",k=h&&h.popupTitle?h.popupTitle:"{0} | {2}",l=h&&"undefined"!=typeof h.scales?h.scales:!0,m=h&&"undefined"!=typeof h.excludes?h.excludes:[],q=h&&h.chart?h.chart:!1;h&&"undefined"!=typeof h.mask&&1!=h.mask?h&&"function"==typeof h.mask&&(i=h.mask):i=function(b){b?a.showPageMask(b):a.hidePageMask()},i(a.util.replaceAll(a.getText("BuildingWebMapForIndicatorStage0.MessageFormat","Finding available dates and geographies for indicator <strong>{0}</strong>. Please wait..."),[e])),a.datamanager.getDataCatalogIndicatorInstances(d,c,h&&h.geos?h.geos:null,{token:a.getToken(),done:function(f){i(a.util.replaceAll(a.getText("BuildingWebMapForIndicatorStage1.MessageFormat","Building map definition for indicator <strong>{0}</strong>. Please wait..."),[e]));var r,s={},u=0;for(var v in f.instances)r=f.instances[v].geo,s[r]||(s[r]={id:r,name:h&&h.menu?b(h.menu).children('option[value="'+r+'"]').text():b('#iaoTempGeoDropDown > option[value="'+r+'"]').text(),instances:[],url:f.instances[v].url.replace("http:","https:"),indicator:f.instances[v].parent},h&&h.menu&&b(h.menu).children('option[value="'+r+'"]').length>0&&(b(h.menu).children('option[value="'+r+'"]').attr("data-feature-id-field")&&(s[r].idField=b(h.menu).children('option[value="'+r+'"]').attr("data-feature-id-field")),b(h.menu).children('option[value="'+r+'"]').attr("data-feature-name-field")&&(s[r].nameField=b(h.menu).children('option[value="'+r+'"]').attr("data-feature-name-field"))),u++),s[r].instances.unshift({alias:f.instances[v].date,field:f.instances[v].field});b.getJSON(f.instances[0].url+"?f=json&token="+a.getToken(),function(f){require(["dojo/promise/all","esri/IdentityManager","esri/map","esri/geometry/Extent","esri/arcgis/utils","esri/layers/FeatureLayer","esri/tasks/ClassBreaksDefinition","esri/tasks/AlgorithmicColorRamp","esri/tasks/MultipartColorRamp","esri/tasks/GenerateRendererParameters","esri/tasks/GenerateRendererTask","esri/symbols/SimpleLineSymbol","esri/symbols/SimpleFillSymbol","esri/Color","esri/geometry/webMercatorUtils","esri/dijit/Legend","esri/dijit/PopupTemplate","esri/tasks/PrintTemplate","esri/tasks/PrintParameters","esri/tasks/PrintTask"],function(r,v){var y,z,A,B,C=h&&h.user?h.user:a.getFullToken()?a.getFullToken().username:b("#iaoArcUser").val(),D=h&&h.token?h.token:a.getToken()||b("#iaoArcToken").val(),E=h&&h.webmap?h.webmap:t.getVanillaWebMap({title:e+" Map"}),F={G1:[198647,0],G2:[3181491,834519],G3:s.G2?[4693934,3181491]:s.G7||s.G19?[4693934,834519]:s.G1?[4693934,189394]:[4693934,0],G7:[834519,189394],G8:[0,4693934],G9:[0,19483858],G19:[1155582,834519]},G={G1:"LSOACode",G2:"LTLACode",G3:"UTLACode",G7:"WardCode",G8:"RgnCode"},H=[],I=[],J=a.metadataViewerUrl||"https://hub.instantatlas.com/data-catalog/metadata",K="https://reports.instantatlas.com/datacatalog/chart/line/{0}/{1}?indicators={2}&features={3}&dates={4}";h&&h.token||null==(D=a.getFullToken())||(v.destroyCredentials(),v.registerToken({expires:D.expires,server:D.server,ssl:!1,token:D.token,userId:D.username})),i(a.util.replaceAll(a.getText("BuildingWebMapForIndicatorStage2.MessageFormat","Building map layers for indicator <strong>{0}</strong>. Please wait..."),[e]));for(var L in s)if(m.indexOf(L)<0){y={id:h&&h.replace&&h.id?h.id:s[L].id+"_"+s[L].indicator+"_Layer",title:h&&h.replace&&h.title?h.title:e+" ("+s[L].instances[0].alias+") | "+s[L].name,visibility:!0,opacity:.85,url:s[L].url,popupInfo:{title:h&&h.replace&&h.popupTitle?h.popupTitle:k.replace(/\{0\}/g,s[L].name).replace(/\{1\}/g,e).replace(/\{2\}/g,"{"+(h.nameField||s[L].nameField||"NAME")+"}").replace(/\{3\}/g,"{"+(h.idField||s[L].idField||G[L])+"}"),fieldInfos:[]}},(h.idField||s[L].idField||G[L])&&y.popupInfo.fieldInfos.push({fieldName:h.idField||s[L].idField||G[L],visible:!1}),(h.nameField||s[L].nameField)&&y.popupInfo.fieldInfos.push({fieldName:h.nameField||s[L].nameField,visible:!1}),l&&F[L]&&u>1&&(y.layerDefinition={minScale:F[L][0],maxScale:F[L][1]}),z=e.toLowerCase().indexOf(" per ")>0||e.toLowerCase().indexOf("%")>=0||e.toLowerCase().indexOf("percentage")>=0,A=q&&s[L].instances.length>1?{title:"",type:("line,bar,column,pie".indexOf(q.toString())>=0?q.toString():"line")+"chart",caption:e,value:{fields:[]},tooltipField:"NAME"}:!1,B=h&&h.catalog&&(h.idField||G[L])?K.replace(/\{0\}/g,h.catalog).replace(/\{1\}/g,s[L].id).replace(/\{2\}/g,s[L].indicator).replace(/\{3\}/g,"{"+(h.idField||s[L].idField||G[L])+"}").replace(/\{4\}/g,Math.min(24,s[L].instances.length)):null;for(var M in s[L].instances)y.popupInfo.fieldInfos.push({fieldName:s[L].instances[M].field,label:j.replace(/\{0\}/g,e).replace(/\{1\}/g,s[L].instances[M].alias),isEditable:!1,visible:!0,format:{places:z?2:0,digitSeparator:!0}}),A&&A.value.fields.unshift(s[L].instances[M].field);if(A&&(y.popupInfo.mediaInfos=[],y.popupInfo.mediaInfos.push(A)),(!h||"undefined"==typeof h.metadata||"no,0,false".indexOf(h.metadata.toString().toLowerCase())<0)&&(y.popupInfo.expressionInfos=[],y.popupInfo.expressionInfos.push({name:"urlExpr"+s[L].indicator,title:"Metadata",expression:"Concatenate(['"+J+"?indicator=','"+s[L].indicator+";"+encodeURIComponent(e)+"','&catalog="+encodeURIComponent(d)+"'],'')"}),y.popupInfo.fieldInfos.push({fieldName:"expression/urlExpr"+s[L].indicator,label:" ",isEditable:!1,visible:!0})),g=-1,h.replace!==!1)for(var M in E.itemData.operationalLayers)E.itemData.operationalLayers[M].id==y.id&&(g=M);g>=0?E.itemData.operationalLayers.splice(g,1,y):E.itemData.operationalLayers.push(y),I.push(y),H.push(o(y.url,s[L].instances[0].field,null,5,h.colors||t.arcColorRamps[0].colors))}r(n(H)).then(function(j){function k(c){var d=esri.arcgis.utils.createMap(JSON.parse(JSON.stringify(E)),B,{mapOptions:{slider:!0,extent:new esri.geometry.Extent(f.extent)}});d.then(function(d){w=d.map,w.layerTicker=0;var e=w.on(w.loaded?"update-end":"load",function(){x&&x.destroy();var c=[];for(var d in E.itemData.operationalLayers){var f=w.getLayer(E.itemData.operationalLayers[d].id);f&&c.push({layer:f,title:E.itemData.operationalLayers[d].title})}D&&b("#"+D).length>0&&(x=new esri.dijit.Legend({map:w,layerInfos:c},D),x.startup());var g=w.getLayersVisibleAtScale(w.getScale());g.length<3&&E.itemData.operationalLayers[0].layerDefinition&&w.setScale(E.itemData.operationalLayers[0].layerDefinition.minScale-1),a.hideMask(b(B).parents(".modal-body")),e.remove()}),f='<div class="pull-left dropup"><button type="button" class="btn" data-toggle="dropdown"><i class="fas fa-fw fa-cog"></i></button><ul id="iaoColorRampMenu" class="dropdown-menu">',g="natural-breaks,equal-interval,quantile,standard-deviation".split(",");for(var h in g)f+='<li class="classifier-type '+g[h]+'"><a href="#" id="classifier'+h+'" data-classifier="'+g[h]+'">',f+='<span">'+g[h]+"</span></a></li>";f+='<li role="presentation" class="divider"></li>';for(var h in t.arcColorRamps)f+='<li class="color-ramp"><a href="#" id="colorRamp'+h+'" data-ramp-index="'+h+'">',f+='<div style="display: inline-block; width: 1em; height: 1em; overflow: hidden; border-radius: 1px; background-color: '+t.arcColorRamps[h].colors[0]+'; border: 1px solid #aaa; margin-right: 1px;">&nbsp;</div>',f+='<div style="display: inline-block; width: 1em; height: 1em; overflow: hidden; border-radius: 1px; background-color: '+t.arcColorRamps[h].colors[t.arcColorRamps[h].colors.length-1]+'; border: 1px solid #aaa; margin-right: 1px;">&nbsp;</div>',f+='<span style="margin-left: 4px;">'+t.arcColorRamps[h].name+"</span></a></li>";f+="</ul></div>",b(c.target).find(".modal-footer").prepend(f),b("#iaoColorRampMenu li.classifier-type.quantile").addClass("active"),b("#iaoColorRampMenu li.color-ramp").eq(0).addClass("active"),b("#iaoColorRampMenu li.classifier-type a").on("click",function(a){a.preventDefault();var c=t.arcColorRamps[parseInt(b(this).parent().siblings(".color-ramp.active").children("a").attr("data-ramp-index"))].colors,d=b(this).data("classifier");b(this).parent().siblings(".classifier-type").removeClass("active"),b(this).parent().toggleClass("active",!0);var e;for(var f in E.itemData.operationalLayers)e=w.getLayer(E.itemData.operationalLayers[f].id),e&&t.applyRenderer({webmap:E,layer:e,field:E.itemData.operationalLayers[f].popupInfo.fieldInfos[0].fieldName,classificationMethod:d,classes:5,colors:c})}),b("#iaoColorRampMenu li.color-ramp a").on("click",function(a){a.preventDefault();var c=t.arcColorRamps[parseInt(b(this).attr("data-ramp-index"))].colors,d=b(this).parent().siblings(".classifier-type.active").children("a").data("classifier");b(this).parent().siblings(".color-ramp").removeClass("active"),b(this).parent().toggleClass("active",!0);var e;for(var f in E.itemData.operationalLayers)e=w.getLayer(E.itemData.operationalLayers[f].id),e&&t.applyRenderer({webmap:E,layer:e,field:E.itemData.operationalLayers[f].popupInfo.fieldInfos[0].fieldName,classificationMethod:d,classes:5,colors:c})})})}for(var l={},m=j.length-1;m>=0;m--)if(j[m].attributeField)I[m].layerDefinition||(I[m].layerDefinition={}),I[m].layerDefinition.drawingInfo={renderer:j[m].toJson()},l[I[m].id]=j[m];else if(j[m].httpCode){console.log("Error generating renderer for "+I[m].title+": "+j[m]);for(var n=I.pop(),o=E.itemData.operationalLayers.length-1;o>=0;o--)if(E.itemData.operationalLayers[o].id==n.id){E.itemData.operationalLayers.splice(o,1);break}}if(E.itemData.operationalLayers.length<1)return i(),void a.showPopupScriptDialog("Data Catalog Error","<p>Oops. An error occurred fetching information about indicator <strong>"+e+'</strong>. This is unexpected. Please contact <a href="mailto:support@instantatlas.com">support@instantatlas.com</a> with details of this error. Sorry about this.</p>',{modal:!0,type:"error",buttons:"ok"});if(E.item.extent[0]=esri.geometry.xyToLngLat(f.extent.xmin,f.extent.ymin),E.item.extent[1]=esri.geometry.xyToLngLat(f.extent.xmax,f.extent.ymax),h&&h.map){for(var q,r,s,u,v=h.map,z=[],o=E.itemData.operationalLayers.length-1;o>=0;o--)if(y=E.itemData.operationalLayers[o],!v.getLayer(y.id)||h&&h.replace&&g==o){r=JSON.parse(JSON.stringify(y.popupInfo)),u=["NAME"];for(var A in r.fieldInfos)u.push(r.fieldInfos[A].fieldName);r=new esri.dijit.PopupTemplate(r),v.getLayer(y.id)?h&&h.replace&&g==o&&(q=v.getLayer(y.id),q.setInfoTemplate(r),y.layerDefinition&&y.layerDefinition.minScale&&q.setMinScale(y.layerDefinition.minScale),y.layerDefinition&&y.layerDefinition.maxScale&&q.setMaxScale(y.layerDefinition.maxScale),q.setRenderer(l[y.id])):(q=new esri.layers.FeatureLayer(y.url,{id:y.id,opacity:y.opacity,infoTemplate:r,outFields:u}),y.layerDefinition&&y.layerDefinition.minScale&&q.setMinScale(y.layerDefinition.minScale),y.layerDefinition&&y.layerDefinition.maxScale&&q.setMaxScale(y.layerDefinition.maxScale),q.setRenderer(l[y.id]),v.addLayer(q))}if(h.legend){for(var m in E.itemData.operationalLayers)s=v.getLayer(E.itemData.operationalLayers[m].id),s&&z.push({layer:s,title:E.itemData.operationalLayers[m].title});h.legend.refresh(z)}h.done&&h.done(E,E.itemData.operationalLayers,q,{indicator:c,table:d,label:e,options:h}),i()}else{w&&w.destroy(),x&&x.destroy();var B=h&&h.container?h.container:"iaoIndicatorTempMap",D=h&&h.legendContainer?h.legendContainer:"iaoIndicatorTempLegend";if(h&&"undefined"!=typeof h.popup&&1!=h.popup)i(),k({target:B});else{var F='<div id="iaoIndicatorTempMapHolder" class="modal-body-filler" style=""><div id="iaoIndicatorTempMap" style="width: 100%; height: 100%; padding: 0; position: relative;"></div><div style="width: 20%; height: 50%; padding: 5px; position: absolute; top: 10px; right: 10px; background-color: #fff; overflow: auto; font-size: 0.85em;"><div id="iaoIndicatorTempLegend"></div></div></div>';a.showPopupScriptDialog(E.item.title,F,{modal:!0,large:!0,maximizeable:!0,buttons:"yesnocancel",buttonText:{yes:a.getText("SaveWebMapDialog.SaveButton.Text",'<i class="fas fa-save"></i> Save'),no:a.getText("SaveWebMapDialog.MergeButton.Text",'<i class="fas fa-plus-square"></i> Merge'),cancel:a.getText("SaveWebMapDialog.CancelButton.Text","Close")},focus:"yes",yes:function(){var c=(JSON.stringify(E.itemData),E.item.title);b("#createWebMapTitleBox").val(c);var d,e="";b(".item-collection-folder").each(function(a,c){d=b(c).data("arc-item-id"),e+='<option value="'+(d!=C.replace(/[^0-9a-zA-Z\-]/g,"_")?d:"")+'">'+b(c).find(".dsName").text()+"</option>"}),b("#createWebMapFolderBox").children().remove(),b("#createWebMapFolderBox").append(e),b("#createMapForIndicatorPopup_okBtn").off("click").on("click",function(){var d=b("#createWebMapTitleBox").val(),e=b("#createWebMapFolderBox").val(),f={title:d,tags:c+",InstantAtlas",type:"Web Map",text:JSON.stringify(E.itemData),extent:E.item.extent[0].join(",")+","+E.item.extent[1].join(","),f:"json",token:a.getToken()};i(a.util.replaceAll(a.getText("NewWebMapCommitSpinner.Text","Saving web map <strong>{0}</strong>. Please wait..."),[d,c])),b.ajax({url:a.applicationDomain+"/sharing/rest/content/users/"+C+(e&&""!=e?"/"+e:"")+"/addItem",method:"POST",data:f,dataType:"json"}).done(function(c){i(),a.hidePopupDialog("createMapForIndicatorPopup"),c.success&&t.popWebMapPreview(c.id,function(d,e){e.find(".modal-footer").append('<a href="'+a.applicationDomain+"/home/webmap/viewer.html?webmap="+c.id+'" target="iaoArcGisOnlinePopWindow">'+a.getText("WebMapPreviewDialog.NewWindowLink.Text",'View at arcgis.com <i class="fas fa-external-link-alt small"></i>')+"</a>");var f=new esri.tasks.PrintTemplate;f.exportOptions={width:200,height:133,dpi:96},f.format="png32",f.layout="MAP_ONLY",f.preserveScale=!0,f.outScale=d.getScale();var g=new esri.tasks.PrintParameters;g.map=d,g.template=f;var h=new esri.tasks.PrintTask("https://utility.arcgisonline.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task");h.execute(g,function(d){if(d&&d.url){var e={thumbnailURL:d.url,f:"json",token:a.getToken()};b.ajax({url:a.applicationDomain+"/sharing/rest/content/users/"+C+"/items/"+c.id+"/update",method:"POST",data:e,dataType:"json"}).done(function(){})}},function(a){console.log(a)})})}).fail(function(){console.log(arcItem),i(),a.hidePopupDialog("createMapForIndicatorPopup")})}),a.showPopupDialog("createMapForIndicatorPopup",{modal:!0})},no:function(){b("#chooseMapPopup").addClass("custom"),b("#chooseMapPopup .modal-header h4.custom-content").remove(),b("#chooseMapPopup .modal-header").append('<h4 class="custom-content">'+a.getText("MergeWebMapChooserDialog.Title","Choose one of your Web Maps")+"</h4>"),b("#chooseMapPopup_custom_okBtn").off("click").on("click",function(c){c.preventDefault();var d=b("#chooseMapPopup").find(".dataset.arcItemSelected").data("item-id");d&&p(E,d),a.hidePopupDialog("chooseMapPopup")}),a.showPopupDialog("chooseMapPopup",{modal:!0,shown:function(){a.populateBigMapsList({azure:!1,filter:{user:!0,org:!1,"public":!1}})},hidden:function(){b("#chooseMapPopup").removeClass("custom")}})},shown:function(c){i(),a.showMask(b("#iaoIndicatorTempMap").parents(".modal-body")),k(c)}})}}})})})}})},t.applyRenderer=function(c){var d=c.webmap,e=c.layer,f=c.field||c.dataField,g=c.idField||c.featureIdField,h=c.classificationMethod,i=c.classes&&"undefined"!=typeof c.classes.splice?c.classes:null,j=null!=i?i.length-1:c.classes||5,k=c.colors,l="undefined"==typeof c.smart||c.smart,m=c.map,n=c.legend&&c.legend.show,p=c.legend&&c.legend.anchor?c.legend.anchor:"top-left",q=c.legend&&c.legend.label?c.legend.label:null,r=c&&c.done?c.done:null,s=c&&c.values?c.values:null,u=c&&c.ids?c.ids:null,v=["dojo/promise/all","esri/map","esri/arcgis/utils","esri/layers/FeatureLayer","esri/renderers/ClassBreaksRenderer","esri/tasks/ClassBreaksDefinition","esri/tasks/AlgorithmicColorRamp","esri/tasks/MultipartColorRamp","esri/tasks/GenerateRendererParameters","esri/tasks/GenerateRendererTask","esri/symbols/SimpleLineSymbol","esri/symbols/SimpleFillSymbol","esri/Color"];l&&v.push("esri/renderers/smartMapping"),n&&v.push("esri/dijit/Legend"),require(v,function(){function v(){var c=function(c){if(y&&y(c),e.setRenderer(c),e.redraw(),d&&d.itemData){for(var g in d.itemData.operationalLayers)if(d.itemData.operationalLayers[g].id==e.id){d.itemData.operationalLayers[g].layerDefinition||(d.itemData.operationalLayers[g].layerDefinition={}),d.itemData.operationalLayers[g].layerDefinition.drawingInfo={renderer:c.toJson()};break}x&&x.refresh(),w&&w.layerTicker>=w.graphicsLayerIds.length&&a.hideMask(b("#iaoIndicatorTempMap").parents(".modal-body"))}n&&t.createLegend(m,e,f,p,q),r&&r({target:e,map:m})};if("function"==typeof f){var g=new esri.renderer.ClassBreaksRenderer(null,f);if(null!=i)for(var l=0;l<i.length-1;l++)g.addBreak(parseFloat(i[C]),parseFloat(i[C+1]));c(g)}else{var s=o(e.url,f,h,j,k);s.then(c,function(c){console.log(c),a.hideMask(b("#iaoIndicatorTempMap").parents(".modal-body"))})}}var y=null;if(null!=i&&(y=function(a){var b=a.infos.slice();a.clearBreaks();for(var d=c.classLabel||(a.isMaxInclusive?"> MINVAL to MAXVAL":"MINVAL to MAXVAL"),e=0;e<i.length-1;e++)b[e]&&(b[e].minValue=parseFloat(i[e]),b[e].maxValue=parseFloat(i[e+1]),b[e].label=d.replace(/MINVAL/g,b[e].minValue.toString()).replace(/MAXVAL/g,b[e].maxValue.toString()),a.addBreak(b[e]))}),l||"function"==typeof f&&s&&u){var z={layer:e,field:f,basemap:m.getBasemap()||"gray",classificationMethod:h,theme:"high-to-low",numClasses:j};if("function"==typeof f&&s&&u){var A,B=[];for(var C in u)A=parseFloat(s[C]),B.push("'"+u[C]+"', "+(isNaN(A)?"'"+A+"'":A));z.valueExpression="Decode($feature."+g+", "+B.join(", ")+", '')",z.field=null}esri.renderer.smartMapping.createClassedColorRenderer(z).then(function(a){y&&y(a.renderer),e.setRenderer(a.renderer),e.redraw(),n&&t.createLegend(m,e,f,p,q),r&&r({target:e,map:m})},function(a){console.log(a),v()})}else v()})},t.getMatchingValue=function(a,b,c,d){var e,f;if(a&&a.attributes&&a.attributes[b]){e=a.attributes[b];for(var g=0;g<c.length;g++)if(e==c[g]){if(f=d[g],f&&!isNaN(parseFloat(f)))return parseFloat(f);break}}return f};var y={};return t.createLegend=function(a,c,d,e,f){require(["esri/dijit/Legend"],function(){var d={map:a};c&&(d.layerInfos=[],d.layerInfos.push({layer:c,title:f||c.title||c.name}));var g=b(a.container).prop("id").replace(/\-/g,"")+"_iaolegend";if(y[g]&&(y[g].destroy(),b(a.container).children(".iao-arc-legend").remove()),b(a.container).append('<div class="iao-arc-legend '+(e?e.toLowerCase():"top-left")+'"><div id="'+g+'"></div></div>'),g&&b(a.container).find('.iao-arc-legend div[id="'+g+'"]').length>0){var h=new esri.dijit.Legend(d,g);h.startup(),y[g]=h}})},t.arcColorRamps=[{name:"Red",colors:["#fee5d9","#fcae91","#fb6a4a","#de2d26","#a50f15"]},{name:"Purple",colors:["#feebe2","#fbb4b9","#f768a1","#c51b8a","#7a0177"]},{name:"Blue",colors:["#eff3ff","#bdd7e7","#6baed6","#3182bd","#08519c"]},{name:"Cyan",colors:["#e4f4f8","#c0e7f0","#6bc1d7","#2198b5","#07576b"]},{name:"Green",colors:["#edf8e9","#bae4b3","#74c476","#31a354","#006d2c"]},{name:"Grey",colors:["#f0f0f0","#bdbdbd","#111111"]},{name:"Red Yellow",colors:["#ffffcc","#feb24c","#b10026"]},{name:"Blue Yellow",colors:["#ffffd9","#7fcddb","#0c2c83"]},{name:"Green Yellow",colors:["#ffffe5","#addd8e","#005a32"]}],t.popWebMapPreview=function(c,d){var e=b("#iaoArcUser").val(),f="?f=json&token="+a.getToken();b.getJSON(a.applicationDomain+"/sharing/rest/content/items/"+c+f,function(f){var g='<div id="iaoIndicatorTempMapHolder" class="modal-body-filler" style=""><div id="iaoIndicatorTempMap" style="width: 100%; height: 100%; padding: 0; position: relative;"></div><div style="width: 20%; height: 50%; padding: 5px; position: absolute; top: 10px; right: 10px; background-color: #fff; overflow: auto; font-size: 0.85em;"><div id="iaoIndicatorTempLegend"></div></div></div>';require(["esri/IdentityManager","esri/map","esri/geometry/Extent","esri/arcgis/utils","esri/layers/FeatureLayer","esri/dijit/Legend"],function(h,i,j,k){var l=b("#iaoArcToken").val();h.destroyCredentials(),h.registerToken({expires:parseInt(l.split(";")[1]),server:l.split(";")[2],ssl:!1,token:l.split(";")[0],userId:e}),a.showPopupScriptDialog(f.title+" | Preview",g,{modal:!0,large:!0,maximizeable:!0,buttons:"",buttonText:{ok:a.getText("WebMapDialog.CancelButton.Text","Close")},shown:function(e){a.hidePageMask(),a.showMask(b("#iaoIndicatorTempMap").parents(".modal-body"));var f=esri.arcgis.utils.createMap(c,"iaoIndicatorTempMap",{mapOptions:{slider:!0}});f.then(function(c){w=c.map;var f=w.on(w.loaded?"update-end":"load",function(){a.hideMask(b("#iaoIndicatorTempMap").parents(".modal-body")),x&&x.destroy();var g=k.getLegendLayers(c);x=new esri.dijit.Legend({map:w,layerInfos:g},"iaoIndicatorTempLegend"),x.startup();var h=w.getLayersVisibleAtScale(w.getScale());h.length<3&&c.itemInfo&&c.itemInfo.itemData&&c.itemInfo.itemData.operationalLayers&&c.itemInfo.itemData.operationalLayers[0]&&c.itemInfo.itemData.operationalLayers[0].layerDefinition&&c.itemInfo.itemData.operationalLayers[0].layerDefinition.minScale&&w.setScale(c.itemInfo.itemData.operationalLayers[0].layerDefinition.minScale-1),d&&d(w,b(e.target)),f.remove()})})}})})})},String.prototype.trimEnd=String.prototype.trimEnd||function(a){a=a?a:" ";for(var b=this.length-1;b>=0&&this.charAt(b)==a;b--);return this.substring(0,b+1)},t.showPopupWithCsv=function(c,d,e,f){var g=(0==d.indexOf("http")?d:(a.applicationDomain?a.applicationDomain:"https://www.arcgis.com/").trimEnd("/"))+"/sharing/rest/"+d+"/data",h=a.getToken();if(f&&(f.error||f.fail)?f.error||f.fail:function(b){a.hidePageMask(),a.showPopupScriptDialog("Unexpected Error","Unexpected error - message: "+b.message,{modal:!0,type:"error",ok:function(){a.showPageMask(""),window.location.reload()},resize:!1})},azUser&&""!=azUser){a.showPageMask(a.getText("CsvPreviewStep1.Text","Loading data. Please wait..."));var g=azureUrl+(h?"?token="+h:"");q({url:g,done:function(c){b("#iao-preview-data").empty(),b("#iao-preview-data").append(c.data),a.hidePageMask(),b("#azureDataPreviewPopup .modal-header .item-name").text(e),b("#azureDataPreviewPopup").one("shown.bs.modal",function(){b("#iao-preview-data").scrollTop(0).scrollLeft(0)}),b('#azureDataPreviewPopup button[data-ui-action="use-map"]').css("display","none"),b("#azureDataPreviewPopup").modal("show");var d=f&&f.done?f.done:null;d&&d({type:"shown",
data:c.data,popup:b("#azureDataPreviewPopup")})},fail:function(){a.hidePageMask()}})}},t.search=function(c,d){var e={f:"json",token:a.getToken(),q:"*",start:0,num:100,sortField:"title",sortOrder:"asc"};c&&c.params&&(e=b.extend(e,c.params));var f=c&&c.url?c.url:"https://www.arcgis.com/sharing/rest/search",g=c&&c.paged,h=c&&c.done?c.done:c&&c.complete?c.complete:null;b.ajax({method:"GET",url:f,data:e,dataType:"json"}).done(function(a){d?(d.num=d.num+a.num,d.results=d.results.concat(a.results)):d=a,a.nextStart>0&&!g?(c.params=c.params||{},c.params.start=a.nextStart,t.search(c,d)):h&&h(d)})},t.getExtentForAspectRatio=function(a,b,c){var d,e,f=1*b/c,g=(a.xmax-a.xmin)/(a.ymax-a.ymin),h=a.getCenter();return g>f?(d=a.xmax-a.xmin,e=d/f):f>g&&(e=a.ymax-a.ymin,d=e*f),new esri.geometry.Extent(h.x-d/2,h.y-e/2,h.x+d/2,h.y+e/2,a.spatialReference)},t.createStringChunks=function(a,b,c){for(var d=[],e=new Blob([a],{type:"text/plain"}),f=0;f<e.size;)d.push(e.slice(f,Math.min(e.size,f+f),"text/plain")),f+=f;s(d,0,c)},a}(window.EmbeddedIAO||{},jQuery),function(a,b){"use strict";function c(){A.displayLegendTool&&require(["esri/dijit/Legend","esri/dijit/LayerList","esri/dijit/BasemapGallery"],function(a,c,d){x&&x.destroy(),y&&y.destroy(),b("#rfs-legend-modal-content").append('<div id="rfs-layer-list"></div>'),x=new c({map:v,showLegend:!0,showSubLayers:!1,showOpacitySlider:!1,layers:null},"rfs-layer-list"),x.startup(),b("#rfs-legend-modal-content").append('<div id="rfs-basemap-gallery"></div>'),y=new d({basemapsGroup:{id:A.basemapGroup||"8f12573d9b35472d87031a79b964d163"},showArcGISBasemaps:!0,map:v},"rfs-basemap-gallery"),y.startup()})}function d(a,b){a&&b?(v.enableClickRecenter(),v.enableDoubleClickZoom(),v.enablePan(),v.enableRubberBandZoom(),v.enableShiftDoubleClickZoom()):a||b?(b&&v.enableClickRecenter(),b&&v.enableDoubleClickZoom(),a&&v.enablePan(),a&&v.enableRubberBandZoom(),b&&v.enableShiftDoubleClickZoom()):(v.disableClickRecenter(),v.disableDoubleClickZoom(),v.disablePan(),v.disableRubberBandZoom(),v.disableShiftDoubleClickZoom())}function e(a){var c='<style type="text/css">';if(""!==a.fontFamily&&void 0!==a.fontFamily&&(c+='@import url("https://fonts.googleapis.com/css?family='+encodeURIComponent(a.fontFamily)+'");',c+=".wa-app {font-family:"+a.fontFamily+";}"),""!==a.fontColor&&void 0!==a.fontColor&&(c+=".wa-app {color:"+a.fontColor+";}",c+=".wa-font-color {color:"+a.fontColor+";}",c+=".wa-app .esriLayerList .esriContainer {color:"+a.fontColor+";}"),""!==a.fontSize&&void 0!==a.fontSize){var d=.7*a.fontSize;c+=".wa-app {font-size:"+a.fontSize+"px;}",c+=".wa-app {line-height:"+a.fontSize+"px;}",c+=".wa-padding {padding:"+d+"px;}",c+=".wa-padding-top {padding-top:"+d+"px;}",c+=".wa-padding-right {padding-right:"+d+"px;}",c+=".wa-padding-bottom {padding-bottom:"+d+"px;}",c+=".wa-padding-left {padding-left:"+d+"px;}",c+=".wa-margin {margin:"+d+"px;}",c+=".wa-margin-top {margin-top:"+d+"px;}",c+=".wa-margin-right {margin-right:"+d+"px;}",c+=".wa-margin-bottom {margin-bottom:"+d+"px;}",c+=".wa-margin-left {margin-left:"+d+"px;}"}""!==a.borderColor&&void 0!==a.borderColor&&(c+=".wa-border {border-color:"+a.borderColor+";}"),""!==a.borderStyle&&void 0!==a.borderStyle&&(c+=".wa-border {border-style:"+a.borderStyle+";}"),""!==a.borderWidth&&void 0!==a.borderWidth&&(c+=".wa-border-width {border-width:"+a.borderWidth+"px;}",c+=".wa-border-top-width {border-top-width:"+a.borderWidth+"px;}",c+=".wa-border-right-width {border-right-width:"+a.borderWidth+"px;}",c+=".wa-border-bottom-width {border-bottom-width:"+a.borderWidth+"px;}",c+=".wa-border-left-width {border-left-width:"+a.borderWidth+"px;}"),""!==a.toolColor&&void 0!==a.toolColor&&(c+=".wa-inactive {color:"+a.toolColor+";}"),""!==a.backgroundColor&&void 0!==a.backgroundColor&&(c+=".wa-app {background-color:"+a.backgroundColor+";}",c+=".wa-app .wa-floating.wa-selector {background-color:"+a.backgroundColor+";}",c+=".wa-active {background-color:"+a.backgroundColor+";}",c+=".wa-hover {color:"+a.backgroundColor+" !important;}",c+=".wa-app .esri-feature-table .dgrid-row:hover,",c+=".wa-app .esri-feature-table .dgrid-row.ui-state-active,",c+=".wa-app .esri-feature-table .dgrid-row.ui-state-active:hover",c+="{color:"+a.backgroundColor+"}"),""!==a.themeColor&&void 0!==a.themeColor&&(c+=".wa-active, .wa-tree-leaf a.btn {color:"+a.themeColor+";}",c+=".wa-hover {background-color:"+a.themeColor+" !important;}",c+=".wa-app .esri-feature-table .dgrid-row:hover,",c+=".wa-app .esri-feature-table .dgrid-row.ui-state-active,",c+=".wa-app .esri-feature-table .dgrid-row.ui-state-active:hover,",c+=".wa-app .wa-tree-leaf .btn-primary",c+="{background-color:"+a.themeColor+"}",""!==a.backgroundColor&&void 0!==a.backgroundColor&&(c+=".wa-tree-leaf a.btn:hover, .wa-tree-leaf a.btn:active  {color:"+a.backgroundColor+";background-color:"+a.themeColor+";}",c+=".wa-app .wa-tree-leaf .btn-primary {color:"+a.backgroundColor+"}")),c+="</style>",'<style type="text/css"></style>'!==c&&b(c).appendTo("head")}function f(d,e,h,i){for(var j,k,l,m,n,o,p=[],q="function"==typeof i?i:i.done||i.complete,s="function"!=typeof i?i.token:null,t=i.labels||{},u=0;u<d.length;u++)j=G+"/report/features/"+d[u]+"?src-only=true"+(null!=s?"&token="+s:""),p.push(b.ajax({url:j,type:"GET",data:"f=json",dataType:"json",timeout:2*(a.standardTimeout?a.standardTimeout:1e4)}));n="progress.setup.links",o=t[n+".label"]||"Checking {0} report links. Please wait...",r(o.replace(/\{0\}/g,p.length.toFixed(0)),80),b.when.apply(b,p).done(function(){var f,i=[],j=null;F={},E=[];for(var p=0;p<d.length;p++)if(k=1==d.length?arguments[0]:arguments[p][0],m=1==d.length?arguments[1]:arguments[p][1],l=1==d.length?arguments[2]:arguments[p][2],k){n="progress.setup.links.layer",o=t[n+".label"]||"Building layer - report links.Please wait...",r(o,80+p+1),F[d[p]]=b.extend({},k),F[d[p]].token=s;for(var u in e)if(e[u].url&&k.src&&e[u].url.toLowerCase().split("?")[0]==k.src.url.toLowerCase().split("?")[0]){F[d[p]].layer=e[u].id,E.push(d[p]),v&&null!=(f=v.getLayer(e[u].id))&&(f.setVisibility(null==j||j==f.id),h&&i.indexOf(e[u].id)<0&&(g(f,s),(!A||"undefined"==typeof A.zoomToLayer||"no,0,false".indexOf(A.zoomToLayer.toString().toLowerCase())<0)&&(f.loaded?v.setExtent(f.fullExtent,!0):f.on("load",function(a){v.setExtent(a.layer.fullExtent,!0)})),i.push(e[u].id)),null==j&&(j=f.id));break}F[d[p]].layer||require(["esri/layers/FeatureLayer"],function(a){var b=new a(k.src.url,{outFields:["*"]});b=v.addLayer(b),b.setOpacity(.5),F[d[p]].layer=b.id,e.push({id:b.id,layerType:"ArcGISMapServiceLayer",url:b.url,visibility:!0,opacity:.5,title:b.name}),b.on("load",function(a){v.setExtent(a.layer.fullExtent,!0),z.find(".wa-map .esriSimpleSlider .iao-zoom-full").attr("data-full-extent",JSON.stringify(a.layer.fullExtent)),h&&i.indexOf(a.layer.id)<0&&(g(a.layer,s),i.push(a.layer.id));for(var b in e)e[b].id==a.layer.id&&(e[b].title=a.layer.name,c(e))})})}a.hideMask(z.find(".wa-main").eq(0));for(var p in e)i.indexOf(e[p].id)<0&&v&&null!=(f=v.getLayer(e[p].id))&&(f.disableMouseEvents(),f.setInfoTemplate(null),f.getNode()&&b(f.getNode()).css("pointer-events","none"));q&&q(d,F,e)}).fail(function(b,c,g){if(console.log(c+","+g+","+b.status),(403==b.status||400==b.status)&&this.url){var i=this.url.split("?")[0].split("/").pop();require(["esri/IdentityManager","esri/arcgis/OAuthInfo"],function(b){b.checkSignInStatus(B+"/sharing/rest/content/items/"+i).then(function(a){f(d,e,h,{token:a.token,done:q})}).otherwise(function(){b.getCredential(B+"/sharing/rest/content/items/"+i).then(function(){f(d,e,h,{token:credential.token,done:q})}).otherwise(function(){a.showPopupScriptDialog("Sign In Required","At least one report referenced by this app is protected. Please sign in to ArcGIS Online then try again.",{modal:!0,type:"error"})})})})}})}function g(a,c,d){var e,f,g=A.selectionColor||[255,255,0,.9],i=(A.selectionStyle||"fillAndOutLine").toLowerCase(),j=A.selectionFillOpacity||.4,l=10,m=new dojo.Color(i.indexOf("fill")>=0?g:[255,255,255,0]),o=(new esri.symbol.SimpleLineSymbol).setColor(new dojo.Color(g)),p=d&&d.labels?d.labels:{};e=a&&a.renderer&&a.renderer.symbol&&a.renderer.symbol.style&&"simplemarkersymbol"==a.renderer.symbol.type?a.renderer.symbol.style:"STYLE_CIRCLE";var q=a.geometryType.toLowerCase().indexOf("point")>0?new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol[e],l):new esri.symbol.SimpleFillSymbol;q.setColor(m),a.geometryType.toLowerCase().indexOf("point")>0&&q.setOutline(o),"outline"!=i&&(q.color.a=j),"fill"!=i?q.setOutline(o):a.geometryType.toLowerCase().indexOf("polygon")>0&&a.renderer&&"undefined"!=typeof a.renderer.getSymbol&&null!=(f=a.renderer.getSymbol())&&f.outline&&q.setOutline(f.outline),a.setSelectionSymbol(q),a.on("click",function(a){if(a.graphic){var d,e,f,g=a.graphic.getLayer();for(var h in F)if(F[h].layer==g.id){f=h,d=F[h].src.idField,e=F[h].src.nameField;break}if(d){var i=a.graphic.attributes[d];if(i&&g){var j=z.attr("data-selected-features-"+g.id)?z.attr("data-selected-features-"+g.id).split(","):[];j.indexOf(i)>=0?j.splice(j.indexOf(i),1):j.push(i);var l=parseInt(z.attr("data-selection-timeout-id"));isNaN(l)||clearTimeout(l),l=setTimeout(function(){n({reports:f,layer:g,features:j,idField:d,nameField:e,token:c,done:function(a){var c,d=[];for(var e in F)F[e].layer==g.id&&(c=b.extend({},a),c.id=e,d.push(c));k(d,null,{labels:p})}})},40),z.attr("data-selected-features-"+g.id,j.join(",")),z.attr("data-selection-timeout-id",l.toString())}}}}),h(a)}function h(a){var b,c,d;for(var e in F)if(F[e].layer==a.id){d=e,b=F[e].src.idField,c=F[e].src.nameField;break}c&&i(v,a,null,c)}function i(a,c,d,e,f){var g=b(a.root).prop("id"),h="body",i=b(h).find('.agoMapTip[id^="'+g+'"]'),j=c.displayField||e,k=d||"{NAME}";!j&&c.infoTemplate&&c.infoTemplate.info&&c.infoTemplate.info.title&&(j=c.infoTemplate.info.title,j.indexOf("{")>0?(j=j.substring(j.indexOf("{")+1),j=j.substring(0,j.indexOf("}"))):j=null),j&&((!i||i.length<1)&&(b(h).append('<div class="iao-content" style="position: absolute; left: 0; top: 0; height: 1px; width: 1px; overflow: visible; padding: 0; margin: 0;"><div id="'+g+'_agoMapTip" class="tooltip agoMapTip mapTooltip right" style="display: none;" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"><span id="'+b(a).prop("id")+'_agoMapTipText" class="mapTooltipText">&nbsp;</span></div></div></div>'),i=b(h).find('.agoMapTip[id^="'+g+'"]')),b(h).offset()&&(i.data("parentTop",b(h).offset().top),i.data("parentLeft",b(h).offset().left),console.log("("+h+").offset()="+b(h).offset().left+", "+b(h).offset().top)),c.on("mouse-over",function(a){var b=a.graphic.attributes[j],c=f&&""!=f?a.graphic.attributes[f]:"";if(b&&i&&i.length>0){i.find(".mapTooltipText").text(k.replace(/\{NAME\}/g,b).replace(/\{VALUE\}/g,c));var d=i.data("parentLeft")?i.data("parentLeft"):0,e=i.data("parentTop")?i.data("parentTop"):0;i.css("left",a.pageX+10-d).css("top",a.pageY-3-e).css("display","block").addClass("in")}}),c.on("mouse-out",function(){i.css("display","none").removeClass("in")}),c.on("mouse-move",function(a){var b=i.data("parentLeft")?i.data("parentLeft"):0,c=i.data("parentTop")?i.data("parentTop"):0;i.css("left",a.pageX+10-b).css("top",a.pageY-i.height()-c).toggleClass("in",!0)}))}function j(c,d,e){var f,g,h,i,j,l=e||{},n=d||l.reports||(b("#waSelectorForReports").length>0?b("#waSelectorForReports").val().split(","):A.reportIds.split(",")),o=0,p=[],q=e&&e.labels?e.labels:{};switch(c.geometry.type){case"point":case"multipoint":f=new esri.symbol.SimpleMarkerSymbol;break;case"polyline":f=new esri.symbol.SimpleLineSymbol;break;default:f=new esri.symbol.SimpleFillSymbol,A.themeColor&&(h=new esri.Color(A.themeColor),f.outline.setColor(h),f.outline.setWidth(2),f.setColor(new esri.Color([h.r,h.g,h.b,.4])))}if(g=new esri.Graphic(c.geometry,f),v.graphics.clear(),v.graphics.add(g),F&&E){if(a.showMask(z.find(".wa-main").eq(0)),("undefined"==typeof l.clearLayers||l.clearLayers)&&v&&v.graphicsLayerIds)for(var j in v.graphicsLayerIds)i=v.getLayer(v.graphicsLayerIds[j]),i&&i.setVisibility(!1);for(var r in E)j=E[r],i=null,F[j].layer&&null!=(i=v.getLayer(F[j].layer))&&n.indexOf(j)>=0?(o++,i.setVisibility(!0),m(j,F[j].layer,c.geometry,F[j].src.idField,F[j].src.nameField,F[j].token,function(a){p.push(a),p.length==o&&k(p,c.geometry,{labels:q})})):null!=i&&i.setVisibility(!1);1>o&&a.hideMask(z.find(".wa-main").eq(0))}}function k(c,d,e){var f,g,h,i,j,k,m,n,p,q,r,s,t,u=e||{},w=u.labels||{};if("dialog"==A.reportSelectionMode.toLowerCase()||c.length>1){var x='<div class="wa-tree rfs-results">';for(var y in E)for(var r in c)if(f=c[r].id,f==E[y]){if(k=c[r].token,b("form.report-"+f).remove(),p=null,c[r].results&&c[r].results.length>0&&(q=c[r].results[0].geometry)){p=q.getExtent();for(var B=1;B<c[r].results.length;B++)p=p.union(c[r].results[B].geometry.getExtent());p=p.expand(1.1)}if(c[r].selected&&c[r].selected.length>0){if(m=c[r].selected.join(","),x+='<div id="report-link-'+f+'" class="wa-tree-branch rfs-report-link-box" style="display: block;">',x+='<div class="wa-tree-item wa-tree-leaf"><div class="wa-tree-item-content wa-padding"><div class="wa-tree-item-spacer"></div>',g=G+"/report/view/"+f+"/"+(c[r].selected.length>1?"multiple?features="+encodeURIComponent(m):encodeURIComponent(c[r].selected[0])+"?")+(k?"&token="+k:""),x+='<div class="wa-tree-item-label"><a class="rfs-report-link btn btn-default btn-primary'+(m.length>1024&&"#popup"!=A.linkTarget?" rfs-form-trigger":"")+'" ',x+=m.length>1024?'href="#go'+f+'" target="'+A.linkTarget+'"':'href="'+g+'" target="'+A.linkTarget+'"',x+=' data-report-id="'+f+'" data-feature-ids="'+m+'" data-auth-token="'+(k?k:"")+'"',x+=' data-active-layer="'+c[r].layer+'"',x+=">",x+=A.reportLinkButtonText?A.reportLinkButtonText.replace(/\$\{NAME\}/g,F[f].info&&F[f].info.title?F[f].info.title:f):I.values.reportLinkButtonText?I.values.reportLinkButtonText.replace(/\$\{NAME\}/g,F[f].info&&F[f].info.title?F[f].info.title:f):F[f].info&&F[f].info.title?F[f].info.title:f,x+="_self"!=A.linkTarget&&"#popup"!=A.linkTarget?' <i class="fas fa-external-link-alt"></i>':' <i class="fas fa-fw fa-arrow-circle-right fa-lg"></i>',x+="</a>",F[f].src.nameField){i=[],h=F[f].src.nameField;for(var C in c[r].results)c[r].results[C].attributes&&null!=(j=c[r].results[C].attributes[h])&&i.indexOf(j)<0&&i.push(j);i.length>0&&(x+='<div class="wa-margin-top rfs-report-selected-features dse-metadata">',x+=i.join(", "),x+="</div>",D.blockedOperations.actions.indexOf("zoom")<0&&null!=p&&(x+='<div class="pull-left">',s="selection.button.zoomTo.label",t=w[s]||"Zoom to this selection",x+='<a href="#zoom" class="btn" title="'+t+'" data-box="'+encodeURIComponent(JSON.stringify(p.toJson()))+'"><i class="fas fa-fw fa-search-plus"></i></a>',x+="</div>",u.zoom&&"yes,1,true,auto".indexOf(u.zoom.toString().toLowerCase())>=0&&v.setExtent(p,!0)),D.blockedOperations.actions.indexOf("save")<0&&(x+='<div class="pull-right">',s="selection.button.save.label",t=w[s]||"Save area selection",x+='<a href="#save" class="btn" title="'+t+'"><span class="sr-only">save</span><i class="fas fa-fw fa-save"></i></a>',s="selection.button.clear.label",t=w[s]||"Clear selection",x+='<a href="#clear" class="btn" title="'+t+'"><span class="sr-only">clear</span><i class="fas fa-fw fa-times"></i></a>',x+="</div>"))}x+="</div>",x+="</div></div>",m.length>1024&&(b("body").append('<form id="launch'+f+'" class="report-'+f+'" method="POST"></form>'),b("#launch"+f).attr("action",G+"/report/view/"+f+"/multiple"),b("#launch"+f).attr("target",A.linkTarget),b("#launch"+f).append('<input type="hidden" id="features" name="features" value="'+m+'" />'),k&&b("#launch"+f).append('<input type="hidden" id="token" name="token" value="'+k+'" />')),x+="</div>",v&&c[r].layer&&null!=(n=v.getLayer(c[r].layer))&&n.setVisibility(!0)}}x+="</div>";var H=z.find("#rfs-reports-modal");H.siblings(".wa-modal").removeClass("in"),H.find(".wa-modal-content > .rfs-results").remove(),H.find(".wa-modal-content").prepend(x),H.find(".wa-modal-content > .rfs-results > .rfs-report-link-box").last().addClass("last-report"),H.addClass("in"),b("#activeSelectionToggler").css("display","").addClass("wa-active"),H.off("click.iao.reportTrigger").on("click.iao.reportTrigger",'.rfs-report-link[target="#popup"]',function(a){a.preventDefault();var c=b(this).siblings(".rfs-report-selected-features").text();o(b(this).attr("data-report-id"),b(this).attr("data-feature-ids"),c,{mode:"popup",container:z.find(".wa-main").eq(0),token:b(this).attr("data-auth-token")})}),H.off("click.iao.reportLaunch").on("click.iao.reportLaunch",".rfs-form-trigger",function(a){a.preventDefault();var c=(b(this).siblings(".rfs-report-selected-features").text(),b("body form.report-"+b(this).attr("href").substring(3)));c.submit()}),H.off("click.iao.hash").on("click.iao.hash",'a[href^="#"]:not(.rfs-form-trigger)',function(c){c.preventDefault();var d=b(this).attr("href").substring(1).toLowerCase();if("clear"==d)l();else if("zoom"==d)d=b(this).attr("data-box"),d&&(d=JSON.parse(decodeURIComponent(d)),d=new esri.geometry.Extent(d),v.setExtent(d,!0));else if("save"==d){if(window.localStorage){var e=a.generateGuid(),f=b(this).parents(".wa-tree-item-content").eq(0).find(".rfs-report-link").eq(0),g=f.siblings(".rfs-report-selected-features").text(),h=v.getLayer(f.attr("data-active-layer")),i=f.attr("data-feature-ids"),j=window.localStorage.getItem("iaoAreaSelectionFavourites");j=j?JSON.parse(j):{};var k='<p>Type a name for your selection of areas from <strong>{2}</strong> into the box below, then click <strong>Save</strong> to store them for future use.</p><p style="max-height: calc(100vh - 310px); overflow-y: scroll;"><span class="small">{0}</span></p><div class="form-horizontal row"><label class="control-label col-md-3 text-right">Save as: </label><div class="col-md-8"><input id="iaoAreaSelectionSaveAsBox" class="form-control" type="text" placeholder="Type your name here" value="{2} selection" /></div></div>';a.showPopupScriptDialog("Save Area Selection...",k.replace(/\{0\}/g,g).replace(/\{1\}/g,i).replace(/\{2\}/g,h.name).replace(/\{3\}/g,h.url),{modal:!0,type:"save",buttons:"okcancel",buttonText:{ok:"Save"},ok:function(){if(b("#iaoAreaSelectionSaveAsBox").val()){var a={label:b("#iaoAreaSelectionSaveAsBox").val(),layer:{url:h.url,label:h.name},ids:i,names:g};j[e]=a,window.localStorage.setItem("iaoAreaSelectionFavourites",JSON.stringify(j))}},focus:"ok"})}}else if("save-geometry"==d){if(window.localStorage){var e=a.generateGuid(),j=window.localStorage.getItem("iaoAreaSelectionFavourites"),m=b(this).attr("data-tool"),n=b(this).attr("data-area-label");j=j?JSON.parse(j):{};var k='<p>Type a name for your <strong>geo-selector</strong> (type: <em>{0}</em>, area: {1}) into the box below, then click <strong>Save</strong> to store it for future use.</p><div class="form-horizontal row"><label class="control-label col-md-3 text-right">Save as: </label><div class="col-md-8"><input id="iaoAreaSelectionSaveAsBox" class="form-control" type="text" placeholder="Type your name here" value="My {0} selector - {1}" /></div></div>';a.showPopupScriptDialog("Save Geo-Selector...",k.replace(/\{0\}/g,m).replace(/\{1\}/g,n),{modal:!0,type:"save",buttons:"okcancel",buttonText:{ok:"Save"},ok:function(){if(b("#iaoAreaSelectionSaveAsBox").val()){var a={label:b("#iaoAreaSelectionSaveAsBox").val(),tool:m,geometry:z.data("lastQueryGeometry").toJson(),area:n};j[e]=a,window.localStorage.setItem("iaoAreaSelectionFavourites",JSON.stringify(j))}},focus:"ok"})}}else alert("Not implemented yet. Sorry.")}),d&&(z.data("lastQueryGeometry",d),require(["esri/geometry/webMercatorUtils","esri/geometry/geodesicUtils","esri/units","esri/geometry/Polygon","esri/geometry/Circle","esri/geometry/Point","esri/geometry/coordinateFormatter"],function(a,b,c,e,f,g,h){function i(){var a=b.geodesicAreas([j],esri.Units.SQUARE_KILOMETERS);H.find(".wa-modal-content .iao-selector-geometry").remove(),D.blockedOperations.actions.indexOf("save")<0&&H.find(".wa-modal-content .wa-tree").append('<div class="wa-flex-spacer-vert">&nbsp;</div><div class="iao-selector-geometry wa-tree-branch" style="display: block; margin-top: 5em;"><div class="wa-tree-item wa-tree-leaf"><div class="wa-tree-item-content wa-padding"><div class="wa-tree-item-spacer"></div><div class="wa-tree-item-label"><div class="pull-right"><a href="#save-geometry" class="btn" title="Save geo-selector" data-tool="'+z.attr("data-active-tool")+'" data-area-label="'+(l?" ("+j.radius.toFixed(3)+" "+j.radiusUnit.replace("esri","").toLowerCase()+") ":"")+a[0].toFixed(2)+"km², "+h.toLatitudeLongitude(k,"dd",3).replace("N","°N").replace("W","°W")+'"><span class="sr-only">save</span><i class="fas fa-fw fa-save"></i></a></div><div class="wa-margin-top dse-metadata">Selector: <em>'+(z.attr("data-active-tool")?z.attr("data-active-tool"):d.type)+"</em>"+(l?" ("+j.radius.toFixed(3)+" "+j.radiusUnit.replace("esri","").toLowerCase()+")":"")+', area : <span class="area-label">'+a[0].toFixed(2)+"km², centre: "+h.toLatitudeLongitude(k,"dd",3).replace("N","°N").replace("W","°W")+"</span></div></div></div></div></div>")}var j,k,l=!1;"polygon"==d.type&&"undefined"!=typeof d.radius?(k=a.webMercatorToGeographic(d.center),j=new f({center:k,radius:d.radius,radiusUnit:d.radiusUnit,geodesic:!0}),l=!0):(j=a.webMercatorToGeographic("extent"==d.type?e.fromExtent(d):d),k=j.getCentroid()||j.center),h.isLoaded()?i():h.load().then(i)}))}}function l(){v.graphics.clear();for(var a in F)F[a].layer&&v.getLayer(F[a].layer)&&(v.getLayer(F[a].layer).clearSelection(),z.removeAttr("data-selected-features-"+F[a].layer));b("#rfs-reports-modal").removeClass("in"),b("#activeSelectionToggler").css("display","none"),b(".esriMapContainer > .esriMapTooltip > .iao-selector-geometry").remove(),z.removeData("lastQueryGeometry")}function m(b,c,d,e,f,g,h){require(["esri/layers/FeatureLayer","esri/tasks/query","esri/tasks/QueryTask"],function(i,j,k){function l(c,d){var i=[];for(var j in c)c[j].attributes&&c[j].attributes[e]&&i.push(c[j].attributes[e]);if(z.attr("data-selected-features-"+m.id,i.join(",")),d){o=new esri.tasks.Query,m.objectIdField&&""!=m.objectIdField&&m.objectIdField!=e&&"OBJECTID"==e.toUpperCase()&&(e=m.objectIdField),o.where="";for(var j=0;j<i.length;j++)o.where+=(j>0?" OR ":"")+e+" = '"+i[j]+"'";o.outFields=[e],o.returnGeometry=!1,m.selectFeatures(o)}return a.hideMask(z.find(".wa-main").eq(0)),A.useFeatureLimit&&A.maxFeatures<i.length?(i=i.slice(0,A.maxFeatures),void n({reports:b,layer:m,features:i,idField:e,nameField:f,token:g,done:h})):void(h?h({id:b,layer:m.id,selected:i,results:c,token:g}):(v.graphics.clear(),z.find(".map-selection-tool.active").trigger("click")))}var m=v.getLayer(c),o=new j;o.geometry=d,o.outFields=[e],o.returnGeometry=!1,f&&o.outFields.push(f);var p;o.geometry&&"extent"==o.geometry.type?(o.returnGeometry=!0,p=new k(m.url).execute(o),p.then(function(a){var b=a.features;l(b,!0)})):(p=m.selectFeatures(o,esri.layers.FeatureLayer.SELECTION_NEW),p.then(l))})}function n(a){var b,c,d=a.reports,e=a.layer,f=a.features,g=a.idField,h=a.nameField,i=a.queryField||g,j=a.token,k=a.done||a.complete,l=new esri.tasks.Query,m="undefined"!=typeof e.layerObject?e.layerObject:e,o=esri.layers.FeatureLayer.SELECTION_NEW;e.objectIdField&&""!=e.objectIdField&&e.objectIdField!=g&&"OBJECTID"==g.toUpperCase()&&(g=e.objectIdField),l.where="";for(var p=0;p<f.length;p++)l.where+=(p>0?" OR ":"")+i+" = '"+f[p]+"'";if(l.outFields=[g],l.returnGeometry=!1,h&&l.outFields.push(h),i!=g&&i!=h&&l.outFields.push(i),a.clearLayers&&v&&v.graphicsLayerIds)for(var p in v.graphicsLayerIds)b=v.getLayer(v.graphicsLayerIds[p]),b&&b.setVisibility(!1);e._defnExpr&&e.setDefinitionExpression(e._defnExpr),c=m.selectFeatures(l,o),c.then(function(a){if(z.attr("data-selected-features-"+e.id,f.join(",")),a.length<1&&g&&h&&g!=h)n({reports:d,layer:e,features:f,idField:g,queryField:h,nameField:h,token:j,done:k});else if(k){f=[];for(var b in a)a[b].attributes[g]&&f.push(a[b].attributes[g]);k({id:d,layer:e.id,selected:f,results:a,token:j})}})}function o(c,d,e,f){var g=G+"/report/view/"+c+"/"+("undefined"!=typeof d.join?"multiple?features="+encodeURIComponent(d.join(",")):d);window.location.search&&(g+=(g.indexOf("?")>0?"&":"?")+window.location.search.substring(1));var h=a.parseQueryString(b("#profileReportArgs").val()),i=f&&f.mode?f.mode:h&&h.indexLinkMode?h.indexLinkMode:"default",j=f&&f.container?f.container.jquery?f.container:b(f.container):b("body");if(i&&"_blank"==i){a.showMask(z.find(".wa-main").eq(0));var k=window.open(g,"_blank","",!0);k&&k.focus(),setTimeout(a.hidePageMask,250)}else if(i&&"popup"==i.toLowerCase()){var l={id:d,name:e?e:d};a.isViewer=!0,a.appPath=G;var m=j.find(".wa-report").eq(0);m.length<1&&(j.append('<div id="rfs-report-panel" class="wa-modal wa-report"><div class="wa-modal-header wa-active wa-padding-left wa-padding-right"><div class="wa-modal-header-title">Report</div><div class="wa-modal-close-icon"><i class="fas fa-times"></i></div></div><div class="wa-modal-content wa-modal-content-scrollable wa-padding"></div></div>'),m=j.find(".wa-report").eq(0)),m.children(".profileReport").length<1&&m.children(".wa-modal-content").append('<div class="profileReport"></div>'),m.prop("id"),a.getPageManager(m.prop("id"),!0).feature=l;var n=f&&f.token?{token:f.token}:{};a.refreshReport({report:c,container:m,selection:l,page:0,clear:!0,reportParams:{},requestParams:n,complete:function(c){if(c.success){b('head > link[id^="iaoInject_"]').remove(),b('head > style[id^="iaoInject_"]').remove();var d=1;if(c.data&&c.data.stylesheets)for(var e in c.data.stylesheets)b("head").append('<link id="iaoInject_'+d.toFixed()+'" rel="stylesheet" href="'+c.data.stylesheets[e].replace("~/",G+"/")+'" />'),d++;c.data&&c.data.css&&(b("head").append('<style id="iaoInject_'+d.toFixed()+'">'+c.data.css+"</style>"),d++);var f=c.target.jquery?c.target:b(c.target);f.parent().css("width","").css("height","auto"),f.find(".ia-index-links").remove(),f.find(".ia-page-navbar").remove(),a.createShareAndExportLinks(f.parent(),"","print"),f.find(".exportControls a").tooltip({container:b("body > .iao-content").length>0?"body > .iao-content":"body",placement:"left auto"});var g=f.find('a[id*="exportToPdfLink"]');g&&g.length>0&&(f.addClass("report-export-holder"),g.off("click").on("click",function(c){b(this).tooltip("hide");var d=b(this).attr("href").split("/");d.pop();var e=d.pop(),f=b(this).parents(".report-export-holder").eq(0);a.exportReport(c,"PDF",a.applicationId,e,{newWindow:!1,allowScript:!1,useQueryString:!0,sizeToFit:!0,container:f}),c.preventDefault()})),b("#activeReportToggler").css("display","").removeClass("wa-active").trigger("click")}else b("#activeReportToggler").css("display","none"),a.showPopupScriptDialog("Unexpected Error","<p>InstantAtlas Report Builder has encountered an unexpected error when updating the report. Sorry about that. Try refreshing the page.</p>",{type:"error",modal:!0,buttons:"okcancel",buttonText:{ok:a.getText("UnexpectedErrorDialog.OkButton.Text","Reload")},ok:function(){a.showMask(z.find(".wa-main").eq(0)),window.location.reload(!0)}});a.hideMask(z.find(".wa-main").eq(0))}})}else a.showMask(z.find(".wa-main").eq(0)),window.location.href=g}function p(a,b){var c=a[b],d=esri.arcgis.utils.getItem(c);d.then(function(d){F[c].info=d.item,b<a.length-1?(r("Updating report details...",80+b+1),p(a,b+1)):s()})}function q(){b("body").append('<div id="iao_backgroundMessage" class="iao-content message-bar iao-message-bar"><div class="row"><div class="col-md-4"></div><div class="col-md-8 message"></div></div></div>'),b("#iao_backgroundMessage .col-md-4").append('<div class="progress"><div class="progress-bar progress-bar-striped" style="width: 0%"><span></span></div></div>')}function r(a,c){0==a.indexOf("<")?b("#iao_backgroundMessage .message").html(a):b("#iao_backgroundMessage .message").text(a),b("#iao_backgroundMessage .progress-bar").css("width",c.toFixed(0)+"%"),b("#iao_backgroundMessage").hasClass("shown")||b("#iao_backgroundMessage").addClass("shown")}function s(){b("#iao_backgroundMessage").removeClass("shown")}function t(a,b,c){var d,e,f,g={};if(a&&""!=a){var h=b||"&";0==a.indexOf("?")&&(a=a.substring(1));var i=a.split(h);for(var j in i)if(f=i[j].indexOf("="),f>0){d=i[j].substring(0,f);try{e=decodeURIComponent(i[j].substring(f+1))}catch(k){e=i[j].substring(f+1)}g[d]=e,c||(g[d.toLowerCase()]=e,g[d.toUpperCase()]=e)}}return g}function u(){var a,c,d=window.location.protocol+"//"+window.location.hostname,e=/\/EmbeddedIAO\.arcgis\.selector(\.min){0,1}\.js/;return b("script").each(function(){var f=b(this).attr("src");return e.test(f)?(a=f.indexOf("?")>0?f.split("?")[1]:null,(0==f.indexOf("http:")||0==f.indexOf("https:"))&&(d=f.substring(0,f.indexOf("/",f.indexOf("://")+3))),c=this,!1):void 0}),{host:d,options:a?t(a):null,tag:c}}var v,w,x,y,z,A,B,C,D=(a.arcgis=a.arcgis||{},a.arcgis.selector=a.arcgis.selector||{}),E=[],F={},G="",H="gkpFf8Z6URDeutTi";D.blockedOperations={actions:[],tools:[]},D.localizedText={es:{"tool.map.label":"Mapa","tool.map.tooltip":"Herramientas del mapa...","tool.click.label":"Clic","tool.click.tooltip":"Seleccione áreas haciendo clic en ellas con el ratón","tool.polygon.label":"Polígono","tool.polygon.tooltip":"Seleccione áreas dibujando un polígono en el mapa","tool.box.label":"Rectángulo","tool.box.tooltip":"Seleccione áreas dibujando un rectángulo en el mapa","tool.circle.label":"Circulo","tool.circle.tooltip":"Seleccione áreas dibujando un circulo en el mapa","tool.radius.label":"Punto y Distancia","tool.radius.tooltip":"Seleccione áreas dentro de una distancia de un punto en el mapa","tool.load.label":"Cargar","tool.load.tooltip":"Cargar áreas que haya guardado antes","tool.paste.label":"Pegar","tool.paste.tooltip":"Pegue áreas con ID o nombres de otra aplicación","tool.selection.label":"Selección","tool.clear.label":"Borrar","tool.clear.tooltip":"Borrar selección","action.loading.layers.label":"Caragando capa del mapa. Por favor, espere...","tab.layers.label":"Capas","tab.report.label":"Informes","tab.about.label":"Bienvendio","progress.app.start.label":"Cargando {0}. Por favor, espere...","progress.loading.layers.label":"Cargando capas del mapa. Por favor, espere...","progress.setup.end.label":"Configuración del mapa completa. Verificando detalles de {0} informes. Por favor, espere...","progress.setup.links.label":"Verificando enlaces a {0} informes. Por favor, espere...","progress.setup.links.layer.label":"Construyendo enlaces entre capas y informes. Por favor, espere...","button.close.label":"Cerrar","button.zoomFull.tooltip":"Inicio","layer.active.label":"Capa activa: ","selection.button.zoomTo.label":"Acercar a selección...","selection.button.save.label":"Guardar selección...","selection.button.clear.label":"Borrar selección..."}},D.initMap=function(g,h){var i,m,o,s,t,x,y,J,K,L;A=b.extend({},I.values),z=g&&g.jquery?g:b(g),h&&(h.host||h.url)?G=h.host||h.url:null!=(K=u())&&K.host&&(G=K.host),h&&(h.done||h.complete)&&(L=h.done||h.complete),h&&h.token&&(x=h.token),q();var M=["esri/map","esri/arcgis/utils","esri/IdentityManager","esri/arcgis/OAuthInfo","esri/layers/FeatureLayer","esri/geometry/Extent","esri/geometry/webMercatorUtils","dojo/_base/connect"];(h&&h.tools&&h.tools.draw||!h||!h.tools||h.tools&&"undefined"==typeof h.tools)&&(M.push("esri/toolbars/draw"),M.push("esri/symbols/SimpleMarkerSymbol"),M.push("esri/symbols/SimpleLineSymbol"),M.push("esri/symbols/SimpleFillSymbol"),M.push("esri/symbols/PictureFillSymbol"),M.push("esri/symbols/CartographicLineSymbol"),M.push("esri/graphic"),M.push("esri/Color")),b('link[href*="js.arcgis.com"][href*=".css"]').length<1&&b("head").append('<link type="text/css" rel="stylesheet" href="https://js.arcgis.com/3.21/esri/css/esri.css" />'),i=a.parseQueryString(window.location.search),m=i.appid||h.appId,a.showMask(z.find(".wa-main").eq(0)),r("...",5),require(M,function(g,q,u,G,I,K,M,N){var O;q.arcgisUrl=q.arcgisUrl.replace("http://","https://");var P=new G({appId:H,popup:!1});window.location==window.top.location?u.registerOAuthInfos([P]):(b("head").append('<link rel="stylesheet" href="https://js.arcgis.com/3.21/esri/themes/calcite/dijit/calcite.css" type="text/css" />'),
b("body").addClass("esri").addClass("calcite")),require(["esri/geometry/coordinateFormatter"],function(g){function G(){var a=i.webmap||h.webMapId||h.webmap,b=i.reports||h.reportIds||h.reports;m?(O=esri.arcgis.utils.getItem(m),O.then(function(c){c.itemData&&(a&&(c.itemData.values.webmap=a),b&&(c.itemData.values.reportIds=b)),H(c)})):H({item:{title:i.title||"Area Selector Tool"},itemData:{values:{webmap:a,reportIds:b}}})}function H(g){s=g.item,t=g.itemData,A=b.extend(A,t.values);var i=A.locale&&D.localizedText[A.locale]?D.localizedText[A.locale]:{},u="progress.app.start",B=i[u+".label"]||"Starting {0}. Please wait...";A.blockedActions&&(D.blockedOperations.actions=D.blockedOperations.actions.concat(A.blockedActions.split(","))),r(B.replace(/\{0\}/g,s.title),10),A.showTitle?z.find(".wa-titlebar").append('<h1 class="wa-title">'+s.title+"</h1>"):z.find(".wa-titlebar").remove(),A.toolbarAtTop&&z.find(".wa-toolbar").addClass("top-aligned"),b("head > title").append(s.title),o=A.webmap,e(A),O=esri.arcgis.utils.getItem(o),O.then(function(e){y=e.item,J=e.itemData;var g=q.createMap(e,h&&h.map?h.map:"wa-map",{});g.then(function(e){v=e.map,N.disconnect(e.clickEventHandle);var g,h={Map:{icon:"fas fa-fw fa-arrows-alt",tooltip:"Map tools - zoom, pan"},Click:{icon:"far fa-fw fa-hand-pointer",tooltip:"Select features by clicking on them with the mouse"},Polygon:{icon:"fas fa-fw fa-pencil-alt",tooltip:"Select features by drawing a shape on the map"},Box:{icon:"fas fa-fw fa-edit",tooltip:"Select features by drawing a box on the map"},Circle:{icon:"far fa-fw fa-circle",tooltip:"Select features by drawing a circle on the map"},Radius:{icon:"far fa-fw fa-compass fa-rotate-90",tooltip:"Select features by clicking on the map and choosing a radius around that point"},Load:{icon:"far fa-fw fa-folder-open",tooltip:"Load a selection of features you have previously saved"},Paste:{icon:"fas fa-fw fa-paste",tooltip:"Select features by copy-and-pasting their IDs or names from another application"}},o="",q=0,t=!1;for(var y in h)A["selectTool"+y]&&D.blockedOperations.tools.indexOf(y.toLowerCase())<0&&(u="tool."+y.toLowerCase(),B=i[u+".label"]||y,g=i[u+".tooltip"]||h[y].tooltip,o+='<div class="wa-toolbar-tool wa-toolbar-radio-tool wa-inactive map-selection-tool tool-'+q+" tool-type-"+y.toLowerCase()+'" data-tool="'+y.toLowerCase()+'"'+(g?' title="'+g+'" data-toggle="tooltip"':"")+'><div class="wa-toolbar-tool-icon"><i class="'+h[y].icon+'"></i></div><div class="wa-toolbar-tool-text">'+B+"</div></div>","click"==y.toLowerCase()&&(t=!0),q++);q>0&&(u="tool.selection",B=i[u+".label"]||"Selection",g=i[u+".tooltip"]||B,o+='<div id="activeSelectionToggler" class="wa-toolbar-tool wa-toolbar-radio-tool wa-inactive modal-tool tool-'+q+' tool-type-toggle-select" data-modal="rfs-reports-modal" style="display: none;"><div class="wa-toolbar-tool-icon"><i class="fas fa-fw fa-check-square"></i></div><div class="wa-toolbar-tool-text">'+B+"</div></div>",q++,u="tool.clear",B=i[u+".label"]||"Clear",g=i[u+".tooltip"]||B,o+='<div class="wa-toolbar-tool wa-toolbar-radio-tool wa-inactive map-selection-tool tool-'+q+' tool-type-clear" data-tool="clear"><div class="wa-toolbar-tool-icon"><i class="fas fa-fw fa-times"></i></div><div class="wa-toolbar-tool-text">'+B+"</div></div>",q++);var G=z.find(".wa-map .esriSimpleSlider");G.find(".esriSimpleSliderIncrementButton span").eq(0).empty().append('<i class="fas fa-fw fa-plus"></i>'),u="button.zoomFull",B=i[u+".tooltip"]||"Zoom Full",G.find(".esriSimpleSliderIncrementButton").after('<div class="iao-zoom-full" tabindex="-1" role="button" title="'+B+'"><span aria-hidden="true" role="presentation"><i class="fas fa-fw fa-home"></i></span><span class="esriIconFallbackText">Zoom Full</span></div>'),G.find(".esriSimpleSliderDecrementButton span").eq(0).empty().append('<i class="fas fa-fw fa-minus"></i>'),G.find(".iao-zoom-full").attr("data-full-extent",JSON.stringify(v.extent)),G.find(".iao-zoom-full").on("click",function(a){a.preventDefault();var c=b(this).attr("data-full-extent");c&&(c=JSON.parse(c),v.setExtent(new esri.geometry.Extent(c)))});var H=A.reportIds?A.reportIds.split(","):[];if(A.reportIds&&!A.autoSelectLayers&&"undefined"!=typeof A.clickableLayer){for(var I in H)F[H[I]]={},F[H[I]].layer=A.clickableLayer.id,F[H[I]].src={},F[H[I]].src.idField=A.clickableLayer.fields[0].fields[0],E.push(H[I]);p(H,0,x),c(J.operationalLayers)}else H&&H.length>0&&(u="progress.loading.layers",B=i[u+".label"]||"Loading layers into map. Please wait...",r(B,20),f(H,J.operationalLayers,t,{token:x,labels:i,done:function(a,d,e){if(p(H,0,x),A.singleLayerSelectionMode){u="layer.active",B=i[u+".label"]||"Active report layer: ",z.find(".wa-main").append('<div class="wa-floating wa-selector"><div class="form-inline"><label for="waSelectorForReports">'+(A.layerSelectorLabel?A.layerSelectorLabel:B)+'</label><select id="waSelectorForReports" class="form-control"></select></div></div>');const f=[];var g;for(var h in H)if(g=v.getLayer(d[H[h]].layer),g&&f.indexOf(g.id)<0)b("#waSelectorForReports").append('<option value="'+H[h]+'" data-layer-key="'+g.id+'">'+g.name+"</option>"),g.on("visibility-change",function(){b("#waSelectorForReports").data("actions-active")||(b("#waSelectorForReports").data("reactions-blocked",!0),b("#waSelectorForReports > option").each(function(){return v.getLayer(b(this).attr("data-layer-key"))&&v.getLayer(b(this).attr("data-layer-key")).visible?(b(this).parent().val(b(this).attr("value")),!1):void 0}),b("#waSelectorForReports").removeData("reactions-blocked"))}),f.push(g.id);else if(b('#waSelectorForReports > option[data-layer-key="'+g.id+'"]').length>0){const k=b('#waSelectorForReports > option[data-layer-key="'+g.id+'"]').attr("value").split(",");k.push(H[h]),b('#waSelectorForReports > option[data-layer-key="'+g.id+'"]').attr("value",k.join(","))}b("#waSelectorForReports").on("change",function(){if(!b(this).data("reactions-blocked")){b(this).data("actions-active",!0);var a=b(this).val().split(",");for(var c in d)v.getLayer(d[c].layer).setVisibility(a.indexOf(c)>=0?!0:!1);z.data("lastQueryGeometry")?j({geometry:z.data("lastQueryGeometry")},a,{labels:i}):(b("#rfs-reports-modal").removeClass("in"),b("#rfs-reports-modal .rfs-report-link-box").remove(),b("#activeSelectionToggler").css("display","none"),v.graphics.clear()),b(this).removeData("actions-active")}})}c(e)}}));w=new esri.toolbars.Draw(v),w.on("draw-complete",function(a){j(a,null,{labels:i})}),q=0,o+='<div class="wa-toolbar-space"> </div>',A.displayLegendTool&&(u="tab.layers",B=i[u+".label"]||"Layers",o+='<div class="wa-toolbar-tool wa-toolbar-radio-tool wa-inactive modal-tool tool-'+q+'" data-modal="rfs-legend-modal"><div class="wa-toolbar-tool-icon"><i class="fas fa-fw fa-list"></i></div><div class="wa-toolbar-tool-text">'+B+"</div></div>",q++,z.find("#rfs-legend-modal .wa-modal-header-title").html(B)),u="tab.report",B=i[u+".label"]||"Report",o+='<div id="activeReportToggler" class="wa-toolbar-tool wa-inactive modal-tool tool-'+q+'" data-toggle="rfs-report-panel" style="display: none;"><div class="wa-toolbar-tool-icon"><i class="far fa-fw fa-file-alt"></i></div><div class="wa-toolbar-tool-text">'+B+"</div></div>",q++,z.find("#rfs-reports-modal .wa-modal-header-title").html(B),A.displayWelcomePanel&&A.welcomePanelText&&(u="tab.about",B=i[u+".label"]||"About",o+='<div class="wa-toolbar-tool wa-toolbar-radio-tool wa-inactive modal-tool tool-'+q+'" data-modal="rfs-welcome-modal"><div class="wa-toolbar-tool-icon"><i class="fas fa-fw fa-info-circle"></i></div><div class="wa-toolbar-tool-text">'+B+"</div></div>",q++,z.find("#rfs-welcome-modal .wa-modal-header-title").html(B)),z.find(".wa-toolbar").append(o),z.find(".wa-toolbar").on("click",".wa-toolbar-tool",function(c){c.preventDefault();var e=b(this).attr("data-tool"),f=b(this).attr("data-modal"),g=b(this).attr("data-toggle");if(e){if("clear"==e){v.graphics.clear();for(var h in F)F[h].layer&&v.getLayer(F[h].layer)&&(v.getLayer(F[h].layer).clearSelection(),z.removeAttr("data-selected-features-"+F[h].layer));return b("#rfs-reports-modal").removeClass("in"),b("#activeSelectionToggler").css("display","none"),b(".esriMapContainer > .esriMapTooltip > .iao-selector-geometry").remove(),void z.removeData("lastQueryGeometry")}if("load"==e){if(window.localStorage){var m=window.localStorage.getItem("iaoAreaSelectionFavourites"),o="<p>You do not have any saved selections.</p>";if(m){var p,q={};for(var h in F)null!=(p=v.getLayer(F[h].layer))&&(q[p.url.toLowerCase()]=p.id);m=JSON.parse(m),o="<p>Choose a selection of areas <em>or</em> a geographical selector from the list below.</p>";for(var r in m)m[r].layer&&m[r].layer.url&&q[m[r].layer.url.toLowerCase()]?(o+='<div id="selector-'+r+'" class="row spaced-row"><div class="col-md-1"><i class="fas fa-fw fa-map-marker-alt fa-lg"></i></div>',o+='<div class="col-md-7"><label class="control-label">'+m[r].label+"</label>",o+='<div><span class="small">'+m[r].names+"</span></div>",o+="</div>",o+='<div class="col-md-3 text-right"><button type="button" class="btn btn-default btn-primary" data-tool="saved" data-target-layer="'+q[m[r].layer.url.toLowerCase()]+'">Apply</button> <a href="#delete"><span class="sr-only">delete</span><i class="fas fa-times"></i></a></div>',o+="</div>"):m[r].tool&&(o+='<div id="selector-'+r+'" class="row spaced-row"><div class="col-md-1"><i class="fas fa-fw fa-globe-africa fa-lg"></i></div>',o+='<div class="col-md-7"><label class="control-label">'+m[r].label+"</label>",o+='<div><span class="small">'+m[r].tool+", "+m[r].area+"</span></div>",o+="</div>",o+='<div class="col-md-3 text-right"><button type="button" class="btn btn-default btn-primary" data-tool="'+m[r].tool+'">Apply</button> <a href="#delete"><span class="sr-only">delete</span><i class="fas fa-times"></i></a></div>',o+="</div>")}a.showPopupScriptDialog("Load Area Selection...",o,{modal:!0,large:!0,type:"folder-open",buttons:"",buttonText:{cancel:"Close"},shown:function(c){b(c.target).find(".modal-body").addClass("modal-body-scrollable"),b(c.target).on("click",".row .btn[data-tool]",function(c){c.preventDefault();var d,e,f,g,h,l,m,o=b(this).attr("data-tool"),p=b(this).parents(".row").attr("id").substring("selector-".length),q=window.localStorage.getItem("iaoAreaSelectionFavourites");if(q)if(q=JSON.parse(q),"saved"!=o)d=q[p].geometry,require(["esri/geometry/jsonUtils"],function(a){z.data("lastQueryGeometry",a.fromJson(d)),j({geometry:z.data("lastQueryGeometry")},null,{labels:i})}),a.hidePopupDialog(b(this).parents(".modal"));else{l=v.getLayer(b(this).attr("data-target-layer"));for(var r in F)if(F[r].layer==l.id){h=r,f=F[r].src.idField,g=F[r].src.nameField;break}if(f&&l){z.removeData("lastQueryGeometry");const s=b('#waSelectorForReports > option[value*="'+h+'"]')[0];s?b("#waSelectorForReports").val(s.value).trigger("change"):b("#waSelectorForReports").val(h).trigger("change"),v.graphics.clear(),e=q[p].ids.split(","),m=parseInt(z.attr("data-selection-timeout-id")),isNaN(m)||clearTimeout(m),m=setTimeout(function(){n({reports:h,layer:l,features:e,idField:f,nameField:g,token:null,clearLayers:!0,done:function(a){var c,d=[];for(var e in F)F[e].layer==l.id&&(c=b.extend({},a),c.id=e,d.push(c));k(d,null,{zoom:"auto",labels:i})}})},40),z.attr("data-selected-features-"+l.id,e.join(",")),z.attr("data-selection-timeout-id",m.toString())}a.hidePopupDialog(b(this).parents(".modal"))}}),b(c.target).on("click",'.row a[href="#delete"]',function(c){c.preventDefault();var d=b(this).parents(".row").attr("id").substring("selector-".length),e=window.localStorage.getItem("iaoAreaSelectionFavourites");e&&(e=JSON.parse(e),e[d]=null,delete e[d],window.localStorage.setItem("iaoAreaSelectionFavourites",JSON.stringify(e)),a.hidePopupDialog(b(this).parents(".modal")))})},hidden:function(a){b(a.target).find(".modal-body").removeClass("modal-body-scrollable")}})}return}if("paste"==e){var s=b("#waSelectorForReports").val()||H[0],t=s.split(",")[0],u=v.getLayer(F[t].layer),x=F[t].src.idField,y=F[t].src.nameField,o='<p><strong>Paste</strong> (CTRL+V) your selection of areas for <strong>{0}</strong> into the box below, then click <strong>Select</strong> to show them on the map.</p><div class="form-horizontal row"><label class="control-label col-md-3 text-right" for="iaoAreaSelectionPasteIdsBox">Feature IDs: </label><div class="col-md-8"><textarea id="iaoAreaSelectionPasteIdsBox" class="form-control" rows="5" cols="40" placeholder="Paste your feature/area IDs or names here, separated by commas or one per line..."></textarea></div></div>';return void a.showPopupScriptDialog("Paste Area Selection...",o.replace(/\{0\}/g,u.name),{modal:!0,type:"paste",buttons:"okcancel",buttonText:{ok:"Select"},ok:function(){if(b("#iaoAreaSelectionPasteIdsBox").val()){var a=b("#iaoAreaSelectionPasteIdsBox").val(),c=a.split(a.indexOf("\n")>0?"\n":a.indexOf("	")>0?"	":","),d=[];for(var e in c)d.push(b.trim(c[e].indexOf("	")>0?c[e].split("	")[0]:c[e].split(",")[0]));n({reports:s,layer:u,features:d,idField:x,nameField:y,token:null,done:function(a){var c,d=[];for(var e in F)F[e].layer==u.id&&(c=b.extend({},a),c.id=e,d.push(c));k(d,null,{labels:i})}})}},focus:"ok"})}b(this).siblings(".map-selection-tool").removeClass("wa-active"),b(this).addClass("wa-active"),C&&C.remove(),"click"==e||"map"==e?(d(!0,!0),w.deactivate()):"radius"==e?(d(!0,!1),w.deactivate(),require(["esri/geometry/webMercatorUtils","esri/geometry/Circle","esri/graphic","esri/layers/GraphicsLayer","esri/units","esri/geometry/coordinateFormatter"],function(c,d,e,f,g,h){C=v.on("click",function(e){var f=v.extent.getWidth()/100,k=e.mapPoint,m=c.webMercatorToGeographic(e.mapPoint),n='<div><p>Choose your <strong>selection radius</strong> around the point <strong>{0}</strong>, then press <em>Select</em>.</p><div class="row form-horizontal"><label class="col-md-3 control-label text-right" for="iaoSelectRadiusValueBox">Radius:</label><div class="col-md-8"><span class="input-group"><input type="number" id="iaoSelectRadiusValueBox" class="form-control" value="'+f.toFixed(0)+'" style="width: 35%;" /><select id="iaoSelectRadiusUnitsBox" class="form-control" style="width: 55%;"><option value="METERS">m</option><option value="KILOMETERS">km</option><option value="MILES">miles</option><option value="YARDS">yards</option></select></span></div></div>';n=n.replace(/\{0\}/g,h.toLatitudeLongitude(m,"dd",3).replace("N","°N").replace("W","°W")),a.showPopupScriptDialog("Choose Radius",n,{modal:!0,type:"compass",buttons:"okcancel",buttonText:{ok:"Select"},ok:function(){isNaN(parseFloat(b("#iaoSelectRadiusValueBox").val()))||(f=parseFloat(b("#iaoSelectRadiusValueBox").val()));var a=new d({center:k,geodesic:!0,radius:f,radiusUnit:g[b("#iaoSelectRadiusUnitsBox").val()]});j({geometry:a},null,{labels:i})},shown:function(){l(),b("#iaoSelectRadiusUnitsBox").data("last-value",b("#iaoSelectRadiusUnitsBox").val()),b("#iaoSelectRadiusUnitsBox").on("change",function(){var a=b(this).val(),c=b(this).data("last-value"),d=parseFloat(b("#iaoSelectRadiusValueBox").val());"KILOMETERS"==c?d=1e3*d:"YARDS"==c?d=3*d/3.2808:"MILES"==c&&(d=1609.34*d),"MILES"==a?d/=1609.34:"YARDS"==a?d=3.2808*d/3:"KILOMETERS"==a&&(d/=1e3),b("#iaoSelectRadiusValueBox").val(d.toFixed("METERS"==a||"YARDS"==a?0:3)),b("#iaoSelectRadiusUnitsBox").data("last-value",a),b("#iaoSelectRadiusValueBox").trigger("change")}),b("#iaoSelectRadiusValueBox").on("change",function(){var a=b(this).data("changeTimeoutId");a&&clearTimeout(a),a=setTimeout(function(){var a,c,e;isNaN(parseFloat(b("#iaoSelectRadiusValueBox").val()))||(f=parseFloat(b("#iaoSelectRadiusValueBox").val()));var h=new d({center:k,geodesic:!0,radius:f,radiusUnit:g[b("#iaoSelectRadiusUnitsBox").val()]});a=new esri.symbol.SimpleFillSymbol,A.themeColor&&(e=new esri.Color(A.themeColor),a.outline.setColor(e),a.outline.setWidth(2),a.setColor(new esri.Color([e.r,e.g,e.b,.4]))),c=new esri.Graphic(h,a),v.graphics.clear(),v.graphics.add(c)},200),b(this).data("changeTimeoutId",a)}),b("#iaoSelectRadiusValueBox").trigger("change")},focus:"ok"})})})):("polygon"==e||"polyline"==e?e="freehand"+e:"box"==e&&(e="extent"),d(!1,!1),w.activate(e)),z.attr("data-active-tool",e)}else f?(b(this).siblings(".wa-toolbar-radio-tool").removeClass("wa-active"),z.find(".wa-modal").not(".wa-report").removeClass("in"),b(this).hasClass("wa-active")?b(this).removeClass("wa-active"):(b(this).addClass("wa-active"),z.find('.wa-modal[id="'+f+'"]').addClass("in"))):g&&(b(this).hasClass("wa-active")?(b(this).removeClass("wa-active"),z.find('.wa-modal[id="'+g+'"]').removeClass("in")):(b(this).addClass("wa-active"),z.find('.wa-modal[id="'+g+'"]').addClass("in")))}),z.on("click",".wa-modal-button.wa-close-button, .wa-modal-close-icon",function(a){a.preventDefault();var c=b(this).parents(".wa-modal");c.removeClass("in"),b('.wa-toolbar-tool[data-modal="'+c.attr("id")+'"]').removeClass("wa-active"),b('.wa-toolbar-tool[data-toggle="'+c.attr("id")+'"]').removeClass("wa-active")}),z.find(".wa-toolbar .wa-toolbar-tool").eq(A.activeTool).addClass("wa-tool-default").trigger("click"),z.find('.wa-toolbar .wa-toolbar-tool[data-toggle="tooltip"]').tooltip({placement:A.toolbarAtTop?"bottom":"right",container:b("body > .iao-content").length>0?"body > .iao-content":"body"}),u="progress.setup.end",B=i[u+".label"]||"Map setup finished. Checking {0} report details.",r(B.replace(/\{0\}/g,H.length.toFixed(0)),80),H.length<1&&(a.hideMask(z.find(".wa-main").eq(0)),a.showPopupScriptDialog("No Reports","No reports available - add them to this app via the <strong>Configure App</strong> tool on ArcGIS Online.",{modal:!0,type:"warning",buttons:"ok"})),A.displayWelcomePanel&&A.welcomePanelText&&(b("#rfs-welcome-modal-content").append(A.welcomePanelText),A.welcomePanelTitle&&b("#rfs-welcome-modal .wa-modal-header-title").empty().append(A.welcomePanelTitle),b("#rfs-welcome-modal").addClass("in")),u="button.close",B=i[u+".label"]||"Close",b(".wa-modal-button.wa-close-button").html(B),L&&L({id:m,item:s,container:z,map:v,settings:A,labels:i})})})}g.isLoaded()||g.load(),B=P.portalUrl,u.checkSignInStatus(B+"/sharing").then(G).otherwise(function(){G()})})})},D.injectStandardHtml=function(a){var c='<div class="wa-app"><div class="wa-titlebar"></div><div class="wa-toolbar"></div><div class="wa-main wa-border wa-border-width"><div id="wa-map" class="wa-map map"></div><div id="rfs-legend-modal" class="wa-modal"><div class="wa-modal-header wa-active wa-padding-left wa-padding-right"><div class="wa-modal-header-title">Legend</div><div class="wa-modal-close-icon"><i class="fas fa-times"></i></div></div><div class="wa-modal-content wa-modal-content-scrollable wa-padding"><div id="rfs-legend-modal-content" style="position: relative;"></div></div><div class="wa-modal-footer wa-active wa-padding-left wa-padding-right"><div class="wa-modal-button wa-close-button">Close</div></div></div><div id="rfs-reports-modal" class="wa-modal"><div class="wa-modal-header wa-active wa-padding-left wa-padding-right"><div class="wa-modal-header-title">Reports</div><div class="wa-modal-close-icon"><i class="fas fa-times"></i></div></div><div class="wa-modal-content wa-modal-content-scrollable wa-padding"><div id="rfs-reports-modal-content" style="position: relative;"></div></div><div class="wa-modal-footer wa-active wa-padding-left wa-padding-right"><div class="wa-modal-button wa-close-button">Close</div></div></div><div id="rfs-welcome-modal" class="wa-modal"><div class="wa-modal-header wa-active wa-padding-left wa-padding-right"><div class="wa-modal-header-title">Welcome</div><div class="wa-modal-close-icon"><i class="fas fa-times"></i></div></div><div class="wa-modal-content wa-modal-content-scrollable wa-padding"><div id="rfs-welcome-modal-content" style="position: relative;"></div></div><div class="wa-modal-footer wa-active wa-padding-left wa-padding-right"><div class="wa-modal-button wa-close-button">Close</div></div></div></div></div>',d=a&&a.jquery?a:b(a);d.append(c)};var I={displayType:"tabs",configurationSettings:[{category:"Map",fields:[{type:"webmap"},{type:"paragraph",value:"&nbsp;"},{type:"boolean",fieldName:"zoomToLayer",label:"Auto Zoom",tooltip:"Automatically zoom the map to the extent of the reportable layer(s)"}]},{category:"Report",fields:[{type:"string",fieldName:"reportIds",label:"Report ID(s)",tooltip:"One or more ArcGIS Online item IDs of the report(s) to use with this app. Separate IDs with commas."},{type:"boolean",fieldName:"singleLayerSelectionMode",label:"Single Layer Selection",tooltip:"Apply feature selection to the visible layer ONLY, or drill down across all available report layers"},{type:"conditional",condition:!1,fieldName:"useFeatureLimit",label:"Limit Features?",tooltip:"Limits the number of features that can be shown/aggregated in one report",items:[{type:"number",fieldName:"maxFeatures",label:"Maximum:",tooltip:"",constraints:{min:1,places:0}}]},{type:"string",fieldName:"reportLinkButtonText",label:"Report Button Text"},{type:"options",fieldName:"linkTarget",tooltip:"Where should reports open?",label:"Open in...",options:[{label:"Same window",value:"_self"},{label:"New window",value:"_blank"},{label:"Named window",value:"iaoReportWindow"},{label:"Inline",value:"#popup"}]}]},{category:"Styling",fields:[{type:"color",fieldName:"themeColor",tooltip:"Theme color to use",label:"Theme Color"},{type:"paragraph",value:"&nbsp;"},{type:"color",fieldName:"toolColor",tooltip:"Tool color to use",label:"Tool Color"},{type:"paragraph",value:"&nbsp;"},{type:"color",fieldName:"backgroundColor",tooltip:"Background color to use",label:"Background Color"},{type:"paragraph",value:"<br/><br/><b>Map</b>"},{type:"color",fieldName:"selectionColor",tooltip:"Map selection color to use",label:"Selection Color"},{type:"string",fieldName:"selectionStyle",tooltip:"Selection/highlight style to use",label:"Selection Style (polygons)",options:[{label:"outline",value:"outline"},{label:"fill",value:"fill"},{label:"fill & outline",value:"fillandoutline"}]},{type:"number",fieldName:"selectionFillOpacity",label:"Selection Fill Opacity (polygons)",tooltip:"If fill or fill and outline are used, the opacity of the fill between 0 (transparent) and 1 (opaque)",constraints:{min:0,max:1,places:2}},{type:"paragraph",value:"<br/><br/><b>Font</b>"},{type:"paragraph",value:"&nbsp;"},{type:"color",fieldName:"fontColor",tooltip:"Font color to use",label:"Color"},{type:"number",fieldName:"fontSize",tooltip:"Font size to use",label:"Size (px)",constraints:{places:0}},{type:"string",fieldName:"fontFamily",tooltip:"Font family to use",label:"Family"},{type:"paragraph",value:"<br/><br/><b>Border</b>"},{type:"color",fieldName:"borderColor",tooltip:"Border color to use",label:"Color"},{type:"number",fieldName:"borderWidth",tooltip:"Border width to use",label:"Width (px)",constraints:{places:0}},{type:"string",fieldName:"borderStyle",tooltip:"Border style to use",label:"Style",options:[{label:"solid",value:"solid"},{label:"hidden",value:"hidden"},{label:"dotted",value:"dotted"},{label:"dashed",value:"dashed"},{label:"double",value:"double"},{label:"groove",value:"groove"},{label:"ridge",value:"ridge"},{label:"inset",value:"inset"},{label:"outset",value:"outset"}]}]},{category:"Toolbar",fields:[{type:"boolean",fieldName:"toolbarAtTop",label:"Toolbar at Top",tooltip:"Show the toolbar at the top of the app, rather than at the left hand side"},{type:"paragraph",value:"&nbsp;"},{type:"paragraph",value:"<b>Selection Tools</b>"},{type:"string",fieldName:"activeTool",label:"Active Tool",tooltip:"Specify active tool at app startup",options:[{label:"Click",value:"1"},{label:"Polygon",value:"2"},{label:"Box",value:"3"},{label:"Circle",value:"4"},{label:"Map Pan and Zoom",value:"0"}]},{type:"paragraph",value:"Available Tools"},{type:"boolean",fieldName:"selectToolMap",label:"Map Pan and Zoom",tooltip:"Standard map pan and zoom with the mouse"},{type:"boolean",fieldName:"selectToolClick",label:"Click"},{type:"boolean",fieldName:"selectToolPolygon",label:"Polygon"},{type:"boolean",fieldName:"selectToolBox",label:"Box"},{type:"boolean",fieldName:"selectToolCircle",label:"Circle"},{type:"boolean",fieldName:"selectToolRadius",label:"Radius"},{type:"boolean",fieldName:"selectToolLoad",label:"Load",tooltip:"Load a user selection from previous session"},{type:"boolean",fieldName:"selectToolPaste",label:"Paste",tooltip:"Paste a user selection from another app"},{type:"paragraph",value:"<br /><br /><b>Other Tools</b>"},{type:"boolean",fieldName:"displayLegendTool",label:"Layers"},{type:"paragraph",value:"<br /><br /><b>Actions & Selection</b>"},{type:"string",fieldName:"blockedActions",label:"Block user actions",tooltip:"A comma-delimited list of user actions that will be blocked in the UI"}]},{category:"Options",fields:[{type:"boolean",fieldName:"showTitle",label:"Show Title"},{type:"paragraph",value:"&nbsp;"},{type:"conditional",condition:!1,fieldName:"displayWelcomePanel",label:"Show welcome text?",tooltip:"Show the welcome panel when the app starts",items:[{type:"string",fieldName:"welcomePanelTitle",label:"Title",tooltip:"",stringFieldOption:"textbox",placeHolder:"Title Text"},{type:"string",fieldName:"welcomePanelText",label:"Welcome Text",tooltip:"",stringFieldOption:"richtext",placeHolder:"Text that appears at startup to help users with the app"}]},{type:"string",fieldName:"locale",label:"Locale",tooltip:"Locale for UI text",options:[{label:"English",value:"en"},{label:"español",value:"es"}]},{type:"string",fieldName:"basemapGroup",label:"Basemaps Group ID",tooltip:"The group to use to populate the basemaps selector",stringFieldOption:"textbox"},{type:"paragraph",value:" "},{type:"paragraph",value:"To embed this app inside another page use the code below, changing XXXXXXXX to the <strong>appid</strong> shown in the URL above."},{type:"paragraph",value:"<code>&#x3C;div id=&#x22;report-content-panel&#x22; style=&#x22;width: 100%; height: 600px; border: 1px solid #ccc; position: relative;&#x22;&#x3E;<br />&#x9;&#x9;&#x9;&#x3C;script type=&#x22;text/javascript&#x22; src=&#x22;https://reports.instantatlas.com/embed-selector?appid=XXXXXXXX&#x26;container=report-content-panel&#x22;&#x3E;&#x3C;/script&#x3E;<br />        &#x3C;/div&#x3E;</code>"}]}],values:{layerIndex:0,activeTool:1,selectToolMap:!0,selectToolClick:!0,selectToolPolygon:!0,selectToolBox:!0,selectToolCircle:!0,selectToolRadius:!0,selectToolLoad:!0,selectToolPaste:!0,displayLegendTool:!0,fontSize:15,fontFamily:"Roboto",selectionColor:"#ffff00",selectionStyle:"fillandoutline",selectionFillOpacity:.4,useFeatureLimit:!1,autoSelectLayers:!0,reportSelectionMode:"dialog",singleLayerSelectionMode:!0,reportLinkButtonText:'<i class="far fa-file fa-2x pull-left"></i> View ${NAME}...',linkTarget:"_self",displayWelcomePanel:!0,toolbarAtTop:!1,welcomePanelText:"<p>To get started, simply choose one of the tools on the left, then click and drag on the map to select features. From there you'll be able to see aggregated reports for your selected features.</p>",basemapGroup:"8f12573d9b35472d87031a79b964d163",zoomToLayer:!0,showTitle:!0}};return a}(EmbeddedIAO,jQuery),function(a,b){function c(b){return!a.datamanager||a.datamanager&&a.datamanager.portalRegex.test(b)}function d(b,c){for(var d,e,f,g,h,i,j=c||[],k=[],l=b.length-1;l>=0;l--){e=b[l],i=parseInt(e);for(var m=0;m<j.length;m++)(j[m].id==e||!isNaN(i)&&i==m)&&(b.splice(l,1),k.push(j[m].id))}if(k.length>0||!isNaN(i)&&0>i)for(var m=0;m<j.length;m++)j[m].visibility=k.indexOf(j[m].id)>=0;for(var l in b)e=b[l],("http"==e.substring(0,4)||"//"==e.substring(0,2))&&(g=null,f=null,h=null,e.indexOf(";")>0&&(h=e.split(";")[1],e=e.split(";")[0],e.split(";").length>2&&(g=e.split(";").pop())),e.indexOf("?")>0&&(f=e.split("?")[1],e=e.split("?")[0].replace("/query","")),d={id:"lyr"+a.generateGuid(),title:null!=g?g:e,visibility:!0,opacity:.85,url:e},null!=h&&""!=h&&(d.itemId=h),null!=f&&(f=f.indexOf("where=")>=0?a.parseQueryString(f).where:f,d.layerDefinition={definitionExpression:decodeURIComponent(f)}),j.push(d));return j}function e(a,c,d,e,g){var h=e?e.includeAllAreas:!1,i=e?e.zoomToFeature:!0,j=e&&e.zoomFuzziness?e.zoomFuzziness:0,k=e&&e.zoomToPointExtent?e.zoomToPointExtent:"1000",l=e?e.highlightFeature:!0,m=e?e.showToolTips:!0,n=(e&&e.highlightStyle?e.highlightStyle:"Outline").toLowerCase(),o=e&&e.highlightColor?e.highlightColor:"#ffffdc",p=e&&e.highlightWidth?e.highlightWidth:2,q=e&&e.highlightMarkerSize?e.highlightMarkerSize:10,r="STYLE_"+(e&&e.highlightMarker?e.highlightMarker:"CIRCLE").toUpperCase(),s=e&&e.navigateOnClick,t=e?e.featureIdField:null,u=null;if(a&&g){var v,w,x=!(e&&e.layerComplete),y=d.split(e&&e.splitter?e.splitter:","),z=function(){function d(){if(!h&&null!=t){for(var d="",g=0;g<y.length;g++)d+=(g>0?" OR ":"")+(t?t:"OBJECTID")+" = '"+y[g]+"'";a.setDefinitionExpression(d)}if(i&&u&&u.length>0){var l,n,o,p,q=u[0].geometry,r=function(){};if(A&&(r=function(){x&&(A(),x=a.on("update-end",A))}),"point"==q.type){var n=c.map.centerAt(q);n.then(function(){if(k&&""!=k&&"none"!=k.toLowerCase())l=a.fullExtent?a.fullExtent:c.map.extent,k.indexOf("%")>0?(j=.01*parseFloat(k.substring(0,k.indexOf("%"))),o=.5*j*(l.xmax-l.xmin),p=.5*j*(l.ymax-l.ymin)):o=p=.5*parseFloat(k),isNaN(j)||(l=new esri.geometry.Extent(q.x-o,q.y-p,q.x+o,q.y+p,c.map.extent.spatialReference),n=c.map.setExtent(l,!0),n.then(r));else{if(c.map.getMaxZoom()>0&&(!k||k&&"none"!=k.toLowerCase())){var b=Math.round((c.map.getMaxZoom()-c.map.getMinZoom())/4);c.map.setZoom(c.map.getMaxZoom()-b)}A&&x&&(A(),x=a.on("update-end",A))}})}else if("function"==typeof q.getExtent){l=q.getExtent();for(var v=1;v<u.length;v++)l=l.union(u[v].geometry.getExtent());j>0&&(l=l.expand(1+j)),n=c.map.setExtent(l,!0),n.then(r)}}else A&&x&&(A(),x=a.on("update-end",A));if(m&&f.attachTooltips(c.map,a,e.toolTipFormat?e.toolTipFormat:"{NAME}",e.toolTipField?e.toolTipField:a.displayField,e.dataTipField?e.dataTipField:""),s){var w=e.toolTipField||a.displayField;a.on("click",function(a){var d=t&&a.graphic.attributes[t]?a.graphic.attributes[t]:a.graphic.attributes[w],e=w&&a.graphic.attributes[w]?a.graphic.attributes[w]:d;if(d){var f=window.location.pathname.split("/").pop(),g=f&&f.indexOf(".")>0?"."+f.split(".").pop():"",h=b.Event("map:navigate");return b(c.map.root).trigger(h,d,e,d+g,window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1)+d+g),h.isDefaultPrevented()||(window.location.href=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1)+d+g),!1}}),a.getNode()&&b(a.getNode()).css("cursor","pointer")}e&&e.layerComplete?setTimeout(function(){x&&x.remove&&x.remove(),e.layerComplete(a,c,function(b){A(b),a.show()})},150):a.show()}var g=a.graphics;if(v&&g&&g.length>0)v.remove();else if(!g||g.length<1)return;if(a.objectIdField&&""!=a.objectIdField&&t&&a.objectIdField!=t&&"OBJECTID"==t.toUpperCase()&&(t=a.objectIdField),u=[],t&&g[0].attributes[t])for(var n in g){var o=g[n];w=o.attributes[t]&&(y.indexOf(o.attributes[t])>=0||y.indexOf(o.attributes[t].toString())>=0),w&&u.push(o)}else for(var n in g){var o=g[n];for(var p in o.attributes)w=o.attributes[p]&&(y.indexOf(o.attributes[p])>=0||y.indexOf(o.attributes[p].toString())>=0),w&&(t=p,u.push(o))}if(u||!l&&!i)d();else{var q=new esri.tasks.Query;q.where="";for(var r=0;r<y.length;r++)q.where+=(r>0?" OR ":"")+(t?t:"OBJECTID")+" = '"+y[r]+"'";q.outFields=["*"],a.queryFeatures(q,function(a){if(a&&a.features)for(var b in a.features){var c=a.features[b],e=!1;if(!u&&(e=c.attributes[t]&&(y.indexOf(c.attributes[t])>=0||y.indexOf(c.attributes[t].toString())>=0))){u=c;break}}d()})}},A=null;return l&&null!=t&&(A=function(b){var c=!1;console.log("sff() called @"+(new Date).toISOString()+" event? "+(b?b.type:"no"));var e=(b&&b.target?b.target:a).geometryType.toLowerCase().replace("esrigeometry",""),g=new dojo.Color(n.indexOf("fill")>=0?o:[255,255,255,0]),h=(new esri.symbol.SimpleLineSymbol).setColor(new dojo.Color(o)),i="point"==e?new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol[r],q):new esri.symbol.SimpleFillSymbol;i.setColor(g),"point"==e&&(i.setOutline(h),"fillandoutline"==n&&(i.color.a=.8),
"fill"!=n&&(h.setWidth(p),i.setOutline(h)),(b&&b.target?b.target:a).setSelectionSymbol(i),c=!0),(b&&b.target?b.target:a).setVisibility(!0),f.selectFeature(b&&b.target?b.target:a,d,t,{done:function(a,b,d,f){for(var j in f)if(!c&&(e=f[j].geometry,!c&&"point"!=e.type)){var k=f[j].feature?f[j].feature:f[j];"STYLE_AUTO"==r&&(r=a&&a.renderer&&a.renderer.symbol&&a.renderer.symbol.style&&"simplemarkersymbol"==a.renderer.symbol.type?a.renderer.symbol.style:"STYLE_CIRCLE"),0>q&&(q=a&&a.renderer&&a.renderer.symbol&&a.renderer.symbol.size?a.renderer.symbol.size:10),i="point"==e?new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol[r],q):new esri.symbol.SimpleFillSymbol,i.setColor(g),"point"==e&&i.setOutline(h),"fillandoutline"==n&&(i.color.a=.8),"fill"!=n&&(h.setWidth(p),i.setOutline(h));var l=k.symbol?k.symbol:k.getLayer().renderer?k.getLayer().renderer.getSymbol(k):null;l&&l.color&&"fillandoutline"!=n&&i.setColor(l.color),a.setSelectionSymbol(i),c=!0}}}),x&&x.remove&&x.remove()}),a.mode&&a.mode==esri.layers.FeatureLayer.MODE_SELECTION?(v=a.on("selection-complete",z),f.selectFeature(a,d,t)):v=a.on("update-end",z),a.setVisibility(!0),a}return a&&!g&&e&&"undefined"!=typeof e.hideInactive&&"yes,true,1".indexOf(e.hideInactive.toString().toLowerCase())>=0&&a.setVisibility(!1),null}var f=a.webmap=a.webmap||{};f.initArc=function(a){var c=["esri/map","esri/arcgis/utils","esri/IdentityManager","esri/layers/FeatureLayer","esri/geometry/Extent","esri/geometry/webMercatorUtils","dojo/_base/connect"];if(a&&a.tools&&a.tools.draw&&(c.push("esri/toolbars/draw"),c.push("esri/symbols/SimpleMarkerSymbol"),c.push("esri/symbols/SimpleLineSymbol"),c.push("esri/symbols/SimpleFillSymbol"),c.push("esri/symbols/PictureFillSymbol"),c.push("esri/symbols/CartographicLineSymbol"),c.push("esri/graphic"),c.push("esri/Color")),"undefined"==typeof require&&(!a||"undefined"==typeof a.recovery||"no,false,0".indexOf(a.recovery.toLowerCase())<0)){var d=a||{};if(d.attempts=d.attempts||1,d.attempts<5)return d.attempts=d.attempts+1,void setTimeout(function(){f.initArc(d)},200)}b('link[href*="js.arcgis.com"][href*=".css"]').length<1&&b("head").append('<link type="text/css" rel="stylesheet" href="https://js.arcgis.com/3.21/esri/css/esri.css" />'),require(c,function(b,d,e,f,g,h,i){var j=["services1.arcgis.com"];if(a&&a.corsServers)for(var k in a.corsServers)j.push(a.corsServers[k]);try{for(var l in j)esri.config.defaults.io.corsEnabledServers.push(j[l])}catch(m){console.error("Failed to set at least one of ["+j.join(",")+"] as CORS-enabled via esri.config.defaults.io.corsEnabledServers")}if(a&&a.proxyUrl&&(a.proxyList?require(["esri/config"],function(b){for(var c in a.proxyList){var d=a.proxyList[c];b.defaults.io.proxyRules.push({proxyUrl:a.proxyUrl,urlPrefix:d})}}):esri.config.defaults.io.proxyUrl=a.proxyUrl),a&&a.alwaysUseProxy&&(esri.config.defaults.io.alwaysUseProxy=a.alwaysUseProxy),a&&(a.done||a.complete)){var n=a.done||a.complete;n(b,d,e,f,g,h,i,c)}})},f.initMap=function(c,d,e){"function"==typeof define&&define.amd&&!define.amd.jQuery&&(define.amd.jQuery=!0),f.initArc({done:function(){"http"==window.location.protocol.substring(0,4).toLowerCase()&&a.page&&""!=a.page?b.ajax({url:a.page+"/GetArcGisOnlineToken",type:"POST",data:null,contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(a){f.onAgoTokenChecked(a.d,c,d,e)}).fail(function(b,g,h){console&&console.log&&console.log(b.responseText+" "+h),a.onError&&"function"==typeof a.onError?a.onError("Error fetching ArcGIS Online token",b,g,h):require(["dojo/_base/connect"],function(){f.onAgoTokenChecked(null,c,d,e)})}):f.onAgoTokenChecked(null,c,d,e)},tools:{draw:e&&e.tools&&e.tools.draw}})};var g={};f.onAgoTokenChecked=function(e,f,h,i){var j,k=h.jquery?h:b(h).length>0?b(h).eq(0):b("#"+h);if(k.attr("id")||k.attr("id","map_"+f),j=k.attr("id"),k.parent().addClass("claro"),k.data("webMapGuid",f),k.siblings(".iaTextBoxTitle,.ia-text-box-title").length>0){var l=k.parent().height(),m=k.siblings(".iaTextBoxTitle,.ia-text-box-title").outerHeight(!1);k.css("top",Math.ceil(m)+"px").css("height",Math.floor(l-m)+"px").css("max-height",Math.floor(l-m)+"px")}var n={mapOptions:{sliderStyle:"small",sliderPosition:"bottom-left",sliderOrientation:"vertical",showAttribution:!0}};if(i){var o=["attributionWidth","autoResize","basemap","center","displayGraphicsOnPan","extent","fadeOnZoom","fitExtent","force3DTransforms","infoWindow","lods","logo","maxScale","maxZoom","minScale","minZoom","nav","navigationMode","resizeDelay","scale","showAttribution","showInfoWindowOnClick","slider","sliderLabels","sliderOrientation","sliderPosition","sliderStyle","wrapAround180","zoom","basemap"];for(var p in o){var q=o[p];"undefined"!=typeof i[q]&&(n.mapOptions[q]=i[q])}}i&&i.ignorePopups&&(n.ignorePopups=i.ignorePopups);var r=k.hasClass("mapWidgetContent")?k:k.find(".mapWidgetContent").eq(0);i&&i.width?(r.width(i.width),r.find(".mapWidgetContent").height(i.height)):(r.css("width","99.9%").css("height","99.9%"),r.width(r.width()),r.height(r.height())),r.children().remove(),null!=g[j]&&g[j].destroy(),null!=e&&(esri.id.destroyCredentials(),esri.id.registerToken(e));try{require(["esri/dijit/Scalebar","dojo/_base/connect"],function(h,k){function l(c){if(c&&c.itemData&&c.itemData.spatialReference&&c.itemData.spatialReference.wkid&&3857!=c.itemData.spatialReference.wkid&&102100!=c.itemData.spatialReference.wkid&&(n.geometryServiceURL=window.location.protocol+"//tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"),c&&c.itemData&&c.itemData.operationalLayers){var d=c.itemData.operationalLayers;for(var e in d)(i&&"undefined"!=typeof i.activeLayerIndex&&i.activeLayerIndex==e||i&&i.activeLayer&&i.activeLayer.url&&d[e]&&d[e].url&&0==i.activeLayer.url.indexOf(d[e].url))&&("http"==d[e].url.substring(0,d[e].url.indexOf(":")).toLowerCase()&&"https"==window.location.protocol.substring(0,5)&&"undefined"!=typeof a.addMessageItem&&a.addMessageItem("HTTP/S Mixed Content","Map layer <strong>"+d[e].title+"</strong> will not work correctly in the web map because it uses HTTP but this page uses HTTPS."),d[e].visibility=i&&i.activeLayer&&"undefined"!=typeof i.activeLayer.visible?i.activeLayer.visible:i&&"undefined"!=typeof i.activeLayerIndex&&i.activeLayerIndex==e?!0:!1)}var l=esri.arcgis.utils.createMap(c,j,n);b('head link[href*="esri/css/esri.css"]').after('<link rel="stylesheet" href="//js.arcgis.com/3.19/dijit/themes/tundra/tundra.css" />'),b("body").addClass("tundra"),l.then(function(a){var d,e,l;if(g[j]=a.map,n.mapOptions.basemap){for(var m in c.itemData.baseMap.baseMapLayers)d=a.map.getLayer(c.itemData.baseMap.baseMapLayers[m].id),d&&a.map.removeLayer(d);a.map.setBasemap(n.mapOptions.basemap)}if(i&&i.ignorePopups&&k.disconnect(a.clickEventHandle),i&&i.activeLayer&&a.itemInfo&&a.itemInfo.itemData&&a.itemInfo.itemData.operationalLayers){l=i.activeLayer.url.replace("http:","").replace("https:","").toLowerCase();for(var m=0;m<a.itemInfo.itemData.operationalLayers.length;m++)if(e=a.itemInfo.itemData.operationalLayers[m].url,e&&(e=e.replace("http:","").replace("https:","").toLowerCase(),e==l)){i.activeLayerIndex=m,d=a.map.getLayer(a.itemInfo.itemData.operationalLayers[m].id),d&&d.hide();break}}if(g[j].on("layer-add-result",function(){}),!i||i&&("undefined"==typeof i.scalebar||"none"!=i.scalebar.toString().toLowerCase())){var o=i&&i.scalebar&&i.scalebar.units?i.scalebar.units:"dual",p=i&&i.scalebar&&i.scalebar.position?i.scalebar.position:"bottom-left",q=i&&i.scalebar&&i.scalebar.type?i.scalebar.type:"ruler";new h({map:g[j],scalebarUnit:o,attachTo:p,scalebarStyle:q})}if(i&&i.northArrow&&"none"!=i.northArrow.toString().toLowerCase()){var r="",s="fa-long-arrow-up";i.northArrow.type&&0==i.northArrow.type.indexOf("widearrow")?s="fa-arrow-up":i.northArrow.type&&0==i.northArrow.type.indexOf("anglearrow")&&(s="fa-angle-up");var t='<div class="fa-stack fa-lg" aria-hidden="true"><i class="fas fa-circle fa-stack-2x"></i><i class="fas '+s+' fa-stack-1x fa-lg fa-inverse" style="'+r+'"></i></div>';i.northArrow.type&&i.northArrow.type.indexOf("pluslabel")>0&&(t='<div style="font-weight: bold; margin-bottom: -0.4em;">'+(i.northArrow.label?i.northArrow.label:"N")+"</div>"+t);var u="top: 10px; right: 10px;";i.northArrow.position&&"top-left"==i.northArrow.position.toLowerCase()?u="top: 10px; left: 10px;":i.northArrow.position&&"bottom-left"==i.northArrow.position.toLowerCase()?u="bottom: 10px; left: 10px;":i.northArrow.position&&"bottom-right"==i.northArrow.position.toLowerCase()?u="bottom: 10px; right: 10px;":i.northArrow.position&&"bottom-center"==i.northArrow.position.toLowerCase()?u="bottom: 10px; left: 50%; margin-left: -1em;":i.northArrow.position&&"top-center"==i.northArrow.position.toLowerCase()&&(u="top: 10px; left: 50%; margin-left: -1em;");var v='<div class="north-arrow" style="position: absolute; z-index: 1000; text-align: center;'+u+'">'+t+"</div>";b('*[id="'+j+'"]').append(v)}if(g[j].loaded&&i&&i.complete){var w=i.complete;w({id:f,map:g[j],containerId:j,response:a,status:"ok",active:i?i.activeLayerIndex:0})}else i&&i.complete&&dojo.connect(g[j],"onLoad",function(){var b=i.complete;b({id:f,map:g[j],containerId:j,response:a,status:"ok",active:i?i.activeLayerIndex:0})});if(!i||"undefined"==typeof i.bootstrap||1==i.bootstrap){var x=b("body .iao-content").length>0?"body .iao-content:eq(0)":"body";"undefined"!=typeof b.tooltip&&b('*[id="'+j+'"] .esriSimpleSlider div').tooltip({container:x,placement:" auto right"})}},function(a){if(console.log("Map creation failed: ",a.toString()),i&&i.complete){var b=i.complete;b({id:f,error:a,containerId:j,status:"error"})}},function(a){console.log("progress: "+a)})}if(f&&""!=b.trim(f)){var m=esri.arcgis.utils.getItem(f);m.then(function(f){i&&i.layers&&i.layers.length>0&&d(i.layers,f.itemData.operationalLayers);var g=!1;for(var h in f.itemData.operationalLayers)(i&&"undefined"!=typeof i.activeLayerIndex&&i.activeLayerIndex==h||i&&i.activeLayer&&i.activeLayer.url&&f.itemData.operationalLayers[h]&&f.itemData.operationalLayers[h].url&&0==i.activeLayer.url.indexOf(f.itemData.operationalLayers[h].url))&&(g=!0);i&&i.activeLayer&&(i.activeLayer.inject||!g)?b.getJSON(i.activeLayer.url+"?f=json"+(e&&e.token&&c(i.activeLayer.url)?"&token="+e.token:""),function(b){var c={id:i.activeLayer.id&&""!=i.activeLayer.id?i.activeLayer.id:"lyr"+a.generateGuid(),title:i.activeLayer.name,visibility:!1,opacity:.85,url:i.activeLayer.url};f.itemData.operationalLayers.push(c),f.item.extent[0]=esri.geometry.xyToLngLat(b.extent.xmin,b.extent.ymin),f.item.extent[1]=esri.geometry.xyToLngLat(b.extent.xmax,b.extent.ymax),l(f)}):l(f)})}else{var o=a.arcgis.getVanillaWebMap({title:"Map",basemaps:i?i.basemaps:null});if(i&&i.basemap&&!i.basemaps)for(var p in o.itemData.baseMap.baseMapLayers)o.itemData.baseMap.baseMapLayers[p].opacity=0;i&&i.activeLayer?b.getJSON(i.activeLayer.url+"?f=json"+(e&&e.token&&c(i.activeLayer.url)?"&token="+e.token:""),function(b){var c={id:i.activeLayer.id&&""!=i.activeLayer.id?i.activeLayer.id:"lyr"+a.generateGuid(),title:i.activeLayer.name,visibility:!1,opacity:.85,url:i.activeLayer.url};if(i.activeLayer.dataField&&i.activeLayer.nameField){var e;for(var f in b.fields)if(b.fields[f].name==i.activeLayer.dataField){e=b[f];break}e&&(c.popupInfo={title:i.activeLayer.name+" | {"+i.activeLayer.nameField+"}",fieldInfos:[{fieldName:e.name,label:e.alias?e.alias:e.name,isEditable:!1,visible:!0,format:{places:2,digitSeparator:!0}}]})}o.itemData.operationalLayers.push(c),i&&i.layers&&i.layers.length>0&&d(i.layers,o.itemData.operationalLayers),o.item.extent[0]=esri.geometry.xyToLngLat(b.extent.xmin,b.extent.ymin),o.item.extent[1]=esri.geometry.xyToLngLat(b.extent.xmax,b.extent.ymax),l(o)}):l(o)}})}catch(s){if(console.error(s),i&&i.complete){var t=i.complete;t({id:f,error:s,containerId:j,status:"error"})}}},f.selectFeature=function(a,b,c,d){var e=new esri.tasks.Query;a.objectIdField&&""!=a.objectIdField&&a.objectIdField!=c&&"OBJECTID"==c.toUpperCase()&&(c=a.objectIdField),e.where="";var f;if("number"==typeof b)e.where=c+" = "+b.toString();else{f=b.toString().split(d&&d.splitter?d.splitter:",");for(var g=0;g<f.length;g++)e.where+=(g>0?" OR ":"")+c+" = '"+f[g]+"'"}var h="undefined"!=typeof a.layerObject?a.layerObject:a,i=d&&d.mode?d.mode:esri.layers.FeatureLayer.SELECTION_NEW;a._defnExpr&&a.setDefinitionExpression(a._defnExpr);var j=h.selectFeatures(e,i);if(d&&d.done){var k=d.done;j.then(function(d){k(a,b,c,d)})}return j},f.doStandardInit=function(b,c,d){require(["esri/symbols/SimpleFillSymbol","dojo/_base/Color","esri/renderers/SimpleRenderer","esri/symbols/SimpleLineSymbol","esri/symbols/SimpleMarkerSymbol","esri/layers/FeatureLayer"],function(f,g,h,i,j,k){if(b&&b.response&&b.response.itemInfo&&b.response.itemInfo.itemData&&b.response.itemInfo.itemData.operationalLayers&&null!=c){var l=b.response.itemInfo.itemData.operationalLayers,m=!1;d||(d={}),b&&b.active&&(d.activeLayerIndex=b.active),b.map&&d&&"undefined"!=typeof d.allowNavigation&&0==d.allowNavigation&&b.map.disableMapNavigation();var n=null,o=null;try{for(var p in l){if("undefined"!=typeof l[p].error)throw l[p].error;"undefined"!=typeof l[p].layerObject&&"Feature Layer"==l[p].layerObject.type?n=l[p].layerObject:!m&&(d&&"undefined"!=typeof d.activeLayerIndex&&d.activeLayerIndex==p||d&&d.activeLayer&&d.activeLayer.url&&d.activeLayer.selectedFeature&&0==d.activeLayer.url.indexOf(l[p].url))&&(n=new k(d.activeLayer.url,{mode:k.MODE_SNAPSHOT,outFields:["*"]}),n.setDefinitionExpression(d.activeLayer.idField+" = '"+d.activeLayer.selectedFeature+"'"),b.map.addLayer(n),m=!0),o=e(n,b,c,d,d&&"undefined"!=typeof d.activeLayerIndex&&d.activeLayerIndex==p),null!=o&&(b.iaoActiveLayer=o,b.iaoActiveFeatures=c.split(d&&d.splitter?d.splitter:","))}}catch(q){var r=a.util.replaceAll(a.getText("ArcWebMapStartupError.MessageFormat",'<p>InstantAtlas encountered an error when building a web map. The detailed message was:</p><p class="errMsg">{0}</p>'),[q.message?q.message:q.toString()]);a&&a.addMessageItem?a.addMessageItem(a.getText("ArcWebMapStartupError.Title","Error creating web map"),r,"times-circle"):a.showPopupScriptDialog(a.getText("ArcWebMapStartupError.Title","Error creating web map"),r,{type:"error",modal:!0,buttons:"ok",focus:"ok"})}d&&d.complete&&d.complete(b)}})},f.attachTooltips=function(a,c,d,e,f){var g=b(a.root).prop("id"),h="body",i=b(h).find('.agoMapTip[id^="'+g+'"]'),j=c.displayField||e,k=d||"{NAME}";!j&&c.infoTemplate&&c.infoTemplate.info&&c.infoTemplate.info.title&&(j=c.infoTemplate.info.title,j.indexOf("{")>0?(j=j.substring(j.indexOf("{")+1),j=j.substring(0,j.indexOf("}"))):j=null),j&&((!i||i.length<1)&&(b(h).append('<div class="iao-content" style="position: absolute; left: 0; top: 0; height: 1px; width: 1px; overflow: visible; padding: 0; margin: 0;"><div id="'+g+'_agoMapTip" class="tooltip agoMapTip mapTooltip right" style="display: none;" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"><span id="'+b(a).prop("id")+'_agoMapTipText" class="mapTooltipText">&nbsp;</span></div></div></div>'),i=b(h).find('.agoMapTip[id^="'+g+'"]')),b(h).offset()&&(i.data("parentTop",b(h).offset().top),i.data("parentLeft",b(h).offset().left),console.log("("+h+").offset()="+b(h).offset().left+", "+b(h).offset().top)),c.on("mouse-over",function(a){var c=a.graphic.attributes[j],d=f&&"function"==typeof f?f(a.graphic):f&&""!=f?a.graphic.attributes[f]:"",e=k.replace(/\{NAME\}/g,c).replace(/\{VALUE\}/g,d);for(var g in a.graphic.attributes)e=e.replace(new RegExp("{"+g+"}","g"),a.graphic.attributes[g]);if(c&&i&&i.length>0){i.find(".mapTooltipText").text(e);var h=i.data("parentLeft")?i.data("parentLeft"):0,l=(i.data("parentTop")?i.data("parentTop"):0)+("fixed"==i.css("position")?b(window).scrollTop():0);i.css("left",a.pageX+10-h).css("top",a.pageY-3-l).css("display","block").addClass("in")}}),c.on("mouse-out",function(){i.css("display","none").removeClass("in")}),c.on("mouse-move",function(a){var c=i.data("parentLeft")?i.data("parentLeft"):0,d=(i.data("parentTop")?i.data("parentTop"):0)+("fixed"==i.css("position")?b(window).scrollTop():0);i.css("left",a.pageX+10-c).css("top",a.pageY-i.height()-d).toggleClass("in",!0)}))},f.applyRenderer=function(a,b,c,d,e){var f=d||[255,255,255,.8],g=e||[0,0,0,.9];!b||""==b||c&&"single"==c.toLowerCase()?require(["esri/symbols/SimpleFillSymbol","dojo/_base/Color","esri/renderers/SimpleRenderer","esri/symbols/SimpleLineSymbol"],function(){var b=(new esri.symbol.SimpleFillSymbol).setColor(new dojo.Color(f)),c=(new esri.symbol.SimpleLineSymbol).setColor(new dojo.Color(g));b.setOutline(c);var d=new esri.renderer.SimpleRenderer(b);a.setRenderer(d),a.show()}):c&&"unique"==c.toLowerCase()||require(["esri/symbols/SimpleFillSymbol","dojo/_base/Color","esri/renderers/SimpleRenderer","esri/renderers/ClassBreaksRenderer","esri/symbols/SimpleLineSymbol"],function(){var d=(new esri.symbol.SimpleFillSymbol).setColor(new dojo.Color(f)),e=(new esri.symbol.SimpleLineSymbol).setColor(new dojo.Color(g));d.setOutline(e);var h=new esri.renderer.ClassBreaksRenderer(d,b);h.classificationMethod=c?c.toLowerCase():"quantile",a.setRenderer(h),a.show()})}}(EmbeddedIAO,jQuery),function(a,b){function c(c,d,e,f,g){var i=c,j=e,k=f,l=new Object;for(var m in g)l[m]=g[m];var n=function(){function c(c,d){var e=l&&l.target?l.target.jquery?l.target:b(l.target):b("#iao-preview-report"),f=l&&"undefined"!=typeof l.mask?l.mask:!0,g=(l&&(l.error||l.fail)?l.error||l.fail:function(b){f&&a.hidePageMask(),a.showPopupScriptDialog("Unexpected Error","Unexpected error - message: "+b.message,{modal:!0,type:"error",ok:function(){f&&a.showPageMask(""),window.location.reload()},resize:!1})},l&&l.done?l.done:null),m="undefined"!=typeof iaoAzureDomainEMBED?iaoAzureDomainEMBED:a.datamanager&&a.datamanager.transfer?a.datamanager.transfer.servers.storage:"",n="//"==j.substring(0,2)||"http:"==j.substring(0,5)||"https:"==j.substring(0,6),o=n?j:m;n||(o.indexOf("/"+c)>0&&(o=o.substring(0,o.lastIndexOf("/"+c))),o+=("/"!=o.substring(o.length-1)?"/":"")+j);var p=o+d;b.ajax({url:p,type:"GET",dataType:"json",cache:l&&"undefined"!=typeof l.cache?l.cache:!1}).done(function(c){e.empty(),f&&a.showPageMask(a.getText("MapPreviewStep2.Text","Building map. Please wait..."));var d=b('select[id^="create"][id$="IdFieldBox"]');(!d||d.length<1)&&(b("body").append('<div style="visibility: hidden; width: 1px; height: 1px; overflow: hidden;"><select id="createIaoDummyIdFieldBox"></select><select id="createIaoDummyNameFieldBox"></select></div>'),d=b('select[id^="create"][id$="IdFieldBox"]'));var j=i.buildBasicMap(p+(p.indexOf("?")>0?"&f=geojson":"?f=geojson"),c,k,l);l.geometry=j.layers[0].geometry;var m=i.buildBasicLayerModel(p+(p.indexOf("?")>0?"&f=geojson":"?f=geojson"),c,k,l),n=new ia.AGOLData;n.formatter||(n.formatter=new ia.Formatter);var d=b('select[id^="create"][id$="IdFieldBox"]');j.layers[0].idField=d.val(),j.layers[0].nameField=b('select[id^="create"][id$="NameFieldBox"]').val(),j.layers[0].fillColor=l&&l.fillColor?l.fillColor:"#6799cc";var o={geographies:[{id:j.layers[0].id,name:j.layers[0].name,idField:j.layers[0].idField,nameField:j.layers[0].nameField,url:j.layers[0].url,model:m,type:j.layers[0].geometry}]};n.parseData(o,function(d){if(l&&l.indicators)for(var i,m,o,p=l&&l.forceNoData?1:0,q=0,r=d.geographies[0].idField;q<Math.min(d.geographies[0].indicatorList.length,l.indicators.length);){if(i=d.geographies[0].indicatorList[q+p],m=l.indicators[q],m.values){i.values=[];for(var s in c.features)o=c.features[s].properties[r],i.values.push(m.values[o]?m.values[o]:"NoData")}q++}if(l&&l.geometry&&"point"==l.geometry){var i=d.geographies[0].indicatorList[0];if("iAllTheSame00"==i.id){i.values=[];for(var q in c.features)i.values.push("NoData");i.type="numeric"}}else if(l&&l.indicator&&l.indicator.values){var i=d.geographies[0].indicatorList[0];i.values=[];var o,r=d.geographies[0].idField;for(var q in c.features)o=c.features[q].properties[r],i.values.push(l.indicator.values[o]?l.indicator.values[o]:"NoData")}var t=e.prop("id"),u={container:t,onFail:function(a,b,c){console.log("report fail: "+a+","+c)},onSuccess:function(d){function e(){if(l&&l.highlight){if(l.highlightColor){d.selectionColor=l.highlightColor,d.selectionOpacity=l.highlightOpacity||"0.9";var a=k.getComponents();for(var b in a)a[b].selectionColor=l.highlightColor,a[b].selectionOpacity="0.9"}k.select(l.highlight)}l&&l.filter&&(l.highlight||l.active)&&m.setFilteredFeatures([l.highlight||l.active]),l&&l.zoom&&n&&(l.highlight||l.active)&&n.zoomToFeatureWithId(l.highlight||l.active),h.length>0&&h.splice(0,1),h.length>0&&h[0]()}function f(a){if(a.type==ia.ItemEvent.ITEM_CLICK){var b=a.item,c=b.id;i(c,a.pageX,a.pageY,p)}}function i(c,d,e,f){if(!m.geography.hasData)return void m.geography.loadData(function(){m.geography.hasData=!0,i(c,d,e,f)});var g=m.geography.getFeatureData([c],null),h=g.features[0],j='<div id="iaoFeaturePopover" class="popover bottom in" role="tooltip" style="width: 250px;"><div class="arrow"></div><h3 class="popover-title">';if(j+=h.name,j+='<div class="pull-right"><a href="#close" class="nodef"><i class="fa fa-times"></i></a></h3><div class="popover-content" style="height: 250px; overflow-y: scroll; padding: 0px;">',f&&""!=f){var k=1,l=f.toString();b.each(h.themes,function(c,d){b.each(d.indicators,function(c,d){"iAllTheSame00"!=d.id&&(l=a.util.replaceAll(l,"#IVALUE{"+k+"}",void 0!=d.value||""==b.trim(d.value.toString())?d.formattedValue:q),k++)})}),l=a.util.replaceAll(l,"#FNAME{active}",h.name),l=a.util.replaceAll(l,"#FID{active}",h.id),j+=l}else j+='<table class="table table-striped"><tbody>',b.each(h.themes,function(a,c){b.each(c.indicators,function(a,c){"iAllTheSame00"!=c.id&&(j+="<tr><th>"+c.name+(c.date?" ("+c.date+")":"")+"</th><td>"+(void 0!=c.value||""==b.trim(c.value.toString())?c.formattedValue:q)+"</td></tr>")})}),j+="</tbody></table>";if(j+="</div></div>",b("#iaoFeaturePopover").remove(),b("body").append(j),b("#iaoFeaturePopover .popover-title a").on("click",function(a){a.preventDefault(),b("#iaoFeaturePopover").hide("fast",function(){b("#iaoFeaturePopover").remove()})}),b("#"+t).hasClass("mapWidgetContent")){var n=b("#"+t).parent();n.css("border-color")&&(b("#iaoFeaturePopover").css("border-color",n.css("border-color")).css("background-color",n.css("border-color")),b("#iaoFeaturePopover .arrow").css("border-bottom-color",n.css("border-color")).addClass("arrow-colored")),n=n.children(".iaTextBoxTitle"),n.css("color")&&b("#iaoFeaturePopover .popover-title").css("color",n.css("color")),n.css("background-color")&&b("#iaoFeaturePopover .popover-title").css("background-color",n.css("background-color")),n.css("background")&&b("#iaoFeaturePopover .popover-title").css("background",n.css("background"))}b("#iaoFeaturePopover").css("top",e-21+"px").css("left",d-125+"px").show("fast",function(){b("body").one("mousedown",function(a){"iaoFeaturePopover"!=b(a.target).parents(".popover").eq(0).prop("id")&&b("#iaoFeaturePopover").remove()})})}var k=d.getComponent("interactionGroup"),m=d.getComponent("dataGroup"),n=d.getComponent("map");l&&l.geometry&&"point"==l.geometry?(m.thematic.categoricClassifier.colorPalette.matchColorsToValues.NoData=m.thematic.categoricClassifier.colorPalette.matchColorsToValues.NaN,m.update(e)):e(),!n||l&&"undefined"!=typeof l.controls||n.useNavigation(l?l.controls:!0);var o=!1;if(l&&l.featureClick&&(k.addEventListener(ia.ItemEvent.ITEM_CLICK,l.featureClick),o=!0),!(o||l&&"undefined"!=typeof l.featurePopup&&1!=l.featurePopup)){var p=l&&l.template?l.template:"",q=l&&l.noDataText?l.noDataText:"N/A";k.addEventListener(ia.ItemEvent.ITEM_CLICK,f)}if(b("#ia-widget-map-btns").remove(),c&&c.metadata&&(!l||"undefined"==typeof l.metadataPopup||1==l.metadataPopup)){var r=l&&l.metadataPopupKeys?l.metadataPopupKeys:"title,abstract,licence,lineage,date".split(","),s={};for(var u in r){var v=r[u];"undefined"!=typeof c.metadata[v]&&(s[v]=c.metadata[v])}var w='<div class="popover-holder" style="position: absolute; left: -20px; top: 0;"><a class="nodef" href="#map-info"><i class="fa fa-info-circle hover-opaque"></i></a></div>';b("#azureMapPreviewPopup .modal-body .preview-report").css("overflow","visible").append(w),b('#azureMapPreviewPopup .modal-body a[href="#map-info"]').data("meta",s).data("geotitle",j.layers[0].name).tooltip({container:"body",title:function(){return a.getText("MapPreviewMetadataButton.Tooltip","View information about the data in this map")}}).popover({container:"#azureMapPreviewPopup .modal-body",viewport:{selector:"#azureMapPreviewPopup .modal-body",padding:10},html:!0,title:function(){return b(this).data("geotitle")},content:function(){var c=b(this).data("meta"),d="<div>";if(c)for(var e in c)d+='<div class="row"><div class="col-md-2 text-right"><label>'+a.getText("MapPreviewMetadata."+e+".Alias",e.substring(0,1).toUpperCase()+e.substring(1))+'</label></div><div class="col-md-10">'+c[e]+"</div></div>";return d+="</div>"}}).on("inserted.bs.popover",function(){b(this).tooltip("hide");var a=b("#azureMapPreviewPopup .modal-body"),c=b("#azureMapPreviewPopup .modal-body .preview-report .ia-report"),d=a.find(".popover");d&&d.css("max-width",Math.round(c.width())+"px")}).on("click",function(a){a.preventDefault()}),b("#azureMapPreviewPopup").one("hidden.bs.modal",function(){b(this).find(".popover,.popover-holder").remove()})}g&&g({type:"shown",report:d,map:j,popup:l&&"undefined"!=typeof l.popup&&1!=l.popup?null:b("#azureMapPreviewPopup")})},data:{model:n,config:{source:l&&l.configPath?l.configPath:"./viewer/config/en/single-map-only/config.xml"},attribute:{json:d},map:{json:j}},params:null};ia.accessToken=null,ia.init(u),f&&a.hidePageMask(),l&&"undefined"!=typeof l.popup&&1!=l.popup||(b("#azureMapPreviewPopup .modal-header .item-name").text(k),b("#azureMapPreviewPopup").off("hide.bs.modal").on("hide.bs.modal",function(){b("#iaoFeaturePopover").remove()}),b("#azureMapPreviewPopup").one("shown.bs.modal",function(){b("#iaoTooltipCssOverride").remove();var a=b(".modal-content:visible").eq(0).offset().top,c='<style type="text/css" id="iaoTooltipCssOverride">.iao-content .ia-datatip { margin-top: -'+a+"px; }</style>";b("head").append(c)}),b("#azureMapPreviewPopup").modal("show"))})}).fail(function(b,c,d){if("abort"!=d&&0!=b.status){f&&a.hidePageMask();var e=a.getText("FatalMapErrorDialog.MessageFormat",'<p>InstantAtlas encountered an unexpected error when loading the map. This is often caused by temporary network issues - please <a href="#reload">reload this page</a>. If this error is presistent even after reload, please contact <a href="mailto:support@instantatlas.com">support@instantatlas.com</a> with the URL of this page ({0}).</p>');a.showPopupScriptDialog("Unexpected Error",a.util.replaceAll(e,[window.location.href]),{type:"error",modal:!0,buttons:"okcancel",ok:function(){window.location.reload(!0)},cancel:function(){window.location.href="/"},shown:function(a,b){b.find('a[href="#reload"]').on("click",function(a){window.location.reload(!0),a.preventDefault()})}})}})}var d=i.getAzureUserDetails(),e=d?d.owner:"",f=(l&&l.target?l.target.jquery?l.target:b(l.target):b("#iao-preview-report"),l&&"undefined"!=typeof l.mask?l.mask:!0),g=(l&&(l.error||l.fail)?l.error||l.fail:function(b){f&&a.hidePageMask(),a.showPopupScriptDialog("Unexpected Error","Unexpected error - message: "+b.message,{modal:!0,type:"error",ok:function(){f&&a.showPageMask(""),window.location.reload()},resize:!1})},"//"==j.substring(0,2)||"http:"==j.substring(0,5)||"https:"==j.substring(0,6));if(g&&e.indexOf("-public")>0){var m=e.replace("-public","");j.indexOf("/"+m+"/")>0&&(j=j.replace("/"+m+"/","/"+e+"/"))}var n="undefined"!=typeof iaoAzureDomainEMBED?iaoAzureDomainEMBED:a.datamanager&&a.datamanager.transfer?a.datamanager.transfer.servers.storage:"";e&&""!=e&&(f&&a.showPageMask(a.getText("MapPreviewStep1.Text","Loading map data. Please wait...")),g&&(j.indexOf(n)<0||j.split("?").length>1||j.indexOf("-public/")>0)?c(e,""):b.ajax({url:("undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:a.datamanager.transfer.servers.api)+a.datamanager.transfer.uris.sas,type:"GET",xhrFields:{withCredentials:!0},dataType:"json",cache:!1}).done(function(a){var b=a.SAS;b&&""!=b&&"invalid user"!=b&&c(e,b)}).fail(function(){f&&a.hidePageMask()}))};return n}function d(c){var d=c.fail||c.error,f=c.url+(c.token&&c.url.indexOf(c.token)<0&&c.url.indexOf("-public")<0?(c.url.indexOf("?")>0?"&":"?")+c.token:""),g=c.token||(f.indexOf("?")>0?"?"+f.split("?")[1]:"");b.ajax({url:f,dataType:"text",cache:c&&"undefined"!=typeof c.cache?c.cache:!1}).done(function(h,i,j){function k(b){var d,e=(c&&c.rowDelimiter?c.rowDelimiter:"\n",[]),f=c&&c.noHeaderRow?1:2,g=f-1,i=[],j='<table class="table table-striped"><thead><tr>';e=a.datamanager.transfer.convertCsvToRows(h),i=e[0];for(var k=0;k<i.length;k++)j+=b&&b[i[k]]?'<th title="'+i[k]+'">'+b[i[k]]+"</th>":"<th>"+i[k]+"</th>";j+="</tr></thead><tbody>";for(var k=g;k<e.length;k++)if(d=e[k],d&&d.length>=0){j+="<tr>";for(var l=0;l<i.length;l++)j+="<td>"+(l<d.length&&d[l]?d[l].replace("\b",""):"&nbsp;")+"</td>";j+="</tr>"}j+="</tbody></table>";var m=c.done||c.complete;m({status:"OK",source:c.url,data:j})}try{var l=j.getResponseHeader("x-ms-meta-Details");if(l&&""!=l&&(l=JSON.parse(l)),l&&l.associated&&l.associated.model){var m=f.substring(0,f.indexOf("/data/"));m=m.substring(0,m.lastIndexOf("/")+1)+l.associated.model,b.ajax({url:m+g,method:"GET",dataType:"json",cache:!1}).done(function(a){var b={};e(a,b),k(b)}).fail(function(a,b,c){console.log("Model download failure: "+b+", "+c),k()})}else k()}catch(n){d({status:"Error",source:c.url,data:n,message:n.message})}}).fail(function(a,b){d({status:"Error",source:c.url,data:a,message:b})})}function e(a,b){if(a.src&&a.src.fieldName)b[a.src.fieldName]=a.name+(a.date?" "+a.date:"");else if(a.indicators)for(var c=0;c<a.indicators.length;c++)e(a.indicators[c],b);if(a.associates)for(var c=0;c<a.associates.length;c++)e(a.associates[c],b);if(a.themes)for(var c=0;c<a.themes.length;c++)e(a.themes[c],b)}function f(a){var c=a.fail||a.error,d=a.url+(a.token&&a.url.indexOf(a.token)<0&&a.url.indexOf("-public")<0?(a.url.indexOf("?")>0?"&":"?")+a.token:"");a.token||(d.indexOf("?")>0?"?"+d.split("?")[1]:""),b.ajax({url:d,type:"GET",dataType:"json",cache:a&&"undefined"!=typeof a.cache?a.cache:!1}).done(function(b){try{var d=[],e='<table class="table table-striped"><thead><tr>';for(var f in b.features[0].properties)e+='<th id="h'+d.length+'">'+f+"</th>",d.push(f);e+="</tr></thead><tbody>";for(var f=0;f<b.features.length;f++)if(b.features[f].properties){e+="<tr>";for(var g=0;g<d.length;g++)e+='<td headers="h'+g+'">'+(b.features[f].properties[d[g]]?b.features[f].properties[d[g]]:"&nbsp;")+"</td>";e+="</tr>"}e+="</tbody></table>";var h=a.done||a.complete;h({status:"OK",source:a.url,data:e,columns:d})}catch(i){c({status:"Error",source:a.url,data:i,message:i.message})}}).fail(function(b,d){c({status:"Error",source:a.url,data:b,message:d})})}var g=a.azure=a.azure||{};g.getAzureUserDetails=function(){var c={};return c.owner=sessionStorage.getItem("iaoUserId"),"string"==typeof window.iaoUserId&&(c.owner=window.iaoUserId),b("#iaoUserId").val()&&(c.owner=b("#iaoUserId").val()),window.location.search&&window.location.search.indexOf("iaoUserId=")>=0&&(c.owner=a.parseQueryString(window.location.search).iaoUserId),sessionStorage.getItem("iaoUser")&&(c.editor=JSON.parse(sessionStorage.getItem("iaoUser")),c.sas=sessionStorage.getItem(sessionStorage.getItem("iaoToken")&&""!=sessionStorage.getItem("iaoToken")?"iaoToken":"iaoSasToken")),c.owner?c:null};var h=[];return g.showAtlasWithGeoJson=function(a,b,d,e){var f=c(g,a,b,d,e);h.push(f),1==h.length&&h[0]()},g.buildBasicMap=function(a,b,c,d){var e=b.features?b.features[0].geometry.type:"unknown";e.indexOf("Polygon")>=0?e="polygon":e.toLowerCase().indexOf("line")>=0?e="line":e.indexOf("Point")>=0&&(e="point");var f=[],g=b.bbox[2]-b.bbox[0],h=b.bbox[3]-b.bbox[1],i=b.bbox[0]+g/2,j=b.bbox[1]+h/2;f[0]=i-1.05*g/2,f[2]=i+1.05*g/2,f[1]=j-1.05*h/2,f[3]=j+1.05*h/2;var k={template:"Single Map (HTML Edition)",version:"6.7.2_b1,735 (2014-09-24 1438)",
boundingBox:f.join(" "),maintainContextualLayerOrder:!0,layers:[{type:"base-layer",id:b.fixedName?b.fixedName:b.fileName.replace(/[^a-zA-Z0-9_\-\.]+/g,"_"),name:c?c:b.fileName,geometry:e,url:a,visible:!0,symbolSize:15,fillColor:"#ffffff",fillOpacity:.8,borderColor:"#cccccc",borderThickness:1,showLabels:!1,minLabelExtent:0,maxLabelExtent:1e6,iconPath:"",showDataTips:!0,showInLayerList:!0,dataType:"geoJson"}]};if(b.crs&&b.crs.properties&&b.crs.properties.name&&"EPSG:3857"==b.crs.properties.name.toUpperCase()){var l="https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer",m="Topographic";if(d&&d.backgroundMap&&("World Street Map"==d.backgroundMap||"3b93337983e9436f8db950e38a8629af"==d.backgroundMap?(l="https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",m="World Street Map"):"OpenStreetMap"==d.backgroundMap||"b834a68d7a484c5fb473d4ba90d35e71"==d.backgroundMap?(m="OpenStreetMap",l="OpenStreetMap"):"World Topographic Map"==d.backgroundMap||"30e5fe3149c34df1ba922e6f5bbf808f"==d.backgroundMap?(m="World Topographic Map",l="https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"):"Nat. Geographic World Map"==d.backgroundMap||"b9b1b422198944fbbd5250b3241691b6"==d.backgroundMap?(m="Nat. Geographic World Map",l="https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer"):"World Physical Map"==d.backgroundMap||"c4ec722a1cd34cf0a23904aadf8923a0"==d.backgroundMap?(m="World Physical Map",l="https://services.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer"):"Light Gray Canvas"==d.backgroundMap||"8b3d38c0819547faa83f7b7aca80bd76"==d.backgroundMap?(m="Light Gray Canvas;Light Gray Canvas Labels",l="https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer;https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Reference/MapServer?format=png&transparent=true"):("Dark Gray Canvas"==d.backgroundMap||"1970c1995b8f44749f4b9b6e81b5ba45"==d.backgroundMap)&&(m="Dark Gray Canvas;Dark Gray Canvas Labels",l="https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer;https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Reference/MapServer?format=png&transparent=true")),!d||d&&(!d.backgroundMap||"none"!=d.backgroundMap.toLowerCase()))for(var n=l.split(";"),o=m.split(";"),p=0;p<Math.min(n.length,o.length);p++)k.layers.push({type:"ags-layer",id:o[p].replace(/[^a-zA-Z0-9_\-\.]+/g,"_"),name:o[p],geometry:"image",visible:!0,url:n[p]+("OpenStreetMap"!=n[p]?"/export":""),useMapTiles:!0,layers:"0",opacity:1,srs:"102100",showInLayerList:!1,tile:!0,isReference:p>0})}return k},g.buildBasicLayerModel=function(c,d,e,f){b('select[id^="create"][id$="IdFieldBox"] option').remove(),b('select[id^="create"][id$="NameFieldBox"] option').remove();var h=new a.DataModel("iaoLayerDataModelTemp"),i=new Array,j=f&&f.indicatorType?f.indicatorType:null,k=f&&f.preferredIdField?f.preferredIdField:f&&f.idField?f.idField:"_THERE_IS_NO_WaY_THIS_wiLL_MaTcH_",l=f&&f.preferredNameField?f.preferredNameField:f&&f.nameField?f.nameField:"_THERE_IS_NO_WaY_THIS_wiLL_MaTcH_";if(d.features&&d.features.length>0&&d.features[0].properties){var m,n,o,p=d.features[0].properties,q=new Object,r=f&&"undefined"!=typeof f.indicatorAliases,s=f&&f.indicatorAliases?f.indicatorAliases:new Object;for(var t in p)n=t,o=p[t],m={id:"i"+t,name:void 0!=s[n]?s[n].alias:n,date:void 0!=s[n]?s[n].date:null,src:{url:c,fieldName:n,format:"GeoJson"},type:j?j:isNaN(parseFloat(o))?"categoric":"numeric",properties:[],index:void 0!=s[n]?s[n].index:t},void 0!=s[n]&&void 0!=s[n].precision&&(i.precision=s[n].precision),void 0!=q[m.name]?m.id=q[m.name]:m.date&&""!=m.date&&(q[m.name]=m.id),r&&void 0==s[n]||(f&&f.indicator&&(f.indicator==n||f.indicator==m.name||f.indicator==m.name+"|"+m.date)?i.splice(0,0,m):i[i.length]=m),b('select[id^="create"][id$="IdFieldBox"]').append('<option value="'+n+'">'+n+"</option>"),b('select[id^="create"][id$="NameFieldBox"]').append('<option value="'+n+'">'+n+"</option>");if(f&&f.indicators){i=[];for(var t in f.indicators)n=f.indicators[t].name,m={id:"ii"+(f.indicators[t].id?f.indicators[t].id:t),name:void 0!=s[n]?s[n].alias:n,date:void 0!=s[n]?s[n].date:f.indicators[t].date,values:f.indicators[t].values,src:{url:c,fieldName:"__There_IS_No_Field__Called_This_so_n0_DaTa__"},type:f.indicators[t].type?f.indicators[t].type:"categoric",properties:[],index:void 0!=s[n]?s[n].index:t},void 0!=s[n]&&void 0!=s[n].precision&&(i.precision=s[n].precision),void 0!=q[m.name]?m.id=q[m.name]:m.date&&""!=m.date&&(q[m.name]=m.id),i[i.length]=m}f&&f.forceNoData||i.length<1?(m={id:"iAllTheSame00",name:"iAllTheSame00",date:"",src:{url:c,fieldName:"__There_IS_No_Field__Called_This_so_n0_DaTa__"},type:f&&f.geometry&&"point"==f.geometry?"categoric":"numeric",properties:[],index:0},i.splice(0,0,m)):f&&f.indicator&&f.indicator.values&&(m={id:"iaoReclassified",name:f.indicator.name?f.indicator.name:"Indicator #1",date:f.indicator.date?f.indicator.date:"",values:f.indicator.values,type:f.indicator.type?f.indicator.type:"categoric",src:{url:c,fieldName:"__There_IS_No_Field__Called_This_so_n0_DaTa__"},properties:[],index:0},i.splice(0,0,m))}if(i.length<1){var u=a.getText("NoIndicatorsInMapDialog.MessageFormat",'<p>Your map <strong>{0}</strong> does not contain any data with which to build a {4}</p><p>{3} needs geographical features with both a <em>geometry</em> (coordinates) and <em>attribute data</em> (or "properties" like address, name, etc.).</p><p>Please try again with a different map.</p>');return u=a.util.replaceAll(u,[e,geoItemId,g.product.name,g.product.output]),a.showPopupScriptDialog(a.getText("NoIndicatorsInMapDialog.Title","No Indicators in Map"),u,{modal:!0,type:"warning",resize:!1}),null}var v;if(!j)for(var w=Math.min(20,d.features.length),t=0;t<i.length;t++){var x=0;if(i[t].src){for(var y=0;w>y;y++)v=parseFloat(d.features[y].properties[i[t].src.fieldName]),isNaN(v)||x++;i[t].type=x>.75*w?"numeric":"categoric"}}return h.addTheme({id:"t1",name:e,indicators:i}),h.url=c,b('select[id^="create"][id$="IdFieldBox"] > option[value="'+k+'"]').length>0?b('select[id^="create"][id$="IdFieldBox"] > option[value="'+k+'"]').prop("selected",!0):b('select[id^="create"][id$="IdFieldBox"] > option').each(function(){var a=b.trim(b(this).text()).toLowerCase();return"id"==a||"code"==a||a.indexOf("id")>0||a==k?(b(this).prop("selected",!0),!1):void 0}),b('select[id^="create"][id$="NameFieldBox"] > option[value="'+l+'"]').length>0?b('select[id^="create"][id$="NameFieldBox"] > option[value="'+l+'"]').prop("selected",!0):b('select[id^="create"][id$="NameFieldBox"] > option').each(function(){var a=b.trim(b(this).text()).toLowerCase();return"name"==a||a.length>4&&"name"==a.substring(a.length-1)||a==l?(b(this).prop("selected",!0),!1):void 0}),h},g.showPopupWithCsv=function(c,e,f,g){var h=b("#iaoUserId").val();if(h&&""!=h||(h=sessionStorage.getItem("iaoUserId")),g&&(g.error||g.fail)?g.error||g.fail:function(b){a.hidePageMask(),a.showPopupScriptDialog("Unexpected Error","Unexpected error - message: "+b.message,{modal:!0,type:"error",ok:function(){a.showPageMask(""),window.location.reload()},resize:!1})},h&&""!=h){a.showPageMask(a.getText("CsvPreviewStep1.Text","Loading data. Please wait..."));var i="undefined"!=typeof iaoAzureDomainEMBED?iaoAzureDomainEMBED:a.datamanager.transfer.servers.storage;b.ajax({url:("undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:a.datamanager.transfer.servers.api)+a.datamanager.transfer.uris.sas,type:"GET",xhrFields:{withCredentials:!0},dataType:"json",cache:g&&"undefined"!=typeof g.cache?g.cache:!1}).done(function(c){var j=c.SAS;if(j&&""!=j&&"invalid user"!=j){var k="//"==e.substring(0,2)||"http:"==e.substring(0,5)||"https:"==e.substring(0,6),l=k?e:i;k||(l.indexOf("/"+h)>0&&(l=l.substring(0,l.lastIndexOf("/"+h))),l+=("/"!=l.substring(l.length-1)?"/":"")+e);var m=l+j;d({url:m,done:function(c){b("#iao-preview-data").empty(),b("#iao-preview-data").append(c.data),a.hidePageMask(),b("#azureDataPreviewPopup .modal-header .item-name").text(f),b("#azureDataPreviewPopup").one("shown.bs.modal",function(){b("#iao-preview-data").scrollTop(0).scrollLeft(0)}),b('#azureDataPreviewPopup button[data-ui-action="use-map"]').css("display","none"),b("#azureDataPreviewPopup").modal("show");var d=g&&g.done?g.done:null;d&&d({type:"shown",data:c.data,popup:b("#azureDataPreviewPopup")})},fail:function(){a.hidePageMask()}}),sessionStorage.setItem("iaoAuthExpiry",((new Date).getTime()+36e5).toString())}}).fail(function(b,c){a.onAzureAuthenticationFail(c,b),a.hidePageMask()})}},g.showPopupWithGeoJsonTable=function(c,d,e,g){var h=b("#iaoUserId").val();if(h&&""!=h||(h=sessionStorage.getItem("iaoUserId")),g&&(g.error||g.fail)?g.error||g.fail:function(b){a.hidePageMask(),a.showPopupScriptDialog("Unexpected Error","Unexpected error - message: "+b.message,{modal:!0,type:"error",ok:function(){a.showPageMask(""),window.location.reload()},resize:!1})},h&&""!=h){a.showPageMask(a.getText("CsvPreviewStep1.Text","Loading data. Please wait..."));var i="undefined"!=typeof iaoAzureDomainEMBED?iaoAzureDomainEMBED:a.datamanager.transfer.servers.storage;b.ajax({url:("undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:a.datamanager.transfer.servers.api)+a.datamanager.transfer.uris.sas,type:"GET",xhrFields:{withCredentials:!0},dataType:"json",cache:g&&"undefined"!=typeof g.cache?g.cache:!1}).done(function(c){var j=c.SAS;if(j&&""!=j&&"invalid user"!=j){var k="//"==d.substring(0,2)||"http:"==d.substring(0,5)||"https:"==d.substring(0,6),l=k?d:i;k||(l.indexOf("/"+h)>0&&(l=l.substring(0,l.lastIndexOf("/"+h))),l+=("/"!=l.substring(l.length-1)?"/":"")+d);var m=l+j;f({url:m,done:function(c){if(b("#iao-preview-data").empty(),b("#iao-preview-data").append(c.data),a.hidePageMask(),b("#azureDataPreviewPopup .modal-header .item-name").text(e),g&&g.showUseMap||b('#azureDataPreviewPopup button[data-ui-action="use-map"]').css("display",""),b("#azureDataPreviewPopup").one("shown.bs.modal",function(){b("#iao-preview-data").scrollTop(0).scrollLeft(0)}),g&&g.preferredIdField&&c.columns&&c.columns.indexOf(g.preferredIdField)>=0){var d=c.columns.indexOf(g.preferredIdField),f=g.preferredNameField?c.columns.indexOf(g.preferredNameField):-1,h=b('#iao-preview-data th[id="h'+d+'"],#iao-preview-data td[headers="h'+d+'"]'),i="";h.prop("title",a.getText("PreviewDataDialogPreferredIdField.Tooltip","Default ID Field")).addClass("bg-primary").tooltip({container:b("#azureDataPreviewPopup")}).each(function(){b(this).parent().prepend(this),i+=b(this).text()+"\n"}),f>=0&&(i="",h=b('#iao-preview-data th[id="h'+f+'"],#iao-preview-data td[headers="h'+f+'"]'),h.prop("title",a.getText("PreviewDataDialogPreferredNameField.Tooltip","Default Name Field")).addClass("bg-info").tooltip({container:b("#azureDataPreviewPopup")}).each(function(){b(this).parent().children("td,th").eq(0).after(this),i+='"'+b(this).prev("td,th").text()+'","'+b(this).text()+'"\n'})),b('#iao-preview-data th[id="h'+d+'"]').append(' <a href="data:text/plain;charset=utf-8,'+encodeURIComponent(i)+'" download="'+a.util.replaceAll(e," ","-")+'-geo-codes.csv" title="'+a.getText("PreviewDataDialogDownloadLink.Tooltip","Download these codes as a CSV file")+'"><i class="fa fa-fw fa-cloud-download"></i></a>'),b('#iao-preview-data th[id="h'+d+'"] a').tooltip({container:b("#azureDataPreviewPopup")})}b("#azureDataPreviewPopup").modal("show");var j=g&&g.done?g.done:null;j&&j({type:"shown",data:c.data,popup:b("#azureDataPreviewPopup")})},fail:function(){a.hidePageMask()}}),sessionStorage.setItem("iaoAuthExpiry",((new Date).getTime()+36e5).toString())}}).fail(function(b,c){a.onAzureAuthenticationFail(c,b),a.hidePageMask()})}},g.getPreferences=function(c,d){var e=sessionStorage.getItem("iaoUserPreferences");if(c||!e)try{var f=JSON.parse(sessionStorage.getItem("iaoUser")).id,g=sessionStorage.getItem("iaoSasToken");b.ajax({url:a.datamanager.transfer.servers.storage+(a.datamanager.transfer.servers.storage.indexOf(f)<0?f:"")+"/__preferences.json"+g,type:"GET",cache:!1,dataType:"json"}).done(function(a){sessionStorage.setItem("iaoUserPreferences",JSON.stringify(a)),d(a)}).fail(function(){d({})})}catch(h){d({})}else d(JSON.parse(e))},g.getPreference=function(a,b){var c=sessionStorage.getItem("iaoUserPreferences"),d=b;if(c&&""!=c){for(var e=JSON.parse(c),f=a.split("."),g=e,h=0;h<f.length-1;h++)"undefined"==typeof g[f[h]]&&(g[f[h]]={}),g=g[f[h]];var i=f.pop();d="undefined"!=typeof g[i]?g[i]:b}return d},g.setPreference=function(a,b,c){a&&g.getPreferences(!1,function(d){for(var e=a.split("."),f=d,h=0;h<e.length-1;h++)"undefined"==typeof f[e[h]]&&(f[e[h]]={}),f=f[e[h]];var i=e.pop();"undefined"==typeof b?delete f[i]:f[i]=b,sessionStorage.setItem("iaoUserPreferences",JSON.stringify(d)),c&&g.setPreferences(d,c)})},g.setPreferences=function(b,c){var d={fileName:"__preferences.json",data:JSON.stringify(b),name:"__preferences.json",access:"private",id:"__preferences",title:"User Preferences",type:"JSON/preferences",contentType:"application/json"};a.datamanager.transfer.uploadContentToAzure(d,{overwrite:!0,error:function(a){console.log("Error saving preferences: "+a)},sas:sessionStorage.getItem("iaoSasToken")?sessionStorage.getItem("iaoSasToken"):"?TryWithoutDownload"},function(a){c&&"function"==typeof c&&c(a)})},a}(EmbeddedIAO,jQuery),!function(a,b){function c(c){"undefined"==typeof a.util.showPopupDialog?b.getScript(ka+"/lib/EmbeddedIAO.util.min.js",function(){console&&console.log&&console.log("EmbeddedIAO.util.js loaded successfully (inline)."),"undefined"==typeof a.openApplication?b.getScript(ka+"/lib/EmbeddedIAO.js",function(){console&&console.log&&console.log("EmbeddedIAO.js loaded successfully (inline)."),c()}):c()}):c()}function d(c){function d(c){function d(a,c){var d=a.idField||"ID",e="";a.source.split("?").length>1&&(e=a.source.split("?")[1]),a.token&&a.source.indexOf(a.token)<0&&a.source.indexOf("-public")<0?e=e+(a.source.indexOf("?")>0?"&":"?")+a.token.replace("?",""):e+="";var f=a.source.split("?")[0]+(!e||e&&0==e.indexOf("?")?"":"?")+e;b.ajax({url:f,dataType:"json",cache:!1}).done(function(a){var b=a.features.map(function(a){return a.properties[d]});c&&"function"==typeof c&&c(b)})}c.preventDefault();var e,f=document.querySelector("#datagridContainer"),g=(b(f),b("#datagridAddComparisonRow")),h=b("#datagridRemoveComparisonRow"),i=(b(c.currentTarget),b("#iaoPasteDataPopup")),j=b("#datagridStatusIndicator"),k=j.find(".datagrid-status-indicator"),l=b("#datagridFilename"),m=b("#datagridAddColumn"),n=b("#datagridRemoveColumn"),o=b("#iaoPasteDataSaveButton"),p={rowHeaders:!0,colHeaders:!0,columnSorting:!0,outsideClickDeselects:!1,stretchH:"all"},q=sessionStorage.getItem("iaoDataModelCurrent"+ia.storageKeySuffix);ia.compressor&&q&&"["!=q.substring(0,1)&&"{"!=q.substring(0,1)&&(q=ia.compressor.decompressFromUTF16(q));var r=JSON.parse(q),s=r.geographies[0].url,t=s.toLowerCase(),u=r.geographies[0].nameField,v=r.geographies[0].idField,w=a.getToken()?a.getToken():sessionStorage.getItem("iaoSasToken");(t.indexOf("/featureserver/")>0||t.indexOf("/mapserver/")>0)&&t.indexOf("/query")<0&&(s=s.split("?")[0]+"/query"+(s.split("?").length>1?"?"+s.split("?")[1]:"")),w&&"?"==w.substring(0,1)&&s.indexOf("?")>0&&(w=w.substring(1));var x={source:s,idField:v,token:w},y={source:s,idField:u,token:w};i.on("hidden.bs.modal",function(){e&&e.destroy&&e.destroy(),l.val("")}),i.on("shown.bs.modal",function(){return k.text("Loading"),j.show(),d(x,function(c){d(y,function(d){function q(a){var b="";return a.forEach(function(a,c){e.isEmptyRow(c)||(b+=a.join(",")+"\n")}),b}j.hide();var r=c.map(function(a){return"string"!=typeof a?a.toString():a}),s=d.map(function(a){return"string"!=typeof a?a.toString():a});e=Handsontable(f,p);var t=r.map(function(a,b){return[a,s[b],""]});t.unshift([v,u,""]),e.loadData(t),e.updateSettings({cells:function(a,b){var c=e.getDataAtCell(a,b),d={};return 0===b&&null!==c&&""!==c&&"#"!==c.charAt(0)&&(d.readOnly=!0),0===b&&c&&"#"===c.charAt(0)&&(d.readOnly=!1),d},beforeChange:function(a){var a=a[0],b=a[1],c=a[3];0===b&&((""===c||null===c)&&(c="New Comparison Area"),"#"!==c.charAt(0)&&(a[3]="#"+c))}}),g.on("click",function(){e.alter("insert_row",null);var a=e.countRows()-1;e.setDataAtCell(a,0,"#New Comparison Area"),e.selectCell(a,0,a,0,!0)}),h.on("click",function(){var a=e.getSelected()[0],b=e.getDataAtCell(a,0);b&&"#"===b.charAt(0)&&e.alter("remove_row",a)}),m.on("click",function(){var a=e.getSelected()[1]+1;e.alter("insert_col",a,1)}),n.on("click",function(){var a=e.getSelected()[1];0!==a&&e.alter("remove_col",a)}),l.keydown(function(a){return 13==a.keyCode?(a.preventDefault(),!1):void 0}),o.off("click").on("click",function(){k.text("Saving"),j.show();var c=e.getData();if(""!==l.val())var d=b("#datagridFilename").val();else var d="paste_"+(new Date).getTime();var f={fileName:"data/"+d,data:q(c),name:d,access:"private",id:"data-"+d.replace(/[^a-zA-Z0-9_\-]+/g,"_"),title:d,type:"CSV",contentType:"text/csv"};a.datamanager.transfer.uploadContentToAzure(f,{},function(b){k.text("Saved");var c=b,d=a.datamanager.transfer.servers.storage,e=d.substring(0,d.lastIndexOf("/")+1),f=e+c.url;J(f,c.name,c.type).then(function(){a.hidePopupDialog(i,{modal:!0})})})})})}),!1}),a.showPopupDialog(i,{modal:!0})}var k,l;if(window.location.search&&window.location.search.indexOf("debug=yes")>=0&&(b("body").append('<div id="screenSizeDisplay" style="position: fixed; bottom: 10px; right: 10px; padding: 5px; background-color: rgba(198,198,198,0.75); border-radius: 3px; font-size: 0.9em; z-index: 65536;"></div>'),b(window).on("resize",function(){var a=b(window).width()+" x "+b(window).height();b("#screenSizeDisplay").html(a)}),b(window).trigger("resize")),c&&c.handlers&&(c.handlers.crossMatchData&&"function"==typeof c.handlers.crossMatchData&&(ia.crossMatchDataHandler=c.handlers.crossMatchData),c.handlers.commitInstantAtlasData&&"function"==typeof c.handlers.commitInstantAtlasData&&(ia.commitInstantAtlasServerHandler=c.handlers.commitInstantAtlasData),c.handlers.commitRemoteFileData&&"function"==typeof c.handlers.commitRemoteFileData&&(ia.commitFileDataHandler=c.handlers.commitRemoteFileData),c.handlers.confirmDeleteTheme&&"function"==typeof c.handlers.confirmDeleteTheme&&(ia.confirmDeleteThemeHandler=c.handlers.confirmDeleteTheme),c.handlers.onDeleteTheme&&"function"==typeof c.handlers.onDeleteTheme&&(ia.onDeleteThemeHandler=c.handlers.onDeleteTheme),c.handlers.onAddTheme&&"function"==typeof c.handlers.onAddTheme&&(ia.onAddThemeHandler=c.handlers.onAddTheme)),c&&"undefined"!=typeof c.autoSave&&(ia.autoSave=c.autoSave),c&&"undefined"!=typeof c.importFormats&&(ia.importFormats="undefined"!=typeof c.importFormats.splice?c.importFormats:c.importFormats.toString().split(",")),c&&"undefined"!=typeof c.importHosts&&(ia.importHosts="undefined"!=typeof c.importHosts.splice?c.importHosts:c.importHosts.toString().split(",")),c&&"undefined"!=typeof c.importHandlers)for(var m in c.importHandlers)ia.importHandlers[m]=c.importHandlers[m];if(c&&"undefined"!=typeof c.dataStores)for(var n in c.dataStores)null!=c.dataStores[n]&&(ia.dataStoreUrls[n]=ia.dataStoreUrls[n.toString().toUpperCase()]=c.dataStores[n],c.dataStores[n].split("#").length>1&&(ia.dataStoreUrls[n]=ia.dataStoreUrls[n.toString().toUpperCase()]=c.dataStores[n].split("#")[0],ia.dataStoreUrls[n+"GeoId"]=ia.dataStoreUrls[n.toString().toUpperCase()+"GEOID"]=c.dataStores[n].split("#")[1]));if(c&&"undefined"!=typeof c.autoProxy&&(ia.autoProxy=c.autoProxy),c&&c.container){var o=new Array,p=new Array;if(ia.container=c.container.jquery?c.container:b(c.container).eq(0),k=ia.container.find('*[data-iao-ui-action="source-data-tree"]').length>0?ia.container.find('*[data-iao-ui-action="source-data-tree"]').eq(0):ia.container.find(".explorerTree").eq(0),(!k||k.length<1)&&(ia.container.append('<div id="iaoDataManager_ExplorerTree1" class="explorerTree sourceTree" data-iao-ui-action="source-data-tree"></div>'),k=ia.container.find(".explorerTree").eq(0)),k.children().remove(),("undefined"==typeof c.showInfoLinks||"false|no|0".indexOf(c.showInfoLinks.toString().toLowerCase())<0)&&k.addClass("iao-info-linked"),ia.layout=c&&c.layout?c.layout:"single","double"==ia.layout.toLowerCase()&&(l=ia.container.find('*[data-iao-ui-action="model-data-tree"]').length>0?ia.container.find('*[data-iao-ui-action="model-data-tree"]').eq(0):ia.container.find(".explorerTree").eq(1),(!l||l.length<1)&&(ia.container.append('<div id="iaoDataManager_ExplorerTree2" class="explorerTree destinationTree" data-iao-ui-action="model-data-tree"></div>'),l=ia.container.find(".explorerTree").eq(0)),l.children().remove(),k.addClass("sourceTree"),l.addClass("destinationTree"),ia.dataModel)){if(ia.populateIndicatorTree(l,{indicators:ia.dataModel.getThemes(),model:ia.dataModel,allowModification:!0,allowDragAndDrop:!0,dropTarget:l.parent(),showSourceFieldName:"always",elementIdPrefix:"dstTree-",showModelLevelInfo:!0,showComparisonsSelector:!0,layer:ia.dataModel.getProperty("iaoArcLayerUrl"),allowAddSource:!1}),c.allowUpload&&window.File&&window.FileReader&&window.FileList&&window.Blob){var q=b('*[id*="ModelUploadButton"]');(!q||q.length<1)&&(l.parent().find(".buttonHolder").eq(0).append('<span id="iaoModelUploadButton"><label for="iaoModelUploadBox"><span title="Upload a data model from a file on your computer"><i class="'+a.iconCssClasses.getCssAttribute("icon,upload")+'">&nbsp;</i></span></label><input id="iaoModelUploadBox" type="file" /></span>'),q=l.parent().find(".buttonHolder").eq(0).find('*[id*="ModelUploadButton"]')),q.css("display",""),q.find('input[type="file"]').off("change").on("change",function(a){i(a.target.files[0])}),c.allowUploadDrop&&(l.off("dragover").on("dragover",function(a){console.log(a.originalEvent.dataTransfer.types),a.stopPropagation(),a.preventDefault(),a.originalEvent.dataTransfer.dropEffect=a.originalEvent.dataTransfer.types&&a.originalEvent.dataTransfer.types.indexOf("Files")>=0?"copy":"none"}),l.off("drop").on("drop",function(a){a.stopPropagation(),a.preventDefault();var b=a.originalEvent.dataTransfer.files;b&&b.length>0&&i(b[0])}))}if(c.allowDownload&&window.Blob){var r=b('*[id*="ModelDownloadButton"]');!r||r.length<1,r.css("display","")}}var s=b('*[data-iao-ui-action="paste-data"]');s&&s.length>0&&s.off("click").on("click",function(a){return d(a),!1});var t=b('*[data-iao-ui-action="import-data"]');if(t&&t.length>0&&(t.css("display",ia.importFormats.length>0?"":"none"),ia.importFormats.length>1,t.off("click").on("click",function(a){return j(a),a.preventDefault(),!1}),t.filter('[data-iao-import-format][data-iao-import-format!=""]').each(function(){var a=b(this).data("iao-import-format"),c=a&&ia.importFormats.indexOf(a)>=0;b(this).css("display",c?"":"none"),c||b(this).addClass("remove-me")}),t.filter(".remove-me").remove()),t=b('*[data-iao-ui-action="sort-data"]'),t&&t.length>0&&(t.css("display",c&&c.allowSort&&"no"==c.allowSort.toLowerCase()?"none":""),t.off("click").on("click",function(b){return a.showMenu(b,"reportDataManagerSortDataContextMenu"),b.preventDefault(),!1})),c?(c.dragSource=k,c.dropTarget=l.parent()):c={dragSource:k,dropTarget:l.parent()},ia.storageProvider&&"undefined"!=typeof ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix)&&null!=ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix)){var u=ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix);ia.compressor&&u&&"["!=u.substring(0,1)&&"{"!=u.substring(0,1)&&(u=ia.compressor.decompressFromUTF16(u));var v=JSON.parse(u);if(v.themes&&v.idField)for(var w in v.themes)v.themes[w].idField=v.idField,v.themes[w].nameField=v.nameField,v.themes[w].url=v.url;c.indicators=v.themes?v.themes:v}else if(!c.indicators){var x,y=ia.dataModel.getFlatThemes(),z={};for(var w in y)for(var n in y[w].indicators)if(y[w].indicators[n].src&&(x=y[w].indicators[n].src,z[x.url]||(z[x.url]=new Array),o.indexOf(x.url)<0&&(o.push(x.url),p.push((x.format?x.format:"")+(ia.dataModel.idField?"#IDF:"+ia.dataModel.idField:""))),z[x.url].indexOf(x.fieldName)<0&&z[x.url].push({id:x.fieldName,name:x.fieldName}),y[w].indicators[n].associates))for(var A in y[w].indicators[n].associates)x=y[w].indicators[n].associates[A].src,z[x.url]||(z[x.url]=new Array),o.indexOf(x.url)<0&&(o.push(x.url),p.push(x.format?x.format:"")),z[x.url].indexOf(x.fieldName)<0&&z[x.url].push({id:x.fieldName,name:x.fieldName});var B=new Array;for(var w in z)B.push({id:"t"+a.generateGuid(),name:w.split("?")[0],url:w,indicators:z[w],idField:ia.dataModel.idField,nameField:ia.dataModel.nameField});c.indicators=B}ia.trees={source:k,target:l};var C={};if(o.length<1){var x,D,E,y=ia.dataModel.getFlatThemes();for(var w in y)for(var n in y[w].indicators)if(y[w].indicators[n].src&&(x=y[w].indicators[n].src,D=x.url,E=null,D.match(/.*Server\/[0-9]+(\/query)/g)&&(D=D.replace("/query","")),null!=(E=e(y[w].indicators[n],"iaoSourceType"))&&"DataStore"==E.substring(0,E.indexOf(":"))&&(D=E.substring("DataStore:".length),E="ArcGISOnlineDataStore"),o.indexOf(D)<0&&(o.push(D),p.push(null!=E?E:x.format?x.format:"")),null==E||C[D]||(C[D]={},C[D].__iaoDefault=ia.dataModel.idField),null==E&&x.fieldName&&x.fieldName.indexOf(",")>0&&(C[D]||(C[D]={},C[D].__iaoDefault=x.fieldName.substring(x.fieldName.lastIndexOf(",")+1)),C[D][x.fieldName.substring(0,x.fieldName.lastIndexOf(","))]=x.fieldName.substring(x.fieldName.lastIndexOf(",")+1))),y[w].indicators[n].associates)for(var A in y[w].indicators[n].associates)x=y[w].indicators[n].associates[A].src,D=x.url,E=null,D.match(/.*Server\/[0-9]+(\/query)/g)&&(D=D.replace("/query","")),null!=(E=e(y[w].indicators[n].associates[A],"iaoSourceType"))&&"DataStore"==E.substring(0,E.indexOf(":"))&&(D=E.substring("DataStore:".length),E="ArcGISOnlineDataStore"),o.indexOf(D)<0&&(o.push(D),p.push(null!=E?E:x.format?x.format:"")),null==E||C[D]||(C[D]={},C[D].__iaoDefault=ia.dataModel.idField),null==E&&x.fieldName&&x.fieldName.indexOf(",")>0&&(C[D]||(C[D]={},C[D].__iaoDefault=x.fieldName.substring(x.fieldName.lastIndexOf(",")+1)),C[D][x.fieldName.substring(0,x.fieldName.lastIndexOf(","))]=x.fieldName.substring(x.fieldName.lastIndexOf(",")+1))}if(!c.masterPrePopulated&&c.indicators.length>0){var F={ConnectionType:"ArcGISOnline",Url:"https://www.arcgis.com/sharing/rest",Parameters:"&src="+c.indicators[0].url+"&idField="+c.indicators[0].idField+"&nameField="+c.indicators[0].nameField+"&master=True"};ia.setStorageItem("iaoMasterDataSet"+ia.storageKeySuffix,JSON.stringify(F))}if(c.indicatorStyle&&"tree"!=c.indicatorStyle.toLowerCase())ia.populateIndicatorList(k,c);else{c.indicatorItemClass="drag-source",c.showSourceFieldName=!0,c.elementIdPrefix=c.elementIdPrefix?c.elementIdPrefix:"srcTree-",c.allowAddSource=!0;var G=c.complete;c.complete=function(){k.hasClass("iao-info-linked")&&ia.addDataSourceInformation(k)},ia.populateIndicatorTree(k,c),c.complete=G;var H=k.find(".widgetIndicators:first").data("src-url")||k.find(".widgetIndicators:first").data("ind-url");H&&""!=H||(H=k.find(".widgetIndicators:first ul li:first").data("ind-url"),k.find(".widgetIndicators:first").updateData("ind-url",H));var I=ia.mode&&("azure"==ia.mode.toLowerCase()||"iao"==ia.mode.toLowerCase());if(I&&H&&(H=H.split("?")[0]),o.length>0){ia.trees&&ia.trees.source||(ia.trees={source:k,target:l});var K=[],L=[],M=function(d){var e,f,g=d.url,i=o.indexOf(g);if(C[g]){var j=C[g];for(var m in j)e=j[m],f=d.target.find('.ind[data-ind-url^="'+g+'"][data-ind-src^="'+m+'"]'),f&&f.length>0&&(e=f.attr("data-ind-src")+","+e,f.updateData("ind-src",e).addClass("ind-src-marked"));e=j.__iaoDefault,f=d.target.find('.ind[data-ind-url^="'+g+'"]:not(.ind-src-marked)'),f.each(function(){b(this).updateData("ind-src",b(this).attr("data-ind-src")+","+e).addClass("ind-src-marked")})}for(;i>=0;)o.splice(i,1),i=o.indexOf(g);if(o.length<1){if(k.hasClass("iao-info-linked")&&ia.addDataSourceInformation(k),c&&(c.complete||c.done)){var p=c.complete||c.done;p({type:"data-complete",container:ia.container,layout:ia.layout,trees:[k,l],model:ia.dataModel})}}else if(o.length==K.length+L.length){for(n=0;n<K.length;n++)J(ia.dataStoreUrls.core+K[n],a.util.replaceAll(a.getText("DataCatalogLabel.MessageFormat","Data Catalog Indicator Set #{0}"),[n+1,K[n]]),"CSV").then(M);for(n=0;n<L.length;n++)h(L[n],"ARCGISONLINEDATASTORE",{hideEmptyThemes:ia.hideEmptyThemes,done:M})}};if(1==o.length&&o[0]==H)o=[];else{for(var n=0;n<o.length;){var N=I?o[n].split("?")[0]:o[n];if(N!=H){if("ARCGISONLINEDATASTORE"==p[n].toUpperCase())L.push(o[n]);else if(o[n].indexOf("sharing/rest")>0&&o[n].indexOf("/data")>0)g(o[n],p[n]+"|"+C[o[n]].__iaoDefault,M);else if(o[n].indexOf("Server/")>0&&"ARCGIS"==p[n].toUpperCase())h(o[n],p[n]+"|"+C[o[n]].__iaoDefault,M);else if(0==o[n].indexOf(ia.dataStoreUrls.core)){for(var O=o[n].split("?")[0].substring(ia.dataStoreUrls.core.length).split("/"),P=o[n].split("?").length>1?a.parseQueryString(o[n].split("?")[1]):{};""==O[O.length-1];)O.pop();if("data"==O[0]&&"csv"==O[O.length-1]){for(var Q=O[1],R="subset"==O[2]?O[3]:null,S=P.indicators?P.indicators:"subset"==O[2]?O[4]:O[2],T=!1,U="&g="+Q+(null!=R?"&s="+R:""),A=0;A<K.length;A++)K[A].indexOf(U)>0&&(K[A]=K[A].substring(0,K[A].indexOf(U))+encodeURIComponent(","+S)+U,T=!0);T||K.push("indicators/?i="+S+U)}else J(o[n],null,p[n],ia.hideEmptyThemes).then(M)}else J(o[n],null,p[n],ia.hideEmptyThemes).then(M);n++}else o.splice(n,1),p.splice(n,1)}if(o.length==K.length+L.length){for(n=0;n<K.length;n++)J(ia.dataStoreUrls.core+K[n],a.util.replaceAll(a.getText("DataCatalogLabel.MessageFormat","Data Catalog Indicator Set #{0}"),[n+1,K[n]]),"CSV").then(M);for(n=0;n<L.length;n++)h(L[n],"ARCGISONLINEDATASTORE",{hideEmptyThemes:ia.hideEmptyThemes,done:M})}}}}var V=k.parent().find('*[data-iao-ui-action="sort-data-sources"]');V&&V.length>0&&V.off("change").prop("checked",!localStorage.getItem("iaoSourceItemSort")||"no"!=localStorage.getItem("iaoSourceItemSort")).on("change",function(a){var c=b(this).is(":checked")?"sorted":"original";ia.sortSourceModel(c);try{f(localStorage,"iaoSourceItemSort",b(this).is(":checked")?"yes":"no")}catch(a){console.log("Error setting sort - why? "+a)}}).triggerHandler("change"),l&&(V=l.parent().find('*[data-iao-ui-action="sort-data-model"]'),V&&V.length>0&&V.off("change").prop("checked",!localStorage.getItem("iaoTargetItemSort")||"no"!=localStorage.getItem("iaoTargetItemSort")).on("change",function(a){b(this).is(":checked")?"sorted":"original";try{f(sessionStorage,"iaoTargetItemSort",b(this).is(":checked")?"yes":"no")}catch(a){console.log("Error setting sort - why? "+a)}}).triggerHandler("change"))}(!c||"undefined"==typeof c.autoToolTips||c.autoToolTips)&&(b(".topNavBar a").tooltip({placement:"auto bottom",trigger:"hover",container:"body"}),b(".tipped").tooltip({placement:"auto bottom",trigger:"hover",container:"body",html:!0})),ia.useDragAndDrop=c&&c.useDragAndDrop;var W=c.done||c.complete;W&&W({type:!o||o&&o.length<1?"complete":"layout-complete",container:ia.container,layout:ia.layout,trees:[k,l]})}function e(a,b){var c="undefined"!=typeof a.splice?a:[a];for(var d in c)if(c[d].properties)for(var e in c[d].properties)if(c[d].properties[e].name==b)return c[d].properties[e].value;return null}function f(b,c,d){try{b.setItem(c,d)}catch(e){a.showLocalStorageErrorDialog(e)}}function g(c,d,e){var f=a.getToken();b.getJSON(c.substring(0,c.lastIndexOf("/data"))+"?f=json"+(ia.matchesToken(c,f)?"&token="+f:"")).done(function(a){J(c,a.title,d?d:"ArcGIS",ia.hideEmptyThemes).then(e)}).fail(function(){J(c,null,d?d:"ArcGIS",ia.hideEmptyThemes).then(e)})}function h(c,d,e){var f=e||{},g=a.getToken(),h=c.indexOf("/query")>0?c.substring(0,c.lastIndexOf("/query")):c,i="function"==typeof f?f:f.done?f.done:f.complete;b.getJSON(h.split(";")[0]+"?f=json"+(ia.matchesToken(h,g)?"&token="+g:"")+"&_t="+(new Date).getTime().toString()).done(function(a){J(h,a.name,d?d:"ArcGIS",f.hideEmptyThemes).then(i)}).fail(function(){J(h,null,d?d:"ArcGIS",f.hideEmptyThemes).then(i)})}function i(b){var c=b;try{var d=new FileReader;d.onload=function(){var b=d.result;try{var e=JSON.parse(b);if(e&&e.geographies&&(e=e.geographies[0].model),
e&&e.themes){var f=ia.trees.source&&ia.trees.source.find(".igroup-children").length>0?ia.trees.source.find(".igroup-children").eq(0):null,g=f&&e.idField&&f.find('li[data-ind-src="'+e.idField+'"]').length>0?e.idField:ia.dataModel?ia.dataModel.idField:null,h=f&&e.nameField&&f.find('li[data-ind-src="'+e.nameField+'"]').length>0?e.nameField:ia.dataModel?ia.dataModel.nameField:null;if(ia.dataModel=new a.DataModel(ia.dataModel?ia.dataModel.getKey():null,ia.storage),ia.dataModel.themes=e.themes.slice(0),e.features&&(ia.dataModel.features={filters:e.features.filters?e.features.filters.slice(0):[],properties:e.features.properties?e.features.properties.slice(0):[]},e.filters&&(ia.dataModel.filters=e.filters.slice(0))),g&&(ia.dataModel.idField=g),h&&(ia.dataModel.nameField=h),"double"==ia.layout.toLowerCase()){var i=ia.trees.target;(!i||i.length<1)&&(ia.container.append('<div id="iaoDataManager_ExplorerTree2" class="explorerTree destinationTree" data-iao-ui-action="model-data-tree"></div>'),i=ia.container.find('*[data-iao-ui-action="model-data-tree"]').eq(0)),i.children().remove(),ia.populateIndicatorTree(i,{indicators:ia.dataModel.getThemes(),model:ia.dataModel,allowModification:!0,showModelLevelInfo:!0,showComparisonsSelector:!0,layer:ia.dataModel.getProperty("iaoArcLayerUrl"),showSourceFieldName:"always",useDragAndDrop:ia.useDragAndDrop,dropTarget:ia.trees.target.parent(),elementIdPrefix:"dstTree-",allowAddSource:!1})}ia.autoSave&&s()}else alert("File is not a data model: "+e)}catch(j){var k=a.util.replaceAll('<p>InstantAtlas&trade; encountered an error when trying to read your file <strong>{0}</strong> as a data model. The error was:</p><p class="errMsg">{1}</p><p>This type of error is normally caused by an error in the JSON in the file. You should validate your file using an online tool such as <a href="http://jsoneditoronline.org/" target="_blank">jsoneditoronline.org <i class="fas fa-external-link-alt small"></i></a>.</p>',[c.name,j.message?j.message:j.toString()]);a.showPopupScriptDialog("Data Model Error",k,{modal:!0,type:"error",buttons:"cancel",buttonText:{cancel:"OK"},cancel:function(){}})}},d.readAsText(c)}catch(e){alert("File not supported! "+e)}}function j(c){var d=b(c.currentTarget);if(c.preventDefault(),ia.importHandlers&&ia.importHandlers.START){var e=ia.importHandlers.START,f=e(c);if(!f)return!1}if(ia.importFormats){var g=d.data("iao-import-format");if((!g||""==g)&&ia.importFormats.length>1){var h=b("#iaoAddDataChoicesPopup"),i=h.find('button[data-ui-task^="add-data"]');i.each(function(){var a=b(this).data("import-format");b(this).css("display",a&&ia.importFormats.indexOf(a)>=0?"block":"none")}),i.off("click").on("click",function(a){return g=b(this).data("import-format"),ia.importHandlers&&ia.importHandlers[g]?ia.importHandlers[g](ia):ia.popNewDataDialog(g),a.preventDefault(),b(this).parents(".modal").eq(0).modal("hide"),!1}),a.showPopupDialog(h,{modal:!0})}else g&&""!=g||(g=ia.importFormats[0]),ia.importHandlers&&ia.importHandlers[g]?ia.importHandlers[g](ia):ia.popNewDataDialog(g)}}function k(a,c,d,e){var f=e||"indicatorBox_",g=b(a).find('input[id^="'+f+'"]').filter('[value^="'+c+'|"]');return"undefined"!=typeof d?g.prop("checked",d).trigger("change"):g.prop("checked",function(a,b){return!b}).trigger("change"),g}function l(c){var d=b("#iaoIndicatorDragHolder");if(d.length<1){var e='<div id="iaoIndicatorDragHolder" class="abs popupEditor" style="cursor: move;"><div style="padding: 5px;"></div></div>';b("body").append(e),d=b("#iaoIndicatorDragHolder")}var f=d.children("div").eq(0);f.children().remove();var g=new Array;return c.parent().children(".drag-source-active").each(function(a,c){g.push(b(c).prop("id")),f.append("<div>"+b(c).html()+"</div>")}),d.css("left",c.offset().left+"px").css("top",c.offset().top-2+"px"),a.util.bringToFront(d),d.data("active",g),d.data("label",c.parent().parent().children(".igroup-name").find(".igroup-name-text").text()),d}function m(a,c,d){if(c.toggleClass(d),c.hasClass(d)){a.shiftKey||c.siblings(".tagged").removeClass("tagged"),c.addClass("tagged");var e=c.index(),f=-1;if(c.nextAll(".tagged").length>0?f=c.nextAll(".tagged").last().index():c.prevAll(".tagged").length>0&&(f=c.prevAll(".tagged").last().index()),f>=0){var g="."+d;b(g).removeClass(d),c.parent().children(c[0].nodeName).slice(Math.min(e,f),Math.max(e,f)+1).addClass(d),b(".tagged").removeClass("tagged")}}}function n(c,d,e){var f=d||".widgetIndicators .drag-source, .widgetIndicators > .igroup-name",g=e&&e.jquery?e.find(".drop-target"):b(e);e&&e.jquery&&e.hasClass("drop-target")&&(g=g.add(e)),c&&c.length>0&&(c.find(f),c.off("click.iao.datamanager").on("click.iao.datamanager",f,function(a){clearTimeout(ia.holdPressTimeout);var c=b(this),d=c.hasClass("drag-source-active");!ia.singleSourceSelection||a.shiftKey||a.ctrlKey||(b(".drag-source-active").removeClass("drag-source-active"),d&&c.addClass("drag-source-active")),m(a,c,"drag-source-active"),l(c).hide(0),ia.mouseIsDownOn=null,a.stopPropagation(),a.preventDefault()}),c.off("mousedown.iao.datamanager").on("mousedown.iao.datamanager",f,function(c){var d=b(this),e=b("#iaoIndicatorDragHolder");if(e.length<1){var f='<div id="iaoIndicatorDragHolder" class="abs popupEditor" style="cursor: move;"><div style="padding: 5px;"></div></div>';b("body").append(f),e=b("#iaoIndicatorDragHolder")}return e.data("lastX",c.pageX).data("lastY",c.pageY),clearTimeout(ia.holdPressTimeout),clearTimeout(ia.animationTimeout),d.prop("id")||d.prop("id","ds"+a.generateGuid()),ia.mouseIsDownOn=d.prop("id"),c.preventDefault(),!1}),b(document).data("dragBound")||(o(),b(document).data("dragBound",!0)));var h=g.filter(".explorerTree");1==h.length&&(h.parent().children(".new-branch").length<1&&h.parent().append('<div class="widgetIndicators new-branch"><div id="'+h.prop("id")+'_new_branch" class="igroup-name drop-target"><i class="fas fa-folder-open fa-lg"></i><i class="fas fa-plus"></i>&nbsp;<span class="nb-label"></span></div></div>'),g=g.add(h.parent().children(".new-branch").children(".drop-target"))),g=g.not(".explorerTree"),g.off("mouseenter.iao.datamanager").on("mouseenter.iao.datamanager",function(c){var d=b("#iaoIndicatorDragHolder");d.data("active")&&d.is(":visible")&&(d.find('span[class*="'+a.iconCssClasses.iconSelector+'"]').css("display",""),d.data("target",b(this).prop("id")),b(".drop-target-active").removeClass("drop-target-active"),b('.drop-target-active *[class*="'+a.iconCssClasses.iconSelector+'"]').removeClass("fa-crosshairs"),b(this).addClass("drop-target-active"),b(this).parent().hasClass("new-branch")&&d.data("label")&&b(this).children(".nb-label").text(d.data("label")),c.preventDefault())}),g.off("mouseleave.iao.datamanager").off("mouseup.iao.datamanager").on("mouseleave.iao.datamanager",function(c){var d=b("#iaoIndicatorDragHolder");d.data("active")&&d.is(":visible")&&(d.find('span[class*="'+a.iconCssClasses.iconSelector+'"]').css("display","none"),d.removeData("target"),b(this).removeClass("drop-target-active"),b(this).parent().hasClass("new-branch")&&b(this).children(".nb-label").text(""),c.preventDefault())}),g.not(".group-toggler").not(".new-branch").not("input").not("select").off("click.iao.datamanager").on("click.iao.datamanager",function(a){var c=b(this),d=c.hasClass("drop-target-active");!ia.singleTargetSelection||a.shiftKey||a.ctrlKey||(b(".drop-target-active").removeClass("drop-target-active"),d&&c.addClass("drop-target-active")),m(a,c,"drop-target-active")}),g.not('[id*="Toggler"]').not("input").not("select").off("mousedown.iao.datamanager").on("mousedown.iao.datamanager",function(a){return a.target&&a.target.tagName&&"INPUT"!=a.target.tagName.toUpperCase()&&"SELECT"!=a.target.tagName.toUpperCase()?(a.preventDefault(),!1):void 0})}function o(){b(document).off("mousemove.iao.datamanager").on("mousemove.iao.datamanager",function(a){clearTimeout(ia.holdPressTimeout),clearTimeout(ia.animationTimeout);var c=b("#iaoIndicatorDragHolder");if(ia.mouseIsDownOn){var d=Math.abs(a.pageX-c.data("lastX")),e=Math.abs(a.pageY-c.data("lastY")),f=b('*[id="'+ia.mouseIsDownOn+'"]');if(f&&f.length>0&&!f.hasClass("drag-source-active")&&Math.max(d,e)>3&&(f.hasClass("igroup-name")?(f=f.parent().find(".drag-source"),f.addClass("drag-source-active"),f=f.eq(0),ia.mouseIsDownOn=f.prop("id")):f.addClass("drag-source-active"),ia.mouseIsDownOn&&f.length>0&&l(f)),ia.mouseIsDownOn&&c.data("active")&&c.data("active").length>0)return!c.is(":visible")&&Math.max(d,e)>5&&(ia.animationTimeout=setTimeout(function(){var a=b('*[id="'+ia.mouseIsDownOn+'"]').eq(0);a.hasClass("drag-source-active")||(a.addClass("drag-source-active"),l(a)),c.show(100),b(".drop-target-active").removeClass("drop-target-active"),b("body").css("cursor","move")},10)),c.css("left",Math.ceil(a.pageX+2)+"px").css("top",Math.ceil(a.pageY+2)+"px"),a.preventDefault(),!1}}),b(document).off("mouseup.iao.datamanager").on("mouseup.iao.datamanager",function(c){ia.mouseIsDownOn=null,clearTimeout(ia.animationTimeout),clearTimeout(ia.holdPressTimeout);var d=b("#iaoIndicatorDragHolder");if(d.data("target")){var e,f,g,h,i,j,k,l,m,n,o,q,t,u=b('*[id="'+d.data("target")+'"]').eq(0),v=d.data("active"),w=!1,y=function(c,d,y,z){var A=u.parents(".nonIndicators").length>0,B=u.parents("li").eq(0).find("ul").length>0,C=u.parents(".widgetIndicators").length>0;C&&!A?(g=u.parents(".widgetIndicators").eq(0),t=g.children("ul.igroup-children"),q=g.prop("id"),q=q.substring(q.indexOf("igroup_")+"igroup_".length)):A&&B&&(t=u.parents("li").eq(0),t=t.find("ul"));var D=sessionStorage.getItem("iaoUser")?JSON.parse(sessionStorage.getItem("iaoUser")):{id:sessionStorage.getItem("iaoUserId")},E=[],F=[];for(var G in v)if(e=b('*[id="'+v[G]+'"]').eq(0),B&&A){i=e.attr("data-ind-src");var H="fltr_"+EmbeddedIAO.generateGuid();ia.dataModel&&("filter"==u.data("target-type")?(f=e.parents(".widgetIndicators").last(),f.is(":first-child")||f.attr("data-ind-url")&&f.attr("data-ind-format")&&"CSV"==f.attr("data-ind-format").toUpperCase()&&i.indexOf(",")>0?(t.append('<li class="feature-filter" data-filter-id="'+H+'" data-filter-src-field="'+i+'" data-filter-src-url="'+e.attr("data-ind-url")+'"><span class="i-name">'+e.find(".i-name").text()+"</span></li>"),e.attr("data-ind-url")?ia.dataModel.addFilter(H,e.find(".i-name").text(),e.attr("data-ind-url"),i):ia.dataModel.addFilter(H,e.find(".i-name").text(),f.attr("data-ind-url"),i,f.attr("data-ind-format")),u.parents("li").eq(0).removeClass("inactive")):r([e.parents(".widgetIndicators").last().find(".igroup-name-text").get(0).childNodes[0].nodeValue,ia.trees.source.find(".widgetIndicators").eq(0).find(".igroup-name-text").get(0).childNodes[0].nodeValue])):"property"==u.data("target-type")&&(e.parents(".widgetIndicators").last().is(":first-child")?(t.append('<li class="feature-property" data-property-name="'+e.find(".i-name").text()+'" data-property-src-field="'+i+'" data-property-src-url="'+e.attr("data-ind-url")+'"><span class="i-name">'+e.find(".i-name").text()+"</span></li>"),ia.dataModel.addFeatureProperty(e.find(".i-name").text(),e.attr("data-ind-url"),i),u.parents("li").eq(0).removeClass("inactive")):r([e.parents(".widgetIndicators").last().find(".igroup-name-text").get(0).childNodes[0].nodeValue,ia.trees.source.find(".widgetIndicators").eq(0).find(".igroup-name-text").get(0).childNodes[0].nodeValue])),x(t),ia.autoSave&&s())}else if(A){i=e.attr("data-ind-src");var I=e.parents(".widgetIndicators").last();if(I.parent().children(".widgetIndicators").index(I)>0){var J=a.getText("NonRootFieldDialog.MessageFormat",'<p>You cannot use <strong>{0}</strong> as the source for your features\' IDs or names. IDs and names must come from the "core dataset" ({1}) not from {2}.</p>');J=a.util.replaceAll(J,[i,I.parent().children(".widgetIndicators").eq(0).find(".igroup-name-text").html(),I.find(".igroup-name-text").html()]);var K=a.getText("NonRootFieldDialog.Title","Invalid ID/Name Field");a.showPopupScriptDialog(K,J,{modal:!0,buttons:"ok",ok:function(){},type:"warning"})}else if(ia.dataModel){var L=u.prop("id")&&u.prop("id").indexOf("idField")>0;if(L&&I.parent().children(".widgetIndicators:not(.add-source-btn)").length>1){var J=a.getText("IdFieldFixedDialog.MessageFormat",'<p>You cannot update the source for your features\' IDs from <strong>{0}</strong> to <strong>{1}</strong> because it is being used to join your "core dataset" ({2}) to "partner" dataset(s). If you want to update the IDs you must remove all partner datasets, update the ID field and then re-attach any partner datasets you need.</p>');J=a.util.replaceAll(J,[u.text(),i,I.parent().children(".widgetIndicators").eq(0).find(".igroup-name-text").html(),I.parent().children(".widgetIndicators").map(function(){return b(this).find(".igroup-name-text").html()}).get().join(", ")]);var K=a.getText("IdFieldFixedDialog.Title","Cannot Change ID Field");return void a.showPopupScriptDialog(K,J,{modal:!0,buttons:"ok",ok:function(){},type:"warning"})}u.children("span:not(.fa)").length>0?u.children("span:not(.fa)").eq(0).text(i):u.text(i),u.updateData("src-field",i),L&&(ia.dataModel.idField=i),u.prop("id")&&u.prop("id").indexOf("nameField")>0&&(ia.dataModel.nameField=i),ia.autoSave&&s()}}else if(C){var M=t.children('li[data-ind-src="'+e.attr("data-ind-src")+'"]').filter('[data-ind-url="'+e.attr("data-ind-url")+'"]');if(m=e.find(".i-date").text(),m&&""!=m&&(M=M.filter('[data-ind-date="'+m+'"]')),M.length<1||w||z){var N=e.data("ind-src");if(j=e.attr("data-ind-url")?e.attr("data-ind-url"):e.parents(".widgetIndicators").last().find('input[id*="igroup_src"]').val(),o=e.attr("data-ind-format")?e.attr("data-ind-format"):e.parents(".widgetIndicators").last().attr("data-ind-format"),i=e.attr("data-ind-src"),k=d?d:e.find(".i-name").text(),l=d?d:e.attr("data-ind-name-short"),N&&0==N.indexOf("#DataStore:"))E.push({source:e,key:N,target:u,name:k,done:function(a,b,d){ia.copyIndicatorsInto(a,{container:g,list:t,item:b,index:d,target:c})}});else if(o&&"ARCGISONLINEDATASTORE"==o.toUpperCase())a.showMask(t),n=j.split(";"),F.push(ia.getDataCatalogIndicatorInstances(n[0],i,n[1],{defer:!0,name:k,shortName:l}));else{h="i"+a.generateGuid(),m=!m||""==m||w||z?!d||w||z?"":e.find(".i-name").text():m,m=!w&&!z&&d&&0==m.indexOf(d)&&m.length>d.length?m.substring(d.length):m,n=e.attr("data-ind-args");var O=[{id:h,name:k,date:m,uid:i,args:n,url:j,format:o}];e.data("iaoProperties")&&(O[0].properties=e.data("iaoProperties")),ia.copyIndicatorsInto(O,{container:g,list:t,item:u,index:G,target:c,user:D,associate:z||w,commit:G==v.length-1})}}}F.length>0&&b.when.apply(b,F).done(function(){p(Array.prototype.slice.call(arguments),g,t,u,z)})};if(u.parent().hasClass("new-branch"))u.find(".nb-label").text(""),u=u.parent().siblings(".explorerTree"),u=ia.addTheme(u,null,d.data("label")?d.data("label"):"New Theme",u.prop("id"),null,!0),u=u.find(".igroup-name > a"),"undefined"!=typeof u[0].scrollIntoView&&u[0].scrollIntoView(),y();else if(u.hasClass("ind")){var z=a.getText("DropIndicatorAssociateOrDateDialog.MessageFormat","Do you want to add '{0}' as <strong>new dates</strong> of indicator '{1}' or as <strong>associate indicators</strong>?"),A=a.getText("DropIndicatorAssociateOrDateDialog.Title","Choose Dates or Associates"),B=a.getText("DropIndicatorAssociateOrDateDialog.YesButton.Text","Dates"),C=a.getText("DropIndicatorAssociateOrDateDialog.NoButton.Text","Associates"),D=a.getText("DropIndicatorAssociateOrDateDialog.CancelButton.Text","Cancel"),E="";d.find("span.i-name").each(function(){E+=", "+b(this).text()+b.trim(" "+b(this).siblings(".i-date").text())});var F=u.children(".i-name").text();z=a.util.replaceAll(z,[E.substring(2),F]),z='<div><div style="float: left;"><span class="'+a.iconCssClasses.getCssAttribute("icon,calendar,icon4x")+' mid-grey">&nbsp;</span></div><div style="margin-left: 60px;">'+z+'</div><div style="clear: both;height:1px;">&nbsp;</div></div>',a.showPopupScriptDialog(A,z,{modal:!0,buttons:"yesnocancel",buttonText:{yes:B,no:C,cancel:D},dialogClass:"popupNoSize",yes:function(){w=!1;var a=u.children(".i-name").text(),b=u.children(".i-date").text(),c=u.parents(".widgetIndicators").eq(0).prop("id");c=c.substring(c.indexOf("igroup_")+"igroup_".length),b&&""!=b||(ia.dataModel.getIndicatorFromTheme(u.attr("data-ind-uuid"),c).date=a,u.updateData("ind-date",a),u.children(".i-date").text(a)),y(u.attr("data-ind-uuid"),a,u.attr("data-ind-args").split("|")[1])},no:function(){w=!0,y(null,null,null,!0)},cancel:function(){}})}else y()}return d.data("active")&&d.is(":visible")?(d.hide("fast").removeData("active").removeData("target"),b("body").css("cursor",""),d.is(":visible")&&b(".drag-source-active").removeClass("drag-source-active"),b(".drop-target-active").removeClass("drop-target-active"),c.preventDefault(),!1):void 0})}function p(c,d,e,f,g){var h,i,j,k,l,m,n=Number.MAX_VALUE,o=Number.MIN_VALUE,p=[],r=[];if(1==c.length)return void q(c,d,e,f,g,0);for(var s in c)h=c[s].instances,n=Math.min(n,h.length),o=Math.max(n,h.length),p.push(c[s].indicatorName),r.push(c[s].indicatorShortName?c[s].indicatorShortName:c[s].indicatorName);i=o!=n?a.getText("DataCatalogChooseUnCommonIndicatorDatesDialog.MessageFormat",'<p>Data catalog indicators <strong class="long-names">{0}</strong><strong class="short-names" style="display: none;">{3}</strong> have between <strong>{1}</strong> and <strong>{2}</strong> dates available. Which do you want to include in your data model?</p><div class="row spaced form-horizontal lo-gutters"><div class="col-md-3 text-right"><label for="dataStoreDatesBox" class="control-label">Use the latest </label></div><div class="col-md-4"><input type="number" min="1" max="{1}" value="1" id="dataStoreDatesBox" class="form-control" /></div><div class="col-md-2"><label for="dataStoreDatesBox" class="control-label">dates</label></div></div><p>To choose different dates for different indicators (or to pick specific dates), click <strong>By Indicator...</strong> below.</p>'):a.getText("DataCatalogChooseCommonIndicatorDatesDialog.MessageFormat",'<p>Data catalog indicators <strong class="long-names">{0}</strong><strong class="short-names" style="display: none;">{3}</strong> have <strong>{1}</strong> dates available. Which do you want to include in your data model?</p><div class="row spaced form-horizontal lo-gutters"><div class="col-md-3 text-right"><label for="dataStoreDatesBox" class="control-label">Use the latest </label></div><div class="col-md-4"><input type="number" min="1" max="{1}" value="{4}" id="dataStoreDatesBox" class="form-control" /></div><div class="col-md-2"><label for="dataStoreDatesBox" class="control-label">dates</label></div></div><p>To choose different dates for different indicators (or to pick specific dates), click <strong>By Indicator...</strong> below.</p>'),i+='<div class="row i-name-selector spaced"><div class="col-md-12"><span class="small"><input type="checkbox" id="dataStoreIndNameStyleSelector" value="long" checked="checked"  /> <label for="dataStoreIndNameStyleSelector">'+a.getText("DataCatalogChooseCommonIndicatorDatesDialog.NamesButton.Text","Use long indicator names")+"</label></span></div></div>",i+="</div>",a.showPopupScriptDialog(a.getText("DataCatalogChooseCommonIndicatorDatesDialog.Title","Choose Indicator Dates..."),a.util.replaceAll(i,[p.join(", "),n,o,r.join(", "),Math.min(10,o)]),{modal:!0,type:"question",buttons:"yesnocancel",buttonText:{yes:a.getText("DataCatalogChooseCommonIndicatorDatesDialog.YesButton.Text","Add"),no:a.getText("DataCatalogChooseCommonIndicatorDatesDialog.NoButton.Text","By Indicator..."),cancel:a.getText("DataCatalogChooseCommonIndicatorDatesDialog.CancelButton.Text","Cancel")},yes:function(){var a=!b("#dataStoreIndNameStyleSelector").is(":checked");for(var i in c){var n=[];h=c[i],k=h.indicator,j=a&&h.indicatorShortName?h.indicatorShortName:h.indicatorName?h.indicatorName:"?",l=h.src.url+";"+h.src.geo,m=ia.trees.source.find('.ind[data-ind-uuid="'+k+'"]'),n.push({id:k,name:j,date:"#IAO-LATEST:"+b("#dataStoreDatesBox").val(),uid:k,args:m.attr("data-ind-args"),url:l,format:"ArcGISOnlineDataStore"}),m.data("iaoProperties")&&(n[n.length-1].properties=m.data("iaoProperties")),ia.copyIndicatorsInto(n,{container:d,list:e,item:f,index:i,associate:g,commit:i==c.length-1})}},no:function(){q(c,d,e,f,g,0)},shown:function(a){b(a.target).find(".modal-body").addClass("modal-body-scrollable"),b("#dataStoreIndNameStyleSelector").on("change",function(){var a=b(this).is(":checked");b(this).parents(".modal-body").find(".long-names").css("display",a?"":"none"),b(this).parents(".modal-body").find(".short-names").css("display",a?"none":"")})},hidden:function(a){b(a.target).find(".modal-body").removeClass("modal-body-scrollable")},focus:"yes"})}function q(c,d,e,f,g,h){var i,j,k,l,m,n,o=("undefined"!=typeof c.splice?c.splice(0,1):c)[0],p="",r="undefined"!=typeof c.splice&&c.length>0;if(o&&o.instances&&o.instances.length>0){if(j=o.indicator,i=o.indicatorName?o.indicatorName:"?",k=o.src.url+";"+o.src.geo,n=ia.trees.source.find('.ind[data-ind-uuid="'+j+'"]'),o.instances.length>0){p='<div class="row spaced form-horizontal lo-gutters"><div class="col-md-3 text-right"><label for="dataStoreSpecificDateBox_0" class="control-label-x">'+a.getText("DataCatalogChooseIndicatorDatesDialogSpecificDateslabel.Text","Or choose specific dates: ")+'</label></div><div class="col-md-8"><ul class="ind-specific-dates">';for(var s in o.instances)p+='<li class="ind"><input type="checkbox" id="dataStoreSpecificDateBox_'+s+'" class="i-checkbox form-control" value="'+o.instances[s].field+'" data-ind-uuid="'+o.instances[s].parent+'" data-ind-date="'+o.instances[s].date+'" data-ind-url="'+o.instances[s].url+'" />&nbsp;<label for="dataStoreSpecificDateBox_'+s+'" class="indicatorBoxLabel">'+o.instances[s].date+"</label></li>";p+="</ul></div></div>"}a.showPopupScriptDialog(a.getText("DataCatalogChooseIndicatorDatesDialog.Title","Choose Indicator Dates..."),a.util.replaceAll(a.getText("DataCatalogChooseIndicatorDatesDialog.MessageFormat",'<p>Data catalog indicator <strong>{0}</strong> has <strong>{1}</strong> dates available. Which do you want to include in your data model?</p><div class="row spaced form-horizontal lo-gutters"><div class="col-md-3 text-right"><label for="dataStoreDatesBox" class="control-label">Use the latest </label></div><div class="col-md-4"><input type="number" min="1" max="{1}" value="1" id="dataStoreDatesBox" class="form-control" /></div><div class="col-md-2"><label for="dataStoreDatesBox" class="control-label">dates</label></div></div>{2}</div>'),[i,o.instances.length,p]),{modal:!0,type:"question",buttons:"yesnocancel",buttonText:{yes:a.getText("DataCatalogChooseIndicatorDatesDialog.YesButton.Text","Add"),no:a.getText("DataCatalogChooseIndicatorDatesDialog.NoButton.Text","Skip"),cancel:a.getText("DataCatalogChooseIndicatorDatesDialog.CancelButton.Text","Cancel")},yes:function(a){var p=[];b("#dataStoreDatesBox").is(":disabled")?b(a.target).parents(".modal").find(".i-checkbox:checked").each(function(){j=b(this).attr("data-ind-uuid"),l=b(this).attr("data-ind-date"),k=b(this).attr("data-ind-url"),m=b(this).val(),p.push({id:j,name:i,date:l,uid:m,args:n.attr("data-ind-args"),url:k,format:"ArcGIS",properties:[{name:"iaoSourceType",value:"DataStore:"+o.src.url+";"+o.src.geo}]})}):p.push({id:j,name:i,date:"#IAO-LATEST:"+b("#dataStoreDatesBox").val(),uid:j,args:n.attr("data-ind-args"),url:k,format:"ArcGISOnlineDataStore"}),n.data("iaoProperties")&&(p[0].properties=n.data("iaoProperties")),ia.copyIndicatorsInto(p,{container:d,list:e,item:f,index:h,associate:g,commit:!r}),r&&q(c,d,e,f,g,h+1)},no:function(){r&&q(c,d,e,f,g,h+1)},shown:function(a){b(a.target).find(".modal-body").addClass("modal-body-scrollable"),b(a.target).find(".i-checkbox").on("click change",function(){b("#dataStoreDatesBox").prop("disabled",b(this).parents(".modal").find(".i-checkbox:checked").length>0)})},hidden:function(a){b(a.target).find(".modal-body").removeClass("modal-body-scrollable")},focus:"yes"})}else o&&(!o.instances||o.instances.length<1)?a.showPopupScriptDialog(a.getText("DataCatalogNoIndicatorDatesDialog.Title","No Indicator Dates Available..."),a.util.replaceAll(a.getText("DataCatalogNoIndicatorDatesDialog.MessageFormat",'<p>Data catalog indicator <strong>{0}</strong> has <strong>no</strong> data available. Please choose a different indicator. For more details on data please consult the metadata for that indicator (use the <i class="fas fa-info-circle"></i> buttons) or contact <mailto:support@instantatlas.com?subject=DataCatalog%20Query">support@instantatlas.com</a>.</p>'),[i,o.instances.length]),{modal:!0,type:"warning",buttons:"ok",focus:"ok"}):console.log("Error: "+o)}function r(b){var c=a.getText("CannotLinkNonCoredataDialog.Title","Cannot Link Sources"),d=a.getText("CannotLinkNonCoredataDialog.MessageFormat",'<p>You cannot link data from data source <strong>{0}</strong> to either Filters, Names, IDs or Properties. These must be derived from your "core dataset" <strong>{1}</strong>.</p>');d=a.util.replaceAll(d,b),a.showPopupScriptDialog(c,d,{modal:!0,type:"warning",resize:!1,buttons:"ok"})}function s(a){ia.dataModel.save(a),ia.debugModelToConsole&&console&&console.log&&console.log(JSON.stringify(ia.dataModel,null,4))}function t(c,d,e,f,g,h,i,j){var k,l,m,n,o,p,q,r="",s=g||"drop-target";if(d.id||d.themeId){var u=d.id?d.id:d.themeId;if(r='<div id="'+e+"igroup_"+u+'" class="widgetIndicators '+(i?"closed":"open")+'" data-toggle-status="'+(i?"closed":"open")+'" data-theme-uuid="'+u+'"><div class="igroup-name"><a href="#" id="'+e+"igroupToggler_"+u+'" data-toggle="'+e+"igroup_"+u+'" class="drop-target nodef group-toggler"><i class="'+a.iconCssClasses.getCssAttribute(i?"icon,folder,iconBig":"icon,folder,folderOpen,iconBig")+'">&nbsp;</i><span class="igroup-name-text">'+(d.name?d.name:d.themeName)+"</span></a></div></div>",c.append(c.hasClass("igroup-children")?'<li class="child-theme" data-theme-uuid="'+u+'">'+r+"</li>":r),n=c.find('div[id="'+e+"igroup_"+u+'"]'),d.url){n.append('<input type="hidden" id="'+e+"igroup_src_"+f+'" value="'+d.url+'" />');var v=Math.max(d.url.indexOf("/FeatureServer"),d.url.indexOf("/MapServer")),w=d.srcFormat&&d.srcFormat.toUpperCase().indexOf("DATASTORE")>0?"ind-url":v>0?"src-url":"ind-url";n.updateData(w,d.url)}if(p=d.idField&&""!=d.idField?d.idField:"",""!=p&&(n.append('<input type="hidden" id="'+e+"igroup_idField_"+f+'" value="'+d.idField+'" />'),n.updateData("ind-id-field",d.idField)),d.nameField&&(n.append('<input type="hidden" id="'+e+"igroup_nameField_"+f+'" value="'+d.nameField+'" />'),n.updateData("ind-name-field",d.nameField)),d.srcFormat&&(n.append('<input type="hidden" id="'+e+"igroup_srcformat_"+f+'" value="'+d.srcFormat+'" />'),n.updateData("ind-format",d.srcFormat)),r='<ul id="'+e+"iGroupSet_"+(d.id?d.id:d.themeId)+'" class="igroup-children" style="margin-top: 5px;'+(i?"display: none;":"")+'"></ul>',n.append(r),n=n.children("ul.igroup-children").eq(0),d.themes)for(var x in d.themes)t(n,d.themes[x],e,x,s,h,i,j);r="";for(var y in d.indicators)k=d.indicators[y],r+=ia.createIndicatorHtml(k,e,u,s,j,h,0,d,p);n.append(r);for(var y in d.indicators)if(k=d.indicators[y],k.properties){var z=b('li[id="'+o+'"]');z.data("iaoProperties",k.properties)}}else if(d.DisplayName){r='<div id="'+e+"igroup_"+f+'" class="widgetIndicators"><div class="igroup-name"><a href="#" id="'+e+"igroupToggler_"+f+'" data-toggle="'+e+"igroup_"+f+'" class="drop-target nodef group-toggler"><i class="'+a.iconCssClasses.getCssAttribute("icon,folder,folderOpen,iconBig")+'">&nbsp;</i><span class="igroup-name-text">'+d.DisplayName+"</span></a></div></div>",c.append(r),n=c.find('div[id="'+e+"igroup_"+f+'"]'),(d.url||d.SourceUrl)&&(n.append('<input type="hidden" id="'+e+"igroup_src_"+f+'" value="'+(d.url||d.SourceUrl)+'" />'),n.updateData("src-url",d.url||d.SourceUrl)),d.Id&&n.updateData("uuid",d.Id),d.Parameters&&n.updateData("params",d.Parameters),(d.srcFormat||d.SourceType)&&(n.append('<input type="hidden" id="'+e+"igroup_srcformat_"+f+'" value="'+(d.srcFormat||d.SourceType)+'" />'),n.updateData("ind-format",d.srcFormat||d.SourceType)),r='<ul id="'+e+"iGroupSet_"+f+'" class="igroup-children" style="margin-top: 5px;">';for(var y in d.Indicators){k=d.Indicators[y].IndicatorInstance,l=k.DisplayDate?k.DisplayDate:k.Date?k.Date:"",m=k.Text?k.Text:k.InstanceId?k.InstanceId:k.IndicatorId+(l&&""!=l?"|"+l:""),q=k.DataType?k.DataType:"numeric",r+='<li id="'+e+"ind_"+f+"__"+m+'" class="ind '+s+" i-"+q.toLowerCase()+'" data-ind-uuid="'+(k.IndicatorId?k.IndicatorId:m)+'"',r+=' data-ind-args="'+y+"|"+q+'"';var A=k.IndicatorFullName?k.IndicatorFullName:k.IndicatorName;r+=' data-ind-name="'+A+'" data-ind-date="'+(k.DisplayDate?k.DisplayDate:"")+'"',"undefined"!=typeof k.Pos&&(r+=' data-ind-index="'+k.Pos+'"'),"undefined"!=typeof k.originalIndex&&(r+=' data-ind-oindex="'+k.originalIndex+'"'),"undefined"!=typeof k.offset&&(r+=' data-ind-instance-offset="'+k.offset+'"'),r+=' data-ind-src="'+(k.Text?k.Text:k.Name?k.Name:m)+'">',r+='<span class="i-name">'+A+'</span>&nbsp;<span class="i-date">'+(k.DisplayDate?k.DisplayDate:"")+"</span>",r+=h&&k.Text?' <span class="smallerText fieldName">['+k.Text+"]</span>":"",j&&(r+=a.util.replaceAll(j,[e,m])),r+="</li>"}r+="</ul>",n.append(r)}return n.parent()}function u(c,d,e,f){c.off("click.iao.toggle").on("click.iao.toggle","a.group-toggler",function(d){var g=b(this).data("toggle"),h="";g||(g=b(this).prop("id"),h=g.substring(0,g.lastIndexOf("igroupToggler_")),g=g.substring(g.lastIndexOf("igroupToggler_")+"igroupToggler_".length),g=h+"iGroupSet_"+g);var i=b(this),j=i.find('i[class*="'+a.iconCssClasses.iconSelector+'"]:eq(0)'),k=c.find('ul[id="'+g+'"]'),l=i.parents(".widgetIndicators").eq(0);return(!k||k.length<1)&&(k=l.find(".igroup-children").eq(0)),(!f||f(d,k,j,i,l))&&(j.hasClass(a.iconCssClasses.folderOpen)||"closed"!=l.data("toggle-status")?(l.updateData("toggle-status","closing").toggleClass("closed",!0),k.slideUp("fast",function(){j.hasClass(a.iconCssClasses.folderOpen)&&j.removeClass(a.iconCssClasses.folderOpen).addClass(a.iconCssClasses.folderClosed),j.data("closed",!0),l.updateData("toggle-status","closed").toggleClass("closed",!0),e&&e({source:i,state:"closed",target:k})})):(l.updateData("toggle-status","opening").toggleClass("closed",!1),k.slideDown("fast",function(){j.hasClass(a.iconCssClasses.folderClosed)&&j.addClass(a.iconCssClasses.folderOpen).removeClass(a.iconCssClasses.folderClosed),j.data("closed",!1),l.updateData("toggle-status","open").toggleClass("closed",!1),e&&e({source:i,state:"open",target:k})}))),d.stopPropagation(),d.preventDefault(),!1})}function v(a,b,c){if(!a)return c;var d=a[b];return"undefined"==typeof d?c:d}function w(c,d){var e='<span class="modelControls">';v(d,"allowRenameThemes",!0)&&(e+='<a href="#" data-iao-ui-action="edit-theme" class="nodef"><i class="'+a.iconCssClasses.getCssAttribute("icon,edit")+'"></i><span class="sr-only">edit</span></a>'),v(d,"allowAddThemes",!0)&&(e+='<a href="#" data-iao-ui-action="add-theme" class="nodef"><i class="'+a.iconCssClasses.getCssAttribute("icon,plus")+'"></i><span class="sr-only">add</span></a>'),v(d,"allowMoveThemes",!0)&&(e+='<a href="#" data-iao-ui-action="move-theme-up" class="nodef" data-move-dir="-1"><i class="'+a.iconCssClasses.getCssAttribute("icon,up")+'"></i></a><a href="#" data-iao-ui-action="move-theme-down" class="nodef" data-move-dir="1"><i class="'+a.iconCssClasses.getCssAttribute("icon,down")+'"></i></a>'),v(d,"allowRemoveThemes",!0)&&(e+='<a href="#" data-iao-ui-action="remove-theme" class="nodef"><i class="'+a.iconCssClasses.getCssAttribute("icon,remove")+'"></i><span class="sr-only">edit</span></a>'),e+="</span>",c.find(".modelControls").remove();var f=d&&d.appendAfter?d.appendAfter:".igroup-name";c.find(f).append(e),c.addClass("iao-data-event-dispatcher"),v(d,"allowRenameThemes",!0)&&(c.find('.igroup-name a[data-iao-ui-action^="edit"]').off("click").on("click",function(a){var c=b(this).parents(".widgetIndicators").eq(0),d=c.prop("id"),e=c.hasClass("iao-data-event-dispatcher")?c:c.parents(".iao-data-event-dispatcher").eq(0);return d=d.substring(d.indexOf("igroup_")+"igroup_".length),
ia.popAliasEditor(a,{commitChange:function(a,f){c.find(".igroup-name-text,.igroup-name a span").eq(0).text(f),ia.dataModel.getTheme(d).name=f;var g=b.Event(ia.DATA_CHANGE_EVENT);return g.container=e,g.action="theme-rename",g.item=ia.dataModel.getTheme(d),g.target=c,e.trigger(g),ia.autoSave&&s(),!0}}),a.stopPropagation(),a.preventDefault(),!1}),c.find('.igroup-name a[data-iao-ui-action^="edit"]').prop("title",a.getText("DataManagerRenameThemeButton.ToolTip","Rename this Theme"))),v(d,"allowAddThemes",!0)&&(c.find('.igroup-name a[data-iao-ui-action^="add"]').off("click").on("click",function(a){var c=b(this).parents(".widgetIndicators").eq(0),d=c.prop("id");d=d.substring(d.indexOf("igroup_")+"igroup_".length);var e=ia.addTheme(c,null,null,null,d);return ia.autoSave&&s(),a.stopPropagation(),a.preventDefault(),ia.onAddThemeHandler&&ia.onAddThemeHandler(d,e.attr("data-theme-uuid"),e),!1}),c.find('.igroup-name a[data-iao-ui-action^="add"]').prop("title",a.getText("DataManagerAddThemeButton.ToolTip","Add Theme"))),v(d,"allowMoveThemes",!0)&&(c.find('.igroup-name a[data-iao-ui-action^="move-theme"]').off("click").on("click",function(a){b(".tooltip").hide();var c=b(this).parents(".widgetIndicators").eq(0),d=c.prop("id"),e=c.parents(".widgetIndicators").eq(0),f=e&&e.length>0?e.prop("id"):null,g=b(this).data("move-dir"),h=c.hasClass("iao-data-event-dispatcher")?c:c.parents(".iao-data-event-dispatcher").eq(0);if(d=d.substring(d.indexOf("igroup_")+"igroup_".length),f=null!=f?f.substring(f.indexOf("igroup_")+"igroup_".length):null,g){g=parseInt(g);var i=ia.dataModel.moveTheme(g,d,f);if(i>=0){var j=!1;if(c.parents("li").length>0&&(c=c.parents("li").eq(0),j=!0),g>0){var k=j?c.nextAll("li").filter(function(){return b(this).children(".widgetIndicators").length>0}):c.nextAll(".widgetIndicators");c.insertAfter(k.eq(0))}else if(0>g){var k=j?c.prevAll("li").filter(function(){return b(this).children(".widgetIndicators").length>0}):c.prevAll(".widgetIndicators");c.insertBefore(k.eq(0))}var l=b.Event(ia.DATA_CHANGE_EVENT);l.container=h,l.action="theme-move",l.item={id:d,parent:f,index:i},l.target=c,h.trigger(l)}ia.autoSave&&s()}return a.stopPropagation(),a.preventDefault(),!1}),c.find('.igroup-name a[data-iao-ui-action="move-theme-up"]').prop("title",a.getText("DataManagerMoveIndicatorUpButton.ToolTip","Move Up")),c.find('.igroup-name a[data-iao-ui-action="move-theme-down"]').prop("title",a.getText("DataManagerMoveIndicatorDownButton.ToolTip","Move Down"))),v(d,"allowRemoveThemes",!0)&&(c.find('.igroup-name a[data-iao-ui-action^="remove-theme"]').off("click").on("click",function(a){b(".tooltip").hide();var c=b(this).parents(".widgetIndicators").eq(0),d=c.prop("id");d=c.data("uuid")?c.data("uuid"):d.substring(d.indexOf("igroup_")+"igroup_".length);var e=c.parents(".widgetIndicators").eq(0),f=null,g=function(a){var b=a&&a.forceExist;(!b&&!ia.dataModel.getTheme(d,f)||ia.dataModel.deleteTheme(d,f))&&(f?c.parents("li").eq(0).remove():c.remove(),ia.onDeleteThemeHandler&&ia.onDeleteThemeHandler(d,f),ia.autoSave&&s())};return e&&e.length>0?(f=e.prop("id"),f=e.data("uuid")?e.data("uuid"):f.substring(f.indexOf("igroup_")+"igroup_".length),ia.confirmDeleteThemeHandler&&!ia.confirmDeleteThemeHandler(d,f,g)||!ia.dataModel.deleteTheme(d,f)||(c.parents("li").eq(0).remove(),ia.onDeleteThemeHandler&&ia.onDeleteThemeHandler(d,f))):ia.confirmDeleteThemeHandler&&!ia.confirmDeleteThemeHandler(d,null,g)||!ia.dataModel.deleteTheme(d)||(c.remove(),ia.onDeleteThemeHandler&&ia.onDeleteThemeHandler(d)),ia.autoSave&&s(),a.stopPropagation(),a.preventDefault(),!1}),c.find('.igroup-name a[data-iao-ui-action^="remove-theme"]').prop("title",a.getText("DataManagerDeleteThemeButton.ToolTip","Remove this Theme")).tooltip({placement:"auto bottom",trigger:"hover",container:"body"}));var g=v(d,"allowModifyIndicators","rename,move,remove");if(g&&""!=g&&"false"!=g.toString()){var h=g.split(",");e='<span class="modelControls">'+(h.indexOf("rename")>=0?'<a href="#" data-iao-ui-action="edit-indicator" class="nodef"><i class="'+a.iconCssClasses.getCssAttribute("icon,edit")+'"></i></a>':"")+(h.indexOf("move")>=0?'<a href="#" data-iao-ui-action="move-indicator-up" class="nodef" data-move-dir="1"><i class="'+a.iconCssClasses.getCssAttribute("icon,up")+'"></i></a>':"")+(h.indexOf("move")>=0?'<a href="#" data-iao-ui-action="move-indicator-down" class="nodef" data-move-dir="-1"><i class="'+a.iconCssClasses.getCssAttribute("icon,down")+'"></i></a>':"")+(h.indexOf("remove")>=0?'<a href="#" data-iao-ui-action="remove-indicator" class="nodef"><i class="'+a.iconCssClasses.getCssAttribute("icon,remove")+'"></i></a>':"")+"</span>",c.find(".igroup-children li.ind").each(function(){b(this).children(".igroup-children").length>0?b(this).children(".igroup-children").before(e):b(this).append(e)}),c.find(".igroup-children li.ind .fieldName").length>0&&(c.find(".igroup-children li.ind").each(function(c,d){var e=b(d).data("ind-src-label")?b(d).data("ind-src-label"):b(d).data("ind-src")?b(d).data("ind-src"):b(d).find(".fieldName").eq(0).text();b(d).find(".i-name").eq(0).prop("title",a.util.replaceAll(a.getText("DataManagerSourceFieldName.ToolTip","Source Field: {0}"),[e])),b(d).find(".fieldName").eq(0).remove()}),c.find(".igroup-children li.ind .i-name").tooltip({placement:"auto bottom",trigger:"hover",container:"body"})),c.find('.igroup-associates a[data-iao-ui-action="move-indicator-up"]').remove(),c.find('.igroup-associates a[data-iao-ui-action="move-indicator-down"]').remove();var i=c.find(".igroup-associates li.ind");i.off("mouseenter mouseleave").hover(function(){b(this).parent().parent().addClass("child-hovered")},function(){b(this).parent().parent().removeClass("child-hovered")}),c.off("click.iao.indicatorEdit").on("click.iao.indicatorEdit",'.igroup-children li.ind a[data-iao-ui-action="edit-indicator"]',function(a){var c=b(this).parents(".widgetIndicators").eq(0),d=c.prop("id"),e=c.hasClass("iao-data-event-dispatcher")?c:c.parents(".iao-data-event-dispatcher").eq(0),f=b(this).parents("li.ind").eq(0),g=f.attr("data-ind-uuid"),h=b('.drop-target-active[data-ind-uuid!="'+g+'"]');return d=c.data("uuid")?c.data("uuid"):d.substring(d.indexOf("igroup_")+"igroup_".length),b(this).parents(".igroup-associates").length>0?h.removeClass("drop-target-active"):f.trigger({type:"click",shiftKey:a.shiftKey,ctrlkey:a.ctrlKey}),ia.popIndicatorAliasEditor(a,{shown:function(a,c){a.addClass("drop-target-active");var d=b(".drop-target-active");g=a.attr("data-ind-uuid");var e=a.attr("data-ind-date"),f=e&&0==e.indexOf("#IAO-LATEST:");h=b('.drop-target-active[data-ind-uuid!="'+g+'"]'),c.find('input[id$="Date"]').prop("disabled",f||d.length>1||a.parent().hasClass("igroup-associates")).css("display",a.parent().hasClass("igroup-associates")?"none":""),c.find('input[id$="Name"]').prop("disabled",h.length>0)},cancelChange:function(a){a.removeClass("drop-target-active")},commitChange:function(a,c,f,i,j,k){g=j.attr("data-ind-uuid");var l=j.attr("data-ind-name")||j.find(".i-name").text(),m=j.attr("data-ind-date")||j.find(".i-date").text(),n=!k.find('input[id$="Name"]').prop("disabled")&&b.trim(c)!=b.trim(l);h=b('.drop-target-active[data-ind-uuid!="'+g+'"]');var o=b(".drop-target-active"),p=!k.find('input[id$="Date"]').prop("disabled")&&b.trim(f)!=b.trim(m);n&&(h.removeClass("drop-target-active"),o=j.parent().children('li[data-ind-uuid="'+g+'"]'),o.updateData("ind-name",c).children(".i-name").text(c));var q=o.length>1;if(!q&&p){if(o.length>0&&m!=f)for(var r=1,t=f.toString();o.filter('[data-ind-date="'+f+'"]').length>0;)f=t+" ("+r+")",r++;j.updateData("ind-date",f).children(".i-date").text(f)}o.each(function(a,c){var d=b(c).attr("data-ind-args");b(c).updateData("ind-args",d.split("|")[0]+"|"+i)});var u,v;j.parents(".ind").length>0&&(u=j.attr("data-ind-uuid"),g=j.parents(".ind").eq(0).attr("data-ind-uuid"),v=j.parents(".ind").eq(0).attr("data-ind-date"),j=j.parents(".ind").eq(0));var w=v&&""!=v?ia.dataModel.getIndicatorInstanceFromTheme(g,v,d):ia.dataModel.getIndicatorFromTheme(g,d);if(n||p||u||(w=new Array,o.each(function(a,c){var e=ia.dataModel.getIndicatorInstanceFromTheme(b(c).attr("data-ind-uuid"),b(c).data("ind-date"),d);e&&w.push(e)})),u&&w.associates){for(var x in w.associates)if(w.associates[x].id==u){w.associates[x].name=c,w.associates[x].date=f,w.associates[x].type=i;break}}else{var y,z="undefined"==typeof w.splice?[w]:w,B=!m||""==m;for(var C in z)!q&&n&&z[C].name!=c&&(z[C].id="i"+EmbeddedIAO.generateGuid(),j.updateData("ind-uuid",z[C].id),g=z[C].id),z[C].name=n?c:z[C].name,y=null==z[C].date&&B||""==z[C].date&&B,z[C].date=q||!p||!y&&z[C].date!=m?z[C].date:f,z[C].type=i}var D=j.parents(".explorerTreeBox").eq(0).find('*[data-iao-ui-action="sort-data-model"]').eq(0);A(d,j,!1,D.is(":checked")),ia.autoSave&&s();var E=b.Event(ia.DATA_CHANGE_EVENT);return E.container=e,E.action="indicator-edit",E.item=w,E.target=j,e.trigger(E),!0}}),a.stopPropagation(),a.preventDefault(),!1}),c.find('.igroup-children li.ind a[data-iao-ui-action="edit-indicator"]').prop("title",a.getText("DataManagerRenameIndicatorButton.ToolTip","Edit and/or Rename this Indicator")),c.find('.igroup-children li.ind a[data-iao-ui-action="remove-indicator"]').off("click").on("click",function(c){b(".tooltip").hide();var d=b(this).parents(".widgetIndicators").eq(0),e=d.prop("id");e=e.substring(e.indexOf("igroup_")+"igroup_".length);var f=b(this).parents("li").eq(0);f.addClass("drop-target-active");var g=d.find(".drop-target-active"),h=function(){g.each(function(a,c){f=b(c);var d,g,h=f.attr("data-ind-uuid"),i=f.attr("data-ind-date")||f.find(".i-date").text();f.parents("li.ind").length>0?(d=f.attr("data-ind-uuid"),g=f.parents("li.ind").eq(0),h=g.attr("data-ind-uuid"),i=g.attr("data-ind-date")||g.children(".i-date").text(),ia.dataModel.deleteAssociateFromIndicator(d,h,i,e)&&(f.remove(),g.find("ul li").length<1&&g.find("ul").remove(),g.removeClass("child-hovered"))):ia.dataModel.deleteIndicatorInstanceFromTheme(h,i,e)&&f.remove()}),ia.autoSave&&s()};if(g.length>1){var i=a.getText("DeleteIndicatorConfirmDialog.Title","Remove Indicator(s)?"),j=a.getText("DeleteIndicatorConfirmDialog.MessageFormat","Are you sure you want to remove these {0} Indicator(s) from your data model?");a.showPopupScriptDialog(i,a.util.replaceAll(j,[g.length]),{modal:!0,type:"question",buttons:"yesno",yes:h,no:function(){}})}else h();return c.stopPropagation(),c.preventDefault(),!1}),c.find('.igroup-children li.ind a[data-iao-ui-action="remove-indicator"]').prop("title",a.getText("DataManagerDeleteIndicatorButton.ToolTip","Remove this Indicator")),c.find('.igroup-children li.ind a[data-iao-ui-action="move-indicator-up"]').off("click").on("click",function(a){b(".tooltip").hide();var c=b(this).parents("li").eq(0);return b(".drop-target-active").removeClass("drop-target-active"),c.addClass("drop-target-active"),y(c,-1),a.stopPropagation(),a.preventDefault(),!1}),c.find('.igroup-children li.ind a[data-iao-ui-action="move-indicator-up"]').prop("title",a.getText("DataManagerMoveIndicatorUpButton.ToolTip","Move Up")),c.find('.igroup-children li.ind a[data-iao-ui-action="move-indicator-down"]').off("click").on("click",function(a){b(".tooltip").hide();var c=b(this).parents("li").eq(0);return b(".drop-target-active").removeClass("drop-target-active"),c.addClass("drop-target-active"),y(c,1),a.stopPropagation(),a.preventDefault(),!1}),c.find('.igroup-children li.ind a[data-iao-ui-action="move-indicator-down"]').prop("title",a.getText("DataManagerMoveIndicatorDownButton.ToolTip","Move Down"))}c.find('.modelControls a[title][title!=""]').tooltip({placement:"auto bottom",trigger:"hover",container:"body"})}function x(c){var d='<span class="modelControls"><a href="#" data-iao-ui-action="edit-item" class="'+a.iconCssClasses.getCssAttribute("icon,edit")+'">&nbsp;</a><a href="#" data-iao-ui-action="remove-item" class="'+a.iconCssClasses.getCssAttribute("icon,remove")+'">&nbsp;</a></span>';c.find(".modelControls").remove(),c.find("li.feature-property,li.feature-filter").append(d),c.find(".modelControls a").off("click").on("click",function(a){var c=b(this).parents("li").eq(0),d=c.parent(),e=c.data("property-name")?"prop":"filter",f=c.data(c.data("property-name")?"property-name":"filter-id"),g=b(this).data("iao-ui-action");return"edit-item"==g?ia.popAliasEditor(a,{commitChange:function(a,b,c){if("prop"==e)c.children(".i-name").text(b),ia.dataModel.updateFeatureProperty(f,b);else if("filter"==e){c.children(".i-name").text(b),c.updateData("property-name",b);var d="fltr"+b.replace(/[^a-zA-Z0-9_\-]+/g,"_");ia.dataModel.updateFilter(f,b,"","",d)&&c.updateData("filter-id",d)}return ia.autoSave&&s(),!0}}):"remove-item"==g&&("prop"==e?(ia.dataModel.deleteFeatureProperty(f),c.fadeOut("fast",function(){c.remove(),d.children("li").length<1&&d.parents("li").eq(0).addClass("inactive")})):"filter"==e&&(ia.dataModel.deleteFilter(f),c.fadeOut("fast",function(){c.remove(),d.children("li").length<1&&d.parents("li").eq(0).addClass("inactive")})),ia.autoSave&&s()),a.stopPropagation(),a.preventDefault(),!1}),c.find('a[data-iao-ui-action^="edit"]').prop("title",a.getText("DataManagerRenameItemButton.ToolTip","Rename this item")),c.find('a[data-iao-ui-action^="remove"]').prop("title",a.getText("DataManagerDeleteItemButton.ToolTip","Remove this item"));var e,f=c.find('li.feature-property[data-property-src-field!=""],li.feature-filter[data-filter-src-field!=""]');f.length>0&&(f.each(function(c,d){e=b(d).data(b(d).hasClass("feature-property")?"property-src-field":"filter-src-field"),b(d).find(".i-name").eq(0).prop("title",a.util.replaceAll(a.getText("DataManagerSourceFieldName.ToolTip","Source Field: {0}"),[e]))}),f.find(".i-name").tooltip({placement:"auto bottom",trigger:"hover",container:"body"}))}function y(a,c){var d,e,f,g,h=a.parents(".widgetIndicators").eq(0),i=a.parent(),j=a.attr("data-ind-uuid"),k=a.attr("data-ind-date")||a.find(".i-date").text(),l=(a.attr("data-ind-index")?parseInt(a.attr("data-ind-index")):0)+c,m=h.prop("id");m=m.substring(m.indexOf("igroup_")+"igroup_".length),z(m,i);var n=a.prevAll('li[data-ind-uuid="'+j+'"]'),o=a.nextAll('li[data-ind-uuid="'+j+'"]'),p=0>c&&n.length>0,q=c>0&&o.length>0;if(k&&(q||p))p?n.first().before(a):q&&o.first().after(a),d=i.children('li[data-ind-uuid="'+j+'"]'),d.each(function(a,c){var d=b(c);k=d.attr("data-ind-date"),e=ia.dataModel.getIndicatorInstanceFromTheme(j,k,m),e.subIndex=a,d.updateData("ind-sub-index",e.subIndex)}),B(m,a);else if(n=a.prevAll("li.ind"),o=a.nextAll("li.ind"),0>c&&n.length>0||c>0&&o.length>0){e=ia.dataModel.getIndicatorFromTheme(j,m),f="undefined"!=typeof e.splice?e:[e],d=i.children('li[data-ind-uuid="'+j+'"]');for(var r in f)f[r].index=l,f[r].subIndex=r,d.eq(r).updateData("ind-index",l).updateData("ind-sub-index",r);0>c?(g=n.first().attr("data-ind-uuid"),n.filter('[data-ind-uuid="'+g+'"]').last().before(d)):c>0&&(g=o.first().attr("data-ind-uuid"),o.filter('[data-ind-uuid="'+g+'"]').last().after(d)),B(m,a)}ia.autoSave&&s()}function z(c,d){var e,f,g,h,i={},j=0;d.children("li.ind").each(function(k,l){return g=b(l),e=g.attr("data-ind-uuid"),"undefined"==typeof i[e]?(i[e]=k,j=0):j++,f=g.attr("data-ind-date"),(h=f&&""!=f?ia.dataModel.getIndicatorInstanceFromTheme(e,f,c):ia.dataModel.getIndicatorFromTheme(e,c))?(h.index=i[e],h.subIndex=j,g.updateData("ind-index",h.index),g.data("ind-oindex")||g.updateData("ind-oindex",h.index),void g.updateData("ind-sub-index",h.subIndex)):(a.showPopupScriptDialog("Unexpected Error","InstantAtlas cannot match the selected indicator ["+e+", "+f+", "+d.prop("id")+"]. Please reload the page and try again.",{type:"error",modal:!0,resize:!1,buttons:"ok",ok:function(){}}),!1)})}function A(a,c,d,e){var f,g,h,i,j,k,l=c.parent();d||l.hasClass("igroup-associates")||z(a,l);var m=ia.dataModel.mergeIndicatorsInTheme(a,!1,!d&&e);if(m&&m.idMap)for(var n in m.idMap)i=m.idMap[n],f=l.find('li[data-ind-uuid="'+n+'"]'),f.updateData("ind-uuid",i),g=ia.dataModel.getIndicatorFromTheme(i,a),h=g.index?g.index:g[0].index,f=l.find('li[data-ind-uuid="'+i+'"]'),f.updateData("ind-index",h);if(m&&m.instances)for(var o in m.instances)for(var p in m.instances[o])f=l.find('li[data-ind-uuid="'+m.instances[o][p].id+'"]'),m.instances[o][p].date&&(f=f.filter('[data-ind-date="'+m.instances[o][p].date+'"]')),f.updateData("ind-sub-index",m.instances[o][p].subIndex);var q=e?C:D;l.children("li.ind").sort(q).appendTo(l),l.children("li.ind").each(function(c,d){j=b(d).attr("data-ind-uuid"),k=b(d).data("ind-date"),g=ia.dataModel.getIndicatorInstanceFromTheme(j,k,a),g.index=b(d).data("ind-index"),g.subIndex=b(d).data("ind-sub-index")}),ia.dataModel.sortIndicatorsInTheme(a,!0)}function B(a,c,d){var e=c.parent();d||e.hasClass("igroup-associates")||z(a,e),ia.dataModel.sortIndicatorsInTheme(a,!0),e.children("li.ind").sort(C).appendTo(e),e.children("li.ind").each(function(c,d){iid=b(d).attr("data-ind-uuid"),idate=b(d).data("ind-date"),ii=ia.dataModel.getIndicatorInstanceFromTheme(iid,idate,a),ii.index=b(d).data("ind-index"),ii.subIndex=b(d).data("ind-sub-index")}),ia.dataModel.sortIndicatorsInTheme(a,!0)}function C(a,c){var d=b(a),e=b(c),f=d.attr("data-ind-index"),g=e.attr("data-ind-index"),h=0;return isNaN(parseInt(f))||isNaN(parseInt(g))||(h=+f-+g),0==h&&(f=d.attr("data-ind-uuid"),g=e.attr("data-ind-uuid"),h=f.toString().localeCompare(g.toString()),0==h?(f=d.attr("data-ind-sub-index"),g=e.attr("data-ind-sub-index"),f&&g&&!isNaN(parseInt(f))&&!isNaN(parseInt(g))&&(h=parseInt(f)-parseInt(g))):(f=d.find(".i-name").eq(0).text(),g=e.find(".i-name").eq(0).text(),h=(f?f:"").localeCompare(g?g:"")),0==h&&(f=d.find(".i-date").eq(0).text(),g=e.find(".i-date").eq(0).text(),h=(f?f:"").localeCompare(g?g:""))),h}function D(a,c){var d=b(a),e=b(c),f=d.attr("data-ind-oindex"),g=e.attr("data-ind-oindex"),h=0;return isNaN(parseInt(f))||isNaN(parseInt(g))||(h=+f-+g),h}function E(c){var d,e=null,f=!1,g=c.success||c.done,h=c.dialog;if(h?a.showMask(h):a.showPageMask(),sessionStorage.getItem("iaoDataModelCurrent"+ia.storageKeySuffix)){var i=sessionStorage.getItem("iaoDataModelCurrent"+ia.storageKeySuffix);ia.compressor&&i&&"["!=i.substring(0,1)&&"{"!=i.substring(0,1)&&(i=ia.compressor.decompressFromUTF16(i));var j=JSON.parse(i);d=j.geographies[0].url,e=j.geographies[0].idField,f=(d.toLowerCase().indexOf("/featureserver/")>0||d.toLowerCase().indexOf("/mapserver/")>0)&&d.toLowerCase().indexOf("/query")<0,f&&(d=d.split("?")+"/query"+(d.split("?").length>1?"?"+d.split("?")[1]:""))}else{var i=ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix);ia.compressor&&i&&"["!=i.substring(0,1)&&"{"!=i.substring(0,1)&&(i=ia.compressor.decompressFromUTF16(i));var k=JSON.parse(i);d=k[0].Url?k[0].Url:k[0].url;var l=k[0].Parameters?k[0].Parameters:k[0].parameters;if(l&&(l=a.parseQueryString(l,"&"),e=l.idField,l.src&&d.indexOf("arcgis.com")>0)){var m=l.src.split("?");d=m[0]+"/query"+(m.length>1?"?"+m[1]:""),f=!0}}var n=a.getToken()?a.getToken():sessionStorage.getItem("iaoSasToken");n&&"?"==n.substring(0,1)&&d.indexOf("?")>0&&(n=n.substring(1)),f&&(n="token="+n);var o=d.split("?").length>1?d.split("?")[1]:"";o+=n&&d.indexOf(n)<0&&d.indexOf("-public")<0&&ia.matchesToken(d,n)?(d.indexOf("?")>0?"&":"?")+n.replace("?",""):"",f&&(o=(o.indexOf("?")>=0?"":"?")+o+"&f=json&returnGeometry=false"+(o.toLowerCase().indexOf("where=")<0?"&where="+encodeURIComponent("1=1"):"")+"&outFields="+encodeURIComponent(e));var p=d.split("?")[0]+(!o||o&&0==o.indexOf("?")?"":"?")+o;b.ajax({url:p,dataType:"json",cache:!1}).done(function(c){var i=new Array;if(f)for(var j in c.features)c.features[j].attributes[e]&&i.push(c.features[j].attributes[e].toString());else for(var j in c.features)c.features[j].properties[e]&&i.push(c.features[j].properties[e].toString());b.ajax({url:ia.dataStoreUrls.core+"geography/match",type:"POST",data:JSON.stringify({featureIds:i}),dataType:"json",contentType:"application/json"}).done(function(b){h?a.hideMask(h):a.hidePageMask(),g({items:b.items,source:d,idField:e,featureIds:i})}).fail(function(){h?a.hideMask(h):a.hidePageMask(),g({items:null,source:d,idField:e,featureIds:i})})}).fail(function(){h?a.hideMask(h):a.hidePageMask(),g({items:null,source:d,idField:e,featureIds:featureIds})})}function F(b,c,d){var e='<li><div id="{0}_{1}" class="widgetIndicators" data-theme-id="{1}"><div class="igroup-name"><a href="#" id="{0}-igroupToggler_{1}" data-toggle="{0}-iGroupSet_{1}" class="drop-target nodef group-toggler"><i class="fas fa-fw fa-folder fa-folder-open fa-lg">&nbsp;</i><span class="igroup-name-text">{2}</span></a></div><ul id="{0}-iGroupSet_{1}" class="igroup-children" style="margin-top: 5px;"></ul></div></li>';if(e=a.util.replaceAll(e,[d&&d.idPrefix?d.idPrefix:"themeTree",b.details.id,b.details.name?b.details.name:b.details.uid]),c.append(e),b.children){var f=c.find('div[id="'+(d&&d.idPrefix?d.idPrefix:"themeTree")+"_"+b.details.id+'"]').find(".igroup-children");for(var g in b.children)F(b.children[g],f,d)}}function G(a){var b;return void 0!=typeof window.ia?b=window.ia:window.parent&&void 0!=typeof window.parent.ia&&(b=window.parent.ia),b&&a?b[a]:b}function H(c,d,e){e.find(".progressIcon").show(),e.find(".nextButton").prop("disabled",!0);var f=b("#iasDataConnectionUrlBox").val();if(!f||""==f)return!1;var g=b("#iasDataConnectionUserBox").val(),h=b("#iasDataConnectionPwdBox").val(),i=b("#iasDataConnectionLocaleBox").val();f=f.indexOf("/DataStoreService.svc")<0?(f+"/DataStoreService.svc").replace("//DataStoreService.svc","/DataStoreService.svc"):f,f=f+(f.indexOf("?")>0?"&":"?")+"anon=true";var j=V(),k=b("#iasDataConnectionGeoTypeBox");if(1==c&&2==d)return k.children("option").remove(),b.ajax({url:ia.appPath+"services/DataService/GetAvailableGeoTypes",type:"POST",data:JSON.stringify({iasUrl:f,iasUser:g,iasPwd:h,iasLocale:i}),contentType:"application/json; charset=utf-8",dataType:"json",success:function(a){if(a){var b="";for(var c in a)a[c].subsetId||(b='<option value="'+a[c].id+'">'+a[c].name+"</option>",k.append(b))}k.children("option").length<1&&ia.stepIasDataConnection(-1,!0),e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide()},error:function(a,c,d){"abort"!=d&&(console&&console.error&&console.log("AJAX error @"+a.requestUrl+" - "+a.status+", "+d+", "+c),b("#iasDataConnectionUrlError").text(c+" - "+d),ia.stepIasDataConnection(-1,!0)),e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide()}}),!0;if(2==c&&3==d){var l=k.val();return ia.crossMatchDataHandler?ia.crossMatchDataHandler({complete:function(a){a.status&&"ok"==a.status.toLowerCase()||a.success?(K(e,f,g,h,i,l),e.find(".nextButton").prop("disabled",!1)):(ia.stepIasDataConnection(-1,!0),e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide())}}):b.ajax({url:ia.appPath+"services/DataService/CrossMatchGeoType",type:"POST",data:JSON.stringify({iasUrl:f,iasUser:g,iasPwd:h,iasLocale:i,geoTypeId:l,userSessionJson:JSON.stringify(j)}),contentType:"application/json; charset=utf-8",dataType:"json",success:function(a){a&&a.status&&"nomatch"!=a.status.toLowerCase()?(K(e,f,g,h,i,l),e.find(".nextButton").prop("disabled",!1)):(ia.stepIasDataConnection(-1,!0),e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide())},error:function(){ia.stepIasDataConnection(-1,!0),e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide()}}),!0}if(4==d&&3==c){var l=k.val();e.find(".progressIcon").show();var m=",";return b('input[id^="iasInd_"]:checked').each(function(a,c){var d=b(c).val();m.indexOf(","+d+",")<0&&(m+=d+",")}),m.length>1&&(m=m.substring(1),m=m.substring(0,m.length-1),ia.commitInstantAtlasServerHandler&&ia.commitInstantAtlasServerHandler({url:f,user:g,pwd:h,geoTypeId:l,indicatorIds:m,locale:i,complete:function(b){b.status&&"ok"==b.status.toLowerCase()||b.success?a.hidePopupDialog(e):(e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide())}})),!1}return e.find(".progressIcon").hide(),!0}function I(a){if(ia.mode&&("EmbeddedIAO"==ia.mode.toUpperCase()||"AZURE"==ia.mode.toUpperCase()))return null!=a;if(ia.importHosts&&a&&ia.importHosts.length>0){for(var b in ia.importHosts)if(a.indexOf(ia.importHosts[b])>=0)return!0;if(ia.userCustomHost&&a.indexOf(ia.userCustomHost)>0){var c=a.replace(ia.userCustomHost,ia.portalHost);for(var b in ia.importHosts)if(c.indexOf(ia.importHosts[b])>=0)return!0}return!1}return null!=a}function J(c,d,e,f){var g,h,i,j,k=new b.Deferred,l=e&&""!=e?e.split("|")[0]:c.indexOf("sharing/rest")>0&&c.indexOf("/data")>0?"CSV":"GeoJson",m=e&&""!=e&&e.indexOf("|")>0?e.split("|")[1]:"",n=V(),o="t"+EmbeddedIAO.generateGuid(),p="srcTree-igroup_"+o,q='<div id="'+p+'" class="widgetIndicators"><div class="igroup-name"><span class="fa fa-stack"><i class="fas fa-folder-open fa-stack-1x fa-lg" style="color: #ccc;"></i><i class="fas fa-cog fa-stack-1x fa-spin"></i></span>&nbsp;<span class="igroup-name-text">'+(d?d:c)+"</span></a></div></div>",r=ia.mode&&("azure"==ia.mode.toLowerCase()||"iao"==ia.mode.toLowerCase()),s=!1,t=null,u=null,v=null;if(b(ia.trees.source).append(q),r&&c.indexOf("-public")>0&&n.iaoAzureToken&&(n.iaoAzureToken=null),g=c,ia.autoProxy&&ia.autoProxy.url&&c&&c.indexOf("?")>0&&c.indexOf("u=")>0){const w=a.parseQueryString(c.split("?")[1]);c=w.u}if(c.indexOf("/FeatureServer/")>0&&c.indexOf("/query")>c.indexOf("/FeatureServer/")&&(c=c.substring(0,c.lastIndexOf("/query"))),h=c.substring(0,c.indexOf(c.indexOf("/rest/indicators/")>0?"/rest/indicators/":"/rest-secure/indicators/")),i={url:ia.appPath+"services/data-service/indicators/from-url",type:"POST",data:JSON.stringify({iaUrl:c,srcFormat:l,userSessionJson:JSON.stringify(n),allowCache:!1}),contentType:"application/json; charset=utf-8",dataType:"json"},j=new RegExp(/.*\/rest(-secure){0,1}\/data\/[a-zA-Z0-9\/]+\/csv/g),j.test(c)){h=c.substring(0,c.indexOf(c.indexOf("/rest/data/")>0?"/rest/data/":"/rest-secure/data/"));const x=c.indexOf("?")>0?a.parseQueryString(c.split("?")[1]):{},y=c.substring(c.indexOf("/data/")+"/data/".length).split("/");i={url:h+"/"+(c.indexOf("/rest/data/")>0?"rest":"rest-secure")+"/indicator/"+(x.indicators?x.indicators:"subset"==y[1]?y[3]:y[1])+"/details?g="+y[0]+(x.s?"&s="+x.s:""),type:"GET",dataType:"json"},s=!0}if(j=new RegExp(/.*\/rest(-secure){0,1}\/indicators\/\?[a-zA-Z0-9=\&\/]+/g),j.test(c)){h=c.substring(0,c.indexOf(c.indexOf("/rest/indicators/")>0?"/rest/indicators/":"/rest-secure/indicators/"));const x=a.parseQueryString(c.split("?")[1]);t=x.i.split(","),u=x.g,v=x.s;const y=c.substring(c.indexOf("/data/")+"/data/".length).split("/");i={url:h+"/"+(c.indexOf("/rest/")>0?"rest":"rest-secure")+"/geography/"+u+"/indicators/",type:"GET",dataType:"json"},s=!0}const z={id:o,name:d&&""!=d?d+' <span class="smallerText">('+c+")</span>":c.split("?")[0],url:g,indicators:[],srcFormat:l,isLocked:"JSON"==l.toUpperCase()};m&&""!=m&&(z.idField=m);var A=function(a){var d=ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix);ia.compressor&&d&&"["!=d.substring(0,1)&&"{"!=d.substring(0,1)&&(d=ia.compressor.decompressFromUTF16(d));var e=JSON.parse(d);if(e&&e.url&&e.themes&&e.themes[0]&&!e.themes[0].url&&(e.themes[0].url=e.url),ia.trees.source.find('div[data-ind-url="'+c+'"]').length<1){"undefined"!=typeof e.splice?e.push(z):"undefined"!=typeof e.themes&&e.themes.push(z);var d=JSON.stringify(e);ia.compressor&&(d=ia.compressor.compressToUTF16(d)),ia.setStorageItem("iaoIndicatorsAvailable"+ia.storageKeySuffix,d)}if("double"==ia.layout.toLowerCase()){ia.populateIndicatorTree(ia.trees.source,{indicatorItemClass:"drag-source",showSourceFieldName:!0,indicators:e?"undefined"!=typeof e.splice?e:e.themes:[],useDragAndDrop:ia.useDragAndDrop,dropTarget:ia.trees.target.parent(),elementIdPrefix:"srcTree-",showModelLevelInfo:!1,allowAddSource:!0,complete:function(){ia.trees.source.hasClass("iao-info-linked")&&ia.addDataSourceInformation(ia.trees.source)}});var f=b(ia.trees.source).find(".widgetIndicators:not(:first):not(.add-source-btn)");U(f),a&&a({target:ia.trees.source,url:g})}};if(e&&"ARCGISONLINEDATASTORE"==e.toUpperCase()){dataStoreParams=c.split(";");var B=a.getToken()?a.getToken():sessionStorage.getItem("iaoSasToken");B&&"?"==B.substring(0,1)&&mds.indexOf("?")>0&&(B=B.substring(1)),n&&(B=n.token?n.token:n.iaoArcGisOnlineToken?n.iaoArcGisOnlineToken.token:null),ia.getDataCatalogIndicatorModel(dataStoreParams[0],{token:B,geo:dataStoreParams[1],removeEmpty:"undefined"!=typeof f&&"1,true,yes".indexOf(f.toString().toLowerCase())>=0,done:function(c){b("#"+p).remove(),A(function(d){ia.populateIndicatorTree(b("#"+p).children(".igroup-children"),{indicators:c.model.getThemes(),model:c.model,indicatorItemClass:"drag-source",allowModification:!1,showSourceFieldName:!1,elementIdPrefix:"dataStoreModelTree-",useDragAndDrop:!1,dragSelector:".widgetIndicators .drag-source",dropTarget:ia.trees.target.parent(),showModelLevelInfo:!1,allowAddSource:!1,collapseThemes:!0,complete:function(e){if(e.container[0],k.resolve(d),a.metadataUrl||c.model.getProperty("metadataUrl")){e.container.parents(".widgetIndicators").addClass("data-tree-container"),c.model.getProperty("metadataUrl")&&e.container.parents(".data-tree-container").updateData("metadata-url",c.model.getProperty("metadataUrl")),e.container.find(".i-aliased").tooltip({container:"body"});var f=e.container.find(".ind > .i-date");f.after('<a href="#metadata:Ind" class="ind-meta-link small" tabindex="0" title="'+a.getText("DataCatalogMetadataKink.ToolTip","Metadata")+'"><span class="sr-only">metadata</span><i class="fas fa-info-circle"></i></a>&nbsp;');var g=e.container.find("a.ind-meta-link");g.popover({content:function(){var c=b(this).parents("li.ind").eq(0).attr("data-ind-uuid");return'<div id="metadata_'+c+'" class="metadata-container"><p>Please wait. Contacting <a href="'+a.metadataUrl+'">metadata service...</a></p></div>'},html:!0,container:e.container.parents(".explorerTreeBox").eq(0).parent(),trigger:"manual"}).on("click",function(a){a.preventDefault(),b(this).popover("show")}).on("shown.bs.popover",function(){var c=b(this).parents("li.ind").eq(0).attr("data-ind-uuid"),d=b(this).siblings(".i-name").text(),e=b(this).parents(".data-tree-container").eq(0).data("ind-url").split(";")[0],f=b(this).parents(".data-tree-container").eq(0).data("metadata-url")?b(this).parents(".data-tree-container").eq(0).data("metadata-url").split(";")[0]:a.metadataUrl,g="__metapop"+c;b(this).prop("id",g),ia.populateDataStoreMetadataPopup(c,e,f,{direct:!0,fields:a.metadataTerms?a.metadataTerms:"IndicatorID,Description,Subject,Source,Issued,LastPublished,Spatial,Temporal,Rights,Keywords,Status,LastRevised,LastUpdated,Creator,Publisher,UpdateFrequency",done:function(a){var c=a.parents(".popover").find(".popover-title");c.children(".closer").remove(),c.text(d),c.prepend('<div class="closer" style="float: right; cursor: pointer;" data-target="'+g+'"><i class="fas fa-times"></i></div>'),c.find(".closer").on("click",function(){b('a[id="'+b(this).attr("data-target")+'"]').popover("hide")})}})})}}})})}})}else b.ajax(i).done(function(a){if(b("#"+p).remove(),a){var c;if(s)if(u&&t&&a.items)for(var d=0;d<a.items.length;d++)(t.indexOf(a.items[d].id)>=0||t.indexOf(a.items[d].id.toString())>=0)&&(c={id:"i"+a.items[d].id,name:a.items[d].name,date:"",type:a.items[d].dataType,src:{url:g,fieldName:"#DataStore:"+a.items[d].id,format:"DataStore"}},z.indicators.push(c));else c={id:"i"+a.id,name:a.name,date:"",type:a.dataType,src:{url:g,fieldName:"#DataStore:"+a.id,format:"DataStore"}},z.indicators.push(c);else for(var d in a)c={id:"i"+EmbeddedIAO.generateGuid(),name:a[d].indicatorName,date:a[d].displayDate?a[d].displayDate:"",type:a[d].type,src:{url:g,fieldName:a[d].name+(m&&""!=m?","+m:""),format:l}},z.indicators.push(c);A(function(a){k.resolve(a)})}}).fail(function(a,c){b("#"+p).remove(),k.reject({error:!0,status:"fail",data:a,message:c})});return k.promise()}function K(a,c,d,e,f,g){b.ajax({url:ia.appPath+"services/DataService/GetThemesForGeoType",type:"POST",data:JSON.stringify({iasUrl:c,iasUser:d,iasPwd:e,iasLocale:f,geoTypeId:g}),contentType:"application/json; charset=utf-8",dataType:"json",success:function(h){
if(h){var i=b("#iasDataConnectionThemeIndicatorTree");i.children().remove(),i.append('<ul id="iasThemeChildren_XXXRootXXX" class="noDec"></ul>'),L(b("#iasThemeChildren_XXXRootXXX"),h,c,d,e,f,g)}else ia.stepIasDataConnection(-1);a.find(".nextButton").prop("disabled",!0).css("display","none"),a.find(".finishButton").prop("disabled",!0).css("display",""),a.find(".finishButton").prop("disabled",b('input[id^="iasInd_"]:checked').length<1),a.find(".progressIcon").hide()},error:function(){ia.stepIasDataConnection(-1),a.find(".progressIcon").hide()}})}function L(a,c,d,e,f,g,h){for(var i in c){a.append('<li id="iasTheme_'+c[i].Descriptor.Id+'" class="themeHolder"></li>');var j=a.children(".themeHolder").last();j.append('<span class="icon-play4 12-icon-play4">&nbsp;</span><a href="#" class="themeLink">'+c[i].Descriptor.Name+"</a>"),j.append('<ul id="iasThemeChildren_'+c[i].Descriptor.Id+'" class="noDec"></ul>');var k=j.children("ul");c[i].HasChildren&&L(k,c[i].Children,d,e,f,g,h),k.css("display","none"),j.children(".icon-play4").toggleClass("spin90","none"!=k.css("display")),j.children(".icon-play4,.themeLink").off("click").on("click",function(a){var c=b(this).parents(".themeHolder").eq(0),i=c.children("ul.noDec");return c.children(".icon-play4").toggleClass("spin90"),i.css("display",c.children(".icon-play4").hasClass("spin90")?"block":"none"),"none"!=i.css("display")&&i.find(".indItem").length<1&&M(i,c.prop("id").substring("iasTheme_".length),d,e,f,g,h),a.preventDefault(),!1})}}function M(a,c,d,e,f,g,h){b.ajax({url:ia.appPath+"services/DataService/GetIndicatorsForGeoTypeAndTheme",type:"POST",data:JSON.stringify({iasUrl:d,iasUser:e,iasPwd:f,iasLocale:g,geoTypeId:h,themeId:c}),contentType:"application/json; charset=utf-8",dataType:"json",success:function(c){if(c){a.children(".indItem").remove();for(var d in c)a.append('<li class="'+(c[d].ParentIndicatorId?"indItem assocItem":"indItem")+'"><input type="checkbox" id="iasInd_'+c[d].Id+'" value="'+c[d].Id+'" /><label for="iasInd_'+c[d].Id+'" title="'+c[d].Name+'">'+(c[d].ShortName?c[d].Name:c[d].Name)+"</label></li>");a.find('input[type="checkbox"]').off("change").on("change",function(){a.parents(".popupDialog").eq(0).find(".finishButton").prop("disabled",b('input[id^="iasInd_"]:checked').length<1)})}a.parents(".popupDialog").eq(0).find(".finishButton").prop("disabled",b('input[id^="iasInd_"]:checked').length<1)},error:function(){}})}function N(c){var d=V();b.ajax({url:ia.appPath+"services/data-service/model/from-url",type:"POST",data:JSON.stringify({iaUrl:c,srcFormat:"JSON",userSessionJson:JSON.stringify(d)}),contentType:"application/json; charset=utf-8",dataType:"json",success:function(d){if(d&&"double"==ia.layout.toLowerCase()){for(var e in d.themes)O(c,d.themes[e]);var f=ia.trees.source.find('div[data-ind-url="'+c+'"]');f.data("sourceDataModel",d);var g=f.find(".drag-source");g.off("click").off("mousedown").off("mousemove").removeClass("drag-source"),g=f.find(".igroup-name .modelControls"),g.find(".fa-copy").remove(),g.prepend('<a href="#" class="'+a.iconCssClasses.getCssAttribute("icon,copy,iconBig")+'">&nbsp;</a>'),g.find("."+a.iconCssClasses.copy).off("click").on("click",function(a){var c=b(this).parents(".widgetIndicators").eq(0);return N(c.attr("data-ind-url")),a.stopPropagation(),a.preventDefault(),!1}),g.find("."+a.iconCssClasses.copy).prop("title",a.getText("DataManagerCopyThemesToModelButton.ToolTip","Copy this data into your model")),f.find("a").tooltip({placement:"auto bottom",trigger:"hover",container:"body"})}},error:function(a,b,c){"abort"!=c&&console&&console.error&&console.log("AJAX error @"+a.requestUrl+" - "+a.status+", "+c+", "+b)}})}function O(a,c,d,e){var f=d?d.jquery?d:b(d):ia.container.find(".explorerTree").eq(1),g=f.hasClass("widgetIndicators")?f.parents(".explorerTree").eq(0):f,h=g.find(".widgetIndicators"),i=e||"model_";if(c.isLocked=!0,c.url=c.properties&&c.properties.iaoSourceUrl?c.properties.iaoSourceUrl:a+"#"+c.id,c.sourceType="IA-JSON",g.find('*[data-theme-url="'+c.url+'"]').length<1){var j=t(f.hasClass("widgetIndicators")?f.children("ul.igroup-children"):f,c,i,h.length+1);u(g,i),w(j,{allowRenameThemes:!0,allowRemoveThemes:!0,appendAfter:".igroup-name:eq(0)"}),j.find(".drop-target").removeClass("drop-target").off("click").off("mouseover"),j.addClass("data-locked").updateData("theme-id",c.id).updateData("theme-url",c.url),ia.dataModel.themes.push(c),ia.autoSave&&s()}}function P(b,c,d,e,f,g){d.data("step")||d.data("step",1);var h=d.data("step"),i=Math.max(1,h+b),j=d.find(".wiz-steps");if(c||Q(h,i,d,e,f,g)){if(j.removeClass("wiz-at-step-"+h).addClass("wiz-at-step-"+i),d.data("step",i),d.find(".failure-message").css("display","none"),c)if(c.type&&"true"!=c.type.toString().toLowerCase()?d.find(".wiz-step").eq(i-1).find('.failure-message[id*="'+c.type.toString()+'"]').css("display",""):d.find(".wiz-step").eq(i-1).find(".failure-message").css("display",""),c&&c.message)d.find(".wiz-step").eq(i-1).find(".failure-message .failure-details").text(c.message);else if((c.url||c.error&&c.error.url)&&c.error&&c.error.data&&"undefined"!=typeof c.error.data.statusCode){var k=c.error.data.statusCode(),l=(c.error.data.state?c.error.data.state():"unknown").toLowerCase(),m=(c.url?c.url:c.error.url).split("?")[0],n="";0==k.status&&"rejected"==l?(n=a.getText("HttpConnectionRefusedGeneric.MessageFormat",'Connection to <strong>{0}</strong> was <strong>rejected</strong> by your browser. This is probably because the final resource is not available via https or because that URL is not set up to receive remote requests. Contact <a href="mailto:support@instantatlas.com?subject=Remote%20Data%Link%Problem">support@instantatlas.com</a> for more details.'),n=a.util.replaceAll(n,[m])):404==k.status?(n=a.getText("HttpConnection404Generic.MessageFormat",'InstantAtlas could not connect to <strong>{0}</strong> - the response code was "Not Found" (404).'),n=a.util.replaceAll(n,[m])):(n=a.getText("HttpConnectionFailedGeneric.MessageFormat",'InstantAtlas could not connect to <strong>{0}</strong> - the response code was "{1}" ({2}).'),n=a.util.replaceAll(n,[m,k.statusText,k.status])),d.find(".wiz-step").eq(i-1).find(".failure-message .failure-details").html(n)}else d.find(".wiz-step").eq(i-1).find(".failure-message .failure-details").text("")}else d.find(".progressIcon").hide(),i=h;d.find(".backButton").prop("disabled",2>i),d.find(".nextButton").css("display",i>d.find(".wiz-step").length-1?"none":""),d.find(".finishButton").css("display",i<=d.find(".wiz-step").length-1?"none":"")}function Q(c,d,e,f,g,h){function i(){function c(c){if(c&&c.status&&"nomatch"!=c.status.toLowerCase()){if(c){var k=ia.mode&&("azure"==ia.mode.toLowerCase()||"iao"==ia.mode.toLowerCase());k&&j.indexOf("-public")>0&&l.iaoAzureToken&&(l.iaoAzureToken=null);var m=100;c.sourceCount&&c.matchedCount?(m=100*c.matchedCount/c.sourceCount,80>m?(e.find(".feature-count").attr("data-value",c.sourceCount).text(c.sourceCount.toLocaleString()),e.find(".match-count").attr("data-value",c.matchedCount).text(c.matchedCount.toLocaleString()),e.find(".match-percentage").text(m.toFixed(0)),e.find(".match-warning").css("display","")):e.find(".match-warning").css("display","none")):e.find(".match-warning").css("display","none"),b.ajax({url:ia.appPath+"services/data-service/indicators/from-url",type:"POST",data:JSON.stringify({iaUrl:j,srcFormat:f,userSessionJson:JSON.stringify(l),allowCache:!1}),contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(b){if(b){var k=a.getToken();k&&"?"==k.substring(0,1)&&d.indexOf("?")>0&&(k=k.substring(1)),k=ia.transfer&&ia.transfer.servers&&ia.transfer.servers.storage&&0==y.indexOf(ia.transfer.servers.storage)&&k&&y.indexOf("-public")<0?(y.indexOf("?")>0?"&":"?")+k:"";var l='<ul data-ind-url="'+(f.toUpperCase().indexOf("ARC")>=0?y.replace("/query",""):y)+k+'" data-ind-format="'+f+'" data-ind-id-field="'+(w?w:i)+'" class="data-source-indicators ind-'+f.toLowerCase()+'">';for(var m in b)l+='<li class="ind" data-ind-uuid="'+b[m].indicatorId+'" data-ind-src="'+b[m].name+'" data-ind-oindex="'+b[m].position+'" data-ind-format="'+f+'"><span class="i-name">'+b[m].indicatorName+'</span> <span class="i-date">'+(b[m].displayDate?b[m].displayDate:"")+"</span></li>";l+="</ul>",e.find('div[id$="ThemeIndicatorTree"]').append(l),h&&ia.trees.source.find('div[data-ind-url="'+(f.toUpperCase().indexOf("ARC")>=0?y.replace("/query",""):y)+'"]').length<1&&e.find(".finishButton").one("click",function(){h(j!=y?[j,y]:j,f,b,e.find('ul[data-ind-url!=""]').eq(0),c.model)}),c.model?e.data("iaoDataModel",JSON.stringify(c.model)):e.removeData("iaoDataModel"),e.find(".finishButton").prop("disabled",!1)}else g(-1,{type:"BadFail",data:b,url:j}),e.find(".finishButton").prop("disabled",!1);e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide()}).fail(function(a,b,c){"abort"!=c&&(console&&console.log&&console.log("AJAX error @"+a.requestUrl+", "+b+", "+c),g(-1,{type:"BadFail",code:a?a.statusCode:500,status:b,message:c,url:j}),e.find(".finishButton").prop("disabled",!1)),e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide()})}}else e.find(".feature-count").attr("data-value",c.sourceCount).text(c.sourceCount.toLocaleString()),e.find(".match-count").attr("data-value",c.matchedCount).text(c.matchedCount.toLocaleString()),e.find(".match-sample").html(c.sample?c.sample:""),c.type="GeoFail",g(-1,c),e.find(".id-field-name").text(w?w:i),e.find(".csv-preview .field-button").off("click").on("click",function(a){a.preventDefault();var c=b(this).attr("data-field-name"),d=b(this).parents(".modal-content").eq(0),e=d.find('.form-control[id$="UrlBox"]');e.val(e.val().split("#")[0]+"#"+c),e.trigger("change"),d.find(".btn-primary").removeClass("btn-primary"),d.find(".nextButton").prop("disabled",!1).addClass("btn-primary")}),e.find(".nextButton").prop("disabled",!1).removeClass("btn-primary"),e.find('.btn[data-task="choose"]').addClass("btn-primary"),e.find(".finishButton").prop("disabled",!0),e.find(".progressIcon").hide()}var d=l&&l.iaoMasterDataSet?a.parseQueryString(l.iaoMasterDataSet.Parameters,"&"):null,i=!d||!d.idField||ia.trees&&ia.trees.target?ia.dataModel&&ia.dataModel.idField?ia.dataModel.idField:ia.trees.target.find('*[id$="model_idField"]').text():d.idField;if("ARCGISONLINEDATASTORE"==f.toUpperCase()){var k=a.getToken()?a.getToken():sessionStorage.getItem("iaoSasToken");k&&"?"==k.substring(0,1)&&d.indexOf("?")>0&&(k=k.substring(1)),l&&(k=l.token?l.token:l.iaoArcGisOnlineToken?l.iaoArcGisOnlineToken.token:null),ia.getDataCatalogGeoSource(j,d.src.split("?")[0],{token:k,done:function(a){a.success?ia.getDataCatalogIndicatorModel(j,{geo:a.geo.id,token:k,removeEmpty:"undefined"!=typeof ia.hideEmptyThemes&&"1,true,yes".indexOf(ia.hideEmptyThemes.toString().toLowerCase())>=0,done:function(c){var d=c.model;b("#iaDataArcTableThemeIndicatorTree > .explorerTree").remove(),b("#iaDataArcTableThemeIndicatorTree").append('<div class="data-source-indicators explorerTree" style="height: auto; overflow: hidden;"></div>'),ia.populateIndicatorTree(b("#iaDataArcTableThemeIndicatorTree > .explorerTree"),{indicators:d.getThemes(),model:d,allowModification:!1,showSourceFieldName:!1,elementIdPrefix:"dataStoreConnectionModelTree-",useDragAndDrop:!1,showModelLevelInfo:!1,allowAddSource:!1,complete:function(b){b.container.attr("data-ind-url",j+";"+a.geo.id),b.container.attr("data-ind-id-field",a.geo.idField?a.geo.idField:i),b.container.find(".i-aliased").tooltip({container:"body"}),e.find(".nextButton,.finishButton").prop("disabled",!1),e.find(".progressIcon").hide()}})}}):(e.find(".match-sample").html(""),e.find(".source-url").text(d.src),a.type="GeoMatchFail",g(-1,a),e.find(".nextButton").prop("disabled",!1).removeClass("btn-primary"),e.find('.btn[data-task="choose"]').addClass("btn-primary"),e.find(".finishButton").prop("disabled",!0),e.find(".progressIcon").hide())}})}else if(ia.crossMatchDataHandler&&(!v&&!u||ia.noNativeCrossMatch))ia.crossMatchDataHandler({complete:function(a){a.status&&"ok"==a.status.toLowerCase()||a.success?e.find(".finishButton").prop("disabled",!1):(ia.stepIasDataConnection(-1,!0),e.find(".nextButton").prop("disabled",!1),e.find(".finishButton").prop("disabled",!0),e.find(".progressIcon").hide())}});else if((u||v)&&(sessionStorage.getItem("iaoDataModelCurrent"+ia.storageKeySuffix)||ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix)))try{if(i=null,sessionStorage.getItem("iaoDataModelCurrent"+ia.storageKeySuffix)){var m=sessionStorage.getItem("iaoDataModelCurrent"+ia.storageKeySuffix);ia.compressor&&m&&"["!=m.substring(0,1)&&"{"!=m.substring(0,1)&&(m=ia.compressor.decompressFromUTF16(m));var n=JSON.parse(m);d=n.geographies[0].url,i=n.geographies[0].idField,(d.toLowerCase().indexOf("/featureserver/")>0||d.toLowerCase().indexOf("/mapserver/")>0)&&d.toLowerCase().indexOf("/query")<0&&(d=d.split("?")[0]+"/query"+(d.split("?").length>1?"?"+d.split("?")[1]:""))}else{var m=ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix);ia.compressor&&m&&"["!=m.substring(0,1)&&"{"!=m.substring(0,1)&&(m=ia.compressor.decompressFromUTF16(m));var o=JSON.parse(m);d=o[0].Url?o[0].Url:o[0].url;var p=o[0].Parameters?o[0].Parameters:o[0].parameters;if(p&&(p=a.parseQueryString(p,"&"),i=p.idField,p.src&&d.indexOf("arcgis.com")>0)){var q=p.src.split("?");d=q[0]+"/query"+(q.length>1?"?"+q[1]:"")}}if(ia.trees&&ia.trees.target&&ia.trees.target.find('span[id$="_model_idField"]').length>0){var r=ia.trees.target.find('span[id$="_model_idField"]').data("src-field");r||(r=b.trim(ia.trees.target.find('span[id$="_model_idField"] > span').text())),i=r}var k=a.getToken()?a.getToken():sessionStorage.getItem("iaoSasToken");k&&"?"==k.substring(0,1)&&d.indexOf("?")>0&&(k=k.substring(1)),v&&(l&&(k=l.token?l.token:l.iaoArcGisOnlineToken?l.iaoArcGisOnlineToken.token:null),k=k?"token="+k:""),R({source:d,sourceType:v?"arcgis":"geojson",target:y,targetType:f,sourceIdField:i,targetIdField:w?w:i,maxMissing:e.find('*[id$="allowPartialDataButton"]').is(":checked")?.95:.05,done:c,token:k,tableButtons:!0,fail:function(a){g(-1,{type:"BadFail",error:a}),e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide()}})}catch(s){g(-1,{type:"BadFail",code:-1,status:"JSON Parse Error",message:s.message})}else b.ajax({url:ia.appPath+"services/DataService/CrossMatchFileData",type:"POST",data:JSON.stringify({iaUrl:j,srcFormat:f,idField:i,userSessionJson:JSON.stringify(l)}),contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(a){c(a)}).fail(function(a,b,c){"abort"!=c&&(console&&console.error&&console.log("AJAX error @"+a.requestUrl+" - "+a.status+", "+c+", "+b),g(-1,{type:"BadFail",code:a?a.statusCode:500,status:b,message:c,url:j})),e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide()})}e.find(".progressIcon").show(),e.find(".nextButton").prop("disabled",!0);var j=e.find('input[id$="UrlBox"]').val(),k=e.find('input[id$="UrlBox"]').data("arc-item-name");if(!j||""==j)return!1;if(k&&""!=k||(k=j),ia.userCustomHost&&j.indexOf(ia.userCustomHost)>0&&(j=j.replace(ia.userCustomHost,ia.portalHost),e.find('input[id$="UrlBox"]').val(j)),!I(j))return!1;var l=V();if(1==c&&2==d){if(e.find(".finishButton").prop("disabled",!0),e.find('div[id$="ThemeIndicatorTree"]').children().remove(),ia.storageProvider&&"undefined"!=typeof ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix)&&null!=ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix)){var m=ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix);ia.compressor&&m&&"["!=m.substring(0,1)&&"{"!=m.substring(0,1)&&(m=ia.compressor.decompressFromUTF16(m));var n=JSON.parse(m);for(var o in n)if(n[o].Parameters){var p=n[o].Url,q=a.parseQueryString(n[o].Parameters);if(q.src&&""!=q.src&&(p=q.src),p==j){var r=a.getText("DuplicateDataUrlDialog.MessageFormat","<p>You have already added data source <strong>{0}</strong> ({1}) to your data model.</p><p>Please choose a different data source.</p>");r=a.util.replaceAll(r,[k,j]);var t=a.getText("DuplicateDataUrlDialog.Title","Duplicate Data Source");return a.showPopupScriptDialog(t,r,{modal:!0,buttons:"ok",ok:function(){},type:"error"}),!1}}}var u=ia.mode&&("EmbeddedIAO"==ia.mode.toUpperCase()||"AZURE"==ia.mode.toUpperCase()),v=ia.mode&&"ARCGISONLINE"==ia.mode.toUpperCase()&&("CSV"==f.toUpperCase()||"ARCTABLE"==f.toUpperCase()||"ARCGIS"==f.toUpperCase()),w=null;j.indexOf("#")>0&&(w=j.substring(j.indexOf("#")+1),j=j.substring(0,j.indexOf("#")));var x=j.split("/");x.indexOf("dataset")==x.length-4&&x.indexOf("resource")==x.length-2&&j.indexOf("/download")<0&&(j+="/download");var y=j;if(u&&ia.autoProxy&&ia.autoProxy.url){var z="",A=j.substring(0,j.indexOf("://")+1)!=window.location.protocol;b.ajax({url:ia.autoProxy.url+"/approve",data:{u:j.split("?")[0]},dataType:"json"}).done(function(b){if(b&&b.approved)y=ia.autoProxy.url+"/connect?u="+encodeURIComponent(j.split("?")[0])+(j.split("?").length>1?"&"+j.split("?")[1]:"")+"&autofollow=1";else if(A)return e.find(".test-url").text(j),e.find(".test-host").text(z),g(-1,{type:"ConnectionFail",message:a.util.replaceAll(a.getText("ProtocolMisMatch.MessageFormat",'Cannot mix http and https protocols - URL "{0}" is not accessible'),[j])}),e.find(".nextButton").prop("disabled",!1).removeClass("btn-primary"),e.find('.btn[data-task="choose"]').addClass("btn-primary"),e.find(".finishButton").prop("disabled",!0),void e.find(".progressIcon").hide();i()}).fail(function(b){console.log("Unexpected failure contacting "+ia.autoProxy.url+"/approve for remote URI "+j),e.find(".test-url").text(j),e.find(".test-host").text(z),g(-1,{type:"ConnectionFail",message:a.util.replaceAll(a.getText("ProxyMisMatch.MessageFormat",'Cannot connect to URL "{0}" - status was {1}'),[j,b.status])}),e.find(".nextButton").prop("disabled",!1).removeClass("btn-primary"),e.find('.btn[data-task="choose"]').addClass("btn-primary"),e.find(".finishButton").prop("disabled",!0),e.find(".progressIcon").hide()})}else(j.toLowerCase().indexOf("/featureserver/")>0||j.toLowerCase().indexOf("/mapserver/")>0)&&j.toLowerCase().indexOf("/query")<0&&(y=j.split("?")[0]+"/query"+(j.split("?").length>1?"?"+j.split("?")[1]:"")),i();return!0}if(3==d&&2==c){var B,C=e.find('.data-source-indicators[data-ind-url!=""]').eq(0),D=C.attr("data-ind-url"),E=C.attr("data-ind-id-field");if(ia.commitFileDataHandler)if(B=function(b){ia.commitFileDataHandler({url:D,format:f,name:b||k,idField:E,complete:function(b){b.status&&"ok"==b.status.toLowerCase()||b.success?a.hidePopupDialog(e):(e.find(".nextButton").prop("disabled",!1),e.find(".progressIcon").hide())}})},D.indexOf("sharing/rest")>0&&D.indexOf("/data")>0){var F=a.getToken();b.getJSON(D.substring(0,D.lastIndexOf("/data"))+"?f=json"+(ia.matchesToken(D,F)?"&token="+F:"")).done(function(a){B(a.title)}).fail(function(){B(k)})}else B(k);else if(ia.storageProvider&&ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix))if(B=function(c){var d,g={id:"t"+EmbeddedIAO.generateGuid(),name:c?c+' <span class="smallerText">('+D.split("?")[0]+")</span>":k&&""!=k?k+' <span class="smallerText">('+D.split("?")[0]+")</span>":D.split("?")[0],url:D,indicators:[],srcFormat:f,idField:E,isLocked:"JSON"==f.toUpperCase()},h="ARCGISONLINEDATASTORE"!=f.toUpperCase()?","+E:"";"ARCGISONLINEDATASTORE"!=f.toUpperCase()&&C.find("li.ind").each(function(a,c){d={id:"i"+EmbeddedIAO.generateGuid(),name:b(c).children(".i-name").text(),date:b(c).children(".i-date").text(),type:b(c).attr("data-ind-type"),src:{url:D,fieldName:b(c).attr("data-ind-src")+h,format:f},originalIndex:b(c).data("ind-oindex")},g.indicators.push(d)});var i=ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix);ia.compressor&&i&&"["!=i.substring(0,1)&&"{"!=i.substring(0,1)&&(i=ia.compressor.decompressFromUTF16(i));var j=JSON.parse(i);if(ia.trees.source.find('div[data-ind-url="'+D+'"]').length<1){var m="undefined"!=typeof j.splice?j:"undefined"!=typeof j.themes?j.themes:null;if(null!=m){for(var n=-1,d=0;d<m.length;d++)if(m[d].srcFormat&&"ARCGISONLINEDATASTORE"==m[d].srcFormat.toUpperCase()){n=d;break}n>0?m.splice(n,0,g):m.push(g)}var i=JSON.stringify(j);ia.compressor&&(i=ia.compressor.compressToUTF16(i)),ia.setStorageItem("iaoIndicatorsAvailable"+ia.storageKeySuffix,i)}"double"==ia.layout.toLowerCase()&&ia.populateIndicatorTree(ia.trees.source,{indicatorItemClass:"drag-source",showSourceFieldName:!0,indicators:"undefined"!=typeof j.splice?j:j.themes,useDragAndDrop:ia.useDragAndDrop,dropTarget:ia.trees.target.parent(),elementIdPrefix:"srcTree-",showModelLevelInfo:!1,allowAddSource:!0,complete:function(c){function d(a){if(a.themes)for(var b=0;b<a.themes.length;b++)ia.dataModel.addTheme(a.themes[b]);ia.populateIndicatorTree(ia.trees.target,{indicators:ia.dataModel.getThemes(),model:ia.dataModel,allowModification:!0,showSourceFieldName:"always",elementIdPrefix:"dstTree-",useDragAndDrop:ia.useDragAndDrop,dropTarget:ia.trees.target.parent(),showModelLevelInfo:!0,showComparisonsSelector:!0,layer:ia.dataModel.getProperty("iaoArcLayerUrl"),allowAddSource:!1}),ia.autoSave&&s()}var h,i,j,k;if(h=b('.widgetIndicators[data-ind-url="'+g.url+'"]'),U(h),i=c.container.parent().find('*[data-iao-ui-action="sort-data-sources"]'),i.triggerHandler("change"),j="ARCGISONLINEDATASTORE"==f.toUpperCase()?null:e.data("iaoDataModel"),c.container.children(".widgetIndicators").each(function(){var c=b(this),d=c.data("ind-url"),e=c.data("ind-format");if(d&&e&&"ARCGISONLINEDATASTORE"==e.toUpperCase()){k=d.split(";");var f=a.getToken()?a.getToken():sessionStorage.getItem("iaoSasToken");f&&"?"==f.substring(0,1)&&mds.indexOf("?")>0&&(f=f.substring(1)),l&&(f=l.token?l.token:l.iaoArcGisOnlineToken?l.iaoArcGisOnlineToken.token:null),ia.getDataCatalogIndicatorModel(k[0],{token:f,geo:k[1],removeEmpty:"undefined"!=typeof ia.hideEmptyThemes&&"1,true,yes".indexOf(ia.hideEmptyThemes.toString().toLowerCase())>=0,done:function(d){ia.populateIndicatorTree(c.children(".igroup-children"),{indicators:d.model.getThemes(),model:d.model,indicatorItemClass:"drag-source",allowModification:!1,showSourceFieldName:!1,elementIdPrefix:"dataStoreModelTree-",useDragAndDrop:!1,dragSelector:".widgetIndicators .drag-source",dropTarget:ia.trees.target.parent(),showModelLevelInfo:!1,allowAddSource:!1,collapseThemes:!0,complete:function(c){var e=c.container[0];if(e.scrollIntoView&&e.scrollIntoView(),c.container.find(".i-aliased").tooltip({container:"body"}),a.metadataUrl||d.model.getProperty("metadataUrl")){c.container.parents(".widgetIndicators").addClass("data-tree-container"),d.model.getProperty("metadataUrl")&&c.container.parents(".data-tree-container").updateData("metadata-url",d.model.getProperty("metadataUrl"));var f,g=c.container.find(".ind > .i-date");g.each(function(){f=b(this).parents("li.ind").eq(0).attr("data-ind-uuid"),b(this).after('<a href="#metadata:'+f+'" class="ind-meta-link small" role="button" data-toggle="popover" data-trigger="click" tabindex="0" title="'+b(this).siblings(".i-name").text()+'"><span class="sr-only">metadata</span><i class="fas fa-info-circle"></i></a>')}),c.container.find("a.ind-meta-link").popover({content:function(){var c=b(this).parents("li.ind").eq(0).attr("data-ind-uuid"),d=b(this).siblings(".i-name").text(),e=b(this).parents(".widgetIndicators[data-ind-url]").data("ind-url").split(";")[0],f=b(this).parents(".data-tree-container").eq(0).data("metadata-url")?b(this).parents(".data-tree-container").eq(0).data("metadata-url").split(";")[0]:a.metadataUrl,g="__metapop"+c;return b(this).prop("id",g),ia.populateDataStoreMetadataPopup(c,e,f,{direct:!0,fields:a.metadataTerms?a.metadataTerms:"IndicatorID,Description,Subject,Source,Issued,LastPublished,Spatial,Temporal,Rights,Keywords,Status,LastRevised,LastUpdated,Creator,Publisher,UpdateFrequency",done:function(a){var c=a.parents(".popover").find(".popover-title");c.children(".closer").remove(),c.text(d),c.prepend('<div class="closer" style="float: right; cursor: pointer;" data-target="'+g+'"><i class="fas fa-times"></i></div>'),c.find(".closer").on("click",function(){b('a[id="'+b(this).attr("data-target")+'"]').popover("hide")})}}),'<div id="metadata_'+c+'" style="height: 20em;overflow-y:scroll;margin:-9px -14px; padding: 5px;"><p>Please wait. Contacting <a href="'+a.metadataUrl+'">metadata service...</a></p></div>'},html:!0,container:c.container.parents(".explorerTreeBox").eq(0).parent()})}ia.trees.source.hasClass("iao-info-linked")&&ia.addDataSourceInformation(ia.trees.source)}})}})}}),e.modal("hide"),j){h.data("iaoDataModel",j);var m=a.getText("ImportSourceModelDialog.MessageFormat","<p>Data source <strong>{0}</strong> has a <strong>data model</strong> associated with it. Do you want to <strong>copy</strong> the themes and indicators from this model into your model? Or do you want to <strong>replace</strong> your current model with this one? Or you can <strong>ignore</strong> this model and build your own one.</p>"),n=a.getText("ImportSourceModelDialog.Title","Import Data Model?");m=a.util.replaceAll(m,[g.url.split("?")[0]]),a.showPopupScriptDialog(n,m,{type:"question",buttons:"yesnocancel",buttonText:{yes:a.getText("ImportSourceModelDialog.YesButton.Text","Copy"),no:a.getText("ImportSourceModelDialog.NoButton.Text","Replace"),cancel:a.getText("ImportSourceModelDialog.CancelButton.Text","Ignore")},yes:function(){d(JSON.parse(j)),e.removeData("iaoDataModel")},no:function(){var a=ia.dataModel.idField,b=ia.dataModel.nameField;ia.dataModel.clear(),ia.dataModel.idField=a,ia.dataModel.nameField=b,d(JSON.parse(j)),e.removeData("iaoDataModel")},cancel:function(){e.removeData("iaoDataModel")}})}}})},D.indexOf("sharing/rest")>0&&D.indexOf("/data")>0){var F=a.getToken();b.getJSON(D.substring(0,D.lastIndexOf("/data"))+"?f=json"+(ia.matchesToken(D,F)?"&token="+F:"")).done(function(a){B(a.title)}).fail(function(){B(k)})}else B(k);return!1}return e.find(".progressIcon").hide(),!0}function R(a){var c=a&&(a.error||a.fail)?a.error?a.error:a.fail:function(a){alert(a.message)},d=a.sourceIdField?a.sourceIdField:a.idField?a.idField:"ID",e=a.source.split("?").length>1?a.source.split("?")[1]:"";e+=ia.matchesToken(a.source,a.token)&&"undefined"!=typeof a.token&&a.source.indexOf(a.token)<0&&a.source.indexOf("-public")<0?(a.source.indexOf("?")>0?"&":"?")+a.token.replace("?",""):"",a&&a.sourceType&&"ARCGIS"==a.sourceType.toUpperCase()&&(e=a.objectIds||a.useRawQuery?a.objectIds&&!a.useRawQuery?(e.indexOf("?")>=0?"":"?")+e+"&f=json&returnGeometry=false&objectIds="+encodeURIComponent(a.objectIds.join(","))+"&outFields="+encodeURIComponent(d):(e.indexOf("?")>=0?"":"?")+e+"&f=json&returnGeometry=false"+(e.toLowerCase().indexOf("where=")<0?"&where="+encodeURIComponent("1=1"):"")+"&outFields="+encodeURIComponent(d):(e.indexOf("?")>=0?"":"?")+e+"&f=json&returnGeometry=false"+(e.toLowerCase().indexOf("where=")<0?"&where="+encodeURIComponent("1=1"):"")+"&returnIdsOnly=true");var f=a.source.split("?")[0];b.ajax({url:f,method:e.length>500?"POST":"GET",data:0==e.indexOf("?")?e.substring(1):e,dataType:"json",cache:!1}).done(function(b){a&&a.sourceType&&"ARCGIS"==a.sourceType.toUpperCase()?(a.fetchedFeatures||(a.fetchedFeatures=[]),b.objectIds?(a.objectIds=b.objectIds,R(a)):a.objectIds&&b.exceededTransferLimit&&!a.useSample?(a.objectIds.splice(0,b.features.length),a.objectIds.length<1?(b.features=a.fetchedFeatures.concat(b.features),S(b,a)):(a.fetchedFeatures=a.fetchedFeatures.concat(b.features),R(a))):(b.features=a.fetchedFeatures.concat(b.features),S(b,a))):S(b,a)}).fail(function(a,b,d){c({error:!0,message:b,status:d,data:a,url:f})})}function S(c,d){var e=(d&&d.progress?d.progress:function(a,b){console.log("GeoJson matching "+a+"% complete. "+b)},d&&(d.done||d.complete)?d.done?d.done:d.complete:function(){alert(ex.message)}),f=d&&(d.error||d.fail)?d.error?d.error:d.fail:function(a){alert(a.message)},g=d.sourceIdField?d.sourceIdField:d.idField?d.idField:"ID",h=d.targetIdField?d.targetIdField:g,i=d.source.split("?").length>1?d.source.split("?")[1]:"";i+="undefined"!=typeof d.token&&d.source.indexOf(d.token)<0&&d.source.indexOf("-public")<0?(d.source.indexOf("?")>0?"&":"?")+d.token.replace("?",""):"",d&&d.sourceType&&"ARCGIS"==d.sourceType.toUpperCase()&&(i=(i.indexOf("?")>=0?"":"?")+i+"&f=json&returnGeometry=false"+(i.toLowerCase().indexOf("where=")<0?"&where="+encodeURIComponent("1=1"):"")+"&outFields="+encodeURIComponent(g));var j=d&&d.tableButtons,k=(d.source.split("?")[0]+(!i||i&&0==i.indexOf("?")?"":"?")+i,new Array);if(d&&d.sourceType&&"ARCGIS"==d.sourceType.toUpperCase())for(var l in c.features){for(var m in c.features[l].attributes)c.features[l].attributes[m.toLowerCase()]=c.features[l].attributes[m];c.features[l].attributes[g.toLowerCase()]&&k.push(c.features[l].attributes[g.toLowerCase()].toString())}else for(var l in c.features)c.features[l].properties[g]&&k.push(c.features[l].properties[g].toString());var n=d.target.toString();if(i="",d&&d.targetType&&("ARCGIS"==d.targetType.toUpperCase()||"ARCTABLE"==d.targetType.toUpperCase())){var o=d.forceAll?"1=1":h+" IN ('"+k.join("','")+"')";i="&f=json&returnGeometry=false"+(d.target.toLowerCase().indexOf("where=")<0?"&where="+encodeURIComponent(o):"")+"&outFields="+(d&&d.fields&&"all"==d.fields.toLowerCase()?"*":encodeURIComponent(h)),d.targetObjectIds?i=i+"&objectIds="+encodeURIComponent(d&&d.fields&&"all"==d.fields.toLowerCase()?d.targetObjectIds.slice(0,Math.min(d.targetObjectIds.length,25)).join(","):d.targetObjectIds.join(",")):i+="&returnIdsOnly=true"}i+=ia.matchesToken(n,d.token)&&"undefined"!=typeof d.token&&i.indexOf(d.token)<0?"&"+d.token.replace("?",""):"";var p=n,q=d.token||(p.indexOf("?")>0?"?"+p.split("?")[1]:"");b.ajax({url:p,data:i,method:i.length<500?"GET":"POST",dataType:!d.targetType||0!=d.targetType.toUpperCase().indexOf("DATASTORE")&&0!=d.targetType.toUpperCase().indexOf("ARC")?"text":"json",cache:!1}).done(function(g,i,l){try{var m,n=[],o=[],r=[],s='<div class="col-md-8 col-md-offset-1 csv-preview" style="border: none; overflow-x: auto;"><h5 class="text-center">'+(d&&d.targetType&&"ARC"==d.targetType.toUpperCase().substring(0,3)?a.getText("ArcPreviewTableHeader.Text","Sample Data"):a.getText("CsvPreviewTableHeader.Text","CSV Sample Data"))+'</h5><table class="table table-striped"><thead>',t='<div class="col-md-3 feature-preview" style="border: none;"><h5 class="text-center">'+a.getText("CsvSourceDataTableHeader.Text","Geo-Data")+'</h5><table class="table table-striped"><thead>',u=0;if(d.targetType&&0==d.targetType.toUpperCase().indexOf("DATASTORE")&&"undefined"!=typeof g.items){s+="<tr><th>Code</th><th>Name</th></tr></thead><tbody>",u=0;for(var v=0;v<g.items.length;v++)g.items[v]&&g.items[v].id&&(m='<tr class="',k.indexOf(g.items[v].id)>=0?(n.push(g.items[v].id),m+="matched"):(r.push(g.items[v].id),m+="not-matched"),m+='"><td>'+g.items[v].id+"</td><td>"+g.items[v].name+"</td></tr>",u++,25>u&&(s+=m));s+="</tbody></table></div>"}else if(d.targetType&&0==d.targetType.toUpperCase().indexOf("ARC")){var w=[];if(d.fetchedTargetFeatures=d.fetchedTargetFeatures||[],d.fetchedFeatures||(d.fetchedFeatures=[]),g&&g.error){if(!d.forceAll)return d.forceAll=!0,void S(c,d);g.features=[]}if(g.objectIds)return d.targetObjectIds=g.objectIds,void S(c,d);if(d.targetObjectIds&&g.exceededTransferLimit&&!d.useSample){if(d.targetObjectIds.splice(0,g.features.length),!(d.targetObjectIds.length<1))return d.fetchedTargetFeatures=d.fetchedTargetFeatures.concat(g.features),void S(c,d);g.features=d.fetchedTargetFeatures.concat(g.features)}else g.features=d.fetchedTargetFeatures.concat(g.features);if(d&&d.targetType&&0==d.targetType.toUpperCase().indexOf("ARC")&&g.fields&&g.features){s+="<tr>";for(var v=0;v<g.fields.length;v++)s+=null!=j?'<th><button type="button" class="btn btn-default field-button" data-field-name="'+g.fields[v].name+'">'+g.fields[v].name+"</button></th>":"<th>"+g.fields[v].name+"</th>";s+="</tr></thead><tbody>";for(var v in g.features){25>v&&(s+="<tr>");for(var x in g.features[v].attributes)g.features[v].attributes[x.toLowerCase()]=g.features[v].attributes[x],
25>v&&(s+="<td>"+g.features[v].attributes[x]+"</td>");25>v&&(s+="</tr>"),g.features[v].attributes[h.toLowerCase()]&&w.push(g.features[v].attributes[h.toLowerCase()].toString())}}else for(var v in g.features)g.features[v].properties[h]&&w.push(g.features[v].properties[h].toString());for(var v=0;v<w.length;v++)w[v]&&(k.indexOf(w[v])>=0?n.push(w[v]):r.push(w[v]))}else{csvBlob=g;var y,z,A,B=d&&d.rowDelimiter?d.rowDelimiter:"\n",C=ia.transfer&&ia.transfer.convertCsvToRows?ia.transfer.convertCsvToRows(csvBlob):csvBlob.split(B),D=d&&d.noHeaderRow?1:2,E=D-1,F=[];if(ia.transfer&&ia.transfer.convertCsvToRows){F=C[0],s+="<tr>";for(var v=0;v<F.length;v++)s+=null!=j?'<th><button type="button" class="btn btn-default field-button" data-field-name="'+F[v]+'">'+F[v]+"</button></th>":"<th>"+F[v]+"</th>";s+="</tr></thead><tbody>";var G=F.indexOf(h)>=0?F.indexOf(h):0;u=0;for(var v=E;v<C.length;v++)if(y=C[v],y&&y.length>=G&&(A=y[G],k.indexOf(A)>=0?n.push(A):A&&A.length>0&&"\b"!=A&&r.push(A),u++,25>u)){m='<tr class="'+(k.indexOf(A)>=0?"matched":"not-matched")+'">';for(var x=0;x<F.length;x++)m+="<td>"+y[x]+"</td>";m+="</tr>",s+=m}}else{var H=/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g;F=C[0].match(H),s+="<tr>";for(var v=0;v<F.length;v++)s+=null!=j?'<th><button type="button" class="btn btn-default field-button" data-field-name="'+F[v]+'">'+F[v]+"</button></th>":"<th>"+F[v]+"</th>";s+="</tr></thead><tbody>";var G=F.indexOf(h)>=0?F.indexOf(h):0;u=0;for(var v=E;v<C.length;v++)if(z=a.util.replaceAll(C[v],",,",",\b,"),y=z.match(H),y&&y.length>=G&&(A=y[G],k.indexOf(A)>=0?n.push(A):A&&A.length>0&&"\b"!=A&&r.push(A),u++,25>u)){m='<tr class="'+(k.indexOf(A)>=0?"matched":"not-matched")+'">';for(var x=0;x<F.length;x++)m+="<td>"+y[x]+"</td>";m+="</tr>",s+=m}}s+="</tbody></table></div>"}t+="<tr><th>Code</th></tr></thead><tbody>",u=0;for(var v=0;v<k.length;v++)m='<tr class="'+(n.indexOf(k[v])>=0?"matched":"not-matched")+'"><td>'+k[v]+"</td></tr>",n.indexOf(k[v])<0&&o.push(k[v]),u++,25>u&&(t+=m);t+="</tbody></table></div>";var I,J=d&&d.maxMissing?d.maxMissing:.05,K=Math.max(5,Math.round(J*k.length));I=0==n.length?"NoMatch":n.length==k.length&&0==r.length?"Match":n.length==k.length&&r.length>0?"Subset":n.length<k.length&&0==r.length?"Subset":n.length>k.length&&r.length>0?"Superset":o.length<K&&r.length<n.length?"NearMatch_"+o.length:"NoMatch";var L={status:I,matchedCount:n.length==k.length&&0==r.length?k.length:"Superset"==I?k.length:n.length,matchedIds:n,unmatchedCount:o.length,unmatchedIds:o,sourceCount:k.length,targetCount:r.length+n.length,sample:'<div class="row-fluid">'+t+s+"</div>"},M=l.getResponseHeader("x-ms-meta-Details");if(M&&""!=M&&(M=JSON.parse(M)),"NoMatch"!=I&&(M&&M.associated&&M.associated.model||ia.matchesToken(p))){var N=p.substring(0,Math.max(p.indexOf("/data/"),p.lastIndexOf("/data"))),O=null;N=ia.matchesToken(p)?N+"/info/data-model.parts.json":N.substring(0,N.lastIndexOf("/")+1)+M.associated.model,b.ajax({url:N+("?"==q.substring(0,1)?q:"?"+q),method:"GET",dataType:"text",cache:!1}).done(function(c){if(c&&0==b.trim(c).indexOf("[")){var d=JSON.parse(c),f=[];N=N.substring(0,N.indexOf("/info/data-model.parts.json"));for(var g=0;g<d.length;g++)f.push(b.ajax({url:N+"/info/"+d[g],method:"GET",data:("?"==q.substring(0,1)?q:"?"+q)+"&f=text",dataType:"text"}));b.when.apply(b,f).done(function(){c="";for(var b=0;b<d.length;b++)data=1==d.length?arguments[0]:arguments[b][0],dataStatus=1==d.length?arguments[1]:arguments[b][1],dataXhr=1==d.length?arguments[2]:arguments[b][2],c+=data.toString();c=a.util.replaceAll(c,"#IAOURL",p.split("?")[0]),O=JSON.parse(c),L.model=O,e(L)}).fail(function(a,b,c){console.log("Model download failure: "+b+", "+c),e(L)})}else{c=a.util.replaceAll(c,"#IAOURL",p.split("?")[0]);try{O=JSON.parse(c)}catch(h){console.log("Error parsing JSON model for "+p+": "+(h.message?h.message:h))}L.model=O,e(L)}}).fail(function(a,b,c){console.log("Model download failure: "+b+", "+c),e(L)})}else d.targetType&&0==d.targetType.toUpperCase().indexOf("ARC")&&!d.fields?(d.fields="all",S(c,d)):e(L)}catch(P){f({error:!0,message:P.message,status:"CsvReadFailure",data:P,url:p})}}).fail(function(a,b,e){d.targetType&&0==d.targetType.toUpperCase().indexOf("ARC")&&!d.fields?(d.fields="all",S(c,d)):f({error:!0,message:b,status:e,data:a,url:p})})}function T(c,d,e,f,g){var h=c.url?c.url:c.Url,i=c.format?c.format:c.ConnectionType,j=c.id?c.id:c.Id?c.Id:h;if(c.Parameters){var k=a.parseQueryString(c.Parameters);k.src&&""!=k.src&&(h=k.src),h.indexOf("token=")>0&&(h=h.substring(0,h.indexOf("token="))),i=c.ConnectionType,"arcgisonlinedatastore"!=i.toLowerCase()&&"arcgisonline"==i.substring(0,"ArcGISOnline".length).toLowerCase()&&(i="ArcGIS")}"arcgisonlinedatastore"==i.toLowerCase()?ia.getDataCatalogGeoSource(h,d.src,{token:f.iaoArcGisOnlineToken.token,done:function(a){g(j,a.success?"Match":"NoMatch")}}):b.ajax({url:ia.appPath+"services/DataService/CrossMatchFileData",type:"POST",data:JSON.stringify({iaUrl:h,srcFormat:i,idField:e,userSessionJson:JSON.stringify(f)}),contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(a){a&&a.status&&"nomatch"!=a.status.toLowerCase()?a&&g(j,a.status):g(j,"NoMatch")}).fail(function(a,b,c){g(j,"Error",b,c,a.status)})}function U(c,d){var e='<span class="modelControls small"><a href="#" data-iao-ui-action="remove" class="'+a.iconCssClasses.getCssAttribute("icon,remove,iconBig")+'">&nbsp;</a></span>',f=d||".igroup-name";c.find(f).append(e),c.find(f+' a[data-iao-ui-action="remove"]').off("click").on("click",function(c){b(".tooltip").hide();var d=b(this).parents(".widgetIndicators").eq(0),e=d.prop("id");e=e.substring(e.indexOf("igroup_")+"igroup_".length);var f=d.attr("data-ind-url");if(ia.storageProvider&&ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix)){var g=ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix);ia.compressor&&g&&"["!=g.substring(0,1)&&"{"!=g.substring(0,1)&&(g=ia.compressor.decompressFromUTF16(g));var h=JSON.parse(g);h.themes&&(h=h.themes);var i=-1;for(var j in h)if(h[j].id==e){i=j;break}if(i>=0){var k=ia.trees.target.find('*[data-ind-url^="'+f+'"]'),l=function(){h.splice(i,1);var a=JSON.stringify(h);ia.compressor&&(a=ia.compressor.compressToUTF16(a)),ia.setStorageItem("iaoIndicatorsAvailable"+ia.storageKeySuffix,a),ia.populateIndicatorTree(ia.trees.source,{indicatorItemClass:"drag-source",showSourceFieldName:!0,indicators:h,useDragAndDrop:ia.useDragAndDrop,elementIdPrefix:"srcTree-",dropTarget:ia.trees.target.parent(),allowAddSource:!0}),k.each(function(a,c){var d=b(c).find('*[data-iao-ui-action="remove-indicator"]').eq(0);d.trigger("click")}),k=ia.trees.target.find('*[data-theme-url^="'+f+'"]'),k.each(function(a,c){var d=b(c).find('*[data-iao-ui-action="remove-indicator"]').eq(0);d.trigger("click")});var c=b(ia.trees.source).find(".widgetIndicators:not(:first):not(.add-source-btn)");U(c)};if(k.length>0){var m=a.util.replaceAll(a.getText("CommitDeleteSourceDialog.MessageFormat","Are you sure you want to delete data source <strong>{0}</strong>? This will remove {1} indicators/associates from your data model."),[h[i].name,k.length]);a.showPopupScriptDialog(a.getText("CommitDeleteSourceDialog.Title","Delete Data Source?"),m,{buttons:"yesno",yes:l,modal:!0,type:"warning"})}else l()}}return c.stopPropagation(),c.preventDefault(),!1}),c.find(f+' a[data-iao-ui-action="remove"]').prop("title",a.getText("DataManagerDeleteThemeButton.ToolTip","Remove this Theme")).tooltip({placement:"auto bottom",trigger:"hover",container:"body"})}function V(){var b={};if(ia.storageProvider&&window.sessionStorage){var c=window.sessionStorage.iaoArcGisOnlineToken;if(c)b.iaoArcGisOnlineToken=JSON.parse(c),delete b.iaoArcGisOnlineToken.__type;else{var d=a.getToken()?a.getToken():sessionStorage.getItem("iaoSasToken"),e=sessionStorage.getItem("iaoExpiresIn"),f=d&&d.indexOf("sv=")>=0,g=sessionStorage.getItem("iaoReferrer"),h=(new Date,parseInt(e));d&&e&&f?b.iaoAzureToken={server:ia.transfer&&ia.transfer.servers?ia.transfer.servers.storage:"",token:d,expires:h,urlReferrer:g?g:window.location.href.substring(0,window.location.href.lastIndexOf("/"))}:d&&e&&(b.iaoArcGisOnlineToken={server:"https://www.arcgis.com/sharing/rest/",token:d,expires:h,urlReferrer:g?g:window.location.href.substring(0,window.location.href.lastIndexOf("/"))})}var i=ia.storageProvider.getItem("iaoMasterDataSet"+ia.storageKeySuffix);if(i)b.iaoMasterDataSet=JSON.parse(i),delete b.iaoMasterDataSet.__type;else if(i=ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix)){ia.compressor&&i&&"["!=i.substring(0,1)&&"{"!=i.substring(0,1)&&(i=ia.compressor.decompressFromUTF16(i)),i=JSON.parse(i);var j=i.themes?i.themes[0]:"undefined"!=typeof i.splice?i[0]:i,k="ArcGISOnline",l="https://www.arcgis.com/sharing/rest",m={ConnectionType:k,Url:l,Parameters:"&src="+j.url+"&idField="+j.idField+"&nameField="+j.nameField};b.iaoMasterDataSet=m}}return b}function W(){return 0}function X(a,c){var d=b(a),e=b(c),f=d.prop("title")?d.prop("title"):d.children(".dsName").text(),g=e.prop("title")?e.prop("title"):e.children(".dsName").text();return f.localeCompare(g)}function Y(a,c){var d=b(a),e=b(c),f=d.prop("title")?d.prop("title"):d.children(".dsName").text(),g=e.prop("title")?e.prop("title"):e.children(".dsName").text();return g.localeCompare(f)}function Z(a,c){var d=b(a),e=b(c);return d.data("item-modified")-e.data("item-modified")}function $(a,c){var d=b(a),e=b(c);return e.data("item-modified")-d.data("item-modified")}function _(a,b,c,d,e,f){if(c.length>0){var g=c.pop();aa(a.replace("-public",""),b,g,function(h){h.status&&"ok"==h.status?(d[g]=h.data,_(a,b,c,d,e,f)):e({success:!1,status:h.status,data:d,sas:b})},f)}else e({success:!0,status:"ok",data:d,sas:b})}function aa(a,c,d,e,f){var g,h,i,j=ia.transfer.servers.storage.substring(0,ia.transfer.servers.storage.indexOf("/",ia.transfer.servers.storage.indexOf("://")+3)+1);b.ajax({url:ia.transfer.servers.storage+(ia.transfer.servers.storage.indexOf(a)<0?a:"")+"/"+d+c,type:"GET",cache:f}).done(function(a,b,c){if(g=c.getResponseHeader("x-ms-meta-Items"),"0"!=g)try{var d=c.getResponseHeader("x-ms-meta-Details");h=JSON.parse(d&&""!=d?d:a)}catch(f){return void e({status:"error",data:a,message:f.message})}i={count:g,details:h,host:j},e({status:"ok",data:i})}).fail(function(a){404==a.status?(i={count:0,details:null},e({status:"ok",data:i,host:j})):e({status:"error",data:a,host:j})})}function ba(a){var c=a&&a.done?a.done:function(){alert("No callback - really???")},d=b("#iaoUserId").length>0?b("#iaoUserId").val():sessionStorage.getItem("iaoUserId");d&&""!=d&&b.ajax({url:("undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:ia.transfer.servers.api)+ia.transfer.uris.sas,type:"GET",xhrFields:{withCredentials:!0},dataType:"json",cache:a&&"undefined"!=typeof a.cache?a.cache:!1}).done(function(b){var e=b.SAS;if(e&&""!=e&&"invalid user"!=e){var f=new Array,g={};(!a||"undefined"==typeof a.dashboards||a.dashboards)&&f.push("dashboards"),(!a||"undefined"==typeof a.reports||a.reports)&&f.push("reports"),(!a||"undefined"==typeof a.maps||a.maps)&&f.push("maps"),(!a||"undefined"==typeof a.data||a.data)&&f.push("data"),_(d,e,f,g,c,a&&"undefined"!=typeof a.cache?a.cache:!1)}else c&&c({success:!1,data:"error obtaining items",status:"error"})}).fail(function(){c({success:!1,data:"error obtaining items",status:"error"})})}function ca(c,d,e,f,g,h){c.find(".more-results").remove();var i=c.find('button[id$="OkButton"],button[id$="_okBtn"]'),j=h&&"undefined"!=typeof h.pretty?h.pretty:!0;if(e.results){var k="",l=(b('input[id$="iaoArcToken"]').val()||a.getToken()).split(";")[0],m=b.trim(g).toLowerCase(),n=!g||""==g||h&&h.thinned;for(var o in e.results){var p=e.results[o].thumbnail,q=e.results[o].title||e.results[o].name;if(n||q&&q.toLowerCase().indexOf(m)>=0){if(k+='<li class="dataset webItem'+(h&&h.itemCssClass?" "+h.itemCssClass:"")+(h&&h.azure&&e.results[o].access&&"public"==e.results[o].access?" azure-shared":"")+'" data-item-id="'+(e.results[o].uid?e.results[o].uid:e.results[o].id)+'" data-item-type="'+e.results[o].type+'" data-item-modified="'+(e.results[o].modified||e.results[o].lastModified)+'" data-item-url="'+(e.results[o].url?e.results[o].url:"")+'"',h&&h.propertyMaps){var r=[];for(var s in h.propertyMaps)e.results[o][s]&&r.indexOf(h.propertyMaps[s])<0&&(k+=" data-item-"+h.propertyMaps[s]+'="'+e.results[o][s]+'"',r.push(h.propertyMaps[s]))}k+=">",(!h||h.showImage)&&p&&(p.indexOf("ago_downloaded.png")<0||"always"==h.showImage)?k+='<div class="alignCenter thumbnail-holder"><img id="arcitem_'+e.results[o].id+'" src="//www.arcgis.com/sharing/rest/content/items/'+e.results[o].id+"/info/"+p+"?token="+l+'" alt="thumbnail" class="thumbnail-image" /></div>':h&&h.icon?k+='<img id="arcitem_'+e.results[o].id+'" src="'+h.icon+"?id="+e.results[o].id+'" alt="*" /><br />':h&&h.iconHtml?k+='<div class="'+(h.iconCssClass?h.iconCssClass:"")+'">'+h.iconHtml+"</div>":h&&h.iconCssClass&&(k+='<div class="'+h.iconCssClass+'">&nbsp;</div>'),h&&h.azure&&h.showThumbnail&&e.host&&(k+='<div class="alignCenter thumbnail-holder"><img class="thumbnail-image" alt="thumbnail" src="'+e.host+e.results[o].url+"/thumbnail.png"+(e.results[o].access&&"public"==e.results[o].access?"":l)+'" /></div>'),j&&(q=q.replace(/\_/," ")),k+=h&&h.itemNameFormat?a.util.replaceAll(h.itemNameFormat,[q]):'<div class="dsName">'+q+"</div>",k+='<input id="arcitem_'+e.results[o].id+'" type="hidden" value="'+e.results[o].id+'" />',k+="</li>"}}d.children("ul").length<1||h&&h.clear?(k='<ul class="'+(h&&h.listCssClass?h.listCssClass:"imageList")+'">'+k,k+="</ul>",d.children("ul").remove(),d.append(k)):d.children("ul").append(k),d.find("li.webItem"),d.data("bound")||(d.on("click","li.webItem",function(){b(this).siblings("li.webItem").removeClass("arcItemSelected"),b(this).addClass("arcItemSelected"),i.prop("disabled",!1)}),d.on("dblclick","li.webItem",function(){b(this).siblings("li.webItem").removeClass("arcItemSelected"),b(this).addClass("arcItemSelected"),i.trigger("click")}),d.data("bound",!0));var t=c.find('.btn[data-ui-action^="sort-"]').filter(".active");if(!(t.length>0)||h&&h.noSort||t.trigger("click"),e.nextStart>0){var u=h&&h.nextText?h.nextText:a.getText("ArcItemDialogMoreResults.Text","more..."),v=e.nextStart,w=(e.query,function(){var e="",i=c.find('input[data-task="filter"]').val();if(i&&""!=i){for(var j=b.trim(i).split(" "),k="",l=0;l<j.length;l++)k+=l>0?"+"==j[l].substring(0,1)?"AND ":"OR ":"",k+=j[l].search(/[\:=]/)>=0?'"'+j[l].replace("+","")+'*" ':j[l].replace("+","")+"* ";e=k.length>0?b.trim(k):""}e+="&start="+v,a.showMask(d.parents(".modal-body-scrollable").length>0?d.parents(".modal-body-scrollable").eq(0):d.parent()),ia.sendArcGisOnlineRequest({actionUri:"search",data:g+e,forceAnon:!1,fail:function(a){alert("jqXhr.status="+a.xhr.status)},done:function(b){if(b.data){var e=b.data;ca(c,d,e,f,g,h)}a.hideMask(d.parents(".modal-body-scrollable").length>0?d.parents(".modal-body-scrollable").eq(0):d.parent())}})}),x='<div class="webItem'+(h&&h.itemCssClass?" "+h.itemCssClass:"")+' more-results"><div class="dsName"><a href="#" class="btn btn-default btn-sm">'+u+' <i class="fas fa-search-plus"></i></a></div></div>';c.find(".modal-content").append(x),c.find(".more-results").on("click",w)}}var y=h&&h.done?h.done:h&&h.complete?h.complete:null;y&&y(c,d,e,f,g)}function da(){return!0}function ea(a,c,d,e){var f=!c||""==b.trim(c);d||f||(c=c.toLowerCase()),f&&a.find(e?e:".dataset").css("display",""),a.find(e?e:".dataset").each(function(a,e){var f=b(e).find(".dsName").text()||b(e).data("item-name");f&&!d&&(f=f.toLowerCase()),b(e).css("display",f&&f.indexOf(c)>=0?"":"none")})}function fa(a,b,c){console.log("AJAX failure: "+a.status+", "+b+", "+c)}function ga(a,b){var c=0;return a&&b?("undefined"!=typeof a.index&&"undefined"!=typeof b.index?c=a.index-b.index:"undefined"==typeof a.index&&b.index?c=-1:"undefined"==typeof b.index&&a.index&&(c=1),0==c&&("undefined"!=typeof a.subIndex&&"undefined"!=typeof b.subIndex&&(c=a.subIndex-b.subIndex),0==c&&(c=a.name.localeCompare(b.name),0==c&&(a.date&&b.date?c=a.date.localeCompare(b.date):a.date&&!b.date?c=1:!a.date&&b.date&&(c=-1))))):a&&!b?c=1:!a&&b&&(c=-1),c}function ha(a,b){var c=0;return a&&b?a.date&&b.date?c=a.date.localeCompare(b.date):a.date&&!b.date?c=1:!a.date&&b.date&&(c=-1):a&&!b?c=1:!a&&b&&(c=-1),c}var ia=a.datamanager=a.datamanager||{};ia.container=null,ia.DATA_CHANGE_EVENT="iao:datamanager:dataChanged",ia.DATA_SELECTION_EVENT="iao:datamanager:selectionChanged",ia.layout="single",ia.appPath="/",ia.autoSave=!0,ia.importFormats=["CSV"],ia.importHandlers={},ia.importHosts=[],ia.debugModelToConsole=!1,ia.portalHost="www.arcgis.com",ia.portalRegex=new RegExp(/^(http\:\/\/|https\:\/\/).*\.arcgis\.com\/.*/),ia.userCustomHost=null,ia.mode="ArcGISOnline",ia.singleSourceSelection=!0,ia.singleTargetSelection=!0,ia.dataStoreUrls={},a.metadataUrl=a.metadataUrl||"https://hub.instantatlas.com/data-catalog-metadata-service/",ia.autoProxy={url:"/data/proxy",whitelist:[],forcelist:[]},ia.storageProvider=null;try{ia.storageProvider=window.localStorage}catch(ja){console&&console.log&&console.log("Warning: EmbeddedIAO.datamanager cannot start - cannot access browser storage. Is this page in an x-domain iframe? Details: "+ja)}ia.storageKeySuffix="",ia.compressor="undefined"!=typeof LZString?LZString:null,ia.idGeneratorPattern="GUID",ia.hideEmptyThemes=!1,a.getToken=a.getToken||function(){var a,c,d=sessionStorage.getItem("iaoToken"),e=new Date;if(!d&&sessionStorage.getItem("iaoArcGisOnlineToken"))try{a=JSON.parse(sessionStorage.getItem("iaoArcGisOnlineToken")),d=a.token+";"+a.expires}catch(f){console.log("Error fetching token: "+f)}return!d&&b("#iaoArcToken").length>0&&b("#iaoArcToken").val()&&(d=b("#iaoArcToken").val().split(";")[0]),d&&d.indexOf(";")>0&&(c=parseInt(d.split(";")[1]),d=c<=e.getTime()?null:d.split(";")[0]),d};var ka;return function(){for(var a,b,c=document.getElementsByTagName("script"),d=c.length,e=/EmbeddedIAO\.datamanager.*\.js/;d--;)if(a=c[d].src,b=c[d].id,a&&a.match(e)||b&&"iaoDataManager"==b){ka=a;break}ka&&(ka=ka.substring(0,ka.lastIndexOf("/EmbeddedIAO.datamanager")),ia.appPath=ka.lastIndexOf("/scripts/lib")>0?ka.substring(0,ka.lastIndexOf("/scripts/lib")+1):ka.substring(0,ka.lastIndexOf("/")+1))}(),a.showLocalStorageErrorDialog=function(b){if(console.log(b),b&&b.name&&"NS_ERROR_FILE_CORRUPTED"==b.name)a.showPopupScriptDialog(a.getText("FirefoxCorruptStorageErrorDialog.Title","Browser Storage Error"),a.getText("FirefoxCorruptStorageErrorDialog.MessageFormat",'<p>InstantAtlas&#8482; Online uses browser storage and unfortunately it appears your browser\'s storage has been corrupted.</p><p><strong>You can try closing and restarting your browser</strong>, or clear your storage by going to Tools -&gt; Clear Recent History -&gt; Cookies with time range set to "Everything". This will remove the corrupted browser storage across all sites. <strong>Note:</strong> this should be your last resort - it will remove all cookies and storage data, which may effect your interaction with other web sites.</p>'),{modal:!0,type:"error",buttons:"ok",buttonText:{ok:a.getText("FirefoxCorruptStorageErrorDialog.OkButton.Text","Reload")},ok:function(){window.location.reload(!0)},resize:!1});else if(b&&(b.code&&22==b.code||b.name&&"NS_ERROR_DOM_QUOTA_REACHED"==b.name)){var c=a.getText("QuotaExceededStorageErrorDialog.MessageFormat",'<p>InstantAtlas&#8482; Online uses browser storage and unfortunately it appears your browser\'s storage <strong>is full</strong>.</p><p>This can happen when you create a very large <strong>data model</strong>. Please try removing some indicators from your model. If this error persists please contact <a href="mailto:support@instantatlas.com">support@instantatlas.com</a>.</p><p class="smallerText"><a href="javascript:void(0);" onclick="jQuery(\'#storageErrDetail\').slideToggle();">More details...</a></p><ul id="storageErrDetail" class="errMsg" style="display: none;"><li>Error: {0}</li><li>Message: {1}</li></ul>');a.showPopupScriptDialog(a.getText("QuotaExceededStorageErrorDialog.Title","Browser Storage Full"),a.util.replaceAll(c,[b&&b.name?b.name:"?",b&&b.description?b.description:b&&b.message?b.message:""]),{modal:!0,type:"error",buttons:"okcancel",buttonText:{ok:a.getText("QuotaExceededStorageErrorDialog.OkButton.Text","Reload"),cancel:a.getText("QuotaExceededStorageErrorDialog.OkButton.Text","Close")},ok:function(){window.location.reload(!0)},cancel:function(){},resize:!1,focus:"cancel"})}else{var c=a.getText("UnexpectedCorruptStorageErrorDialog.MessageFormat",'<p>InstantAtlas&#8482; Online uses browser storage and unfortunately it appears your browser\'s storage has been corrupted.</p><p>Sometimes simply <strong>Reload</strong>ing this page will clear the error. If that fails, you can try <strong>closing and restarting your browser</strong>. If this error persists please contact <a href="mailto:support@instantatlas.com">support@instantatlas.com</a>.</p><p class="smallerText"><a href="javascript:void(0);" onclick="jQuery(\'#storageErrDetail\').slideToggle();">More details...</a></p><ul id="storageErrDetail" class="errMsg" style="display: none;"><li>Error: {0}</li><li>Message: {1}</li></ul>');a.showPopupScriptDialog(a.getText("UnexpectedCorruptStorageErrorDialog.Title","Browser Storage Error"),a.util.replaceAll(c,[b&&b.name?b.name:"?",b&&b.description?b.description:b&&b.message?b.message:""]),{modal:!0,type:"error",buttons:"ok",buttonText:{ok:a.getText("UnexpectedCorruptStorageErrorDialog.OkButton.Text","Reload")},ok:function(){window.location.reload(!0)},resize:!1})}},ia.matchesToken=function(a,b){return b&&b.indexOf("sv=")>=0&&b.indexOf("si=")>=0&&b.indexOf("sig=")>=0?!0:!ia.portalRegex||ia.portalRegex.test(a)},ia.init=function(e){if(e&&e.applicationPath&&(ia.appPath=e.applicationPath),e&&e.metadataUrl&&(a.metadataUrl=e.metadataUrl),e&&e.webmap&&(a.activeWebMapId=e.webmap),!e||!e.scriptsPreloaded)return void c(function(){e||(e={}),e.scriptsPreloaded=!0,ia.init(e)});e&&e.mode&&(ia.mode=e.mode),e&&"undefined"!=typeof e.hideEmptyThemes&&(ia.hideEmptyThemes=e.hideEmptyThemes);try{ia.storageProvider=window.localStorage,e&&e.storage?ia.storageProvider=e.storage:e&&e.storageType&&(ia.storageProvider="session"==e.storageType.toLowerCase()?window.sessionStorage:window.localStorage)}catch(f){var g='InstantAtlas™ Online cannot start, because it cannot access browser storage. This can happen when InstantAtlas™ Online is in a "frame" and you have blocked Third Party Cookies. Please re-enable Third Party Cookies for domain "'+window.location.hostname+'" and reload the page.';g=a&&a.getText?a.getText("FatalStorageErrorDialog.MessageFormat",g):g;var h=a&&a.getText?a.getText("FatalStorageErrorDialog.Title","Fatal Storage Error"):"Fatal Storage Error";return e&&e.silent||(a&&a.showPopupScriptDialog?a.showPopupScriptDialog(h,g,{type:"error",modal:!0,buttons:"ok",ok:function(){window.location.reload()},cancel:function(){window.location.reload()},focus:"ok"}):alert(g)),null}if(e&&"undefined"!=typeof e.multipleMouseSelect&&(ia.singleSourceSelection=!e.multipleMouseSelect.source,ia.singleTargetSelection=!e.multipleMouseSelect.target),ia.dataModel=new a.DataModel(e&&e.modelKey?e.modelKey:null,ia.storage),ia.storageKeySuffix=e&&e.storageKeySuffix?e.storageKeySuffix:"",ia.dataModel&&ia.dataModel.sort(),"IAS-Profile"==a.appType||"EmbeddedIAO-"==ia.mode.substring(0,4)||"EmbeddedIAO-"==a.appType.substring(0,4)||e&&e.mode&&"azure"==e.mode.toLowerCase()||(a.parseArcGisOnlineAuthResponse(),ia.sendArcGisOnlineRequest({actionUri:"portals/self",data:"f=json",complete:function(b){b&&!b.isError&&b.status&&"ok"==b.status.toString().toLowerCase()&&(ia.userCustomHost=b.data.urlKey+"."+b.data.customBaseUrl,ia.portalHost=b.data.portalHostname,a.arcPortalInfo=a.arcPortalInfo||b.data,b.data.user&&(a.applicationUser={userName:b.data.user.username,fullName:b.data.user.fullName,orgId:b.data.user.orgId}))}})),e&&e.loadModelDialog?b.ajax({url:ia.appPath+"editor/model-dialog",type:"GET",dataType:"text",success:function(c){var f=e&&e.container?e.container.jquery?e.container:b(e.container):b("#dialogsHolder"),g="iaoDataDialogs-"+a.generateGuid();if(c=c.replace(/<input type="hidden" name="__VIEWSTATEGENERATOR".*\/>/,""),c=c.replace(/<input type="hidden" name="__VIEWSTATE".*\/>/,""),b("body").append('<div id="'+g+'">'+c+"</div>"),f&&f.length>0){var h=b("#"+g+" form > div");f.append(h),b("#"+g).remove(),e.container=f}else e.container=b("#"+g);b("#dataSourceBox h5 .fa-question-circle,#dataModelBox h5 .fa-question-circle").popover({placement:"bottom",trigger:"click",container:"body",html:!0}).css("cursor","pointer").on("shown.bs.popover",function(){var a=b(this);setTimeout(function(){b(document).one("click",function(){a.popover("hide")})},200)}),b("#dataModelBox button,#dataSourceBox button").each(function(){b(this).prop("title",b(this).children("span").prop("title"))}),b("#dataModelBox button,#dataSourceBox button").tooltip({placement:"auto top",trigger:"hover",container:"body"}),b("#dataModelBox button span,#dataSourceBox button span").prop("title",""),d(e)},error:function(a,b,c){"abort"!=c&&0!=a.status&&(console&&console.error&&console.error("AJAX error "+a.status+"@"+(a&&a.requestUrl?a.requestUrl:ia.appPath+"editor/model-dialog")+" : "+c+" : "+a.status),e&&e.complete&&e.complete({message:"Error when fetching core dialogs list: "+c,status:"error",data:a}))}}):d(e),"undefined"!=typeof ia.transfer){var i=e&&e.transfer?e.transfer:e;i.mode||(i.mode=ia.mode),ia.transfer.init(i)}},ia.setStorageItem=function(a,b){f(ia.storageProvider,a,b)},ia.runDefaultStartup=function(c){var d=window.location.search?EmbeddedIAO.parseQueryString(window.location.search.substring(1)):{};if(d&&d.xtoken){var e=d.xtoken;b.ajaxPrefilter(function(a,b,c){ia.dataStoreUrls&&ia.dataStoreUrls.core&&a.url.indexOf(ia.dataStoreUrls.core)>=0&&c.setRequestHeader("X-IAO-Token",e)})}var f={applicationPath:window.location.pathname.substring(0,window.location.pathname.indexOf("editor/")),mode:d&&d.mode?d.mode:"ArcGISOnline",storageType:d&&d.storage?d.storage:"local",scriptsPreloaded:!0,container:b("#dataModelTreesHolder"),loadModelDialog:!0,layout:"double",useDragAndDrop:!0,autoSave:iaoReturnPage&&""!=iaoReturnPage,allowUpload:!0,allowUploadDrop:!0,allowDownload:!0,metadataUrl:"undefined"!=typeof iaoMetadataUrl?iaoMetadataUrl:null,metadataExplorerUrl:"undefined"!=typeof iaoMetadataExplorerUrl?iaoMetadataExplorerUrl:null,importFormats:(d&&d.importFormats?d.importFormats:"CSV,ArcTable").split(","),importHosts:d&&d.approvedHosts?d.approvedHosts.split(","):[],webmap:d&&d.webmap?d.webmap:null,hideEmptyThemes:c&&c.hideEmptyThemes||(d&&d.empty?"1,yes,true".indexOf(d.empty.toLowerCase())>=0:!1),transfer:{servers:{api:iaoApiServerEMBED,storage:iaoAzureDomainEMBED+(d.iaoUserId?d.iaoUserId:"")}},dataStores:{core:("undefined"!=typeof iaoDataStoreCore?iaoDataStoreCore:null)+(d&&d.storegeo?"#"+d.storegeo:"")},autoProxy:{url:window.location.pathname.substring(0,window.location.pathname.indexOf("editor/"))+"data/proxy",whitelist:("undefined"!=typeof iaoAutoProxyList?iaoAutoProxyList:"").split(",")},complete:function(d){if(treeInit=!0,d&&d.type&&"data-complete"==d.type)ia.validateTargetModelAgainstSources(d.model);else{ia.addDialogs({target:b("form").eq(0),done:function(a){if(a&&a.status&&"ok"==a.status.toLowerCase()){ia.mode.toLowerCase().indexOf("arcgis")>=0?b("body .azure-content").remove():b("body .arc-content").remove();var d=a.target.find('.modal *[data-toggle="popover"]');d.popover({container:"body"}),d.on("shown.bs.popover",function(){var a=b(this);setTimeout(function(){b(document).one("click",function(){a.popover("hide")})},200)});var e=a.target.find('button > span[data-toggle="tooltip"], a > span[data-toggle="tooltip"]');e.each(function(){b(this).parent().prop("title",b(this).prop("title")).attr("data-toggle","tooltip"),b(this).removeAttr("data-toggle").removeAttr("title")}),e=a.target.find('*[data-toggle="tooltip"]'),e.tooltip({container:"body"}),c&&c.done&&c.done({type:"complete",status:"ok"})}else alert("Nasty error - why did the dialogs not load? Refresh the page...")}}),"embed"==iaoPageMode?(b("body").css("background-color","#fff").css("background-image","none").addClass("embedded"),b("#dataMenuBar").remove(),b(".simpleCentral").eq(0).css("box-shadow","none").css("width","100%").css("margin","0px").css("border","none")):ia.autoSave?b("#saveModelLink").parent().remove():b("#postModelLink").parent().remove(),b(".simpleCentral button:not(.icon-only)").css("min-width","120px").css("width","auto"),a.util.forceSameWidths(b(".simpleCentral").eq(0),"button:not(.icon-only)");var e=b("#dataModelBox h5 .fa-question-circle");e.popover({container:"body",trigger:"click",content:function(){return b("#dataModelHelpTip .popover-content").html()},title:function(){return b("#dataModelHelpTip .popover-title").html()},html:!0,placement:"bottom"});var f="iaoToolTipFor_"+e.prop("id");b("#"+f).append(a.getText("ClickForMoreTips.Text",'<span>&nbsp;Click <span class="fas fa-question-circle">help icon</span> for more...</span>')),(!window.location.search||window.location.search.indexOf("auto-size=false")<0)&&(b(window).on("resize",function(){var a=b(window).height(),c=a-b(".destinationTree").offset().top-b(".destinationTree").parents(".explorerTreeBox").eq(0).children(".buttonHolder").outerHeight(!0);b(".explorerTree").css("height",Math.floor(c-15)+"px")}),b(window).trigger("resize"))}}};if(d&&d.csvHandler){var g=window.top[d.csvHandler];g&&"function"==typeof g&&(f.importHandlers||(f.importHandlers={}),f.importHandlers.csv=f.importHandlers.CSV=g)}if(d&&d.importDataHandler){var g=window.top[d.importDataHandler];g&&"function"==typeof g&&(f.importHandlers||(f.importHandlers={}),f.importHandlers.start=f.importHandlers.START=g)}d&&d.appkey?f.modelKey=d.appkey:d&&d.appid&&(f.modelKey="iaoIndicatorsModel__"+d.appid,f.storageKeySuffix="__"+d.appid),ia.init(f),window.top.location.href!=window.location.href&&b("body").css("overflow","hidden")},ia.downloadModel=function(c){window.URL=window.webkitURL||window.URL;var d=b('a[id^="iaoModelDownloadLink"]');d&&d.length>0&&(window.URL.revokeObjectURL(d.prop("href")),d.remove());var e,f=c&&c.fileName?c.fileName:"iao-data-model.json",g=c&&c.downloadLabel?c.downloadLabel:"Click here to download model",h=c&&c.downloadLabelStyle?c.downloadLabelStyle:"display: block; text-decoration: none; text-align: center;",i=c&&c.downloadLabelClass?c.downloadLabelClass:"fa fa-cloud-download",j=JSON.stringify(ia.dataModel),k=new Blob([j],{type:"application/json"}),l="iaoModelDownloadLink_"+EmbeddedIAO.generateGuid(),m='<a id="'+l+'" download="'+f+'" style="'+h+'"><i class="'+i+'"></i> '+g+"</a>",n=null,o=(!c||c.allowAutoSave)&&window.navigator&&window.navigator.msSaveBlob;if(c&&c.target)e=c.target.jquery?c.target:b(c.target);else{if(o)return void window.navigator.msSaveBlob(k,f);n=c&&c.appendTo?c.appendTo.jquery?c.appendTo:b(c.appendTo):b("body"),n.append(m),e=b('a[id="'+l+'"]')}if(e.attr("href",window.URL.createObjectURL(k)),e[0].dataset.downloadurl=["application/json",e.attr("download"),e.attr("href")].join(":"),e.on("click",function(){var c=b(this);setTimeout(function(){c.parents(".popupDialog").length>0&&a.hidePopupDialog(c.parents(".popupDialog").eq(0)),window.URL.revokeObjectURL(c.attr("href")),c.remove()},1500)}),c&&c.noDialog)e.trigger("click");else{var p=c&&c.dialogTitle?c.dialogTitle:a.getText("DataModelDownloadDialog.Title","Model Ready"),q=c&&c.dialogMessage?c.dialogMessage:a.getText("DataModelDownloadDialog.Message","<p>Your data model is ready for download - click on the link below to save it to your computer.</p>");a.showPopupScriptDialog(p,q,{buttons:"none",modal:!0,type:"information",dialogClass:"popupNoSize",cancel:function(){},shown:function(a){b(a.target).find(".modal-body > *").eq(0).append(e)}})}},ia.addDialogs=function(a){b.ajax({url:ia.appPath+"editor/dialogs",type:"GET",dataType:"text"}).done(function(c){var d=a&&a.target?a.target.jquery?a.target:b(a.target):b("#dialogsHolder");if(d.find(".iao-data-manager-popup").remove(),c=c.replace(/<input type="hidden" name="__VIEWSTATEGENERATOR".*\/>/,""),
c=c.replace(/<input type="hidden" name="__VIEWSTATE".*\/>/,""),b("body").append('<div id="iaoDataDialogsTempHolder">'+c+"</div>"),d.append(b("#iaoDataDialogsTempHolder form > div")),b("#iaoDataDialogsTempHolder").remove(),a&&(a.complete||a.done)){var e=a.complete||a.done;e({status:"OK",target:d})}}).fail(function(b,c,d){"abort"!=d&&(console&&console.log&&console.log("AJAX error @"+(b?b.requestUrl:"??URL??")+" : "+d+" : "+(b?b.status:"0")),a&&a.complete&&a.complete({message:"Error when fetching core dialogs list: "+d,status:"error",data:b}))})},ia.populateIndicatorList=function(c,d){var e=new Date,f=null;if(d&&d.indicators)f=d.indicators;else{if(!ia.storageProvider||"undefined"==typeof ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix)||null==ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix))throw"No indicators available";var g=ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix);ia.compressor&&g&&"["!=g.substring(0,1)&&"{"!=g.substring(0,1)&&(g=ia.compressor.decompressFromUTF16(g)),f=JSON.parse(g)}var h=c.jquery?c:b(c).eq(0);d&&d.doNotClear||h.children().remove();var i,j,l,m,o,p="",q=d&&d.elementIdPrefix?d.elementIdPrefix:"",r=new Array,t=new a.DataModel(d&&d.modelKey?d.modelKey:null,ia.storage);t.clear();for(var v in f){d&&d.useTreeControls?(p='<div id="'+q+"wiGroup_"+v+'" class="widget-btn-holder widgetIndicators" data-supports-latest-date="'+(f[v].support&&f[v].support.latestDate)+'"',f[v].Id&&(p+=' data-uuid="'+f[v].Id+'"'),p+='><div class="igroup-name">',p+='<a href="#" id="'+q+"igroupToggler_"+v+'" data-toggle="'+v+'" class="nodef group-toggler"><span class="sr-only">toggle</span> <i class="'+a.iconCssClasses.getCssAttribute("icon,folder,folderOpen,iconBig")+'"></i></a>',p+='<input type="'+(d&&d.showControls?"checkbox":"hidden")+'" id="'+q+"indicatorSuperBox_"+v+'" value="'+v+'" class="igroup-super-box" /><label for="'+q+"indicatorSuperBox_"+v+'" class="dataSubHeading">',p+=f[v].DisplayName,p+="</label>",(!d||d.allowRemoveThemes)&&(p+='<a href="#" data-iao-ui-action="remove-theme" class="nodef"><i class="'+a.iconCssClasses.getCssAttribute("icon,remove")+'"></i></a>'),p+="</div>",p+='<ul id="'+q+"widgetInds_"+v+'" class="igroup-children">'):(p='<h5 class="toolboxSub"',f[v].Id&&(p+=' data-uuid="'+f[v]+'"'),p+='><input type="'+(d&&d.showControls?"checkbox":"hidden")+'" id="'+q+"indicatorSuperBox_"+v+'" value="'+v+'" class="igroup-super-box" /><label for="'+q+"indicatorSuperBox_"+v+'" class="dataSubHeading">',p+=f[v].DisplayName,p+="</label></h5>",p+='<div id="'+q+"wiGroup_"+v+'" class="widget-btn-holder widgetIndicators"><ul id="'+q+"widgetInds_"+v+'" class="igroup-children">'),t.addTheme({id:f[v].Id?f[v].Id:v,name:f[v].DisplayName,indicators:[]});var w={},x=r.length;for(var y in f[v].Indicators)r.push(f[v].Indicators[y].IndicatorInstance),i=r.length-1,j=r[i].IndicatorId.toString(),w[j]="undefined"==typeof w[j]?1:w[j]+1;for(var i=x;i<r.length;i++)if(j=r[i].IndicatorId.toString(),l=r[i].DisplayDate?r[i].DisplayDate:r[i].IndDate,h.find('li.ind[data-ind-uuid="'+j+'"][data-ind-date="'+l+'"]').length<1){p+='<li class="ind" data-ind-uuid="'+j+'" data-ind-date="'+l+'"',"undefined"!=typeof r[i].Pos&&(p+=' data-ind-index="'+r[i].Pos+'" data-ind-oindex="'+r[i].originalIndex+'"',r[i].offset=x+r[i].Pos),p+=' data-ind-local-id="'+r[i].IndicatorUniqueCode+'" data-ind-instance-id="'+r[i].IndInstanceId+'"',"undefined"==typeof r[i].offset&&(r[i].offset=x+i+1),p+=' data-ind-instance-offset="'+r[i].offset+'"',p+=">",p+='<input type="'+(d&&d.showControls?"checkbox":"hidden")+'" id="'+q+"indicatorBox_"+i+'" name="'+q+"indicatorBox_"+i+'" class="i-checkbox" value="',p+=r[i].IndicatorUniqueCode+"|"+r[i].IndInstanceId+"|"+(r[i].IndDate?r[i].IndDate:r[i].DisplayDate?r[i].DisplayDate:"")+'" '+(r[i].IsSelected?'checked="checked"':"")+" />";var z=r[i].IndicatorFullName?r[i].IndicatorFullName:r[i].IndicatorName;d&&d.showControls?(p+='<label for="'+q+"indicatorBox_"+i+'" class="indicatorBoxLabel"><span class="i-name">'+z+'</span>&nbsp;<span class="i-date">'+(r[i].DisplayDate?r[i].DisplayDate:"")+"</span></label>&nbsp;",w[j]>1&&(p+='<a id="'+q+"indByDateLink_"+i+"_i"+j+'" data-ind-local-id="'+r[i].IndicatorUniqueCode+'" href="javascript:void(0);" class="smallerText bondedLink ind-by-date-link">',p+='<span title="'+a.util.replaceAll(a.getText("DataManagerIndicatorSelectByIdLink.ToolTip","Select all available dates for {0}"),[z])+'">',p+=a.getText("DataManagerIndicatorSelectByIdLink.Text","all dates"),p+="</span></a>",w[j]=0)):p+='<span id="'+q+"indicatorBoxLabel_"+i+'" class="indicatorBoxLabel">'+z+" "+(r[i].DisplayDate?r[i].DisplayDate:"")+"</span>&nbsp;",p+="</li>",t.addIndicatorToTheme({id:r[i].IndicatorId,name:z,date:r[i].DisplayDate,type:r[i].DataType},f[v].Id?f[v].Id:v)}p+="</ul></div>",m=t.getTheme(f[v].Id?f[v].Id:v),m.indicators.length>0||d&&d.allowEmptyThemes?h.append(p):t.deleteTheme(m.id),o=b('ul[id="'+q+"widgetInds_"+v+'"]')}if(console.log("time #1 = "+((new Date).getTime()-e.getTime())+"ms"),e=new Date,d&&d.useTreeControls&&(h.addClass("explorerTree"),u(h,q)),d&&d.showControls){var A,j,B,C,D,E,F=d&&d.latestDateLabelPrefix?d.latestDateLabelPrefix:a.getText("DataManagerIndicatorLatestDateLabelPrefix.Text"," - latest&nbsp;"),G=d&&d.latestDateLabelSuffix?d.latestDateLabelSuffix:a.getText("DataManagerIndicatorLatestDateLabelSuffix.Text"," dates"),H=h.find(".ind-by-date-link");H.each(function(a,c){C=b(c),D=C.parents("li").eq(0),E=D.parents("ul").eq(0),j=C.attr("data-ind-local-id"),B=D.attr("data-ind-uuid");var e=!0;j&&""!=j?(A=E.find('li[data-ind-local-id="'+j+'"]'),e=!A||A.length<2||A.eq(0).prop("id")!=D.prop("id")):(j=C.prop("id").split("_")[2],A=E.find('.ind-by-date-link[id*="indByDateLink_"][id$="_'+j+'"]'),e=!A||A.length<2||A.eq(0).prop("id")!=C.prop("id"));var f=D.parents(".widgetIndicators").data("supports-latest-date")&&"true"==D.parents(".widgetIndicators").data("supports-latest-date").toString();if(d&&d.showControls&&(d.showLatest&&!e||d.forceLatest)&&f){var g=[];A.each(function(){g.push(b(this).hasClass("ind")?b(this).attr("data-ind-instance-id")+"|"+b(this).attr("data-ind-date"):b(this).parent().attr("data-ind-instance-id")+"|"+b(this).parent().attr("data-ind-date"))}),p='<li data-ind-local-id="'+j+'" data-ind-uuid="'+B+'" '+(e?"":'data-ind-all-dates="'+g.join(",")+'" ')+'class="latest-dates"><input type="checkbox" id="'+q+"indicatorLatestBox_"+B+'" name="'+q+"indicatorBox_"+B+'" value="'+B+'|latest" class="i-checkbox" /><label for="'+q+"indicatorLatestBox_"+B+'" class="indicatorBoxLabel"><span class="i-name">'+D.find(".i-name").eq(0).text()+'</span>&nbsp;</label><label for="'+q+"indicatorLatestSpanBox_"+B+'">'+F+'</label><input type="text" value="1" disabled="disabled" id="'+q+"indicatorLatestSpanBox_"+B+'" size="2" class="form-control" /><span>'+G+"</span></li>",D.before(p),D.remove(),A.each(function(){(b(this).hasClass("ind")?b(this):b(this).parent()).detach()})}if(e){var h=D,i=d&&d.forceLatest;!i&&("null"==h.data("ind-date")||h.children('input[id^="'+q+'indicatorBox_"]').val()&&h.children('input[id^="'+q+'indicatorBox_"]').val().indexOf("|-1|")>0||h.prevAll('*[data-ind-uuid="'+h.attr("data-ind-uuid")+'"]').length>0&&f)?h.remove():C.remove()}}),h.on("change click",".i-latest-checkbox",function(){var a=b(this),c=a.is(":checked"),d=a.val().split("|")[0],e=a.parent().find('input[id^="indicatorBox_"]').filter('[value^="'+d+'|"]');e.prop("disabled",!c),a.parent().find('input[id*="indicatorLatestSpanBox_"]').prop("disabled",!c)});try{h.find('input[id^="'+q+'indicatorLatestSpanBox_"]').prop("type","number").prop("min","1").prop("max","99")}catch(I){}console.log("time #2 = "+((new Date).getTime()-e.getTime())+"ms"),e=new Date,h.off("click.iaoByDate").on("click.iaoByDate",".ind-by-date-link",function(a){var c=b(this).prop("id"),d=b(this).data("ind-local-id")?b(this).data("ind-local-id"):c.substring(c.lastIndexOf("_i")+2),e=b(this).parents(".widgetIndicators").eq(0),f=b(this).data("checked"),g=k(e,d,!f,c.substring(0,c.lastIndexOf("indByDateLink_"))+"indicatorBox_"),h=ia.container?ia.container:e;return h.trigger(ia.DATA_SELECTION_EVENT,[{status:"change",source:a.target,container:e,changed:g}]),b(this).data("checked",!f),a.preventDefault(),!1}),h.on("click",".i-checkbox",function(a){var c=b(this),d=c.parents("ul").eq(0);if(a.shiftKey){var e=d.find('input[id*="indicatorBox_"]'),f=e.index(this),g=c.is(":checked"),h=d.data("lastRadioClick");if(h&&h>=0){var i=Math.min(f,h),j=Math.max(f,h);e.slice(i,j).prop("checked",g);var k=ia.container?ia.container:d;k.trigger(ia.DATA_SELECTION_EVENT,[{status:"change",source:a.target,container:d,changed:e}]),d.removeData("lastRadioClick"),window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty()}else d.data("lastRadioClick",f)}else d.removeData("lastRadioClick")}),h.find(".igroup-super-box").off("change click").on("change click",function(){var a=b(this),c=a.prop("id");c=c.substring(c.lastIndexOf("indicatorSuperBox_")+"indicatorSuperBox_".length);var d=b('*[id$="widgetInds_'+c+'"]').find('input[id*="indicatorBox_"]');if((!d||d.length<1)&&(d=b('*[id$="widgetInds_'+c+'"]').find('input[id*="indicatorLatestBox_"]')),d&&d.length>0){var e=a.is(":checked");d.prop("checked",e),d.each(function(){b(this).trigger("change"),b(this).triggerHandler("click")})}}),console.log("time #3 = "+((new Date).getTime()-e.getTime())+"ms"),e=new Date}else d&&d.useDragAndDrop&&d.dropTarget&&n(d.dragSource?d.dragSource:h,d.dragSelector,d.dropTarget);(!d||d.allowRemoveThemes)&&(h.find('.igroup-name a[data-iao-ui-action^="remove-theme"]').off("click").on("click",function(a){b(".tooltip").hide();var c=b(this).parents(".widgetIndicators").eq(0),d=c.prop("id");d=c.data("uuid")?c.data("uuid"):d.substring(d.indexOf("igroup_")+"igroup_".length);var e=c.parents(".widgetIndicators").eq(0),f=null,g=function(){ia.dataModel.deleteTheme(d,f)&&(f?c.parents("li").eq(0).remove():c.remove(),ia.onDeleteThemeHandler&&ia.onDeleteThemeHandler(d,f),ia.autoSave&&s())};return e&&e.length>0?(f=e.prop("id"),f=d=e.data("uuid")?e.data("uuid"):f.substring(f.indexOf("igroup_")+"igroup_".length),ia.confirmDeleteThemeHandler&&!ia.confirmDeleteThemeHandler(d,f,g)||!ia.dataModel.deleteTheme(d,f)||(c.parents("li").eq(0).remove(),ia.onDeleteThemeHandler&&ia.onDeleteThemeHandler(d,f))):ia.confirmDeleteThemeHandler&&!ia.confirmDeleteThemeHandler(d,null,g)||!ia.dataModel.deleteTheme(d)||(c.remove(),ia.onDeleteThemeHandler&&ia.onDeleteThemeHandler(d)),ia.autoSave&&s(),a.stopPropagation(),a.preventDefault(),!1}),h.find('.igroup-name a[data-iao-ui-action^="remove-theme"]').prop("title",a.getText("DataManagerDeleteThemeButton.ToolTip","Remove this Theme")).tooltip({placement:"auto bottom",trigger:"hover",container:"body"})),t.save(),d&&d.orphan||(ia.dataModel=t),d&&d.complete&&d.complete({status:"OK",container:h,indicators:r,model:t})},ia.copyIndicatorsInto=function(c,d){for(var e,f,g,h,i,j,k,l=d.container,m=d.list,o=d.item,p=d.index,q=d.target,r=d.dataType,t=d.associate,u=d.user,v=d.theme||m.parent().prop("id").split("igroup_")[1],x=d.commit,y=Math.min(c.length,ia.mode&&"arcgisonline"==ia.mode.toLowerCase()||u&&u.id&&"Subscriber"==u.status?c.length:12),z=d.done||d.complete,B=0;y>B;B++){if(randomId="i"+a.generateGuid(),t?(o.children("ul.igroup-children").length<1&&o.append('<ul class="igroup-children igroup-associates"></ul>'),o.children("ul.igroup-children").append('<li id="dropClone_'+randomId+'" class="ind"><span class="i-name"></span>&nbsp;<span class="i-date"></span></li>'),tgtId=o.attr("data-ind-uuid"),tgtDate=o.attr("data-ind-date")):m.append('<li id="dropClone_'+randomId+'" class="ind drop-target"><span class="i-name"></span>&nbsp;<span class="i-date"></span></li>'),b("#dropClone_"+randomId+" > .i-name").text(c[B].name),e=b("#dropClone_"+randomId),e.append('<input id="dropClone_'+randomId+'_sourceRef" type="hidden" value="'+c[B].uid+'" />'),f=q?q:randomId,i=c[B].date?c[B].date.toString():"",g=e.siblings("li").filter('[data-ind-uuid="'+f+'"]'),g.length>0)for(j=1,k=i.toString();g.filter('[data-ind-date="'+i+'"]').length>0;)i=k+" ("+j+")",j++;b("#dropClone_"+randomId+" > .i-date").text(i),h={id:f,name:c[B].name,date:i,type:r?r:c[B].args.split("|")[1],src:{url:c[B].url,fieldName:c[B].uid,format:c[B].format}},c[B].properties&&(h.properties=c[B].properties),c[B].href&&(h.href=c[B].href),e.append(' <span class="smallerText fieldName">['+h.src.fieldName+"]</span>"),e.updateData("ind-uuid",h.id),e.updateData("ind-args",p+"|"+(h.type?h.type:"categoric")),e.updateData("ind-src",h.src.fieldName),e.updateData("ind-src-label",h.name+"/"+h.date+" ("+h.src.fieldName+")"),e.updateData("ind-url",h.src.url),e.updateData("ind-format",h.src.format),e.updateData("ind-date",i),e.updateData("ind-name",h.name),c[B].date&&0==c[B].date.indexOf("#IAO-LATEST:")&&e.find(".i-date").text("").append("<em>"+a.util.replaceAll(a.getText("LatestXDatesLabel.TextFormat","Latest {0} Dates"),[c[B].date.substring("#IAO-LATEST:".length)])+"</em>"),t?ia.dataModel.addAssociateToIndicator(h,tgtId,tgtDate,v):ia.dataModel.addIndicatorToTheme(h,v)}if(x&&l&&m&&v){var C=o.parents(".explorerTreeBox").eq(0).find('*[data-iao-ui-action="sort-data-model"]').eq(0);A(v,m.children(".ind").eq(0),!1,C.is(":checked")),n(m,null,m),w(l)}ia.autoSave&&s(),z&&z(h,e)},ia.addTheme=function(c,d,e,f,g,h,i){for(var j=c?c.jquery?c:b(c):ia.container.find(".explorerTree").eq(1),k=j.hasClass("widgetIndicators")?j.parents(".explorerTree").eq(0):j,l=j.hasClass("explorerTree")?j:j.parents(".explorerTree").eq(0),m=k.find(".widgetIndicators").not(".nonIndicators").not(".nonDataIndicators"),o=e||a.util.replaceAll(a.getText("NewThemeLabel.Text","New Theme #{0}"),[m.length+1]),p=d||("REGEX"==ia.idGeneratorPattern.toUpperCase()?"T_"+o.replace(/[^0-9a-zA-Z]/g,""):"theme_"+a.generateGuid()),q=0;null!=ia.dataModel.getTheme(p);)p+=q.toFixed(0),q++;var r=f||"model_",v={id:p,name:o,indicators:[]},x=t(j.hasClass("widgetIndicators")?j.children("ul.igroup-children"):j,v,r,m.length+1,null,!1,i);if(b(".tooltip").hide(),j.hasClass("widgetIndicators")&&!j.children("ul.igroup-children").is(":visible")&&j.children("ul.igroup-children").slideDown("fast",function(){j.find('a[id*="igroupToggler_"] i.fa:eq(0)').eq(0).addClass(a.iconCssClasses.folderOpen).removeClass(a.iconCssClasses.folderClosed)}),j.hasClass("widgetIndicators")&&j.find("ul.igroup-children li.ind").length>0){var y=j.children("ul.igroup-children").children("li").last();j.children("ul.igroup-children").children("li.ind").eq(0).before(y)}n(null,null,k),u(k,r),w(k),ia.dataModel.addTheme(v,g),ia.autoSave&&s(),l.scrollTop(0);var z=x.offset().top-l.offset().top-5;l.animate({scrollTop:z},200,null,function(){h||x.find('a[data-iao-ui-action="edit-theme"]').trigger("click")});var A=b.Event(ia.DATA_CHANGE_EVENT);return A.container=l,A.action="theme-add",A.item=v,A.target=x,l.trigger(A),x},ia.clearModel=function(){var b=ia.dataModel.idField,c=ia.dataModel.nameField,d=ia.dataModel.getProperty("iaoArcLayerUrl");ia.dataModel.clear(),ia.dataModel.addTheme({id:"t"+a.generateGuid(),name:a.util.replaceAll(a.getText("DefaultThemeLabel.Text","Theme #{0}"),[1]),idField:b,nameField:c,indicators:[],themes:[]}),ia.dataModel.idField=b,ia.dataModel.nameField=c,ia.dataModel.updateProperty("iaoArcLayerUrl",d),ia.populateIndicatorTree(ia.trees.target,{indicators:ia.dataModel.getThemes(),model:ia.dataModel,allowModification:!0,showSourceFieldName:"always",elementIdPrefix:"dstTree-",useDragAndDrop:ia.useDragAndDrop,dragSource:ia.trees.source,dropTarget:ia.trees.target,showModelLevelInfo:!0,showComparisonsSelector:!0,layer:ia.dataModel.getProperty("iaoArcLayerUrl"),allowAddSource:!1}),ia.autoSave&&s()},ia.createIndicatorHtml=function(b,c,d,e,f,g,h,i,j){var k="",l=b.displayDate?b.displayDate:b.date?b.date:"",m=b.instanceId?b.instanceId:b.id+(l&&""!=l?"|"+l:""),n=c+"ind_"+d+"__"+m,o=b.type?b.type:b.dataType?b.dataType:"numeric";if(k+='<li id="'+n+'" class="ind '+e+" i-"+o.toLowerCase()+'" data-ind-uuid="'+b.id+'"',k+=' data-ind-args="'+h+"|"+o+'"',"undefined"!=typeof b.index&&(k+=' data-ind-index="'+b.index+'"'+("undefined"!=typeof b.subIndex?' data-ind-sub-index="'+b.subIndex+'"':"")),"undefined"!=typeof b.originalIndex&&(k+=' data-ind-oindex="'+b.originalIndex+'"'),"undefined"!=typeof b.offset&&(k+=' data-ind-instance-offset="'+b.offset+'"'),k+=' data-ind-name="'+b.name+'" data-ind-date="'+l+'"'+(b.shortName?' data-ind-name-short="'+b.shortName+'"':""),k+=' data-ind-src="'+(g&&b.src?b.src.fieldName:m)+'"',g&&b.src&&g&&b.src.format&&(k+=' data-ind-format="'+b.src.format+'"'),g&&b.src&&b.src.url&&i&&(!i.url||i.url!=b.src.url)&&(k+=' data-ind-url="'+b.src.url+'"'),k+=">",f?k+=a.util.replaceAll(f,[c,b.id,m,b.name,b.shortName]):(k+='<span class="i-name'+(b.shortName?' i-aliased" title="'+b.shortName+'"':'"')+">"+b.name+"</span>&nbsp;",k+='<span class="i-date">'+(0==l.indexOf("#IAO-LATEST:")?"<em>"+a.util.replaceAll(a.getText("LatestXDatesLabel.TextFormat","Latest {0} Dates"),[l.substring("#IAO-LATEST:".length)])+"</em>":l)+"</span>"),g&&b.src&&(b.src.fieldName!=b.name&&b.src.fieldName!=b.name+","+j||"always"==g)&&(k+=' <span class="smallerText fieldName">['+b.src.fieldName+"]</span>"),b.associates){k+='<ul class="igroup-children igroup-associates">';for(var p in b.associates)l=b.associates[p].displayDate?b.associates[p].displayDate:b.associates[p].date?b.associates[p].date:"",m=b.associates[p].instanceId?b.associates[p].instanceId:b.associates[p].id+(l&&""!=l?"|"+l:""),o=b.associates[p].type?b.associates[p].type:b.associates[p].dataType?b.associates[p].dataType:"numeric",k+='<li id="'+c+"ind_"+d+"__"+m+'" class="ind '+e+"-associate i-"+o+'" data-ind-uuid="'+b.associates[p].id+'"',k+=' data-ind-args="'+h+"|"+o+'" data-ind-index="'+b.associates[p].index+'"'+("undefined"!=typeof b.associates[p].subIndex?' data-ind-sub-index="'+b.associates[p].subIndex+'"':""),k+=' data-ind-name="'+b.associates[p].name+'" data-ind-date="'+l+'"',k+=' data-ind-src="'+(g&&b.associates[p].src?b.associates[p].src.fieldName:m)+'"',k+=' data-ind-url="'+(g&&b.associates[p].src?b.associates[p].src.url:"")+'">',k+='<span class="i-name">'+b.associates[p].name+"</span>&nbsp;",k+='<span class="i-date">'+(0==l.indexOf("#IAO-LATEST:")?"<em>"+a.util.replaceAll(a.getText("LatestXDatesLabel.TextFormat","Latest {0} Dates"),[l.substring("#IAO-LATEST:".length)])+"</em>":l)+"</span>",g&&b.associates[p].src&&(b.associates[p].src.fieldName!=b.associates[p].name||"always"==g)&&(k+=' <span class="smallerText fieldName">['+b.associates[p].src.fieldName+"]</span>"),k+="</li>";k+="</ul>"}return k+="</li>"},ia.bindMetadataPoppers=function(c,d,e){var f=e||{},g=d&&d.jquery?d:b(d),h="meta-"+(new Date).getTime().toFixed(0),i=h+"-container",j=f&&f.placement?f.placement:"right auto";g.addClass(i),c.addClass(h),g.on("click","."+h,function(c){if(c.preventDefault(),b(this).parents(".data-tree-container").length>0){var d=b(this).parents(".data-tree-container").find("a.iao-popper.in").not(this);d.popover("hide"),d.toggleClass("in",!1)}if(!b(this).hasClass("pop-bound")){var e=(b(this).parents("li.ind").length>0?b(this).parents("li.ind").eq(0).attr("data-ind-uuid"):b(this).attr("href").replace("#metadata:","")).replace("datastore:",""),f=e+(new Date).getTime().toString();b(this).attr("data-content",'<div id="metadata_'+f+'" class="metadata-container"><p>Please wait. Contacting <a href="'+a.metadataUrl+'">metadata service...</a></p></div>'),b(this).attr("data-ind-id",e),b(this).attr("data-ind-meta-id",f),b(this).siblings(".indicatorBoxLabel").length>0?b(this).attr("title",b(this).siblings(".indicatorBoxLabel").children(".i-name").text()):b(this).siblings(".i-name").length>0?b(this).attr("title",b(this).siblings(".i-name").text()):b(this).attr("title")||b(this).attr("title",b(this).parents(".ind").eq(0).find(".i-name").eq(0).text()||"Metadata"),b(this).popover({html:!0,container:"."+i,trigger:"manual",placement:b(this).data("placement")||j}),b(this).on("shown.bs.popover",function(){var c=b(this).attr("data-ind-id"),d="#metadata_"+(b(this).attr("data-ind-meta-id")||c),e=b(this).attr("data-src-url")||(b(this).parents(".data-tree-container").length>0?b(this).parents(".data-tree-container").eq(0).data("src-url").split(";")[0]:null),f=b(this).attr("data-metadata-url")||(b(this).parents(".data-tree-container").length>0&&b(this).parents(".data-tree-container").eq(0).data("metadata-url")?b(this).parents(".data-tree-container").eq(0).data("metadata-url").split(";")[0]:a.metadataUrl),g="__metapop"+c+(new Date).getTime().toString();b(this).prop("id",g),b(this).toggleClass("in",!0),ia.populateDataCatalogMetadataPopup(c,e,f||a.metadataUrl,{direct:!0,fields:a.metadataTerms?a.metadataTerms:"IndicatorID,Description,Subject,Source,Issued,LastPublished,Spatial,Temporal,Rights,Keywords,Status,LastRevised,LastUpdated,Creator,Publisher,UpdateFrequency",token:a.getToken(),target:d,done:function(a,c,d){var e=a.parents(".popover").find(".popover-title");e.children(".closer").remove(),e.prepend('<div class="closer" style="float: right; cursor: pointer;" data-target="'+g+'"><i class="fas fa-times"></i></div>'),e.find(".closer").on("click",function(){b('a.ind-meta-link[id="'+b(this).attr("data-target")+'"]').popover("hide")}),!d&&c&&a.append('<table class="table table-striped"><tbody><tr><td>Indicator ID</td><td>'+c+"</td></tr></tbody></table>")}})}),b(this).addClass("pop-bound")}b(this).popover("show")}),c.addClass("iao-popper")},ia.sortSourceModel=function(a){if(ia.trees&&ia.trees.source){var c=ia.trees.source.jquery?ia.trees.source:b(ia.trees.source),d=c.find(".widgetIndicators"),e=a&&"original"==a?D:C;return d.each(function(a,c){var d=b(c).find("ul").eq(0);d.children("li.ind").sort(e).appendTo(d)}),d.length>0}return!1},ia.populateIndicatorTree=function(c,d){var e=null,f=null;if(d&&d.indicators)e=d.indicators;else{if(!ia.storageProvider||"undefined"==typeof ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix)||null==ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix))throw"No indicators available";var g=ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix);ia.compressor&&g&&"["!=g.substring(0,1)&&"{"!=g.substring(0,1)&&(g=ia.compressor.decompressFromUTF16(g)),e=JSON.parse(g)}if(d&&d.sources)f=d.sources;else if(ia.storageProvider&&"undefined"!=typeof ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix)&&null!=ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix)){var g=ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix);ia.compressor&&g&&"["!=g.substring(0,1)&&"{"!=g.substring(0,1)&&(g=ia.compressor.decompressFromUTF16(g)),f=JSON.parse(g)}var h=c.jquery?c:b(c).eq(0);d&&d.doNotClear||h.children().remove();var i,j,k="",l=d&&d.elementIdPrefix?d.elementIdPrefix:"";if(d&&d.showModelLevelInfo){i=l+"imodel_"+a.generateGuid(),j='<div id="'+i+'" class="widgetIndicators nonIndicators"><ul></ul></div>',h.append(j);var m=h.find('div[id="'+i+'"]').children("ul"),o=d.model&&d.model.idField?d.model.idField:e.length>0&&e[0].idField?e[0].idField:null,p=d.model.nameField?d.model.nameField:d.model.length>0&&e[0].nameField?e[0].nameField:null;if(m.append('<li><span id="'+l+'_model_idField" class="drop-target" title="'+a.getText("ModelIdFieldLabel.ToolTip","ID Field (drag a field here to update)")+'"><i class="'+a.iconCssClasses.getCssAttribute("icon,key,iconBig")+'">&nbsp;</i><span>'+(o?o:"ObjectID")+"</span></span></li>"),m.append('<li><span id="'+l+'_model_nameField" class="drop-target" title="'+a.getText("ModelNameFieldLabel.ToolTip","Name Field (drag a field here to update)")+'"><i class="'+a.iconCssClasses.getCssAttribute("icon,tag,iconBig")+'">&nbsp;</i><span>'+(p?p:"ObjectID")+"</span></span></li>"),m.append('<li class="model-filters inactive"><a href="#" id="'+l+'igroupToggler_model_filters" data-toggle="model_filters" class="nodef group-toggler" title="'+a.getText("ModelFiltersLabel.ToolTip","Feature Filters (drag a field here to add it as a filter-able field)")+'"><span id="'+l+'_model_filters" class="drop-target" data-target-type="filter"><span class="fa-stack"><i class="fas fa-folder-open fa-lg fa-stack-1x greyer"></i><i class="'+a.iconCssClasses.getCssAttribute("icon,filter")+' fa-stack-1x" style="right: -2px;left: auto;width:  auto;top: -5px;">&nbsp;</i></span><span>'+a.getText("ModelFiltersLabel.Text","Filters")+'</span></span></a><div class="widgetIndicators nonDataIndicators"><ul id="'+l+'iGroupSet_model_filters"></ul></div></li>'),d.model&&d.model.filters&&d.model.filters.length>0){var q=d.model.getFilters(),r=m.find(".model-filters ul");for(var s in q)r.append('<li class="feature-filter" data-filter-id="'+q[s].id+'" data-filter-src-field="'+q[s].src.fieldName+'" data-filter-src-url="'+q[s].src.url+'"><span class="i-name">'+q[s].name+"</span></li>");m.find(".model-filters").removeClass("inactive")}if(m.append('<li class="model-properties model-feature-properties inactive"><a href="#" id="'+l+'igroupToggler_model_feature_properties" data-toggle="model_feature_properties" class="nodef group-toggler" title="'+a.getText("ModelPropertiesLabel.ToolTip","Feature Properties (drag a field here to add it as a property - not mappable but available in your dashboard)")+'"><span id="'+l+'_model_feature_properties" class="drop-target" data-target-type="property"><span class="fa-stack"><i class="fas fa-folder-open fa-lg fa-stack-1x greyer"></i><i class="fas fa-fw '+a.iconCssClasses.getCssAttribute("icon,properties")+' fa-stack-1x" style="right: -2px;left: auto;width:  auto;top: -5px;">&nbsp;</i></span><span>'+a.getText("ModelPropertiesLabel.Text","Properties")+'</span></span></a><div class="widgetIndicators nonDataIndicators"><ul id="'+l+'iGroupSet_model_feature_properties"></ul></div></li>'),d.model&&d.model.getFeatureProperties()&&d.model.getFeatureProperties().length>0){var v=d.model.getFeatureProperties(),r=m.find(".model-feature-properties ul");for(var y in v)r.append('<li class="feature-property" data-property-name="'+v[y].name+'" data-property-src-field="'+v[y].src.fieldName+'" data-property-src-url="'+v[y].src.url+'"><span class="i-name">'+v[y].name+"</span></li>");m.find(".model-feature-properties").removeClass("inactive")}d.showComparisonsSelector&&d.layer&&(m.append('<li class="model-properties model-comparison-properties inactive"><a href="#" id="'+l+'igroupToggler_model_properties" data-toggle="model_properties" class="nodef group-toggler" title="'+a.getText("ModelComparisonsLabel.ToolTip","Comparison Feature Relationships (choose the relationships your dashboard will use to look up comparison data automatically)")+'"><span id="'+l+'_model_properties" class="selection-box" data-target-type="property"><span class="fa-stack"><i class="fas fa-folder-open fa-lg fa-stack-1x greyer"></i><i class="fas fa-fw fa-map-marker-alt fa-stack-1x" style="right: -2px;left: auto;width:  auto;top: -5px;">&nbsp;</i></span><span>'+a.getText("ModelComparisonsLabel.Text","Comparison Features")+'</span></span></a><div class="widgetIndicators nonDataIndicators" id="'+l+'iGroupSet_model_properties"><div class="iao-comparisons-specific-holder igroup-children"></div></div></li>'),ia.checkRelationshipsForComparisons({source:d.layer,container:"#"+l+"iGroupSet_model_properties",done:function(a){if(a.container.off("change.iao.inline"),!a.data||!a.data.relationships||a.data.relationships.length<1)a.container.parent().remove();else if(d.model&&d.model.getProperties()&&d.model.getProperties().length>0){var c=d.model.getProperty("iaoComparisonRelationships");if(c){c="undefined"!=typeof c.splice?c:c.split(",");var e=a.container.find('.arc-relationship-comparison input[type="checkbox"]');e.prop("checked",!1),e.filter(function(){return c.indexOf(b(this).val())>=0}).prop("checked",!0).trigger("change")}}a.container.on("change.iao.inline",'.arc-relationship-comparison input[type="checkbox"]',function(a){var c=b(a.target).parent().parent(),d=c.find(".arc-relationship-comparison input:checked").map(function(){return this.value}).get();ia.dataModel.updateProperty("iaoComparisonRelationships",d.join(",")),ia.autoSave&&ia.dataModel.save()}),m.find(".model-comparison-properties").removeClass("inactive"),m.find(".model-comparison-properties > .group-toggler").trigger("click")}})),m.children("li").children("span,a").tooltip({placement:"auto bottom",trigger:"hover",container:"body"}),x(m)}var z,A="",B=null,C=d&&d.latestDateLabelPrefix?d.latestDateLabelPrefix:a.getText("DataManagerIndicatorLatestDateLabelPrefix.Text"," - latest&nbsp;"),D=d&&d.latestDateLabelSuffix?d.latestDateLabelSuffix:a.getText("DataManagerIndicatorLatestDateLabelSuffix.Text"," dates");d&&d.showSelection&&"latest"==d.showSelection.toString().toLowerCase()&&(A='<input type="checkbox" id="{0}indicatorLatestBox_{1}" name="{0}indicatorBox_{1}" value="{1}|latest" class="i-latest-checkbox" /><label for="{0}indicatorLatestBox_{1}" class="indicatorBoxLabel"><span class="i-name">{3}</span>&nbsp;</label>'+(d&&d.indicatorItemExtra?d.indicatorItemExtra:"")+'<label for="{0}indicatorLatestSpanBox_{1}">'+C+'</label><input value="1" disabled="disabled" id="{0}indicatorLatestSpanBox_{1}" size="2" class="form-control i-latest-input" type="number" min="1" max="99"/><span>'+D+"</span>"+(d&&d.selectionHtml?d.selectionHtml:""),B="latest-dates");for(var E in e)if(z=t(h,e[E],l,E,d&&d.indicatorItemClass?d.indicatorItemClass:B,d?d.showSourceFieldName:!1,d&&d.collapseThemes,A),d&&d.allowModification&&(w(z,{allowAddThemes:void 0!=typeof d.allowAddThemes?d.allowAddThemes:!e[E].isLocked,allowRenameThemes:void 0!=typeof d.allowRenameThemes?d.allowRenameThemes:!0,allowRemoveThemes:void 0!=typeof d.allowRemoveThemes?d.allowRemoveThemes:!0,allowMoveThemes:void 0!=typeof d.allowMoveThemes?d.allowMoveThemes:!e[E].isLocked,appendAfter:e[E].isLocked?".igroup-name:eq(0)":null,allowModifyIndicators:e[E].isLocked?"":d.allowModifyIndicators?d.allowModifyIndicators:"rename,move,remove"}),e[E].isLocked&&(z.find(".drop-target").removeClass("drop-target").off("click").off("mouseover"),z.addClass("data-locked"))),d&&d.showSelection){var F,k,G=z.find("li > .i-name");"latest"!=d.showSelection.toString().toLowerCase()&&G.each(function(){F=b(this).parent().attr("data-ind-uuid")||b(this).parent().data("ind-src"),"latest"==d.showSelection.toString().toLowerCase()||(k='<input type="checkbox" id="'+l+"indicatorBox_"+F+'" name="'+l+"indicatorBox_"+F+'" value="'+F+'|-1|" class="i-checkbox" />',k+='<label for="'+l+"indicatorBox_"+F+'" class="indicatorBoxLabel"><span class="i-name">'+b(this).text()+'</span>&nbsp;<span class="i-date">'+b(this).siblings(".i-date").text()+"</span></label>&nbsp;",k+='<a id="'+l+"indByDateLink_"+F+"_i"+F+'" data-ind-local-id="'+F+'" href="javascript:void(0);" class="smallerText bondedLink ind-by-date-link">',k+='<span title="'+a.util.replaceAll(a.getText("DataManagerIndicatorSelectByIdLink.ToolTip","Select all available dates for {0}"),[b(this).text()])+'">',k+=a.getText("DataManagerIndicatorSelectByIdLink.Text","all dates"),k+="</span></a>"),b(this).before(k)}),G.siblings(".i-date").remove(),G.remove(),z.off("change.lbox").off("click.lbox").on("change.lbox click.lbox",".i-latest-checkbox",function(){var a=b(this),c=a.is(":checked"),d=a.val().split("|")[0],e=a.parent().find('input[id^="indicatorBox_"]').filter('[value^="'+d+'|"]');e.prop("disabled",!c),a.parent().find('input[id*="indicatorLatestSpanBox_"]').prop("disabled",!c)});try{}catch(H){}}if(u(h,l,d&&d.onExpand?d.onExpand:null,d&&d.onExpanding?d.onExpanding:null),h.on("click",'a[id^="'+l+'igroupPreview_"]',function(a){var c=b(this).prop("id");return c=c.substring(c.lastIndexOf("igroupToggler_")+"igroupToggler_".length),b(this),a.preventDefault(),!1}),d&&d.useDragAndDrop&&d.dropTarget&&n(d.dragSource?d.dragSource:h,d.dragSelector,d.dropTarget),f&&(!d||!d.ignoreSources)){for(var I,J,K=d&&d.remove?d.remove:da,L=d&&d.rename?d.rename:da,i=0;i<f.length;i++)if("IAS"==f[i].ConnectionType.toUpperCase()){var M=a.parseQueryString(f[i].Parameters,"&"),N=h.find("*[id="+l+"igroupToggler_"+i+'"]');
N&&N.length>0&&(I=f[i].Url+";"+M.geotype+";"+M.theme+";"+M.indicators+";"+M.locale,h.find('input[value^="'+I+'"]').length>0?N.parents(".widgetIndicators").eq(0).remove():(J=f[i].Url.indexOf("/DeliveryService")>0?f[i].Url.substring(0,f[i].Url.indexOf("/DeliveryService")):f[i].Url.indexOf("/DataStoreService")>0?f[i].Url.substring(0,f[i].Url.indexOf("/",f[i].Url.indexOf("://")+3)):f[i].Url,j='<span class="geo-type-name">'+M.name+'</span>&nbsp;<span class="smallerText">[ @ <span class="ws-url">'+J+"</span> ]</span>",N.children().not("."+a.iconCssClasses.iconSelector).remove(),N.siblings().remove(),N.append(j),N.parents(".widgetIndicators").eq(0).updateData("ind-url-stem",J),j='<input type="hidden" id="'+l+"dataSourceArgs_"+i+'" value="'+I+';IAS" />',N.parent().append(j),j='&nbsp;<span class="modelControls small"><a id="'+l+"dataSourceRemove_"+i+'" href="#" class="'+a.iconCssClasses.getCssAttribute("icon,remove,iconBig")+' nodef" title="'+a.getText("DesignPageDataDialogSourceDeleteLink.ToolTip","Delete")+'">&nbsp;</a></span>',N.parent().append(j),d&&d.refresh&&d.refresh(i,function(a,c){var e=b('div[id$="'+l+"igroup_"+c+'"]').eq(0).children('ul[id*="iGroupSet_"]');if(a){e.children("li").remove();for(var f in a){var g=a[f].IndicatorFullName?a[f].IndicatorFullName:a[f].IndicatorName;j='<li class="i-item" data-ind-args="'+a[f].Pos+"|"+a[f].DataType+'" data-ind-id="'+a[f].IndicatorId+'"><span class="i-name">'+g+'</span>&nbsp;<span class="i-date">'+(a[f].DisplayDate?a[f].DisplayDate:"")+"</span>";var h=a[f].Text||a[f].Name;d&&d.showSourceFieldName&&h&&(h!=g||"always"==d.showSourceFieldName)&&(j+=' <span class="smallerText fieldName">['+h+"]</span>"),j+="</li>",e.append(j)}}})))}else if("IAXML"==f[i].ConnectionType.toUpperCase()){var M=a.parseQueryString(f[i].Parameters?f[i].Parameters:"","&"),N=h.find('*[id="'+l+"igroupToggler_"+i+'"]');N&&N.length>0&&(I=f[i].Url+";NULL;NULL;ALL;NULL;IAXML",h.find('input[value^="'+I+'"]').length>0?N.parents(".widgetIndicators").eq(0).remove():(j='<span class="geo-type-name">'+(M.name?M.name:N.text())+'</span>&nbsp;<span class="smallerText">[ @ <span title="InstantAtlas&#8482; Data XML" class="ws-url">'+f[i].Url+"</span> ]</span>",N.children().not("."+a.iconCssClasses.iconSelector).remove(),N.siblings().remove(),N.append(j),N.parents(".widgetIndicators").eq(0).updateData("ind-url-stem",f[i].Url),j='<input type="hidden" id="'+l+"dataSourceArgs_"+i+'" value="'+I+'" />',N.parent().append(j),i>0&&(!d||d.allowRemove)&&(j='&nbsp;<span class="modelControls small"><a id="'+l+"dataSourceRemove_"+i+'" href="#" class="'+a.iconCssClasses.getCssAttribute("icon,remove,iconBig")+' nodef" title="'+a.getText("DesignPageDataDialogSourceDeleteLink.ToolTip","Delete")+'">&nbsp;</a></span>',N.parent().append(j))))}else if("CSV"==f[i].ConnectionType.toUpperCase()||"GEOJSON"==f[i].ConnectionType.toUpperCase()){var M=a.parseQueryString(f[i].Parameters?f[i].Parameters:"","&"),N=h.find('*[id="'+l+"igroupToggler_"+i+'"]');N&&N.length>0&&(I=(f[i].Url.indexOf("token=")>0?f[i].Url.substring(0,f[i].Url.indexOf("token=")-1):f[i].Url)+";NULL;NULL;ALL;NULL;CSV",h.find('input[value^="'+I+'"]').length>0?N.parents(".widgetIndicators").eq(0).remove():(j='<span class="geo-type-name">'+(M.name?M.name:N.text())+"</span>&nbsp;",J=f[i].Url.indexOf("token=")>0?f[i].Url.substring(0,f[i].Url.indexOf("token=")-1):f[i].Url,J!=(M.name?M.name:N.text())&&(j+='<span class="small">[ @ <span title="'+f[i].ConnectionType+' Data" class="ws-url">'+J+"</span> ]</span>"),N.children().not("."+a.iconCssClasses.iconSelector).remove(),N.siblings().remove(),N.append(j),(!M.name||0==M.name.indexOf("https:")||0==M.name.indexOf("http:"))&&J.indexOf("sharing/rest")>0&&J.indexOf("/data")>0&&b.getJSON(a.applicationDomain+"/sharing/rest/search?q="+encodeURIComponent("id:"+J.substring(0,J.lastIndexOf("/data")).split("/").pop())+"&num=1&start=1&f=json&token="+a.getToken(),function(a){a&&a.results&&a.results[0]&&N.find(".geo-type-name").text(a.results[0].title)}),N.parents(".widgetIndicators").eq(0).updateData("ind-url-stem",J),j='<input type="hidden" id="'+l+"dataSourceArgs_"+i+'" value="'+I+'" />',N.parent().append(j),i>0&&(!d||d.allowRemove)&&(j='&nbsp;<span class="modelControls small"><a id="'+l+"dataSourceRemove_"+i+'" href="#" class="'+a.iconCssClasses.getCssAttribute("icon,remove,iconBig")+' nodef" title="'+a.getText("DesignPageDataDialogSourceDeleteLink.ToolTip","Delete")+'">&nbsp;</a></span>',N.parent().append(j)),d&&d.refresh&&d.refresh(i,function(c,e){var f=b('div[id$="'+l+"igroup_"+e+'"]').eq(0).children('ul[id*="iGroupSet_"]');if(c){f.children("li").remove();for(var g in c){var h=c[g].IndicatorFullName?c[g].IndicatorFullName:c[g].IndicatorName;j='<li class="i-item" data-ind-args="'+c[g].Pos+"|"+c[g].DataType+'" data-ind-id="'+c[g].IndicatorId+'"><span class="i-name">'+h+'</span>&nbsp;<span class="i-date">'+(c[g].DisplayDate?c[g].DisplayDate:"")+"</span>",(!d||d.allowEdit)&&(j+=' <span class="modelControls small"><a href="#" id="indItem_'+e+"_"+c[g].Pos+'" class="'+a.iconCssClasses.getCssAttribute("icon,edit,iconBig")+' nodef">&nbsp;</a></span>');var i=c[g].Text||c[g].Name;d&&d.showSourceFieldName&&i&&(i!=h||"always"==d.showSourceFieldName)&&(j+=' <span class="smallerText fieldName">['+i+"]</span>"),j+="</li>",f.append(j)}(!d||d.allowEdit)&&f.find("a."+a.iconCssClasses.edit).off("click").on("click",function(a){ia.popIndicatorAliasEditor(a,{commitChange:L})})}})))}h.find('.widgetIndicators[data-ind-url-stem][data-ind-url-stem!=""]').each(function(){var a=b(this).find("li.i-item, li.ind"),c=b(this).data("ind-url-stem");a.each(function(){var a=b(this).attr("data-ind-uuid")?b(this).attr("data-ind-uuid"):b(this).data("ind-id"),d=h.find('.widgetIndicators[data-ind-url-stem][data-ind-url-stem="'+c+'"] li[data-ind-uuid][data-ind-uuid="'+a+'"]');d=d.add(h.find('.widgetIndicators[data-ind-url-stem][data-ind-url-stem="'+c+'"] li[data-ind-id][data-ind-id="'+a+'"]')),d.length>1&&(d=d.slice(1),d.remove())})}),h.find('.widgetIndicators[data-ind-url-stem][data-ind-url-stem!=""]').filter(function(){return b(this).find("li.i-item, li.ind").length<1}).remove(),(!d||d.allowRemove)&&b('a[id^="'+l+'dataSourceRemove_"]').off("click").on("click",function(){b(this).addClass("fa-circle-o-notch").addClass("fa-spin");var a=b(this).prop("id");a=a.substring(a.lastIndexOf("dataSourceRemove_")+"dataSourceRemove_".length);var c=parseInt(a),d=b('input[id$="dataSourceArgs_'+c+'"]').val();if(d&&K){var e=b('div[id$="igroup_'+c+'"]');K(d,c,e)&&e.fadeOut("fast",function(){var a=ia.container?ia.container:b(this);a.trigger(ia.DATA_CHANGE_EVENT,[{status:"change",source:b(this),container:b(this).parent(),index:c,data:d}]),b(this).remove()})}})}if(ia.dataStoreUrls&&ia.dataStoreUrls.core&&ia.importFormats&&ia.importFormats.indexOf("DataStoreCore")>=0&&(!d||d&&("undefined"==typeof d.allowAddSource||"true"==d.allowAddSource.toString()))){var O=b('button[data-iao-import-format][data-iao-import-format!=""]');if(O.length>0){var P='<div id="'+l+'_addNewSource" class="widgetIndicators add-source-btn"><div class="igroup-name"><button type="button" class="iao-btn-clone icon-only btn'+(O.length>1?' dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" ':'" data-iao-import-format="'+O.eq(0).attr("data-iao-import-format")+'" ')+'style="padding: 1px 4px 1px 1px;" title="'+a.getText("DataManagerAddSourceButton.ToolTip","Add a new data source")+'"><i class="fa fa-fw fa-plus"></i>';O.length>1?(P+='<i class="fas fa-caret-down"></i></button><ul class="dropdown-menu">',O.each(function(){P+='<li><a href="#add-'+b(this).attr("data-iao-import-format")+'" data-iao-import-format="'+b(this).attr("data-iao-import-format")+'">'+b(this).html().replace('<i class="fas fa-plus"></i>',"")+"</a></li>"}),P+="</ul>"):P+="</button>",P+="</div></div>",h.append(P),h.find('.add-source-btn *[data-iao-import-format][data-iao-import-format!=""]').on("click",function(a){a.preventDefault(),b('button[data-iao-import-format][data-iao-import-format="'+b(this).attr("data-iao-import-format")+'"]:not(.iao-btn-clone)').eq(0).trigger("click")}).tooltip({container:"body"})}}d&&d.isSourceContainer&&(ia.trees=ia.trees||{},ia.trees.source=h),d&&d.complete&&d.complete({status:"OK",container:h})},ia.addDataSourceInformation=function(c){var d=c&&c.jquery?c:b(c),e=d.hasClass("explorerTree")?d.children(".widgetIndicators"):d.find(".explorerTree > .widgetIndicators");e.find(".dataset-details").length<1&&(e.each(function(){b(this).find(".igroup-name .modelControls").length<1&&b(this).children(".igroup-name").append('<span class="modelControls"></span>'),b(this).find(".modelControls").eq(0).prepend('<a href="#details" class="nodef dataset-details" title="'+a.util.replaceAll(a.getText("SourceDataDetailsLink.ToolTip","Details about this data source"),[b(this).children(".igroup-name").find(".igroup-name-text").text()])+'">'+a.getText("SourceDataDetailsLink.Text",'<i class="fas fa-fw fa-info-circle"></i>')+"</a>")}),e.find(".dataset-details").on("click",function(c){b(this).tooltip("hide"),b(this).popover("hide"),c.preventDefault();var d,e="?",f="?",g=!1,h=b(this).parents(".widgetIndicators").last().find(".igroup-name .igroup-name-text,.geo-type-name").get(0).childNodes[0].nodeValue;if(b(this).parents('.widgetIndicators[data-uuid^="data-store-"]').length>0||b(this).parents('.widgetIndicators[data-ind-format][data-ind-format$="DATASTORE"]').length>0)e=b(this).parents(".widgetIndicators").last().attr("data-src-url")||b(this).parents(".widgetIndicators").last().attr("data-ind-url"),d=e.substring(0,e.indexOf("/",Math.max(e.toLowerCase().indexOf("/featureserver"),e.toLowerCase().indexOf("/mapserver"))+1)),f="Data Store";else if(b(this).parents(".widgetIndicators").last().attr("data-ind-url-stem")||b(this).parents(".widgetIndicators").last().attr("data-ind-url"))if(e=b(this).parents(".widgetIndicators").last().attr("data-ind-url-stem")||b(this).parents(".widgetIndicators").last().attr("data-ind-url"),h=b(this).parents(".widgetIndicators").last().find(".igroup-name .igroup-name-text,.geo-type-name").get(0).childNodes[0].nodeValue,f=b(this).parents(".widgetIndicators").last().attr("data-ind-format")||"?",f="?"==f&&e.toLowerCase().indexOf("/rest/services")>0&&(e.toLowerCase().indexOf("/mapserver")>0||e.toLowerCase().indexOf("/featureserver")>0)?"Feature Layer":"CSV","CSV"==f)d=e.split("/"),d="id:"+d[d.length-2],"http"==h.substring(0,4)&&(h=d);else{d=e.substring(0,e.indexOf("/",Math.max(e.toLowerCase().indexOf("/featureserver"),e.toLowerCase().indexOf("/mapserver"))+1));var i=b(this).parents(".widgetIndicators").last();g=0==i.parent().children().index(i[0])}else if(b(this).parents(".widgetIndicators").last().attr("data-src-url")){e=b(this).parents(".widgetIndicators").last().attr("data-src-url"),d=e.substring(0,e.indexOf("/",Math.max(e.toLowerCase().indexOf("/featureserver"),e.toLowerCase().indexOf("/mapserver"))+1)),f="Feature ?";var i=b(this).parents(".widgetIndicators").last();g=0==i.parent().children().index(i[0])}else b(this).parents(".widgetIndicators").last().attr("data-uuid")&&(e=b(this).parents(".widgetIndicators").last().attr("data-uuid"),d=e.substring(0,e.indexOf("/",Math.max(e.toLowerCase().indexOf("/featureserver"),e.toLowerCase().indexOf("/mapserver"))+1)),f="Feature Layer",g=!0);var j='<span class="fa-stack ia-layers-icon"><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i></span>',k='<div class="dataset-icon" style="font-size: 3.25em; position: absolute; top: -10px; left: 0;">'+("Feature Layer"==f?j:"Data Store"==f?'<span class="fa-stack"><i class="fas fa-database fa-stack-1x fa-lg"></i></span>':'<span class="fa-stack"><i class="fas fa-table fa-stack-1x fa-lg"></i></span>')+"</div>",l=a.getText("SourceDataDetailsDialog.MessageFormat",'<div class="row spaced lo-gutters"><div class="col-md-3">Source:</div><div class="col-md-9"><a href="{0}" target="_blank" class="feature-service-link"><span class="feature-service-name">{1}</span> <i class="fas fa-external-link-alt small"></i></a><span class="feature-service-item small" style="margin-left: 2em;"></span></div></div><div class="row spaced lo-gutters"><div class="col-md-3">Type:</div><div class="col-md-9"><span class="feature-service-type">{4}</span></div></div><div class="row spaced lo-gutters part-of-section"><div class="col-md-3">Part of map:</div><div class="col-md-9"><a href="https://www.arcgis.com/home/item.html?id={2}" target="_blank"><span class="web-map-name">{3}</span> <i class="fas fa-external-link-alt small"></i></a></div></div>'),m=ia.activeWebMapId||a.activeWebMapId||b("#editReportWebMapId").val();l=a.util.replaceAll(l,[e,h,m,m,"Data Store"==f?"Data Catalog":f]),a.showPopupScriptDialog(a.util.replaceAll(a.getText("SourceDataDetailsDialog.Title",'Data Source | <strong class="feature-service-name">{0}</strong> | Details'),[h]),l,{type:k,buttons:"ok",marginLeft:"7em",shown:function(c){if(b(c.target).find(".part-of-section").css("display",g?"":"none"),0==f.indexOf("Feature")){var h=ia.matchesToken(e)?"&token="+a.getToken():"";b.getJSON(e+"?f=json"+h+"&_t="+(new Date).getTime(),function(a){a&&a.name&&b(c.target).find(".feature-service-name").text(a.name),a&&a.type&&(b(c.target).find(".feature-service-type").text(a.type),"feature layer"==a.type.toLowerCase()&&(b(c.target).find(".dataset-icon").children().remove(),b(c.target).find(".dataset-icon").append(j)))})}g&&b.getJSON(a.applicationDomain+"/sharing/rest/content/items/"+m+"?f=json&token="+a.getToken(),function(a){a&&a.title&&b(c.target).find(".web-map-name").text(a.title)}),b.getJSON(a.applicationDomain+"/sharing/rest/search?q="+encodeURIComponent(d)+"&num=1&start=1&f=json&token="+a.getToken(),function(d){d&&d.results&&d.results[0]&&("CSV"==f?(b(c.target).find(".feature-service-link").attr("href","https://www.arcgis.com/home/item.html?id="+d.results[0].id),b(c.target).find(".feature-service-name").text(d.results[0].title)):b(c.target).find(".feature-service-item").append(" ( "+a.getText("SourceDataDetailsDialog.InLabel","in")+' <a href="https://www.arcgis.com/home/item.html?id='+d.results[0].id+'" target="_blank">'+d.results[0].title+' <i class="fas fa-external-link-alt small"></i></a> )'))})}})}).tooltip({container:"body"})),e=d.find('.widgetIndicators[data-uuid^="data-store-"]'),d.find('.btn[data-iao-ui-action="import-data-ARCGISONLINEDATASTORE"]').prop("disabled",e.length>0),1==e.length&&a.metadataExplorerUrl&&e.find(".metadata-explorer").length<1&&(e.find(".igroup-name .modelControls").length<1&&e.children(".igroup-name").append('<span class="modelControls"></span>'),e.children(".igroup-name").children(".modelControls").append('<a href="#explorer" class="nodef metadata-explorer" title="'+a.util.replaceAll(a.getText("DataCatalogExplorerLink.ToolTip","Explore the data available in {0}"),[e.children(".igroup-name").find(".igroup-name-text").text()])+'">'+a.getText("DataCatalogExplorerLink.Text",'<i class="fas fa-fw fa-search"></i>')+"</a>"),e.find(".metadata-explorer").on("click",function(c){c.preventDefault();var d=a.metadataExplorerUrl+"?metadataUrl="+encodeURIComponent(b(this).parents(".data-tree-container").data("metadata-url")||a.metadataUrl)+"&mastertableUrl="+encodeURIComponent(b(this).parents(".widgetIndicators").data("src-url").split(";")[0]),e=window.open(d,"iaoDataStoreExplorer");e&&e.focus()}).tooltip({container:"body"}))},ia.popIndicatorAliasEditor=function(c,d){c.preventDefault(),b("#aliasHoverEditor").css("display","none");var e=b(c.target).parents("li").eq(0),f=e.children(".i-name").length>0?e.children(".i-name"):e.find(".i-name").eq(0),g=b.trim(f.text()),h=b.trim(f.siblings(".i-date").length>0?f.siblings(".i-date").text():""),i=b("#indicatorHoverEditor"),j=e.attr("data-ind-date")&&0==e.attr("data-ind-date").indexOf("#IAO-LATEST:")||e.parent().hasClass("igroup-associates"),k=e.attr("data-ind-args").split("|")[1];if(i.length<1){var l='<div id="indicatorHoverEditor" class="abs form-inline popupEditor"><span class="i-name"></span><span class="i-date"></span><input id="indicatorHoverEditor_Name" type="text" size="20" class="form-control" />&nbsp;<input id="indicatorHoverEditor_Date" type="text" size="10" class="form-control" />&nbsp;<select id="indicatorHoverEditor_Type" class="form-control">'+(!d||d.dataTypeStyle&&"full"==d.dataTypeStyle.toLowerCase()?'<option value="categoric">categoric</option><option value="count">count</option><option value="ratio">ratio</option>':'<option value="categoric">categoric</option><option value="numeric">numeric</option>')+'</select>&nbsp;<a href="#" id="indicatorHoverEditor_Apply" class="'+a.iconCssClasses.getCssAttribute("icon,save,iconBig")+' nodef">&nbsp;</a><a href="#" id="indicatorHoverEditor_Cancel" class="'+a.iconCssClasses.getCssAttribute("icon,close,iconBig")+' nodef">&nbsp;</a></div>';b("body").append(l),b("#indicatorHoverEditor_Name").prop("title",a.getText("DesignPagePopupEditorNameField.ToolTip","Indicator Name")),b("#indicatorHoverEditor_Date").prop("title",a.getText("DesignPagePopupEditorDateField.ToolTip","Indicator Date")),b("#indicatorHoverEditor_Apply").prop("title",a.getText("DesignPagePopupEditorApplyButton.ToolTip","Save these changes")),b("#indicatorHoverEditor_Type").prop("title",a.getText("DesignPagePopupEditorTypeField.ToolTip","Indicator Data Type")),b("#indicatorHoverEditor_Cancel").prop("title",a.getText("DesignPagePopupEditorCancelButton.ToolTip","Cancel")),b("#indicatorHoverEditor_Cancel").off("click").on("click",function(a){return b("#indicatorHoverEditor").fadeOut("fast",function(){b("body").append(b("#indicatorHoverEditor"))}),a.preventDefault(),!1}),b("#indicatorHoverEditor input").keypress(function(a){13==a.keyCode&&b("#indicatorHoverEditor_Apply").trigger("click")}),b("#indicatorHoverEditor input,#indicatorHoverEditor select,#indicatorHoverEditor a").tooltip({placement:"auto bottom",trigger:"hover",container:"body"})}return i=b("#indicatorHoverEditor"),b("#indicatorHoverEditor_Name").val(g),b("#indicatorHoverEditor_Date").prop("disabled",j).val(h),k&&b("#indicatorHoverEditor_Type").val(k.toLowerCase()),i.css("left","0px").css("top","1px"),e.append(i),a.util.bringToFront(i),i.css("display","block").css("width","0.1%").animate({width:"100%"},"fast",function(){b("#indicatorHoverEditor input").eq(0).focus(),d&&d.shown&&d.shown(e,b("#indicatorHoverEditor"))}),b("#indicatorHoverEditor_Apply").off("click").one("click",function(a){g=b("#indicatorHoverEditor_Name").val(),h=b("#indicatorHoverEditor_Date").val(),k=b("#indicatorHoverEditor_Type").val(),b("#indicatorHoverEditor_Apply").addClass("fa-cog").addClass("fa-spin").removeClass("fa-save");var c=e.parents('div[id*="igroup"]').find('input[id*="dataSourceArgs_"]').val();return c=c?c.split(";")[0]:"",d&&d.commitChange&&d.commitChange(c,g,h,k,e,b("#indicatorHoverEditor"))&&(b("#indicatorHoverEditor_Apply").addClass("fa-save").removeClass("fa-cog").removeClass("fa-spin"),b("#indicatorHoverEditor").fadeOut("fast",function(){b("body").append(b("#indicatorHoverEditor"))})),a.preventDefault(),!1}),d&&d.cancelChange&&b("#indicatorHoverEditor_Cancel").one("click",function(){d.cancelChange(e,i)}),d&&d.shown&&d.shown(e,b("#indicatorHoverEditor")),!1},ia.popAliasEditor=function(c,d){c.preventDefault(),b("#indicatorHoverEditor").css("display","none");var e=b(c.target).parents('*[class*="-name"]').eq(0);(!e||e.length<1)&&(e=b(c.target).parents("li").eq(0));var f=b.trim(e.children(".i-name").length>0?e.children(".i-name").eq(0).text():e.find(".igroup-name-text").length>0?e.find(".igroup-name-text").eq(0).text():e.children(".igroup-name").length>0?e.children(".igroup-name").eq(0).text():e.text());if(b("#aliasHoverEditor").length<1){var g='<div id="aliasHoverEditor" class="abs form-inline popupEditor"><span class="i-name"></span><span class="i-date"></span><input id="aliasHoverEditor_Name" type="text" size="20" class="form-control" />&nbsp;<a href="#" id="aliasHoverEditor_Apply" class="'+a.iconCssClasses.getCssAttribute("icon,save,iconBig")+' nodef">&nbsp;</a><a href="#" id="aliasHoverEditor_Cancel" class="'+a.iconCssClasses.getCssAttribute("icon,close,iconBig")+' nodef">&nbsp;</a></div>';b("body").append(g),b("#aliasHoverEditor_Name").prop("title",a.getText("DesignPagePopupEditorAliasField.ToolTip","Name")),b("#aliasHoverEditor_Apply").prop("title",a.getText("DesignPagePopupEditorApplyButton.ToolTip","Save these changes")),b("#aliasHoverEditor_Cancel").prop("title",a.getText("DesignPagePopupEditorCancelButton.ToolTip","Cancel")),b("#aliasHoverEditor_Cancel").off("click").on("click",function(a){return b("#aliasHoverEditor").fadeOut("fast",function(){b("body").append(b("#aliasHoverEditor"))}),a.preventDefault(),!1}),b("#aliasHoverEditor input").keypress(function(a){13==a.keyCode&&b("#aliasHoverEditor_Apply").trigger("click")}),b("#aliasHoverEditor input,#aliasHoverEditor select,#aliasHoverEditor a").tooltip({placement:"auto bottom",trigger:"hover",container:"body"})}var h=b("#aliasHoverEditor");return b("#aliasHoverEditor_Name").val(f),h.css("left","0px").css("top","1px"),e.append(h),a.util.bringToFront(h),h.show("fast",function(){b("#aliasHoverEditor input").eq(0).focus()}),b("#aliasHoverEditor_Apply").off("click").one("click",function(a){f=b("#aliasHoverEditor_Name").val(),b("#aliasHoverEditor_Apply").addClass("fa-cog").addClass("fa-spin").removeClass("fa-save");var c=e.parents('div[id*="igroup"]').find('input[id*="dataSourceArgs_"]').val();return c&&(c=c.split(";")[0]),d.commitChange&&d.commitChange(c,f,e,h)?b("#aliasHoverEditor_Apply").addClass("fa-save").removeClass("fa-cog").removeClass("fa-spin"):e.updateData("ind-name",f).children(".i-name").text(f),h.fadeOut("fast",function(){b("body").append(b("#aliasHoverEditor"))}),a.preventDefault(),!1}),b(document).one("click",function(a){var c=a.target;b(c).parents('*[id="aliasHoverEditor"]').length<1&&b("#aliasHoverEditor").fadeOut("fast",function(){b("body").append(b("#aliasHoverEditor"))})}),!1},ia.popNewDataDialog=function(c,d){function e(c,d,e){var f=t.data("geo-type-id");if(t.data("geo-type-subset-id"),f){var h=t.find(".search-panel");a.showMask(h),e.empty();var i=ia.dataStoreUrls.core+"indicator/search/?q="+encodeURIComponent(c)+"&g="+encodeURIComponent(f.toString());b.ajax({url:i,dataType:"json"}).done(function(c){if(c.results){for(var f=c.results,i=0;i<Math.min(f.length,d);i++)e.append('<li class="ds-indicator" data-indicator-id="'+f[i].id+'"><input type="checkbox" id="iaoDataStore_'+f[i].id+'_searched" value="'+f[i].id+'" data-ui-action="indicator-option" data-ind-data-type="'+f[i].dataType+'" /><label for="iaoDataStore_'+f[i].id+'_searched" class="i-name">'+(f[i].name?f[i].name:f[i].id)+'</label>&nbsp;<a href="#metadata:'+f[i].id+'" data-ui-action="metadata" class="nodef hover-opaque"><span class="sr-only">metadata</span><i class="fas fa-fw fa-info-circle"></i></a></li>');e.find('li a[href^="#metadata"]').on("click",function(a){a.preventDefault();var c=b(this).attr("href").split(":")[1];c&&g(b(this),c)})}a.hideMask(h)}).fail(function(b,c,d){if(a.hideMask(h),console.log("Error searching indicators from "+i+" - "+c+", "+d+", "+b.status),a.onError)a.onError("Error fetching themes from "+i+" - "+c+", "+d+", "+b.status);else{var e=a.getText("DataCatalogConnectionFailDialog.Title","Data Catalog Error"),f=a.getText("DataCatalogConnectionFailDialog.MessageFormat",'<p>InstantAtlas could not connect to the Data Catalog at {0}. The error message was <strong>{1}</strong>.</p><p>Often errors like this are caused by temporary network issues. Please try again.</p><p><span class="small">If this problem persists please contact <a href="mailto:support@instantatlas.com?subject=DataStore%20Error&amp;body={2}">support@instantatlas.com</a> with details of the problem.</p>'),g=[thmUrl,b.status,c,d].join(", ");a.showPopupScriptDialog(e,a.util.replaceAll(f,[ia.dataStoreUrls.core,c,encodeURIComponent(g)]),{modal:!0,buttons:"ok",type:"error",focus:"ok"})}})}}function g(c,d,e){function f(d,e){if(d&&d.items){var f='<div class="metadata-container"><table class="metadata-table"><thead><tr class="silent-header"><th>Name</th><th>Value</th></tr></thead><tbody>';for(var g in d.items)f+="<tr><td>"+(d.items[g].name.indexOf(":")>0?d.items[g].name.split(":")[1]:d.items[g].name).replace(/([A-Z])/g," $1")+"</td><td>",f+=0==d.items[g].value.indexOf("http:")||0==d.items[g].value.indexOf("https:")?'<a href="'+d.items[g].value+'" target="_blank">'+d.items[g].value+' <i class="fas fa-external-link-alt"></i></a>':d.items[g].value,f+="</td></tr>";e&&e.length>0&&(f+="<tr><td>"+a.getText("MetadataAvailableDatesLabel.Text","Available Dates")+"</td><td>",f+=e.join(", "),f+="</td></tr>"),f+="</tbody></table></div>";var h=c.siblings("label").text(),i=c.parents(".modal-dialog"),j=c.data("placement")?c.data("placement"):"auto bottom";c.popover({title:h,content:f,html:!0,placement:j,trigger:"click",container:i,viewport:i,template:'<div class="popover popover-wide" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content" style="padding: 1px;"></div></div>'}),c.on("shown.bs.popover",function(){b("body").one("click",function(){c.popover("hide")})}),c.data("popover-bound",!0),c.popover("show")}}var g=(new Date).getTime(),h=ia.dataStoreUrls.core+"indicator/"+encodeURIComponent(d)+"/metadata/?_t="+g;return c.data("popover-bound")?void c.popover("show"):void b.ajax({url:h,dataType:"json"}).done(function(a){e?(h=ia.dataStoreUrls.core+"indicator/"+encodeURIComponent(d)+"/instances/"+encodeURIComponent(e)+"/?_t="+g,b.ajax({url:h,dataType:"json"}).done(function(b){var c=[];if(b&&b.items&&b.items.length>0)for(var d in b.items)c.push(b.items[d].date);f(a,c)}).fail(function(b,c,e){console.log("Error fetching data store dates/metadata for "+d+": "+b.status+", "+c+", "+e),f(a)})):f(a)}).fail(function(a,b,e){console.log("Error fetching data store metadata for "+d+": "+a.status+", "+b+", "+e),c.remove()})}function h(c){var d=a.getText("DataCatalogCoreGeoDialog.MessageFormat","<p>Which core geo-data do you think your data matches?</p>");c&&c.items&&c.items.length>0&&(d=a.getText("DataCatalogCoreGeoDialog.PreMatchedGeos.MessageFormat","<p>Which core geo-data do you think your data matches? </p>")),a.hideMask(ia.trees.source),ia.showWebItemChooserDialog(t.find('input[id$="geoItem"]'),"",{title:a.getText("DataCatalogCoreGeoDialog.Title",'<i class="fas fa-globe-africa">&nbsp;</i>InstantAtlas Data Catalog - Choose Geography...'),message:d,listCssClass:"mapList",iconCssClass:"alignCenter thumbnail-holder",iconHtml:'<i class="iao-icon fa fa-fw fa-globe fa-3x"></i>',itemCssClass:"dataset square",filterVisibleOnly:!0,sort:"name-asc",propertyMaps:{ssuid:"subset-id",subsetId:"subset-id"},items:function(a){var c=a.done||a.success;b.ajax({url:ia.dataStoreUrls.core+"geography/list/",dataType:"json"}).done(function(a){c(a)})},done:function(d){c&&c.items&&c.items.length>0&&d.find('*[data-ui-action="find-geo-data"]').off("click").on("click",function(e){a.showMask(d),b(this).tooltip("hide");var f=ia.dataStoreUrls.core+"geography/"+c.items[0].id+"/match/exact";b.ajax({url:f,type:"POST",data:JSON.stringify({featureIds:c.featureIds}),dataType:"json",contentType:"application/json"}).done(function(b){if(a.hideMask(d),b.items&&b.items.length>0){var e=b.items[0].puid?b.items[0].puid:b.items[0].parentId,f=b.items[0].uid?b.items[0].uid:b.items[0].id,g=d.find('.webItem[data-item-id="'+e+'"][data-item-subset-id="'+f+'"]');1==g.length?(d.find('input[data-task="filter"]').val("").trigger("input"),d.find(".arcItemSelected").removeClass(".arcItemSelected"),g.addClass("arcItemSelected").triggerHandler("click"),g[0].scrollIntoView()):a.showPopupScriptDialog(a.getText("NoSubsetsMatchDialog.Title","Cannot Find Data"),a.util.replaceAll(a.getText("NoSubsetsMatchDialog.MessageFormat","Sorry, InstantAtlas cannot find any core data that exactly matches your map data. The most likely matches are those called <strong>{0}</strong> - do you want InstantAtlas to thin out the list to show only these data?"),[c.items[0].name]),{modal:!0,type:"warning",buttons:"yesno",yes:function(){d.find('input[data-task="filter"]').val(c.items[0].name).trigger("input")}})}else a.showPopupScriptDialog(a.getText("NoSubsetsMatchDialog.Title","Cannot Find Data"),a.util.replaceAll(a.getText("NoSubsetsMatchDialog.MessageFormat","Sorry, InstantAtlas cannot find any core data that exactly matches your map data. The most likely matches are those called <strong>{0}</strong> - do you want InstantAtlas to thin out the list to show only these data?"),[c.items[0].name]),{modal:!0,type:"warning",buttons:"yesno",yes:function(){d.find('input[data-task="filter"]').val(c.items[0].name).trigger("change")}})}).fail(function(b,c,e){a.hideMask(d),console.log("Error fetching subsets from "+f+" - "+c+", "+e+", "+b.status),a.onError&&a.onError("Error fetching subsets from "+f+" - "+c+", "+e+", "+b.status)}),e.preventDefault()}).tooltip({container:"body"})},chosen:function(c){t.data("geo-type-id",c.itemId),c.subsetId=c.src.data("item-subset-id"),t.data("geo-type-subset-id",c.subsetId),t.data("geo-type-name",c.itemName),a.showPageMask(a.getText("DataCatalogCoreGeoDialog.ProgressText","Validating geo-data. Please wait..."));var d=null,e=!1;if(sessionStorage.getItem("iaoDataModelCurrent"+ia.storageKeySuffix)){var f=sessionStorage.getItem("iaoDataModelCurrent"+ia.storageKeySuffix);ia.compressor&&f&&"["!=f.substring(0,1)&&"{"!=f.substring(0,1)&&(f=ia.compressor.decompressFromUTF16(f));var g=JSON.parse(f);p=g.geographies[0].url,d=g.geographies[0].idField,(p.toLowerCase().indexOf("/featureserver/")>0||p.toLowerCase().indexOf("/mapserver/")>0)&&p.toLowerCase().indexOf("/query")<0&&(p=p.split("?")[0]+"/query"+(p.split("?").length>1?"/"+p.split("?")[1]:""),e=!0)}else{var f=ia.storageProvider.getItem("iaoIndicatorSources"+ia.storageKeySuffix);ia.compressor&&f&&"["!=f.substring(0,1)&&"{"!=f.substring(0,1)&&(f=ia.compressor.decompressFromUTF16(f));var h=JSON.parse(f);p=h[0].Url?h[0].Url:h[0].url;var i=h[0].Parameters?h[0].Parameters:h[0].parameters;if(i&&(i=a.parseQueryString(i,"&"),d=i.idField,i.src&&p.indexOf("arcgis.com")>0)){var j=i.src.split("?");p=j[0]+"/query"+(j.length>1?"?"+j[1]:""),e=!0}}if(ia.trees&&ia.trees.target&&ia.trees.target.find('span[id$="_model_idField"]').length>0){var k=ia.trees.target.find('span[id$="_model_idField"]').data("src-field");k||(k=b.trim(ia.trees.target.find('span[id$="_model_idField"] > span').text())),d=k}var l=a.getToken()?a.getToken():sessionStorage.getItem("iaoSasToken");l&&"?"==l.substring(0,1)&&p.indexOf("?")>0&&(l=l.substring(1)),e&&(l="token="+l),R({source:p,sourceType:e?"arcgis":"geojson",target:ia.dataStoreUrls.core+"geography/"+c.itemId+(c.subsetId?"/subset/"+c.subsetId:"")+"/features/",targetType:"DataStoreCore",idField:d,maxMissing:.95,done:function(b){a.hidePageMask();var d,e,f=a.getText("DataCatalogCoreGeoDialog.ConfirmMatchDialog.Title","Confirm geo-match?");if(b&&b.status&&"nomatch"!=b.status.toLowerCase()){if(b){var g=(ia.mode&&("azure"==ia.mode.toLowerCase()||"iao"==ia.mode.toLowerCase()),100);b.sourceCount&&b.matchedCount&&(g=100*b.matchedCount/b.sourceCount,80>g&&(d=a.getText("PartialMatchDataStoreCoreGeoDialog.MessageFormat","Are you sure your data matches the core geo-dataset <strong>{0}</strong>? InstantAtlas could only match {3}% of your {2} map features against this geo-dataset."),d=a.util.replaceAll(d,[c.itemName,b.matchedCount,b.sourceCount,Math.round(g).toFixed(0)]),e="warning"))}}else d=a.getText("NoMatchDataStoreCoreGeoDialog.MessageFormat","Are you sure your data matches the core geo-dataset <strong>{0}</strong>? InstantAtlas could only match {1} of your {2} map features against this geo-dataset."),d=a.util.replaceAll(d,[c.itemName,b.matchedCount,b.sourceCount]),e="warning";d?a.showPopupScriptDialog(f,d,{modal:!0,type:e,buttons:"yesnocancel",yes:function(){a.showPopupDialog(t,{modal:!0})},no:function(){t.removeData("geo-type-id"),t.removeData("geo-type-subset-id"),t.removeData("geo-type-name"),t.modal("hide"),
ia.popNewDataDialog("DATASTORECORE")},cancel:function(){t.removeData("geo-type-id"),t.removeData("geo-type-subset-id"),t.removeData("geo-type-name"),t.modal("hide")}}):a.showPopupDialog(t,{modal:!0})},token:l,fail:function(b){var c=a.getText("DataCatalogMatchFailDialog.Title","Data Catalog Geo-Matching Error"),d=a.getText("DataCatalogMatchFailDialog.MessageFormat",'<p>InstantAtlas encountered a problem when matching Data Catalog geo-data. The error message was <strong>{1}</strong> (at {0}).</p><p>Often errors like this are caused by temporary network issues. Please try again.</p><p><span class="small">If this problem persists please contact <a href="mailto:support@instantatlas.com?subject=DataStore%20Error&amp;body={2}">support@instantatlas.com</a> with details of the problem.</p>');a.showPopupScriptDialog(c,a.util.replaceAll(d,[b.url,b.message,b.status]),{modal:!0,buttons:"ok",type:"error",focus:"ok"})}})}})}function i(){var b=t.data("geo-type-id");b?a.showPopupDialog(t,{modal:!0}):E({dialog:null,done:h})}if("IAS"==c.toUpperCase()){var j=b("#iasDataConnectionPopup"),k=j.data("step"),l=1;j.find(".wiz-steps").removeClass("wiz-at-step-"+k).addClass("wiz-at-step-"+l),j.data("step",l),j.find(".backButton").prop("disabled",2>l),j.find(".nextButton").prop("disabled",!1).css("display",""),j.find(".finishButton").css("display","none"),j.find(".progressIcon").hide(),j.modal({show:!0})}else if("IAXML"==c.toUpperCase()){var m=b("#iaoDataXmlPopup"),k=m.data("step"),l=1;m.find(".wiz-steps").removeClass("wiz-at-step-"+k).addClass("wiz-at-step-"+l),m.data("step",l),m.find(".backButton").prop("disabled",2>l),m.find(".nextButton").prop("disabled",!0).removeClass("btn-primary").css("display",""),m.find('.btn[data-task="choose"]').addClass("btn-primary"),m.find(".finishButton").css("display","none"),m.find(".progressIcon").hide(),m.find(".hostsMessage").css("display",ia.importHosts&&ia.importHosts.length>0&&G("useProxy")?"":"none"),m.find(".hostsList").text(ia.importHosts&&ia.importHosts.length>0?ia.importHosts.join(", "):""),m.find('input[id$="UrlBox"]').off("input").on("input",function(){var a=b(this).val(),c=b(this).parents(".modal"),d=a&&""!=a&&I(a);b(this).toggleClass("url-invalid",!d),c.find(".nextButton").prop("disabled",!d),d?(c.find(".nextButton").addClass("btn-primary"),c.find('.btn[data-task="choose"]').removeClass("btn-primary")):(c.find(".nextButton").removeClass("btn-primary"),c.find('.btn[data-task="choose"]').addClass("btn-primary"))}),m.one("shown.bs.modal",function(){m.find('input[id$="UrlBox"]').trigger("input").focus()}),m.modal({show:!0})}else if("CSV"==c.toUpperCase()||"ARCTABLE"==c.toUpperCase()||"ARC_TABLE"==c.toUpperCase()||"ARCGISONLINEDATASTORE"==c.toUpperCase()){var n=b("CSV"==c.toUpperCase()?"#iaoDataCsvPopup":"#iaoDataArcTablePopup");!ia.mode||"EmbeddedIAO"!=ia.mode.toUpperCase()&&"AZURE"!=ia.mode.toUpperCase()?n.find(".azure-content").css("display","none"):n.find(".arc-content").css("display","none"),n.data("targetFormat",c.toUpperCase()),n.find(".table-specific").css("display","ARCGISONLINEDATASTORE"==c.toUpperCase()?"none":""),n.find(".store-specific").css("display","ARCGISONLINEDATASTORE"!=c.toUpperCase()?"none":"");var k=n.data("step"),l=1;n.find(".wiz-steps").removeClass("wiz-at-step-"+k).addClass("wiz-at-step-"+l),n.data("step",l),n.find(".backButton").prop("disabled",2>l),n.find(".nextButton").prop("disabled",!0).removeClass("btn-primary").css("display",""),n.find('.btn[data-task="choose"]').addClass("btn-primary"),n.find(".finishButton").css("display","none"),n.find(".progressIcon").hide(),n.find(".hostsMessage").css("display",ia.importHosts&&ia.importHosts.length>0&&G("useProxy")?"":"none"),n.find(".hostsList").text(ia.importHosts&&ia.importHosts.length>0?ia.importHosts.join(", "):"");var o=V(),p=o&&o.iaoMasterDataSet?a.parseQueryString(o.iaoMasterDataSet.Parameters,"&"):null,q=!p||!p.idField||ia.trees&&ia.trees.target?ia.dataModel&&ia.dataModel.idField?ia.dataModel.idField:ia.trees.target.find('*[id$="model_idField"]').text():p.idField;n.find(".idFieldName").text(q),n.find('input[id$="UrlBox"]').off("input").on("input",function(){var c=b(this).val(),d=b(this).parents(".modal"),e=!ia.mode||"EmbeddedIAO"!=ia.mode.toUpperCase()&&"AZURE"!=ia.mode.toUpperCase()?I(c):!0,f=c&&""!=c&&e;if(b(this).toggleClass("url-invalid",!f),d.find(".nextButton").prop("disabled",!f),f){d.find(".nextButton").addClass("btn-primary"),d.find('.btn[data-task="choose"]').removeClass("btn-primary");var g=b(this).data("arc-item-name");d.find(".selected-file").text(g?g:c.substring(c.lastIndexOf("/")+1))}else d.find(".nextButton").removeClass("btn-primary"),d.find('.btn[data-task="choose"]').addClass("btn-primary"),d.find(".selected-file").text(a.getText("NoFileSelected.Text","No file selected"))}).on("keydown keypress keyup",function(a){if(13==a.which){a.preventDefault();var c=b(this).parents(".modal");c.find(".nextButton.btn-primary").focus()}}),n.one("shown.bs.modal",function(){n.find('input[id$="UrlBox"]').trigger("input").focus()}),n.modal({show:!0})}else if("JSON"==c.toUpperCase()){var r=b("#iaoDataJsonPopup"),k=r.data("step"),l=1;r.find(".wiz-steps").removeClass("wiz-at-step-"+k).addClass("wiz-at-step-"+l),r.data("step",l),r.find(".backButton").prop("disabled",2>l),r.find(".nextButton").prop("disabled",!0).removeClass("btn-primary").css("display",""),r.find('.btn[data-task="choose"]').addClass("btn-primary"),r.find(".finishButton").css("display","none"),r.find(".progressIcon").hide(),r.find(".hostsMessage").css("display",ia.importHosts&&ia.importHosts.length>0?"":"none"),r.find(".hostsList").text(ia.importHosts&&ia.importHosts.length>0?ia.importHosts.join(", "):""),r.find('input[id$="UrlBox"]').off("input").on("input",function(){var a=b(this).val(),c=b(this).parents(".modal"),d=a&&""!=a&&I(a);b(this).toggleClass("url-invalid",!d),c.find(".nextButton").prop("disabled",!d),d?(c.find(".nextButton").addClass("btn-primary"),c.find('.btn[data-task="choose"]').removeClass("btn-primary")):(c.find(".nextButton").removeClass("btn-primary"),c.find('.btn[data-task="choose"]').addClass("btn-primary"))}),r.one("shown.bs.modal",function(){r.find('input[id$="UrlBox"]').trigger("input").focus()}),r.modal({show:!0})}else if("ARCGIS"==c.toUpperCase()){var s=b("#iaoDataFeatureServerPopup"),k=s.data("step"),l=1;s.find(".wiz-steps").removeClass("wiz-at-step-"+k).addClass("wiz-at-step-"+l),s.data("step",l),s.find(".backButton").prop("disabled",2>l),s.find(".nextButton").prop("disabled",!1).css("display",""),s.find(".finishButton").css("display","none"),s.find(".progressIcon").hide();var o=V(),p=o&&o.iaoMasterDataSet?a.parseQueryString(o.iaoMasterDataSet.Parameters,"&"):null,q=!p||!p.idField||ia.trees&&ia.trees.target?ia.dataModel&&ia.dataModel.idField?ia.dataModel.idField:ia.trees.target.find('*[id$="model_idField"]').text():p.idField;s.find(".idFieldName").text(q),s.find('input[id$="UrlBox"]').off("input").on("input",function(){var c=b(this).val(),d=b(this).parents(".modal"),e=!ia.mode||"EmbeddedIAO"!=ia.mode.toUpperCase()&&"AZURE"!=ia.mode.toUpperCase()?I(c):!0,f=c&&""!=c&&e;if(b(this).toggleClass("url-invalid",!f),d.find(".nextButton").prop("disabled",!f),f){d.find(".nextButton").addClass("btn-primary"),d.find('.btn[data-task="choose"]').removeClass("btn-primary");var g=b(this).data("arc-item-name");d.find(".selected-file").text(g?g:c.substring(c.lastIndexOf("/")+1))}else d.find(".nextButton").removeClass("btn-primary"),d.find('.btn[data-task="choose"]').addClass("btn-primary"),d.find(".selected-file").text(a.getText("NoFileSelected.Text","No file selected"))}).on("keydown keypress keyup",function(a){if(13==a.which){a.preventDefault();var c=b(this).parents(".modal");c.find(".nextButton.btn-primary").focus()}}),s.one("shown.bs.modal",function(){s.find('input[id$="UrlBox"]').trigger("input").focus()}),s.modal({show:!0})}else if("DATASTORECORE"==c.toUpperCase()){var t=b("#iaoDataStoreCorePopup"),v=b("#iaoDataStoreCoreGeoPopup");if(ia.dataStoreUrls&&ia.dataStoreUrls.core){a.showMask(ia.trees.source,null,null,a.getText("DataCatalogInitialCall.ProgressText","Contacting data store. Please wait...")),t.data("events-bound")||(t.on("shown.bs.modal",function(){a.hideMask(ia.trees.source);var c=t.find(".themes-list"),d=t.data("geo-type-id"),e=t.data("geo-type-subset-id"),f=t.find(".explorer-panel");a.showMask(f),c.empty();var h=ia.dataStoreUrls.core+"theme/list/"+(d?"NoFilter/?g="+encodeURIComponent(d):"")+(e?"&s="+encodeURIComponent(e):"");b.ajax({url:h,dataType:"json"}).done(function(h){function i(c,h){if(!h.data("indicators-populated")&&!h.data("indicators-populating")){h.data("indicators-populating",!0);var i=ia.dataStoreUrls.core+"theme/"+c.data("theme-id")+"/indicators/"+(d?"?g="+encodeURIComponent(d):"")+(e?"&s="+encodeURIComponent(e):"");return b.ajax({url:i,dataType:"json"}).done(function(a){for(var e in a.items)h.append('<li class="ds-indicator" data-indicator-id="'+a.items[e].id+'"><input type="checkbox" id="iaoDataStore_'+a.items[e].uid+'" value="'+a.items[e].id+'" data-ui-action="indicator-option" data-ind-data-type="'+a.items[e].dataType+'" /><label for="iaoDataStore_'+a.items[e].uid+'" class="i-name" data-toggle="tooltip"'+(a.items[e].name?' title="'+a.items[e].name+'"':"")+">"+(a.items[e].name?a.items[e].name:a.items[e].uid)+'</label>&nbsp;<a href="#metadata:'+a.items[e].id+":"+d+'" data-ui-action="metadata" class="nodef hover-opaque"><span class="sr-only">metadata</span><i class="fas fa-fw fa-info-circle"></i></a></li>');h.data("indicators-populated",!0),c.addClass("indicators-populated"),c.children(".igroup-name").children('input[data-ui-task="change-children"]').prop("disabled",!h.data("indicators-populated")),h.find('label[data-toggle="tooltip"][title][title!=""]').tooltip({container:"body"}),h.find('li a[href^="#metadata"]').on("click",function(a){a.preventDefault();var c=b(this).attr("href").split(":")[1],d=b(this).attr("href").split(":")[2];c&&g(b(this),c,d)}),h.data("indicators-populating",!1)}).fail(function(b,c,d){a.hideMask(f),console.log("Error fetching indicators from "+i+" - "+c+", "+d+", "+b.status),a.onError&&a.onError("Error fetching indicators from "+i+" - "+c+", "+d+", "+b.status),h.data("indicators-populating",!1)})}}for(var j in h.rootNodes)F(h.rootNodes[j],c,{});u(c,"iaoCore__",function(a){var b=a.target,c=b.parents(".widgetIndicators").last();c.children(".igroup-name").children('input[data-ui-task="change-children"]').prop("disabled",!b.data("indicators-populated")),"open"==a.state&&i(c,b)});var k=c.siblings(".igroup-name");k.children().remove(),k.append("<span>"+t.data("geo-type-name")+"</span>"),k.append('<a href="#change" title="'+a.getText("DataCatalogCoreDialogChangeGeoButton.Tooltip","Choose a different Geography")+'"><span class="sr-only">change geography</span><i class="fas fa-fw fa-exchange-alt"></i></a>'),k.find('a[href="#change"]').on("click",function(a){t.removeData("geo-type-id"),t.removeData("geo-type-subset-id"),t.removeData("geo-type-name"),t.modal("hide"),a.preventDefault(),ia.popNewDataDialog("DATASTORECORE",{geoOverride:!0})}).tooltip({container:"body"}),c.find(".igroup-name > a").trigger("click"),c.find(".igroup-name").each(function(){var a=b(this).parent().data("theme-id");b(this).prepend('<input type="checkbox" id="all_items_select_'+a+'" disabled="disabled" data-ui-task="change-children" /><label for="all_items_select_'+a+'"></label>&nbsp;')}),c.find('input[data-ui-task="change-children"]').on("change click",function(){var a=b(this).is(":checked"),c=b(this).parent().parent(),d=c.find(".widgetIndicators:not(.indicators-populated)");if(d.length<1)c.find('.ds-indicator input[type="checkbox"]').prop("checked",a).trigger("change"),c.find('.widgetIndicators .igroup-name input[type="checkbox"]').prop("checked",a);else{var e=b.Deferred(),f=e.promise();d.each(function(){var a=b(this).children(".igroup-children");f=f.then(function(){var b=null,c=a.parents(".widgetIndicators").eq(0);return c.children(".igroup-name").children('input[data-ui-task="change-children"]').prop("disabled",!a.data("indicators-populated")),b=i(c,a),c.find('a[id*="-igroupToggler"]').trigger("click"),b})}),f.done(function(){c.find('.ds-indicator input[type="checkbox"]').prop("checked",a),c.find('.widgetIndicators .igroup-name input[type="checkbox"]').prop("checked",a)}),e.resolve()}});var l=c.offset().top+t.find(".modal-footer").outerHeight();c.parents(".explorerTree").css("height",Math.floor(b(window).height()-l)+"px"),t.find(".search-panel").css("height",Math.floor(b(window).height()-l)+"px").css("overflow-y","scroll"),a.hideMask(f),c.find(".igroup-name > a").eq(0).trigger("click")}).fail(function(b,c,d){if(a.hideMask(f),console.log("Error fetching themes from "+h+" - "+c+", "+d+", "+b.status),a.onError)a.onError("Error fetching themes from "+h+" - "+c+", "+d+", "+b.status);else{var e=a.getText("DataCatalogConnectionFailDialog.Title","Data Catalog Error"),g=a.getText("DataCatalogConnectionFailDialog.MessageFormat",'<p>InstantAtlas could not connect to the Data Catalog at {0}. The error message was <strong>{1}</strong>.</p><p>Often errors like this are caused by temporary network issues. Please try again.</p><p><span class="small">If this problem persists please contact <a href="mailto:support@instantatlas.com?subject=DataStore%20Error&amp;body={2}">support@instantatlas.com</a> with details of the problem.</p>'),i=[h,b.status,c,d].join(", ");a.showPopupScriptDialog(e,a.util.replaceAll(g,[ia.dataStoreUrls.core,c,encodeURIComponent(i)]),{modal:!0,buttons:"ok",type:"error",focus:"ok"})}})}),t.find('.nav-tabs li > a[href^="#"]').on("click",function(a){a.preventDefault();var c=b(this).attr("href").substring(1),d=b(this).parent(),e="."+c.toLowerCase()+"-panel",f=d.parents(".modal-body").find(".tab-content "+e);f.css("display",""),f.siblings().css("display","none"),d.siblings("li").removeClass("active"),d.toggleClass("active",!0)}),t.find('.search-panel input[data-ui-action="search"]').on("keydown keypress keyup",function(a){if("keyup"==a.type){var c=b(this).val(),d=b(this).data("timeoutId");clearTimeout(d),c&&c.length>=3&&(d=setTimeout(function(){e(c,50,t.find(".search-panel .indicators-list"))},250),b(this).data("timeoutId",d))}return 13==a.which?(a.preventDefault(),!1):void 0}),t.find('.search-panel button[data-ui-action="search"]').on("click",function(a){a.preventDefault();var b=t.find('.search-panel input[data-ui-action="search"]'),c=b.val(),d=b.data("timeoutId");clearTimeout(d),c&&c.length>=3&&(d=setTimeout(function(){e(c,50,t.find(".search-panel .indicators-list"))},25),b.data("timeoutId",d))}),t.find(".modal-footer .btn-primary").on("click",function(c){var e=t.find('input[data-ui-action="indicator-option"]:checked');if(e.length>0){var f=[],g=[];e.each(function(){f.push(b(this).val());var a=b(this).parents(".widgetIndicators").eq(0).find(".igroup-name-text").eq(0).text();g.indexOf(a)<0&&g.push(a)});var h,i,j,k,l=t.data("geo-type-id"),m=t.data("geo-type-subset-id"),n=ia.dataStoreUrls.core+"indicators/?i="+encodeURIComponent(f.join(","))+"&g="+encodeURIComponent(l)+(m?"&s="+encodeURIComponent(m):""),o="Data Catalog Indicator Set",p="DataStore",q={id:a.generateGuid(),name:o&&""!=o?o+' <span class="smallerText">('+g.join("/")+")</span>":n.split("?")[0],url:n,indicators:[],srcFormat:p,isLocked:!1};e.each(function(){i=b(this).val(),j=b(this).siblings("label").text(),k=b(this).data("ind-data-type"),h={id:"i"+i,name:j,date:"",type:k,src:{url:n,fieldName:"#DataStore:"+i,format:p}},q.indicators.push(h)});var r=ia.storageProvider.getItem("iaoIndicatorsAvailable"+ia.storageKeySuffix);ia.compressor&&r&&"["!=r.substring(0,1)&&"{"!=r.substring(0,1)&&(r=ia.compressor.decompressFromUTF16(r));var s=JSON.parse(r);if(!ia.trees||!ia.trees.source||ia.trees.source.find('div[data-ind-url="'+n+'"]').length<1){"undefined"!=typeof s.splice?s.push(q):"undefined"!=typeof s.themes&&s.themes.push(q);var r=JSON.stringify(s);ia.compressor&&(r=ia.compressor.compressToUTF16(r)),ia.setStorageItem("iaoIndicatorsAvailable"+ia.storageKeySuffix,r)}if(ia.commitInstantAtlasServerHandler&&ia.commitInstantAtlasServerHandler({url:ia.dataStoreUrls.core.indexOf("/rest")>0?ia.dataStoreUrls.core.substring(0,ia.dataStoreUrls.core.indexOf("/rest")):ia.dataStoreUrls.core,user:"anonymous",pwd:null,geoTypeId:l+(m&&""!=m?"#"+m:""),indicatorIds:f.join(","),locale:"auto",complete:function(a){a.status&&"ok"==a.status.toLowerCase()||a.success}}),"double"==ia.layout.toLowerCase()){ia.populateIndicatorTree(ia.trees.source,{indicatorItemClass:"drag-source",showSourceFieldName:!0,indicators:s?"undefined"!=typeof s.splice?s:s.themes:[],useDragAndDrop:ia.useDragAndDrop,dragSource:ia.trees.source,dropTarget:ia.trees.target.parent(),elementIdPrefix:"srcTree-",showModelLevelInfo:!1,allowAddSource:!0});var u=b(ia.trees.source).find(".widgetIndicators:not(:first):not(.add-source-btn)");U(u),d&&d.done&&d.done({target:ia.trees.source,url:n})}}c.preventDefault(),t.modal("hide")}),v.on("shown.bs.modal",function(){a.hideMask(ia.trees.source);var c=v.find(".geo-list");a.showMask(v),c.empty();var d=ia.dataStoreUrls.core+"geography/list/";b.ajax({url:d,dataType:"json"}).done(function(d){for(var e in d.items){var g='<div data-geo-id="'+(d.items[e].uid?d.items[e].uid:d.items[e].id)+'" '+(d.items[e].ssuid||d.items[e].subsetId?'data-subset-id="'+(d.items[e].ssuid?d.items[e].ssuid:d.items[e].subsetId)+'" ':"")+'class="dataset square" style="cursor: pointer;"><div class="alignCenter thumbnail-holder"><i class="iao-icon fa fa-fw fa-globe fa-3x"></i></div><div class="dsName">'+(d.items[e].name?d.items[e].name:d.items[e].uid)+"</div></div>";c.append(g)}c.offset().top+v.find(".modal-footer").outerHeight(),c.find(".dataset").on("click",function(c){t.data("geo-type-id",b(this).data("geo-id")),t.data("geo-type-subset-id",b(this).data("subset-id")),f(sessionStorage,"iaoLastGeoMatch",b(this).data("geo-id")+"|"+b(this).data("subset-id")),t.data("geo-type-name",b(this).find(".dsName").text()),a.hidePopupDialog(v),a.showPopupDialog(t,{modal:!0}),c.preventDefault()}),a.hideMask(v)}).fail(function(b,c,e){if(a.hideMask(v),console.log("Error fetching geographies from "+d+" - "+c+", "+e+", "+b.status),a.onError)a.onError("Error fetching geographies from "+d+" - "+c+", "+e+", "+b.status);else{var f=a.getText("DataCatalogConnectionFailDialog.Title","Data Catalog Error"),g=a.getText("DataCatalogConnectionFailDialog.MessageFormat",'<p>InstantAtlas could not connect to the Catalog Store at {0}. The error message was <strong>{1}</strong>.</p><p>Often errors like this are caused by temporary network issues. Please try again.</p><p><span class="small">If this problem persists please contact <a href="mailto:support@instantatlas.com?subject=DataStore%20Error&amp;body={2}">support@instantatlas.com</a> with details of the problem.</p>'),h=[d,b.status,c,e].join(", ");a.showPopupScriptDialog(f,a.util.replaceAll(g,[ia.dataStoreUrls.core,c,encodeURIComponent(h)]),{modal:!0,buttons:"ok",type:"error",focus:"ok"})}})}),t.data("events-bound",!0));var w=!1,x=null;!ia.dataStoreUrls.coreGeoId||d&&d.geoOverride?!sessionStorage.getItem("iaoLastGeoMatch")||d&&d.geoOverride||(x=sessionStorage.getItem("iaoLastGeoMatch").split("|")):x=ia.dataStoreUrls.coreGeoId.split("|"),x&&(2==x.length&&""==x[1]&&x.pop(),t.data("geo-type-id",x[0]),t.data("geo-type-subset-id",x.length>1?x[1]:""),w=!0,b.ajax({url:ia.dataStoreUrls.core+"geography/list/",dataType:"json"}).done(function(a){if(w=!1,a.items){var b,c;for(var d in a.items)if(b=a.items[d].id.toString()==x[0]||a.items[d].uid==x[0],c=x.length<2||a.items[d].subsetId&&a.items[d].subsetId.toString()==x[1]||a.items[d].ssuid&&a.items[d].ssuid==x[1],b&&c){t.data("geo-type-name",a.items[d].name),w=!0;break}}w||t.removeData("geo-type-id").removeData("geo-type-name"),i()}).fail(function(b,c,d){if(a.hideMask(v),console.log("Error fetching geographies from "+ia.dataStoreUrls.core+"geography/list/ - "+c+", "+d+", "+b.status),a.onError)a.onError("Error fetching geographies from "+ia.dataStoreUrls.core+"geography/list/ - "+c+", "+d+", "+b.status);else{var e=a.getText("DataCatalogConnectionFailDialog.Title","Data Catalog Error"),f=a.getText("DataCatalogConnectionFailDialog.MessageFormat",'<p>InstantAtlas could not connect to the Data Catalog at {0}. The error message was <strong>{1}</strong>.</p><p>Often errors like this are caused by temporary network issues. Please try again.</p><p><span class="small">If this problem persists please contact <a href="mailto:support@instantatlas.com?subject=DataStore%20Error&amp;body={2}">support@instantatlas.com</a> with details of the problem.</p>'),g=[ia.dataStoreUrls.core+"geography/list/",b.status,c,d].join(", ");a.showPopupScriptDialog(e,a.util.replaceAll(f,[ia.dataStoreUrls.core,c,encodeURIComponent(g)]),{modal:!0,buttons:"ok",type:"error",focus:"ok"})}})),w||i()}else a.showPopupScriptDialog("Configuration Error","Oops - this server is not set up properly. Please contact support@instantatlas.com and tell them. Sorry about this.",{modal:!0,type:"error",buttons:"ok"})}},ia.stepIasDataConnection=function(a,c){var d=b("#iasDataConnectionPopup");d.data("step")||d.data("step",1);var e=d.data("step"),f=Math.max(1,e+a);H(e,f,d)?(d.find(".wiz-steps").removeClass("wiz-at-step-"+e).addClass("wiz-at-step-"+f),d.data("step",f),d.find(".failure-message").css("display","none"),c&&d.find(".wiz-step").eq(f-1).find(".failure-message").css("display","")):(d.find(".progressIcon").hide(),f=e),d.find(".backButton").prop("disabled",2>f),d.find(".nextButton").css("display",f>2?"none":"").prop("disabled",!1),d.find(".finishButton").css("display",2>=f?"none":"").prop("disabled",!1)},ia.stepIaDataXmlConnection=function(a,c){var d=b("#iaoDataXmlPopup");P(a,c,d,"IAXML",ia.stepIaDataXmlConnection)},ia.stepIaDataCsvConnection=function(a,c){var d=b("#iaoDataCsvPopup");P(a,c,d,"CSV",ia.stepIaDataCsvConnection)},ia.stepIaDataArcTableConnection=function(a,c){var d=b("#iaoDataArcTablePopup");P(a,c,d,d.data("targetFormat")||"ARCTABLE",ia.stepIaDataArcTableConnection)},ia.stepIaDataJsonConnection=function(a,c){var d=b("#iaoDataJsonPopup");P(a,c,d,"JSON",ia.stepIaDataJsonConnection,N)},ia.stepIaDataFeatureServerConnection=function(a,c){var d=b("#iaoDataFeatureServerPopup");P(a,c,d,"ArcGIS",ia.stepIaDataFeatureServerConnection)},ia.checkDataSources=function(b,c,d){var e=V(),f=e&&e.iaoMasterDataSet?a.parseQueryString(e.iaoMasterDataSet.Parameters,"&"):null,g=c?c:!f||!f.idField||ia.trees&&ia.trees.target?ia.dataModel&&ia.dataModel.idField?ia.dataModel.idField:ia.trees.target.find('*[id$="model_idField"]').text():f.idField,h={};if(b.length>1){var i=b.pop(),j=function(a,c){h[a]=c,b.length>1?(i=b.pop(),T(i,f,g,e,j)):d(h)};T(i,f,g,e,j)}else d(h)},ia.validateTargetModelAgainstSources=function(c){var d=ia.trees.target.find('.igroup-children li.ind[data-ind-url!=""]');d=d.filter(function(){var a=b(this).data("ind-url").split("?")[0];a.match(/.*Server\/[0-9]+\/query/g)&&(a=a.replace("/query",""));var d=null,f=b(this).hasClass("drop-target-associate")?b(this).parent().parent().data("ind-uuid"):b(this).data("ind-uuid"),g=b(this).hasClass("drop-target-associate")?b(this).data("ind-uuid"):null,h=c&&g&&f?c.getAssociate(f,g):c&&f?c.getIndicator(f):null,i=b(this).data("ind-format");null!=h&&null!=(d=e(h,"iaoSourceType"))&&"DataStore"==d.substring(0,d.indexOf(":"))&&(a=d.substring("DataStore:".length),i="ArcGISOnlineDataStore");var j=b(this).data("ind-src");j.lastIndexOf(",")>0&&(j=j.substring(0,j.lastIndexOf(",")));var k=ia.trees.source.children(".widgetIndicators").filter('[data-src-url^="'+a+'"]'),l=!0;k.length<1&&(k=ia.trees.source.find(".widgetIndicators").filter('[data-ind-url^="'+a+'"]')),k.length<1&&(k=ia.trees.source.find(".widgetIndicators li").filter('[data-ind-url^="'+a+'"]'),l=!1);var m=(l?k.find('li[data-ind-src="'+j+'"]'):k.filter('[data-ind-src="'+j+'"]')).eq(0);if(m.length<1&&(j=b(this).data("ind-src"),m=(l?k.find('li[data-ind-src="'+j+'"]'):k.filter('[data-ind-src="'+j+'"]')).eq(0)),m.length<1){var n=new RegExp(/.*\/rest(-secure){0,1}\/data\/[a-zA-Z0-9\/]+\/csv/g);return n.test(a)&&l?!1:i&&"ARCGISONLINEDATASTORE"==i.toUpperCase()&&l?!1:!0}return!1});var f=function(){d.each(function(a,c){var d=b(c).find('*[data-iao-ui-action="remove-indicator"]').eq(0);d.trigger("click")})};if(d.length>0){d.addClass("deletion-active"),"undefined"!=typeof d[0].scrollIntoView&&d[0].scrollIntoView();var g=a.util.replaceAll(a.getText("InvalidTargetIndicatorsDialog.MessageFormat","<p>There are {0} indicators/associates in your data model which do not have a valid <em>data source</em>. This can happen when you change or update some of your source data (e.g. removing columns from a CSV file).</p><p>Do you want to remove these indicators from your data model? If you do not either remove them or update your data source your dashboard or report may show odd data.</p>"),[d.length]);a.showPopupScriptDialog(a.getText("InvalidTargetIndicatorsDialog.Title","Invalid Data Model"),g,{buttons:"yesno",yes:f,no:function(){d.removeClass("deletion-active")},cancel:function(){d.removeClass("deletion-active")},modal:!0,type:"warning",focus:"yes",resize:!1})}else f()},ia.checkRelationshipsForComparisons=function(c){var d=c.source||c.src||c.url,e="undefined"!=typeof c.anonymous?c.anonymous:!1,f="undefined"!=typeof c.container?c.container.jquery?c.container:b(c.container):b("#showComparisonsSpecificHolder"),g=c.done||c.complete;f.attr("data-input-target",c.target?c.target:"#iaoArcRelationshipsBox"),f.addClass("iao-comparison-selector-box");var h={f:"json"};e||(h.token=a.getToken()),b.ajax({url:d,method:"GET",data:h,dataType:"json",cache:!1}).done(function(i){if(i.error)return void(e||(c.anonymous=!0,498==i.error.code&&ia.checkRelationshipsForComparisons(c)));if((i.name?i.name:"?").split("_"),i.relationships){var j="",k=d.split("?")[0];k.lastIndexOf("erver/")>0&&(k=k.substring(0,k.lastIndexOf("erver/")+5)),b.ajax({url:k,method:"GET",data:h,dataType:"json",cache:!1}).always(function(c){var k={};if(c&&c.layers)for(var l in c.layers)k[c.layers[l].id]=c.layers[l].name;var m,n,o,p='<select id="iaoArcRelationshipsBox" multiple="multiple" size="5" style="display: none;">',q="";for(var l in i.relationships)m=i.relationships[l].name.split("_"),m=m.slice(0,2).join("_")+"*",j+='<li class="arc-relationship-comparison" id="arc-relationship-item-'+i.relationships[l].id+'"><input type="checkbox" class="form-control arc-relationship-box" id="geoCompFeatureBox_'+i.relationships[l].id+'_relationship" value="relationship:'+m+'" ',q+='<li class="arc-relationship" id="arc-relationship-base-item-'+i.relationships[l].id+'"><input type="checkbox" class="form-control arc-relationship-box" id="relationshipBox_'+i.relationships[l].id+'_relationship" value="'+i.relationships[l].id+'" ',p+='<option value="'+i.relationships[l].id+'">'+i.relationships[l].name+"</option>",n=("esriRelRoleDestination"==i.relationships[l].role?'checked="checked"':"")+' data-relationship-role="'+i.relationships[l].role.replace("esriRelRole","").toLowerCase()+'" /><label for="{1}'+i.relationships[l].id+'_relationship">{0} {2}</label></li>',o='<span class="fa-stack ia-layers-icon"><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i></span>'+("esriRelRoleDestination"==i.relationships[l].role?'<i class="fas fa-long-arrow-alt-right"></i>':'<i class="fas fa-long-arrow-alt-left"></i>')+'<i class="fas fa-table"></i>',i.name&&k&&"undefined"!=typeof i.relationships[l].relatedTableId&&k[i.relationships[l].relatedTableId]&&(m="esriRelRoleDestination"==i.relationships[l].role?'<span class="fa-stack ia-layers-icon"><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i></span> '+i.name+' <i class="fas fa-long-arrow-alt-right"></i> '+k[i.relationships[l].relatedTableId]+' <i class="fas fa-table"></i>':'<i class="fas fa-table"></i> '+k[i.relationships[l].relatedTableId]+' <i class="fas fa-long-arrow-alt-left"></i> '+i.name+' <span class="fa-stack ia-layers-icon"><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i></span>',o=""),j+=a.util.replaceAll(n,[m,"geoCompFeatureBox_",o]),q+=a.util.replaceAll(n,[m,"relationshipBox_",o]);""!=q&&(p='<div id="iaoArcBaseRelationships" class="arc-relationships" style="display: none;">'+p+'</select><ul class="list-unstyled">'+q+"</ul></div>",b("body").append(p),f.off("change.iao.datamanager").on("change.iao.datamanager",".arc-relationship-box",function(){var a=b(this).parents(".iao-comparison-selector-box").eq(0),c=a.find(".arc-relationship-box:checked").map(function(){return this.value}).get();b(a.attr("data-input-target")).val(c).trigger("change")}));var r=function(){g&&g({name:i.name,url:d,data:i,container:f,target:b(f.attr("data-input-target")),html:j})};""!=j&&i.serviceItemId?(h={f:"json"},e||(h.token=a.getToken()),b.ajax({url:a.applicationDomain+"/sharing/rest/content/items/"+i.serviceItemId,method:"GET",data:h,dataType:"json"}).done(function(b){b.tags&&(b.tags.indexOf("ia-item-type=CatalogFeatureService")>=0||b.tags.indexOf("ia-item-type=StoreFeatureService")>=0)&&(j='<div id="arcComparisonRelationships" class="arc-relationships">'+a.getText("ArcRelationshipsAsComparisonsLabel.Text","")+"<ul>"+j+"</ul></div>",(f.hasClass("iao-comparisons-specific-holder")?f:f.find(".iao-comparisons-specific-holder")).append(j)),r()})):r()})}}).fail(function(a,b,c){console.log("Cannot connect to layer @"+d+" :: "+b+", "+c+", "+a.status)})},ia.sendArcGisOnlineRequest=function(c){var d=c.token?{iaoArcGisOnlineToken:c.token}:V();if(c.data&&c.data.indexOf("${")>=0&&a.applicationUser&&(c.data=a.util.replaceAll(decodeURIComponent(c.data),"${user}",a.applicationUser.userName),c.data=a.util.replaceAll(decodeURIComponent(c.data),"${org}",a.applicationUser.orgId)),c.data&&c.data.indexOf("&")>=0&&a.applicationUser){var e=a.parseQueryString(c.data,"&",!0);for(var f in e)e[f]=a.util.replaceAll(e[f],"${user}",a.applicationUser.userName),e[f]=a.util.replaceAll(e[f],"${org}",a.applicationUser.orgId);c.data=a.cleanQueryString(e,null,"&",!0)}if(("undefined"==typeof c.directConnect||c.directConnect)&&(!c.data||c.data.indexOf("${")<0)&&c.actionUri.indexOf("${")<0){c.data||c.forceAnon||(c.data=""),!c.forceAnon&&c.data.indexOf("token=")<0&&d&&d.iaoArcGisOnlineToken&&(c.data=c.data+"&token="+(d.iaoArcGisOnlineToken.token?d.iaoArcGisOnlineToken.token:a.getToken())),c.data.indexOf("f=json")<0&&c.data.indexOf("f=pjson")<0&&(c.data=c.data+"&f=json");var g=(a.applicationDomain?a.applicationDomain:"//www.arcgis.com")+"/sharing/rest/";b.ajax({url:0==c.actionUri.indexOf("http")?c.actionUri:g+c.actionUri,type:c.httpMethod?c.httpMethod:"POST",data:c.data,dataType:"json"}).done(function(a){var b=c.done?c.done:c.complete;a&&b?b({success:!0,status:"ok",data:"string"==typeof a?JSON.parse(a):a}):b&&b({success:!0,status:"fail",data:null})}).fail(function(a,b,d){var e=c.fail?c.fail:c.error?c.error:c.done?c.done:c.complete;if(e){var f=a;try{f=JSON.parse(a.responseText)}catch(g){f=a}e({statusCode:a?a.status:500,status:d,message:b,data:f,isError:!0,xhr:a})}})}else b.ajax({url:ia.appPath+"services/DataService/SendArcGisOnlineRequest",type:"POST",data:JSON.stringify({actionPath:c.actionUri,actionData:c.data,forceAnon:!1,userSessionJson:JSON.stringify(d)}),contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(a){var b=c.done?c.done:c.complete;a&&b?b({status:"ok",data:JSON.parse(a)}):b&&b({status:"fail",data:null})}).fail(function(a,b,d){var e=c.fail?c.fail:c.error?c.error:c.done?c.done:c.complete;if(e){var f=a;try{f=JSON.parse(a.responseText)}catch(g){f=a}e({statusCode:a?a.status:500,status:d,message:b,data:f,isError:!0,xhr:a})}})},ia.sendFileToArcGisOnline=function(a){var c=a.token?{iaoArcGisOnlineToken:a.token}:V();b.ajax({url:ia.appPath+"services/DataService/SendArcGisOnlineUploadRequest",type:"POST",data:JSON.stringify({actionPath:a.actionUri?a.actionUri:a.actionPath,actionData:a.data,
fileContent:a.text,fileName:a.name,userSessionJson:JSON.stringify(c)}),contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(b){b&&a.complete?a.complete({status:"ok",data:JSON.parse(b),token:c.iaoArcGisOnlineToken.token}):a.complete&&a.complete({status:"fail",data:null})}).fail(function(b,c,d){if(a.complete){var e=b;try{e=JSON.parse(b.responseText)}catch(f){e=b}a.complete({statusCode:b?b.status:500,status:d,message:c,data:e,isError:!0})}})},ia.sendThumbnailToArcGisOnline=function(a){var c=a.token?{iaoArcGisOnlineToken:a.token}:V();b.ajax({url:ia.appPath+"services/DataService/UpdateArcGisOnlineThumbnail",type:"POST",data:JSON.stringify({webAppId:a.appId,webAppFolder:a.folder,dataURL:a.image,userSessionJson:JSON.stringify(c)}),contentType:"application/json; charset=utf-8",dataType:"json",success:function(b){b&&a.complete?a.complete({status:"ok",data:JSON.parse(b),token:c.iaoArcGisOnlineToken.token}):a.complete&&a.complete({status:"fail",data:null})},error:function(b,c,d){if(a.complete){var e=b;try{e=JSON.parse(b.responseText)}catch(f){e=b}a.complete({statusCode:b?b.status:500,status:d,message:c,data:e,isError:!0})}}})},ia.showWebMapChooserDialog=function(a,c){return b("#arcItemChooserTitle span").css("display","none"),b("#arcWebMapsChooserTitle").css("display","inline-block"),ia.showWebItemChooserDialog(a,'f=json&num=50&q=type:"Web Map" '+(!c||c.organisationOnly?"accountid:${org}":"")+' -type:"Web Mapping Application"',{listCssClass:"mapList"})},ia.showWebCsvChooserDialog=function(a,c){if(b("#arcItemChooserTitle span").css("display","inline-block"),b("#arcWebMapsChooserTitle").css("display","none"),!ia.mode||"azure"!=ia.mode.toLowerCase()&&"EmbeddedIAO"!=ia.mode.toUpperCase())return ia.showWebItemChooserDialog(a,'f=json&num=50&q=type:"CSV" '+(!c||c.organisationOnly?"accountid:${org}":"")+' -type:"Microsoft Excel"',{inputItemFormat:"https://www.arcgis.com/sharing/rest/content/items/{0}/data",iconCssClass:"text-center mid-grey fas fa-table fa-3x cb",listCssClass:"csvList"});var d=ia.transfer&&ia.transfer.servers?ia.transfer.servers.storage:"";return d.length>0&&"/"!=d.charAt(d.length-1)&&(d+="/"),ia.showWebItemChooserDialog(a,"",{azure:!0,data:!0,maps:!1,reports:!1,dashboards:!1,inputItemFormat:function(a,b){var c=d.split("/");return""==c[c.length-1]&&c.pop(),b.indexOf(c[c.length-1])>=0?c.slice(0,c.length-1).join("/")+"/"+b:d+b},iconCssClass:"text-center mid-grey fas fa-table fa-3x cb",listCssClass:"csvList",allowUpload:!0,uploadFormats:"text/csv,text/plain"})},ia.showWebLayerChooserDialog=function(c,d){b("#arcItemChooserTitle span").css("display","inline-block"),b("#arcWebMapsChooserTitle").css("display","none");var e='f=json&num=100&q=(type: "Feature Collection" OR type: "Layer" OR type: "Explorer Layer" OR type: "Layer Package" OR type: "Feature Service")';e+="&sortField="+(d&&d.sortBy?d.sortBy:"modified"),e+="&sortOrder="+(d&&d.sortDir?d.sortDir:"desc");var f='<span class="fa-stack ia-layers-icon"><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i><i class="fas fa-fw fa-stop fa-stack-1x"></i></span>';return ia.showWebItemChooserDialog(c,e+(!d||d.organisationOnly?" accountid:${org}":""),{title:a.util.replaceAll(a.getText("FeatureLayerChooseDialogTitle.Text","{0} Choose ArcGIS Online Feature Layer"),[f]),inputItemFormat:"content/items/{0}",iconCssClass:"text-center mid-grey icon-stack icon-stack-48",iconHtml:f,listCssClass:"layerList",showImage:!0,textSearchTerm:d&&d.catalog?"ia-purpose=DataCatalog":"",shown:function(){},chosen:function(c){c.itemId,c.itemType&&"feature service"==c.itemType.toLowerCase()&&(c.target.val("[ Loading layer details... ]").prop("disabled",!0),ia.sendArcGisOnlineRequest({actionUri:c.url,data:"f=json",forceAnon:!1,error:function(b){var d=b.xhr;400==d.status||403==d.status?a.redirectToArcGisOnlineAuth():alert("jqXhr.status="+d.status),c.target.val("").prop("disabled",!1)},done:function(d){if(d.data){var e=d.data;ia.sendArcGisOnlineRequest({actionUri:e.url,data:"f=json",forceAnon:!1,error:function(b){var d=b.xhr;400==d.status||403==d.status?a.redirectToArcGisOnlineAuth():alert("jqXhr.status="+d.status),c.target.val("").prop("disabled",!1)},done:function(d){if(d.data){var f=d.data;if(f.layers&&f.layers.length>1){var g=a.util.replaceAll(a.getText("DataManagerLinkfeatureServiceChooseLayerDialog.MessageFormat","<p>Feature service <strong>{0}</strong> contains {1} layers. Please choose the one you want to use from the list below.</p>"),[f.serviceDescription?f.serviceDescription:e.url,f.layers.length]);g+='<ul class="silent-list">';var h=a.generateGuid();for(var i in f.layers)g+='<li><input class="form-control" type="radio" name="'+h+'" id="'+h+"_"+i+'" value="'+f.layers[i].id+'" />',g+='<label class="control-label" for="'+h+"_"+i+'">'+f.layers[i].name+"</label></li>";g+="</ul>",a.showPopupScriptDialog(a.getText("DataManagerLinkfeatureServiceChooseLayerDialog.Title","Choose Layer"),g,{modal:!0,buttons:"okcancel",type:"question",shown:function(a){b('input[name="'+h+'"]').eq(0).prop("checked",!0),b(a.target).find(".modal-body").addClass("modal-body-scrollable")},hidden:function(a){b(a.target).find(".modal-body").removeClass("modal-body-scrollable")},ok:function(){var a=b('input[name="'+h+'"]:checked').val(),d=b('input[name="'+h+'"]:checked').siblings("label").text();c.target.val(e.url+"/"+a).prop("disabled",!1),c.target.data("arc-item-name",d).trigger("input")},focus:"ok"})}else c.target.val(e.url+"/0").prop("disabled",!1),c.target.data("arc-item-name",e.title).trigger("input")}}})}}}))}})},ia.showWebArcTableChooserDialog=function(c,d){b("#arcItemChooserTitle span").css("display","inline-block"),b("#arcWebMapsChooserTitle").css("display","none");var e=(c.jquery?c:b(c)).parents(".modal").eq(0),f=e&&e.length>0&&e.data("targetFormat")&&e.data("targetFormat").indexOf("DATASTORE")>0,g=f?"(ia-item-type=CatalogMasterTable OR ia-item-type=StoreMasterTable)":d&&d.searchTerm?d.searchTerm:"";return ia.showWebItemChooserDialog(c,'f=json&num=50&q=(type: "Feature Service" AND typekeywords: "Table") '+(f||d&&!d.organisationOnly?"":"accountid:${org}"),{inputItemFormat:"content/items/{0}",iconCssClass:f?"text-center":"table",iconHtml:f?'<span class="fa-stack fa-2x"><i class="fas fa-database fa-stack-1x fa-lg icon-bottom-layer"></i><i class="fas fa-table fa-stack-1x icon-top-right-superscript"></i></span>':null,listCssClass:"csvList",textSearchTerm:g,showImage:!0,shown:function(a){f&&ia.sendArcGisOnlineRequest({actionUri:"community/self",httpMethod:"GET",complete:function(b){var c,d=[];if(b.success&&null!=(c=b.data)&&c&&c.groups&&c.orgId){"HumUw0sDQHwJuboT"==c.orgId&&(d=[]);for(var e in c.groups)if(c.groups[e].tags&&c.groups[e].tags.indexOf("ia-item-type=StoreGroup")>=0){if("HumUw0sDQHwJuboT"!=c.orgId){d.push(c.groups[e].id);break}"HumUw0sDQHwJuboT"==c.orgId&&d.push(c.groups[e].id)}1==d.length&&a.find('input[data-task="filter"]').val("(ia-item-type=CatalogMasterTable OR ia-item-type=StoreMasterTable) +group:"+d[0]).trigger("input")}}})},chosen:function(b){b.itemId,b.itemType&&"feature service"==b.itemType.toLowerCase()&&(b.target.val("[ Loading details for "+b.title+"... ]").prop("disabled",!0),ia.sendArcGisOnlineRequest({actionUri:b.url,data:"f=json",forceAnon:!1,error:function(c){var d=c.xhr;400==d.status||403==d.status?a.redirectToArcGisOnlineAuth():alert("jqXhr.status="+d.status),b.target.val("").prop("disabled",!1)},done:function(a){if(a.data){var c=a.data;b.target.val(c.url+"/0").prop("disabled",!1),b.target.data("arc-item-name",c.title).trigger("input")}}}))}})},ia.showWebItemChooserDialog=function(c,d,e){var f="undefined"!=typeof c.jquery?c:b(c),g=e.dialog?e.dialog:b("#iaoDataManagerOnlineItemChooserPopup"),h=e&&e.mode?e.mode:ia.mode,i=g.find(g.find(".modal-body .items").length>0?".modal-body .items":".toolboxScrollable"),j=g.find('.btn[data-ui-action^="sort"]').filter(".active"),k=g.find('button[id$="OkButton"],button[id$="_okBtn"]');if(f.parents(".modal").find('*[data-toggle="tooltip"]').tooltip("hide"),e&&e.noClear||f.parents(".modal").find(".failure-message").css("display","none"),!h||"EmbeddedIAO"!=h.toUpperCase()&&"AZURE"!=h.toUpperCase()?g.find(".azure-content").css("display","none"):g.find(".arc-content").css("display","none"),g.find(".modal-body").toggleClass("fixed",!0),g.find('.btn[data-ui-action^="sort"]').off("click").on("click",function(){var a=b(this).data("ui-action").split("-"),c=a[1],d=a[2],e=i.children("ul").eq(0),f="name"==c&&"asc"==d?X:"name"==c?Y:"date"==c&&"asc"==d?Z:"date"==c?$:W;e.children("li.webItem").sort(f).appendTo(e),e.children("li.more-results").appendTo(e),b(this).addClass("active").siblings().removeClass("active")}),!j||j.length<1)if(localStorage.getItem("iaoItemSort")){var l="sort-"+localStorage.getItem("iaoItemSort").split("|").join("-");g.find('.btn[data-ui-action^="'+l+'"]').eq(0).addClass("active")}else g.find('.btn[data-ui-action^="sort"]').eq(0).addClass("active");k.off("click").on("click",function(){var c=g.find(".arcItemSelected");if(c&&c.length>0){var d=c.find('input[id^="arcitem_"]').val(),h=c.data("item-url");if(d){var i=h;i=e&&e.inputItemFormat&&"function"==typeof e.inputItemFormat?e.inputItemFormat(d,h):e&&e.inputItemFormat?a.util.replaceAll(e.inputItemFormat,[d,h]):d,f.val(i).trigger("input"),f.data("arc-item-name",c.prop("title")),e&&e.chosen&&e.chosen({type:"itemChosen",itemId:d,itemName:c.prop("title"),itemType:c.data("item-type"),url:i,src:c,target:f})}}b(this).parents(".modal").modal("hide")}),g.toggleClass("popupDialogReport",f.parents(".popupDialogReport").length>0),i.children().remove(),i.append('<div class="abs alignCenter progressIcon" style="width: 100%; height: 100%; padding-top: 15%; display: none; opacity: 0.5; z-index: 100;"><div style="display:block;width:64px;height:64px;font-size:68px;margin-left:auto;margin-right:auto;" class="'+a.iconCssClasses.getCssAttribute("icon,spinner,icon5x")+'">&nbsp;</div></div>'),a.showMask(i.parent()),g.find(".modal-body .items-message").html(e&&e.message?e.message:""),g.find(".modal-title .custom-title").remove(),e&&e.title?(g.find(".modal-title .default-title").css("display","none"),g.find(".modal-title").append('<span class="custom-title">'+e.title+"</span>")):g.find(".modal-title .default-title").css("display",""),g.find('input[data-task="filter"]').val(e&&e.textSearchTerm?e.textSearchTerm:""),a.arcPortalInfo&&a.arcPortalInfo.id&&a.arcPortalInfo.name?(g.find(".org-only-btn-group").css("display",""),g.find(".org-only-btn-group .form-control").prop("disabled",!1).prop("checked",!0),g.find('.org-only-btn-group .form-control[type="checkbox"]').attr("value",a.arcPortalInfo.id).val(a.arcPortalInfo.id),g.find(".org-only-btn-group .org-label").text(a.arcPortalInfo.name)):(g.find(".org-only-btn-group").css("display","none"),g.find(".org-only-btn-group .form-control").prop("disabled",!0));var m=function(f){var h,l,m,n=b(f.target).hasClass("modal")?b(f.target):b(f.target).parents(".modal").eq(0),o="",p=n.find('input[data-task="filter"]').val(),q="";if(p&&""!=p&&(o=p),a.showMask(i.parents(".modal-body-scrollable").length>0?i.parents(".modal-body-scrollable").eq(0):i.parent()),e&&e.sort&&n.find('.btn[data-ui-action^="sort-'+e.sort+'"]').eq(0).addClass("active"),l=n.find("input.org-toggle-box"),l.is(":checked"))if(l.val())o=(o?o:"")+" +orgid:"+l.val();else if(null!=(m=sessionStorage.getItem("iaoAppUser")))try{m=JSON.parse(m),m.orgId&&(o=(o?o:"")+" +orgid:"+m.orgId)}catch(r){}if(l=n.find('.btn[data-ui-action^="sort"]').filter(".active"),l&&l.length>0&&(h=l.data("ui-action").split("-"),q="&sortField="+("name"==h[1]?"title":"modified")+"&sortOrder="+h[2]),e&&e.items)"function"==typeof e.items?e.items({done:function(b){ca(n,i,{results:b.items},c,p&&""!=p?p+" "+d:d,e),l&&l.length>0&&l.trigger("click"),a.hideMask(i.parents(".modal-body-scrollable").length>0?i.parents(".modal-body-scrollable").eq(0):i.parent()),k.prop("disabled",i.find(".arcItemSelected").length<1)}}):(ca(n,i,{results:e.items},c,p&&""!=p?p+" "+d:d,e),l&&j.length>0&&l.trigger("click"),a.hideMask(i.parents(".modal-body-scrollable").length>0?i.parents(".modal-body-scrollable").eq(0):i.parent()),k.prop("disabled",i.find(".arcItemSelected").length<1));else if(e&&e.azure)ba({reports:e&&e.reports,dashboards:e&&e.dashboards,maps:e&&e.maps,data:e&&e.data,done:function(b){if(b.success&&"ok"==b.status){var f=[],h=null;if(b.data.data&&b.data.data.details){for(var j=0;j<b.data.data.details.length;j++)"JSON"!=b.data.data.details[j].type&&f.push(b.data.data.details[j]);h=b.data.data.host}if(b.data.maps&&b.data.maps.details){for(var j=0;j<b.data.maps.details.length;j++)"JSON"!=b.data.maps.details[j].type&&f.push(b.data.maps.details[j]);h=b.data.maps.host}b.data.dashboards&&b.data.dashboards.details&&(f=f.concat(b.data.dashboards.details),h=h||b.data.dashboards.host),b.data.reports&&b.data.reports.details&&(f=f.concat(b.data.reports.details),h=h||b.data.reports.host),i.children("ul").remove(),ca(g,i,{results:f,host:h},c,p&&""!=p?p+" "+d:d,e)}a.hideMask(i.parents(".modal-body-scrollable").length>0?i.parents(".modal-body-scrollable").eq(0):i.parent()),k.prop("disabled",i.find(".arcItemSelected").length<1)},fail:function(b,c,d){console.log("Bad error fetching azure items: "+c+","+d),a.hideMask(i.parent()),k.prop("disabled",i.find(".arcItemSelected").length<1)}});else{var s=a.parseQueryString(d,"&",!0),t=d;if(s&&s.q&&o&&""!=b.trim(o)){for(var u=b.trim(o).split(" "),v="",w=0;w<u.length;w++)v+=w>0?"+"==u[w].substring(0,1)?"AND ":"OR ":"","+"==u[w].substring(0,1)&&(u[w]=u[w].substring(1)),v+=u[w].indexOf(":")>0&&0==["group:","id:","owner:","title:","type:"].indexOf(u[w].substring(0,u[w].indexOf(":")+1))?u[w]+" ":u[w].search(/[\:=]/)>=0?'"'+u[w].replace("+","")+'*" ':u[w].replace("+","")+"* ";s.q="(("+b.trim(o)+") AND "+s.q+")";var x=[];for(var w in s)x.push(w+"="+s[w]);t=x.join("&")}ia.sendArcGisOnlineRequest({actionUri:"search",data:t+q,forceAnon:!1,fail:function(b){!b.xhr||400!=b.xhr.status&&403!=b.xhr.status?alert("jqXhr.status="+b.xhr.status):a.redirectToArcGisOnlineAuth()},done:function(b){if(b.data){var d=b.data;i.children("ul").remove(),e||(e={}),e.thinned=!0,ca(g,i,d,c,t,e)}a.hideMask(i.parents(".modal-body-scrollable").length>0?i.parents(".modal-body-scrollable").eq(0):i.parent()),k.prop("disabled",i.find(".arcItemSelected").length<1)}})}};if(e&&e.azure&&e.allowUpload&&e.uploadFormats&&ia.transfer){var n="#"+g.prop("id")+" .toolboxScrollable, #"+g.prop("id")+" .modal-body .items";ia.transfer.removeDropTarget(n),ia.transfer.addDropTarget(n,{confirm:function(a,b,c){if(a&&c){var d=e.uploadFormats.toLowerCase().split(",");return d.indexOf(b.toLowerCase())>=0}return!1},done:function(){m()}}),n="#"+g.prop("id")+" .btn-file",ia.transfer.removeButtonTarget(n);var o="#"+g.prop("id")+" .iao-progress-holder";ia.transfer.addButtonTarget(n,{confirm:function(a,b,c){if(a&&c){var d=e.uploadFormats.toLowerCase().split(",");return d.indexOf(b.toLowerCase())>=0}return!1},done:function(){b(o).remove(),m()},fail:function(){b(o).remove(),m()}}),b(n).css("display","")}return g.on("shown.bs.modal",function(a){m(a),g.off("shown.bs.modal"),e&&e.shown&&e.shown(b(a.target))}),e&&e.filterVisibleOnly?g.find('input[data-task="filter"]').off("input").on("input",function(){clearTimeout(g.data("searchTimeoutId"));var a=b(this).val(),c=setTimeout(function(){ea(i,a,!1,".webItem")},200);g.data("searchTimeoutId",c)}):(g.find('input[data-task="filter"]').off("input").on("input",function(a){var c=b(a.target).parents(".modal");clearTimeout(c.data("searchTimeoutId"));var d=setTimeout(function(){m({target:c})},200);c.data("searchTimeoutId",d)}),g.find("input.org-toggle-box").off("change").on("change",function(a){var c=b(a.target).parents(".modal");clearTimeout(c.data("searchTimeoutId"));var d=setTimeout(function(){m({target:c})},20);c.data("searchTimeoutId",d)})),f.parents(".modal").length>0&&g.insertAfter(f.parents(".modal").eq(0)),g.modal({show:!0}),g},ia.getDataCatalogGeoSource=ia.getDataStoreGeoSource=function(a,c,d){var e=[];if(c&&"undefined"!=typeof c.splice)for(var f in c)e.push("((LOWER(SERVICE_URL) = '"+c[f].toLowerCase()+"') OR (LOWER(SERVICE_URL) LIKE '"+c[f].toLowerCase()+";%'))");else c&&e.push("((LOWER(SERVICE_URL) = '"+c.toLowerCase()+"') OR (LOWER(SERVICE_URL) LIKE '"+c.toLowerCase()+";%'))");var g={where:"ITEM_TYPE='Geo'"+(e.length>0?" AND "+e.join(" OR "):""),outFields:"ID,NAME,SERVICE_URL",orderByFields:d&&d.orderBy?d.orderBy:"NAME",f:"json"};d&&d.token&&(g.token=d.token);var h=null;d&&("function"==typeof d||d.done||d.complete)&&(h="function"==typeof d?d:d.done||d.complete),b.ajax({url:a+(a.indexOf("/query")<0?"/query":""),data:g,dataType:"json",type:g.where.length>500?"POST":"GET"}).done(function(a){var b="ID",d="SERVICE_URL",e="NAME";if(a&&a.features&&a.features.length>0){for(var f in a.fields)a.fields[f].name&&a.fields[f].name.toUpperCase()==b&&(b=a.fields[f].name),a.fields[f].name&&a.fields[f].name.toUpperCase()==d&&(d=a.fields[f].name),a.fields[f].name&&a.fields[f].name.toUpperCase()==e&&(e=a.fields[f].name);var g,i,j=[];for(var f in a.features)g=a.features[f].attributes[b],i=a.features[f].attributes[d].split(";"),j.push({id:g,name:a.features[f].attributes[e],url:i[0],idField:i[1],nameField:i[2]});h&&h({success:!0,geo:1==j.length?j[0]:j,results:a})}else h&&h({success:!1,error:a.error||{status:404,message:"Cannot find geography",detail:'Cannot find a geography in the data store matching URL "'+c+'"'}})}).fail(function(a,b,c){h&&h({success:!1,error:{status:a.status,message:b,detail:c,data:a}})})},ia.getDataCatalogIndicatorModel=function(c,d){var e,f=d||{},g={where:"ITEM_TYPE='Theme' OR ITEM_TYPE='Metadata'",outFields:"ITEM_TYPE,ID,NAME,THEME_ID,SERVICE_URL,ITEM_ORDER",orderByFields:"ITEM_TYPE,THEME_ID,ITEM_ORDER,ID",f:"json"};f.token&&(g.token=f.token);var h=f.fail?f.fail:fa;b.ajax({url:c+(c.indexOf("/query")<0?"/query":""),data:g,dataType:"json"}).done(function(b){var d="ID",g="SERVICE_URL",i="NAME",j="THEME_ID",k="ITEM_ORDER",l="ITEM_TYPE";if(b&&b.features){var m=new a.DataModel(f.key?f.key:"iaoDataStoreIndicatorModel");m.clear();for(var n in b.fields)b.fields[n].name&&b.fields[n].name.toUpperCase()==d&&(d=b.fields[n].name),b.fields[n].name&&b.fields[n].name.toUpperCase()==g&&(g=b.fields[n].name),b.fields[n].name&&b.fields[n].name.toUpperCase()==i&&(i=b.fields[n].name),b.fields[n].name&&b.fields[n].name.toUpperCase()==j&&(j=b.fields[n].name),b.fields[n].name&&b.fields[n].name.toUpperCase()==k&&(k=b.fields[n].name),b.fields[n].name&&b.fields[n].name.toUpperCase()==l&&(l=b.fields[n].name);var o=b.features;if(o[0]&&o[0].attributes&&o[0].attributes[l]&&"METADATA"==o[0].attributes[l].toUpperCase()){var p=o.shift();p.attributes[g]&&m.updateProperty("metadataUrl",p.attributes[g])}o.sort(function(a,b){return!a.attributes[j]&&b.attributes[j]?-1:a.attributes[j]&&!b.attributes[j]?1:a.attributes[j]==b.attributes[j]?a.attributes[k]!=b.attributes[k]?a.attributes[k]-b.attributes[k]:a.attributes[d].toString().localeCompare(b.attributes[d].toString()):void a.attributes[j].toString().localeCompare(b.attributes[j].toString())});for(var q;o.length>0;)q=o.shift(),m.getTheme(q.attributes[d])?f.debug&&console.log("⚠️ Theme "+q.attributes[d]+"/"+q.attributes[i]+" seems to be in the model already! @"+(q.attributes[j]?q.attributes[j]:"root level")):(f.debug&&console.log("Adding theme "+q.attributes[d]+"/"+q.attributes[i]+" to "+(q.attributes[j]?q.attributes[j]:"root level")),e=m.addTheme({id:q.attributes[d],name:q.attributes[i],indicators:[]},q.attributes[j]?q.attributes[j]:null),e?f.debug&&console.log("✔️ Added theme "+q.attributes[d]+"/"+q.attributes[i]+" to "+(q.attributes[j]?q.attributes[j]:"root level")):q.triedOnce>10?console.log("⚠️ Warning: theme "+q.attributes[d]+" could not be added to the model @"+q.attributes[j]+"."):(q.triedOnce=q.triedOnce?q.triedOnce+1:1,o.push(q)));f.model=m,ia.getDataCatalogIndicators(c,f)}else b&&b.error&&h(b)}).fail(h)},ia.getDataCatalogIndicators=ia.getDataStoreIndicators=function(c,d){var e=d||{},f=e.model||new a.DataModel(e.key?e.key:"iaoDataStoreIndicatorModel"),g="ID",h="SERVICE_URL",i="THEME_ID",j="DATA_TYPE",k={where:"ITEM_TYPE='Indicator' AND (GEO_ID='"+(e.geo?e.geo:"XXX")+"' OR GEO_ID IS NULL)",outFields:e.fields?e.fields:"*",orderByFields:"ITEM_ORDER",f:"json"},l=e.fail?e.fail:fa;e.limit&&(k.resultRecordCount=e.limit),e.offset&&(k.resultOffset=e.offset),e.token&&(k.token=e.token),b.ajax({url:c+(c.indexOf("/query")<0?"/query":""),data:k,dataType:"json",type:k.where.length>500?"POST":"GET"}).done(function(d){var k,m=e.nameField?e.nameField.toUpperCase():"NAME",n=e.shortNameField?e.shortNameField.toUpperCase():null,o=e.existing||[],p=!e||"undefined"==typeof e.duplicates||0==e.duplicates;if(d&&d.features){if(d.fields)for(var q in d.fields)d.fields[q].name&&d.fields[q].name.toUpperCase()==g&&(g=d.fields[q].name),d.fields[q].name&&d.fields[q].name.toUpperCase()==h&&(h=d.fields[q].name),d.fields[q].name&&d.fields[q].name.toUpperCase()==m&&(m=d.fields[q].name),d.fields[q].name&&d.fields[q].name.toUpperCase()==i&&(i=d.fields[q].name),(null==n&&"short_name"==d.fields[q].name.toLowerCase()||"shortname"==d.fields[q].name.toLowerCase())&&(n=d.fields[q].name),d.fields[q].name&&d.fields[q].name.toUpperCase()==j&&(j=d.fields[q].name);for(var q in d.features)k={id:d.features[q].attributes[g],name:d.features[q].attributes[m],shortName:d.features[q].attributes[n]||d.features[q].attributes[m],date:"",type:d.features[q].attributes[j]||"numeric",src:{url:d.features[q].attributes[h]}},added=!p||o.indexOf(k.id)<0?f.addIndicatorToTheme(k,d.features[q].attributes[i]):!1,added?p&&o.push(k.id):console.log("Warning: indicator "+k.id+"/"+k.name+" could not be added to the model @"+d.features[q].attributes[i]+"."+(p&&o.indexOf(k.id)>=0?" !!Duplicate!!":""));if(d.exceededTransferLimit&&("undefined"==typeof e.recursive||"false,0,no".indexOf(e.recursive.toString().toLowerCase())<0)){var r=b.extend({},e);r.existing=o,r.offset=("undefined"!=typeof r.offset?r.offset:0)+d.features.length,r.limit=d.features.length,ia.getDataCatalogIndicators(c,r)}else{if(e.removeEmpty)for(var s=f.getFlatThemes(),q=s.length-1;q>=0;q--)(!s[q].indicators||s[q].indicators.length<1)&&(!s[q].themes||s[q].themes.length<1)&&f.deleteTheme(s[q].id,s[q].parent);if(e&&(e.complete||e.done)){var t=e.complete||e.done;t({success:!0,model:f,url:c,ids:o})}else a.showPopupScriptDialog("Testing Data Models",'<div>Indicators in <a href="'+c+'">'+c+'</a></div><div id="testDataModelHolder" class="explorerTree" style="height: auto; overflow: hidden;"></div>',{type:"information",modal:!0,buttons:"ok",large:!0,shown:function(){b("#testDataModelHolder").parents(".modal-body").addClass("modal-body-scrollable"),a.datamanager.populateIndicatorTree(b("#testDataModelHolder"),{indicators:f.getThemes(),model:f,allowModification:!1,showSourceFieldName:!1,elementIdPrefix:"modelTree-",useDragAndDrop:!1,showModelLevelInfo:!1,allowAddSource:!1,complete:function(a){a.container.find(".igroup-name > a").trigger("click")}})}})}}else d&&d.error&&l(d)}).fail(l)},ia.getDataCatalogIndicatorInstances=ia.getDataStoreIndicatorInstances=function(a,c,d,e){var f,g="INDICATOR_ID = '"+c+"'",h=e||{};"undefined"!=typeof c.join&&(g="INDICATOR_ID IN ('"+c.join("','")+"')");var i={where:"ITEM_TYPE='Instance' AND "+g+(d?"undefined"!=typeof d.join?" AND GEO_ID IN ('"+d.join("','")+"')":" AND GEO_ID = '"+d+"'":""),outFields:"ID,NAME,INDICATOR_ID,FIELD_ID,ITEM_ORDER,SERVICE_URL,GEO_ID",orderByFields:"ITEM_ORDER",f:"json"};h.limit&&(i.resultRecordCount=h.limit),h.offset&&(i.resultOffset=h.offset),h.token&&(i.token=h.token),h&&(h.defer||h.promise)&&(f=new b.Deferred);var j;return j=f?function(a,b,c){f.reject(a,b,c)}:h.fail?h.fail:fa,b.ajax({url:a+(a.indexOf("/query")<0?"/query":""),data:i,dataType:"json",type:g.length>500?"POST":"GET"}).done(function(e){var g,i=h.existing||[],k="ID",l="SERVICE_URL",m="NAME",n="FIELD_ID",o="ITEM_ORDER",p="INDICATOR_ID",q="GEO_ID";if(e&&e.error)return void j(e);if(e&&e.features){if(e.fields)for(var r in e.fields)e.fields[r].name&&e.fields[r].name.toUpperCase()==k&&(k=e.fields[r].name),e.fields[r].name&&e.fields[r].name.toUpperCase()==l&&(l=e.fields[r].name),e.fields[r].name&&e.fields[r].name.toUpperCase()==m&&(m=e.fields[r].name),e.fields[r].name&&e.fields[r].name.toUpperCase()==n&&(n=e.fields[r].name),e.fields[r].name&&e.fields[r].name.toUpperCase()==o&&(o=e.fields[r].name),e.fields[r].name&&e.fields[r].name.toUpperCase()==p&&(p=e.fields[r].name),e.fields[r].name&&e.fields[r].name.toUpperCase()==q&&(q=e.fields[r].name);for(var r=0;r<e.features.length;r++)g={id:e.features[r].attributes[k],field:e.features[r].attributes[n],date:e.features[r].attributes[m],index:e.features[r].attributes[o],parent:e.features[r].attributes[p],geo:e.features[r].attributes[q],url:e.features[r].attributes[l]},i.push(g)}if(e.exceededTransferLimit&&("undefined"==typeof h.recursive||"false,0,no".indexOf(h.recursive.toString().toLowerCase())<0)){var s=b.extend({},h);s.existing=i,s.offset=i.length,s.limit=i.length,ia.getDataCatalogIndicatorInstances(a,c,d,s)}else{var t={indicator:c,instances:i,src:{url:a,geo:d}};if(h.name&&(t.indicatorName=h.name),h.shortName&&(t.indicatorShortName=h.shortName),f)f.resolve(t);else{var u=h.done||h.complete;u(t)}}}).fail(j),f?f.promise():void 0},ia.populateDataCatalogMetadataPopup=ia.populateDataStoreMetadataPopup=function(a,c,d,e){var f={},g=null;e&&"object"==typeof e?(f=e,g=f.done||f.complete||g):e&&"function"==typeof e&&(g=e);var h=(e&&e.fail?e.fail:fa,f.target||"#metadata_"+a);ia.getDataCatalogMetadataHtml(a,c,d,e,function(c){b(h).children().remove(),c&&c.status&&"ok"==c.status.toLowerCase()?(b(h).append(c&&c.html?c.html:"<p>No metadata available.</p>"),g&&g(b(h),a,c.metadata)):(b(h).append('<p class="danger" data-status="'+c.data.status+'" data-message="'+c.message+'">No metadata available.</p>'),g&&g(b(h),c.data,c.message))})},ia.getDataCatalogMetadataHtml=function(c,d,e,f,g){function h(){!e&&d?(k={where:"Item_Type='Metadata'",outFields:"Item_Type,Name,Service_URL",f:"json"},q.token&&(k.token=q.token),b.ajax({url:d+(d.indexOf("/query")<0?"/"==d.substring(d.length-1)?"query":"/query":""),data:k,dataType:"json",method:j.length<450?"GET":"POST"}).done(function(a){var b="SERVICE_URL";if(a&&a.fields&&a.features&&a.features.length>0&&a.features[0].attributes){for(var c in a.fields)"service_url"==a.fields[c].name.toLowerCase()&&(b=a.fields[c].name);e=a.features[0].attributes[b]}}).always(i)):i()}function i(){x=q.direct?"undefined"!=typeof n.splice?"IndicatorID IN ('"+n.join("','")+"')":"IndicatorID='"+n+"'":"FieldName IN ('"+j+"')",x+=q.direct&&null!=o&&null!=p?" AND (InstanceID = '"+o+"') AND (GeoID = '"+p+"')":" AND (InstanceID IS NULL)",e=e||a.metadataUrl,k={where:x,outFields:w,f:"json"},q.token?k.token=q.token:a.getToken&&a.getToken()&&(k.token=a.getToken()),b.ajax({url:e+(e.indexOf("/query")<0?"/"==e.substring(e.length-1)?"query":"/query":""),data:k,dataType:"json",method:x.length+w.length<450?"GET":"POST"}).done(function(b){var c,d="",f={},g=null,h={};if(b&&(b.features&&b.features.length>0||v)){if(b.features&&b.features.length>0){for(var i in b.fields)h[b.fields[i].name]=b.fields[i];for(var i in b.features){g={};for(var j in b.features[i].attributes)c=b.features[i].attributes[j],c&&"esriFieldTypeDate"==h[j].type&&(c=new Date(c).toISOString().substring(0,16).replace("T"," "),"1900-01-01 00:00"==c&&(c=null)),!c&&!v||g[j]||(g[j]=c?c:"");g.IndicatorID&&(f[g.IndicatorID]=g)}}else{g={},h=k.outFields.split(",");for(var i in h)g[h[i]]="";f[n]=g}d="";for(var l in f){d+='<table class="table table-striped iao-metadata-table" data-indicator-id="'+l+'"><tbody>',g=f[l];for(var j in g){if(d+='<tr data-metadata-key="'+j+'"><td>',d+=h[j]&&h[j].alias?t.replace(/\{0\}/g,h[j].alias).replace(/\{1\}/g,j):a.util&&a.util.convertToWords?t.replace(/\{0\}/g,a.util.convertToWords(j)).replace(/\{1\}/g,j):t.replace(/\{0\}/g,j).replace(/\{1\}/g,j),d+="</td><td>",c=g[j],c&&("undefined"==typeof q.autoLink||1==q.autoLink)&&c.indexOf("http")>=0&&c.indexOf("<a")<0&&c.indexOf("</a>")<0){c=c.split(" ");for(var m=0;m<c.length;m++)(0==c[m].indexOf("http:")||0==c[m].indexOf("https:"))&&(c[m]='<a href="'+c[m]+'" target="_blank" style="word-break: break-all;">'+c[m].split("/").join("­/")+' <i class="fas fa-external-link-alt"></i></a>');c=c.join(" ")}d+=u.replace(/\{0\}/g,c).replace(/\{1\}/g,j)+"</td></tr>"}d+="</tbody></table>"}}r&&r({status:"OK",indicator:n,metadata:f,html:d,url:e})}).fail(function(a,b,c){r({status:"Error",indicator:n,metadata:null,html:null,message:b+" "+c,data:a})})}var j,k,l="undefined"!=typeof c.splice,m=!l&&c.indexOf(":")>0,n=l?c:m?c.split(":")[0]:c,o=!l&&m?c.split(":")[1]:null,p=!l&&m?c.split(":")[2]:null,q={},r=null;f&&"object"==typeof f?(q=f,r=g||q.done||q.complete||r):f&&"function"==typeof f&&(r=f);var s=f&&f.fail?f.fail:fa,t=q.labelFormat||"{0}",u=q.valueFormat||"{0}",v=q.showNoData,w=q.fields?q.fields:a.metadataTerms?a.metadataTerms:"IndicatorID,Title,Description,Subject,Source,Issued,LastPublished,Spatial,Temporal,Rights,Keywords,Status,LastRevised,LastUpdated,Creator,Publisher,UpdateFrequency";w.indexOf("IndicatorID")<0&&(w="IndicatorID,"+w);var x;d&&!q.direct?(k={where:"ITEM_TYPE='Instance' AND INDICATOR_ID='"+n+"'",outFields:"ID,NAME,FIELD_ID",f:"json"},q.token&&(k.token=q.token),b.ajax({url:d+(d.indexOf("/query")<0?"/"==d.substring(d.length-1)?"query":"/query":""),data:k,dataType:"json"}).done(function(a){if(a&&a.features){var b=[];for(var c in a.features)for(var d in a.features[c].attributes)a.features[c].attributes[d.toUpperCase()]=a.features[c].attributes[d];for(var c in a.features)b.push(a.features[c].attributes.FIELD_ID);j=b.join("','"),h()}}).fail(s)):d&&0==n.indexOf("instance:")?(k={where:"ITEM_TYPE='Instance' AND FIELD_ID='"+n.substring("instance:".length)+"'",outFields:"INDICATOR_ID,ID,NAME,FIELD_ID",f:"json"},b.ajax({url:d+(d.indexOf("/query")<0?"/"==d.substring(d.length-1)?"query":"/query":""),data:k,dataType:"json"}).done(function(a){if(a&&a.features){var b=[];for(var c in a.features)for(var d in a.features[c].attributes)a.features[c].attributes[d.toUpperCase()]=a.features[c].attributes[d];for(var c in a.features)b.push(a.features[c].attributes.INDICATOR_ID);j=n=b[0],h()}}).fail(s)):(j=n,h())},a.DataModel=function(b,c,d){function e(){var b;n.themes=[];try{if(m&&m.getItem(l)){var c=m.getItem(l);ia.compressor&&c&&"["!=c.substring(0,1)&&"{"!=c.substring(0,1)&&(c=ia.compressor.decompressFromUTF16(c)),b=JSON.parse(c),n.idField=b&&b.idField?b.idField:"ObjectID",n.nameField=b&&b.nameField?b.nameField:"ObjectID",n.themes=b&&b.themes?b.themes.slice(0):new Array,n.features=b&&b.features?b.features:{filters:[],properties:[]},n.filters=b&&b.filters?b.filters:[],n.properties=b&&b.properties?b.properties:[]}else d&&(b=JSON.parse(d),n.idField=b&&b.idField?b.idField:"ObjectID",n.nameField=b&&b.nameField?b.nameField:"ObjectID",n.themes=b&&b.themes?b.themes.slice(0):new Array,n.features=b&&b.features?b.features:{filters:[],properties:[]},n.filters=b&&b.filters?b.filters:[],n.properties=b&&b.properties?b.properties:[],n.save());var e=n.getFlatThemes();o={};for(var f=0;f<e.length;f++)o[e[f].id]=e[f]}catch(g){a.showLocalStorageErrorDialog(g)}}function f(a,b){if(b.push(a),a.themes)for(var c in a.themes)a.themes[c].parent=a.id,f(a.themes[c],b)}function g(a,b){for(var c in b){if(b[c].id&&b[c].id==a)return b[c];if(b[c].themes&&b[c].themes.length>0){var d=g(a,b[c].themes);if(null!=d)return d}}return null}function h(a,b){for(var c=a.length-1;c>=0;c--)a[c].themes&&a[c].themes.length>0&&h(a[c].themes,b),(!a[c].themes||a[c].themes.length<1)&&(!a[c].indicators||a[c].indicators.length<1)&&b.push(a.splice(c,1))}function i(a,b){for(var c=a.length-1;c>=0;c--)a[c].themes&&a[c].themes.length>0&&i(a[c].themes,b),a[c].indicators&&a[c].indicators.length>0&&b.push(a[c])}function j(a,b,c){for(var d=0;d<a.length;d++)if(a[d].themes&&a[d].themes.length>0&&j(a[d].themes,b,c),a[d].indicators&&a[d].indicators.length>0)for(var e in a[d].indicators)a[d].indicators[e].id==b&&(a[d].indicators[e].theme=a[d].id,c.push(a[d].indicators[e]));
}function k(a,b,c){for(var d=0;d<a.length;d++)if(a[d].themes&&a[d].themes.length>0&&k(a[d].themes,b,c),a[d].indicators&&a[d].indicators.length>0)for(var e in a[d].indicators)a[d].indicators[e].src&&a[d].indicators[e].src.fieldName==b&&c.push(a[d].indicators[e])}var l=b||"iaoIndicatorsModel",m=c||ia.storageProvider||window.localStorage;this.themes=[],this.idField="ObjectID",this.nameField="ObjectID";var n=this;this.filters=[],this.features={filters:[],properties:[]},this.properties=[];var o={};this.getThemes=function(){return n.themes?n.themes.slice(0):new Array},this.getFlatThemes=function(){var a=new Array;for(var b in n.themes)f(n.themes[b],a);return a},this.getKey=function(){return l},this.getTheme=function(a){return o&&"undefined"!=typeof o[a]?o[a]:g(a,n.themes)},this.addTheme=function(a,b){if(!b)return n.themes.push(a),o[a.id]=a,!0;var c=this.getTheme(b);return c?(c.themes||(c.themes=[]),a.parent=c.id,c.themes.push(a),o[a.id]=a,!0):void 0},this.deleteTheme=function(a,b){if(b){var c=this.getTheme(b);if(c.themes)for(var d in c.themes)if(c.themes[d].id&&c.themes[d].id==a)return delete o[a],c.themes.splice(d,1)[0]}else for(var d in n.themes)if(n.themes[d].id&&n.themes[d].id==a)return delete o[a],n.themes.splice(d,1)[0];return null},this.moveTheme=function(a,b,c){var d,e;if(c){var f=n.getTheme(c);if(f.themes)for(var g in f.themes)if(f.themes[g].id&&f.themes[g].id==b)return d=parseInt(g)+parseInt(a),d>=0&&d<f.themes.length?(e=f.themes.splice(g,1)[0],f.themes.splice(d,0,e),d):g}else for(var g in n.themes)if(n.themes[g].id&&n.themes[g].id==b)return d=parseInt(g)+parseInt(a),d>=0&&d<n.themes.length?(e=n.themes.splice(g,1)[0],n.themes.splice(d,0,e),d):g;return-1},this.save=function(a){if(m){var b=JSON.stringify(n);if(ia.compressor&&(b=ia.compressor.compressToUTF16(b)),m.setItem(l,b),!a){var c=(new Date).toUTCString();m.setItem(l+"ChangedAt",c);try{var d=window.top||window.opener||window,e=d.$||d.jQuery;e&&setTimeout(function(){var a=e.Event("datamodel.iao.change",{value:c});e(d).trigger(a)},750)}catch(f){}}return!0}return!1},this.saveTo=function(a){if(m){n.lastModified=(new Date).toUTCString();var b=JSON.stringify(n);return ia.compressor&&(b=ia.compressor.compressToUTF16(b)),m.setItem(a,b),!0}return!1},this.clear=function(){return n.themes=[],n.filters=[],n.features={filters:[],properties:[]},n.properties=[],o={},m&&m.getItem(l)&&(m.removeItem(l),m.setItem(l+"ChangedAt",(new Date).toUTCString())),!0},this.clean=function(){var a=new Array;return h(n.themes,a),n.save(),a},this.isValid=function(){var a=new Array;return i(n.themes,a),a.length>0},this.addIndicatorToTheme=function(a,b){var c=n.getTheme(b);return c?(c.indicators||(c.indicators=[]),"undefined"!=typeof a.splice?c.indicators=c.indicators.concat(a):c.indicators.push(a),!0):!1},this.deleteIndicatorFromTheme=function(a,b){var c=n.getTheme(b);if(c){c.indicators||(c.indicators=[]);var d=[];for(var e in c.indicators)c.indicators[e].id==a&&d.push(c.indicators.splice(e,1));return d.length>0?1==d.length?d[0]:d:null}return null},this.deleteIndicatorInstanceFromTheme=function(a,b,c){var d=n.getTheme(c);if(d){d.indicators||(d.indicators=[]);var e=[];for(var f in d.indicators)d.indicators[f].id!=a||(d.indicators[f].date||b)&&d.indicators[f].date!=b||e.push(d.indicators.splice(f,1));return e.length>0?1==e.length?e[0]:e:null}return null},this.getIndicatorFromTheme=function(a,b){var c=n.getTheme(b);if(c){c.indicators||(c.indicators=[]);var d=[];for(var e in c.indicators)c.indicators[e].id==a&&(c.indicators[e].theme=c.id,d.push(c.indicators[e]));return d.length>0?1==d.length?d[0]:d:null}return null},this.getIndicator=function(a){var b=[];return j(n.themes,a,b),b.length>0?1==b.length?b[0]:b:null},this.getIndicatorsWithSourceField=function(a){var b=[];return k(n.themes,a,b),b.length>0?b:null},this.getIndicatorInstanceFromTheme=function(a,b,c){var d=n.getTheme(c);if(d){d.indicators||(d.indicators=[]);var e=[];for(var f in d.indicators)d.indicators[f].id!=a||(d.indicators[f].date||b)&&d.indicators[f].date!=b||e.push(d.indicators[f]);return e.length>0?1==e.length?e[0]:e:null}return null},this.getAssociate=function(a,b){var c=[],d=[];j(n.themes,a,c);for(var e in c)if(c[e].associates)for(var f in c[e].associates)c[e].associates[f].id==b&&d.push(c[e].associates[f]);return d.length>0?1==d.length?d[0]:d:null},this.addAssociateToIndicator=function(a,b,c,d){var e=c&&""!=c?n.getIndicatorInstanceFromTheme(b,c,d):n.getIndicatorFromTheme(b,d);if(!e)throw'Cannot find indicator with ID/date "'+b+"/"+c+'".';if("undefined"!=typeof e.splice)throw"Cannot add associate - indicator ID/date does not resolve to a single indicator.";return e.associates||(e.associates=new Array),e.associates.push(a),e},this.deleteAssociateFromIndicator=function(a,b,c,d){var e=c&&""!=c?n.getIndicatorInstanceFromTheme(b,c,d):n.getIndicatorFromTheme(b,d);if(!e)throw'Cannot find indicator with ID/date "'+b+"/"+c+'".';if("undefined"!=typeof e.splice)throw"Cannot add associate - indicator ID/date does not resolve to a single indicator.";if(e.associates){var f=[];for(var g in e.associates)e.associates[g].id==a&&f.push(e.associates.splice(g,1));return f.length>0?1==f.length?f[0]:f:null}return null},this.sortIndicatorsInTheme=function(a,b){var c=n.getTheme(a);if(c){c.indicators||(c.indicators=[]),c.indicators.sort(ga);var d={};if(!b)for(var e=0,f=0,g=1;g<c.indicators.length;g++)c.indicators[g].name==c.indicators[g-1].name&&c.indicators[g].date&&c.indicators[g-1].date&&""!=c.indicators[g].date&&""!=c.indicators[g-1].date?(d[c.indicators[g].id]=c.indicators[g-1].id,c.indicators[g].id=c.indicators[g-1].id,c.indicators[g-1].index="undefined"!=typeof c.indicators[g-1].index?c.indicators[g-1].index:e,c.indicators[g].index=c.indicators[g-1].index,c.indicators[g].subIndex=f,f++):(f=0,e++);return d}return null},this.mergeIndicatorsInTheme=function(b,c,d){var e=n.getTheme(b);return e?(e.indicators||(e.indicators=[]),a.DataModel.mergeIndicators(e.indicators,c,d)):null},this.sort=function(a){for(var b in n.themes){n.themes[b].indicators||(n.themes[b].indicators=[]),n.themes[b].indicators.sort(ga);var c={};if(!a)for(var d=0,e=0,f=1;f<n.themes[b].indicators.length;f++)n.themes[b].indicators[f].name==n.themes[b].indicators[f-1].name&&n.themes[b].indicators[f].date&&n.themes[b].indicators[f-1].date&&""!=n.themes[b].indicators[f].date&&""!=n.themes[b].indicators[f-1].date?(c[n.themes[b].indicators[f].id]=n.themes[b].indicators[f-1].id,n.themes[b].indicators[f].id=n.themes[b].indicators[f-1].id,n.themes[b].indicators[f-1].index="undefined"!=typeof n.themes[b].indicators[f-1].index?n.themes[b].indicators[f-1].index:d,n.themes[b].indicators[f].index=n.themes[b].indicators[f-1].index,n.themes[b].indicators[f].subIndex=e,e++):(e=0,d++);return c}return null},this.addFilter=function(a,b,c,d,e){n.filters.push({id:a,name:b}),n.features.filters.push({id:a,src:{url:c,fieldName:d,format:e?e:""}})},this.deleteFilter=function(a){for(var b=-1,c=n.filters.length-1;c>=0;c--)if(n.filters[c].id==a){b=c;break}return b>=0?(n.filters.splice(b,1),n.features.filters.splice(b,1)[0]):null},this.updateFilter=function(a,b,c,d,e){for(var f=-1,g=[],h=n.filters.length-1;h>=0;h--)n.filters[h].id==a&&(f=h),g.push(n.filters[h].id);return f>=0?(n.filters[f].name=b,c&&""!=c&&(n.features.filters[f].src.url=c),d&&""!=d&&(n.features.filters[f].src.fieldName=d),e&&g.indexOf(e)<0&&(n.filters[f].id=e,n.features.filters[f].id=e),!0):!1},this.getFilters=function(){for(var a=new Array,b=0;b<n.filters.length;b++)a.push({id:n.filters[b].id,name:n.filters[b].name,src:{url:n.features.filters[b].src.url,fieldName:n.features.filters[b].src.fieldName,format:n.features.filters[b].src.format?n.features.filters[b].src.format:""}});return a},this.addFeatureProperty=function(a,b,c,d){n.features.properties.push({name:a,src:{url:b,fieldName:c,format:d?d:""}})},this.deleteFeatureProperty=function(a){for(var b=n.features.properties.length-1;b>=0;b--)if(n.features.properties[b].name==a)return n.features.properties.splice(b,1)[0];return null},this.updateFeatureProperty=function(a,b,c,d){for(var e=n.features.properties.length-1;e>=0;e--)if(n.features.properties[e].name==a)return c&&""!=c&&(n.features.properties[e].src.url=c),d&&""!=d&&(n.features.properties[e].src.fieldName=d),n.features.properties[e].name=null!=b?b:a,!0;return null},this.getFeatureProperties=function(){return n.features.properties.slice(0)},this.addProperty=function(a,b){n.properties||(n.properties=[]),n.properties.push({name:a,value:b})},this.deleteProperty=function(a){n.properties||(n.properties=[]);for(var b=n.properties.length-1;b>=0;b--)if(n.properties[b].name==a)return n.properties.splice(b,1)[0];return null},this.updateProperty=function(a,b){n.properties||(n.properties=[]),null==b&&n.deleteProperty(a);for(var c=n.properties.length-1;c>=0;c--)if(n.properties[c].name==a)return n.properties[c].value=b,!0;return n.properties.push({name:a,value:b}),!0},this.getProperty=function(a){for(var b=n.properties.length-1;b>=0;b--)if(n.properties[b].name==a)return n.properties[b].value;return null},this.getProperties=function(){return n.properties.slice(0)},e()},a.DataModel.mergeIndicators=function(a,b,c){if(a&&a.length>0){for(var d={},e={},f={},g=0;g<a.length;g++)d[a[g].name]||(d[a[g].name]=a[g],e[a[g].id]&&e[a[g].id]!=a[g].name&&(f[a[g].id]="i"+EmbeddedIAO.generateGuid(),a[g].id=f[a[g].id]),e[a[g].id]=a[g].name);for(var h,i={},j=0,g=0;g<a.length;g++)h=d[a[g].name],h&&h.date&&""!=h.date?i[h.id]?(f[a[g].id]=h.id,a[g].id=h.id,a[g].index=h.index,a[g].subIndex=j,a[g].originalIndex=g,i[h.id].push(a[g]),j++):(i[h.id]=new Array,h.subIndex=0,h.originalIndex=g,i[h.id].push(h),j=1):(i[a[g].id]=new Array,a[g].originalIndex=g,a[g].subIndex=0,i[a[g].id].push(a[g]));if(b||c)for(var k in i){i[k].sort(ha);for(var g=0;g<i[k].length;g++)i[k][g].subIndex=g}return b&&a.sort(ga),{idMap:f,instances:i}}return null},a.datamanager}(window.EmbeddedIAO||window.iao||{},window.jQuery),function(a,b,c,d){function e(a,b){for(var c in a)b[c]=a[c];return b}function f(a){if(a.originalEvent.dataTransfer){var b=a.originalEvent;if(b.stopPropagation(),b.preventDefault(),b.dataTransfer.dropEffect="copy",a.target){var d=c(a.target).hasClass("cloud-drop-target")?c(a.target):c(a.target).parents(".cloud-drop-target").length>0?c(a.target).parents(".cloud-drop-target"):c(a.target);d.addClass("drop-target-active")}}}function g(a){for(var b=a.length,c=a.length-1;c>=0;c--){var d=a.charCodeAt(c);d>127&&2047>=d?b++:d>2047&&65535>=d&&(b+=2),d>=56320&&57343>=d&&c--}return b}function h(b,d){if(b.originalEvent){var e=b.originalEvent;e.stopPropagation(),e.preventDefault();var f=e.dataTransfer?e.dataTransfer.files:e.target.files;if(f&&f.length>0){var h=null,i=b.target?c(b.target).hasClass("cloud-drop-target")?c(b.target):c(b.target).parents(".cloud-drop-target").length>0?c(b.target).parents(".cloud-drop-target"):c(b.target):null,m=function(){h&&h.parents(".iao-progress-holder").remove(),i&&i.removeClass("drop-target-active")};d||(d={}),d.fail||d.error||(d.fail=function(b){var c=a.getText("FileUploadFailureDialog.Title","Upload Error"),d=a.getText("FileUploadFailureDialog.MessageFormat",'<p>An error occurred when trying to upload your file. The error message was:</p><p class="errMsg"><span class="danger">{0}</span></p><p>Please try again. If this error is persistent please contact <a href="support@instantatlas.com">support@instantatlas.com</a>.</p>');d=a.util.replaceAll(d,[b.message]),a.showPopupScriptDialog(c,d,{type:"error",modal:!0,resize:!1,buttons:"ok",ok:function(){m()}})});for(var n=d.error||d.fail,o=d.maxSize||5e6,s=f[0],t=0;t<f.length;t++){if(s=f[t],s.size&&s.size>o)return n({type:"MaxSizeExceeded",message:'File "'+s.name+'" is too big for upload. Maximum file size is '+Math.round(o/1024e3)+"MB"}),void m();var u=s.type?s.type.toLowerCase():"";if("application/"==u||"application/octet-stream"==u?u="":"application/x-compressed"==u&&(u="application/x-zip-compressed"),""==u&&s.name&&s.name.toLowerCase().indexOf(".zip")>0?u="application/x-zip-compressed":""==u&&s.name&&s.name.toLowerCase().indexOf(".csv")>0?u="text/csv":""==u&&s.name&&s.name.toLowerCase().indexOf(".txt")>0?u="text/plain":""==u&&s.name&&s.name.toLowerCase().indexOf(".json")>0?u="application/json":""==u&&s.name&&s.name.toLowerCase().indexOf(".js")>0&&(u="application/javascript"),"application/vnd.ms-excel"==u.toLowerCase()&&s.name&&s.name.toLowerCase().indexOf(".csv")>0&&(u="text/csv"),r.approvedFileTypes&&r.approvedFileTypes.indexOf(u)<0)return n({type:"InvalidFile",message:'File "'+s.name+'" (of type "'+u+'") is not an approved file type - must be one of [ '+r.approvedFileTypes.join(", ")+" ]"}),void m();var v=function(){return!0};d&&d.confirm&&(v=d.confirm);var w=v(s,u,b);i=b.target?c(b.target).hasClass("cloud-drop-target")?c(b.target):c(b.target).parents(".cloud-drop-target").length>0?c(b.target).parents(".cloud-drop-target"):c(b.target):null,b.target&&i&&(k(i),h=i.find(".progress-bar")),d.progress||(d.progress=function(a){h&&(h.css("width",a+"%"),(a>100||0>a)&&h.parents(".iao-progress-holder").remove())}),u.indexOf("zip")>0&&(1==w||"geo"==w.toString().toLowerCase())?r.uploadShapefile(s,{done:function(b){function c(){if(f<e.length){var b=e[f].features?e[f].features[0].geometry.type:"unknown";e[f].title=e[f].fileName,e[f].fixedName=e[f].fileName=e[f].fileName?e[f].fileName.replace(/[^a-zA-Z0-9_\-]+/g,"_"):a.generateGuid(),b.indexOf("Polygon")>=0?b="polygon":b.toLowerCase().indexOf("line")>=0?b="line":b.indexOf("Point")>=0&&(b="point");var j=JSON.stringify(e[f]),k=d.maxUploadSize||81e5,l=g(j);if(l>k)return n({type:"MaxSizeExceeded",message:'File "'+e[f].title+'" is too big for upload. Maximum file size is '+Math.round(k/1024e3)+"MB"}),void m();var o=new Blob([j],{type:"application/json"}),p={fileName:"maps/"+e[f].fixedName+".js",file:o,name:e[f].fileName,access:"private",id:"geodata-"+e[f].fixedName,title:d&&d.title?d.title:e[f].title,type:"GeoJSON/"+b,contentType:"application/json"};d.uploadMethod="file",r.uploadContentToAzure(p,d,function(a){h.push(a),c()})}else i(h);f++}if(b.success&&r.mode&&("azure"==r.mode.toLowerCase()||"iao"==r.mode.toLowerCase())&&b.data){var e="undefined"!=typeof b.data.splice?b.data:[b.data],f=0,h=[],i=d&&(d.done||d.complete)?d.done?d.done:d.complete:function(a){alert(a)};c()}},progress:d.progress,fail:d.fail}):"text/csv"!=u&&"text/plain"!=u||!w||"geo"!=w.toString().toLowerCase()?"text/csv"!=u&&"text/plain"!=u||!w?"application/javascript"!=u&&"application/json"!=u||!w?u&&u.length>6&&"image/"==u.substring(0,6)&&w?(d.maxLoadPercentage=75,l(s,"buffer",function(b){if(b&&"load"==b.type&&b.target&&b.target.result&&r.mode&&("azure"==r.mode.toLowerCase()||"iao"==r.mode.toLowerCase())){var c=(b.target.result,s.name),e=c?c.replace(/[^a-zA-Z0-9_\-\.]+/g,"_"):a.generateGuid(),f={fileName:"images/"+e,file:s,name:c,access:"public",id:"image-"+e.replace(/[^a-zA-Z0-9_\-]+/g,"_"),title:d&&d.title?d.title:c,type:"Image",contentType:u};d.uploadMethod="file",r.uploadContentToAzure(f,d)}},d)):h&&h.parents(".iao-progress-holder").remove():(d.maxLoadPercentage=50,l(s,"text",function(b){if(b&&"load"==b.type&&b.target&&b.target.result&&r.mode&&("azure"==r.mode.toLowerCase()||"iao"==r.mode.toLowerCase())){var c=b.target.result,e=null;try{65279==c.charCodeAt(0)&&(c=c.substring(1)),e=JSON.parse(c)}catch(f){return console.log('JSON error - UTF8-ness? "'+c.charAt(0)+'", '+c.charCodeAt(0)),e=null,n({type:"InvalidFile",message:'File "'+s.name+'" (of type "'+u+'") could not be parsed into an InstantAtlas "data bundle" - error was: '+(f&&f.message?f.message:f)}),void m()}d.progress(70);var g=s.name.replace(".json","").replace(".js","");if(!(e&&e.data&&e.data.rows))return n({type:"InvalidFile",message:'File "'+s.name+'" (of type "'+u+'") could not be parsed into an InstantAtlas "data bundle".'}),void m();if(!e.data.headers)return void n({isError:!0,message:"No headers in file - cannot convert. Delimited/CSV data should have a header row.",data:h});for(var h=e.data.headers,i=0;i<e.data.rows.length;i++)h+="\n"+e.data.rows[i];var j=g?g.replace(/[^a-zA-Z0-9_\-\.]+/g,"_"):a.generateGuid(),k=null,l=null;e.model&&(k=function(a){d.progress(85);var b=a.fileName.substring("data/".length).replace(/[^a-zA-Z0-9_\-]+/g,"_")+".model.js",c=JSON.stringify(e.model),f={fileName:"data/"+b,data:c,name:b,access:"private",id:"data-"+b.replace(/[^a-zA-Z0-9_\-]+/g,"_"),title:b,type:"JSON",contentType:"application/json"};d.silent=!0,d.overwrite=!0,d.progress(90),r.uploadContentToAzure(f,d,function(a){l.associated={model:a.url},d.overwrite=!0,d.progress(95),r.uploadContentToAzure(l,d)})}),l={fileName:"data/"+j,data:h,name:g,access:"private",id:"data-"+j.replace(/[^a-zA-Z0-9_\-]+/g,"_"),title:d&&d.title?d.title:g,type:"CSV",contentType:"text/csv"},d.progress(80),r.uploadContentToAzure(l,d,k)}},d)):(d.maxLoadPercentage=75,l(s,"text",function(b){if(b&&"load"==b.type&&b.target&&b.target.result&&r.mode&&("azure"==r.mode.toLowerCase()||"iao"==r.mode.toLowerCase())){var c=b.target.result,e=s.name;if("text/plain"==u){var f=d&&d.rowDelimiter?d.rowDelimiter:"\n",g=r.convertCsvToRows(c,"	"),h=d&&d.noHeaderRow?1:2;if(g.length<h)return void n({isError:!0,message:"Not enough rows in file - cannot convert. Delimited/CSV data should have a header row (or use options to override this).",data:c});var i=[];if(i=g[0],i.length<2)return void n({isError:!0,message:"Not enough columns in file - cannot convert to CSV",data:c});for(var j="",k=0;k<g.length;k++)if(i=g[k]){for(var l=0;l<i.length;l++)j+=i[l].indexOf(",")>=0?'"'+i[l]+'",':i[l]+",";j=j.slice(0,-1)+f}c=j,e=s.name.replace(".txt",".csv").replace(".tab",".csv")}var m=e?e.replace(/[^a-zA-Z0-9_\-\.]+/g,"_"):a.generateGuid(),o={fileName:"data/"+m,data:c,name:e,access:"private",id:"data-"+m.replace(/[^a-zA-Z0-9_\-]+/g,"_"),title:d&&d.title?d.title:e,type:"CSV",contentType:"text/csv"};r.uploadContentToAzure(o,d)}},d)):(d.maxLoadPercentage=50,d.minConversionPercentage=50,d.maxConversionPercentage=40,l(s,"text",function(b){if(b&&"load"==b.type&&b.target&&b.target.result&&r.mode&&("azure"==r.mode.toLowerCase()||"iao"==r.mode.toLowerCase())){var e=b.target.result,f=(d&&d.rowDelimiter?d.rowDelimiter:"\n",r.convertCsvToRows(e)),g=d&&d.noHeaderRow?1:2;if(f.length<g)return void n({isError:!0,message:"Not enough rows in file - cannot convert. Delimited/CSV data should have a header row (or use options to override this).",data:e});var h=[];if(u.indexOf("csv")>=0?/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g:/(".*?"|[^"\t]+)(?=\s*\t|\s*$)/g,h=f[0],h.length<2)return void n({isError:!0,message:"Not enough columns in file - cannot convert - must have at least [ X, Y ] or [ Lon, Lat ]",data:e});q();var i=c("#iaoChooseCsvCoordinatesPopup");i.find("select").each(function(){c(this).children("option").remove();for(var a=0;a<h.length;a++)c(this).append('<option value="'+a+'">'+h[a]+"</option>")}),i.find('select[id$="xCoordinateFieldBox"] > option').each(function(){var a=c.trim(c(this).text()).toLowerCase();return"longitude"==a||"lon"==a||"long"==a||"x"==a?(c(this).prop("selected",!0),!1):void 0}),i.find('select[id$="yCoordinateFieldBox"] > option').each(function(){var a=c.trim(c(this).text()).toLowerCase();return"latitude"==a||"lat"==a||"y"==a?(c(this).prop("selected",!0),!1):void 0}),i.find('*[id$="okBtn"]').one("click",function(){var c=parseInt(i.find('select[id$="xCoordinateFieldBox"]').val()),e=parseInt(i.find('select[id$="yCoordinateFieldBox"]').val());a.hidePopupDialog("iaoChooseCsvCoordinatesPopup"),p(s,b,{done:function(b){if(b.success&&r.mode&&("azure"==r.mode.toLowerCase()||"iao"==r.mode.toLowerCase())){var c=JSON.stringify(b.data),e=j(s.name,".csv"),f=s.name?s.name.replace(/[^a-zA-Z0-9_\-\.]+/g,"_"):a.generateGuid(),g={fileName:"maps/"+f.replace(e,".js"),data:c,name:s.name.replace(e,""),access:"private",id:"map-points-"+f.replace(e,""),title:d&&d.title?d.title:s.name.replace(e,""),type:"GeoJSON/point",contentType:"application/json"};r.uploadContentToAzure(g,d)}},progress:d.progress,fail:d.fail,minConversionPercentage:50,maxConversionPercentage:40,xColumnIndex:c,yColumnIndex:e,format:u})}),i.find('*[id$="cancelBtn"]').one("click",function(){m()}),a.showPopupDialog("iaoChooseCsvCoordinatesPopup",{modal:!0})}},d))}}}}function i(b,d,e,f){function h(){function a(){c.ajax({url:h,type:"POST",xhrFields:{withCredentials:!0},crossDomain:!0,data:e,processData:i,contentType:j}).done(function(a){m(a)}).fail(function(a,b){l({message:"Error uploading file to cloud storage",detail:b,data:a})})}var e,f,h,i=!0,j="application/json";d&&"file"==d.uploadMethod&&b.file?(e=new FormData,e.append("file",b.file),f=b.file.size,b.file=null,e.append("metadata",JSON.stringify(b)),h=r.servers.api+r.uris.file,i=!1,j=!1):(e=JSON.stringify(b),f=g(e),h=r.servers.api+r.uris.textFile),c.ajax({url:r.servers.api+"/filesizecheck",type:"GET",xhrFields:{withCredentials:!0},crossDomain:!0,data:null,contentType:"application/json"}).done(function(c){return c>f?void a():void l({type:"MaxSizeExceeded",message:'File "'+(b.title?b.title:b.fileName)+'" is too big for upload ('+Math.round(f/1024e3)+"MB). Maximum file size is "+Math.round(c/1024e3)+"MB"})}).fail(function(){console.log("Could not fetch maximum upload size from server - going to try anyway...."),a()})}function i(){var c=a.generateGuid(),d=j(o,""),e=o.substring(0,o.lastIndexOf("/")+1),f=o.substring(o.lastIndexOf("/")+1);f=""!=d&&f.indexOf(d)>0?f.substring(0,f.indexOf(d))+n.toString():f+n.toString(),b.fileName=e+f+d,b.name=f,b.title=f,b.id=(b.id.indexOf("-")>0?b.id.substring(0,b.id.indexOf("-")+1):"file-")+c,n++,k(!0)}function k(d){c.ajax({url:r.servers.storage+"/"+b.fileName+f,type:"GET",crossDomain:!0,cache:!1}).done(function(){if(d)i();else{var c=a.getText("OverwriteExistingAzureContentDialog.MessageFormat","<p>You already have a file called <strong>{0}</strong> stored on InstantAtlas Online.</p><p>Do you want to <strong>Replace</strong> this file or <strong>Create</strong> a new one with a different name?</p>");c=a.util.replaceAll(c,[b.fileName]);var e=a.getText("OverwriteExistingAzureContentDialog.Title","Replace File?");a.showPopupScriptDialog(e,c,{type:"warning",modal:!0,resize:!1,buttons:"yesnocancel",buttonText:{yes:a.getText("OverwriteExistingAzureContentDialog.ReplaceButton.Text","Replace"),no:a.getText("OverwriteExistingAzureContentDialog.CreateNewButton.Text","Create New"),cancel:a.getText("OverwriteExistingAzureContentDialog.CancelButton.Text","Cancel")},yes:function(){h()},no:function(){i()},cancel:function(){m(null)}})}}).fail(function(){h()})}var l=d&&(d.error||d.fail)?d.error?d.error:d.fail:function(a){alert(a.message)},m=e?e:d&&(d.done||d.complete)?d.done?d.done:d.complete:function(a){alert(a)},n=1,o=b.fileName;d&&d.overwrite?h():k(d&&d.silent)}function j(a,b){return a&&a.lastIndexOf(".")>0?a.substring(a.lastIndexOf(".")):b}function k(a){var b=a.jquery?a:c(a);b.children(".iao-progress-holder").remove(),b.append('<div class="iao-progress-holder" style="position: absolute; left: 0px; top: 0px; width: 100%; height: 100%;"><div style=" margin: 20px 10px 20px 10px; height: 1.5em;"><div class="progress" style="display: block;"><div class="progress-bar progress-bar-striped" style="width: 0%"><span></span></div></div></div></div>')}function l(a,b,c,d){var e=d&&d.progress?d.progress:function(a,b){console.log("File load "+a+"% complete. "+b)},f=d&&(d.error||d.fail)?d.error?d.error:d.fail:function(a){alert(a.message)};if(a){var g=new FileReader;g.onprogress=function(a){if(a.lengthComputable){var b=Math.round(a.loaded/a.total*(d&&d.maxLoadPercentage?d.maxLoadPercentage:100));e(b,"")}},g.onload=function(a){c(a,d)},g.onerror=function(a){var b=!1,c="An error occurred reading this file.";switch(a.target.error.code){case evt.target.error.NOT_FOUND_ERR:c="File Not Found!";break;case evt.target.error.NOT_READABLE_ERR:c="File is not readable";break;case evt.target.error.ABORT_ERR:b=!0;break;default:c="An error occurred reading this file."}!b&&f&&f({isError:!0,message:c,data:a})},b&&"buffer"==b?g.readAsArrayBuffer(a):b&&"image"==b?g.readAsDataURL(a):g.readAsText(a,d.textEncoding?d.textEncoding:"UTF-8")}}function m(a,b){var c=b&&b.progress?b.progress:function(a,b){console.log("GeoJson conversion "+a+"% complete. "+b)},e=b&&(b.error||b.fail)?b.error?b.error:b.fail:function(a){alert(a.message)};!b||"undefined"==typeof b.reproject||0!=b.reproject,a&&"load"==a.type&&a.target&&a.target.result&&setTimeout(function(){function f(){if(j<h.length)g=h[j],o(g,b,c,e,function(a){a.success?(h[j]=a.data,j++,f()):e({error:!0,type:"InvalidFileFormat",message:"Invalid ZIP file - no features found"})});else if(b&&(b.complete||b.done)){var a=b.complete?b.complete:b.done;a({success:!0,data:h})}}c(b&&b.minConversionPercentage?b.minConversionPercentage:0,"File loaded. Extracting features from *.zip. Please wait...");var g,h;try{h=d.parseZip(a.target.result)}catch(i){return i&&(i.toString().toUpperCase().indexOf("PROJCS")>=0||i.toString().toUpperCase().indexOf("GEOGCS")>=0)&&(i="Unsupported coordinate system: "+i.toString()),console.log(i),void e({message:i.message?i.message:i.toString()})}if(h){"undefined"==typeof h.splice&&(h=[h]);var j=0;f()}else e({error:!0,type:"InvalidFileFormat",message:"Invalid ZIP file - no shapefiles found"})},10)}function n(a,b){var c=+(Math.round(a+"e+"+b)+"e-"+b);return isNaN(c)?a:c}function o(a,b,c,d,e){function f(){try{var q=(b&&b.minConversionPercentage?b.minConversionPercentage:0)+Math.round(1*k/j*(b&&b.maxConversionPercentage?b.maxConversionPercentage:100));c(q,"");for(var r=0;o>r&&j>k;)if(h=a.features[k].geometry,h&&h.coordinates&&h.coordinates.length>0){var s=!1;if("MultiPolygon"==h.type)for(var t in h.coordinates)for(var u in h.coordinates[t])for(var v in h.coordinates[t][u])g&&(h.coordinates[t][u][v]=i.forward(h.coordinates[t][u][v])),h.coordinates[t][u][v][0]=n(h.coordinates[t][u][v][0],m),h.coordinates[t][u][v][1]=n(h.coordinates[t][u][v][1],m),s||(h.coordinates[t][u][v][0]<l[0]&&(l[0]=h.coordinates[t][u][v][0]),h.coordinates[t][u][v][0]>l[2]&&(l[2]=h.coordinates[t][u][v][0]),h.coordinates[t][u][v][1]<l[1]&&(l[1]=h.coordinates[t][u][v][1]),h.coordinates[t][u][v][1]>l[3]&&(l[3]=h.coordinates[t][u][v][1]));else if("Polygon"==h.type||"MultiLineString"==h.type)for(var t in h.coordinates)for(var u in h.coordinates[t])g&&(h.coordinates[t][u]=i.forward(h.coordinates[t][u])),h.coordinates[t][u][0]=n(h.coordinates[t][u][0],m),h.coordinates[t][u][1]=n(h.coordinates[t][u][1],m),s||(h.coordinates[t][u][0]<l[0]&&(l[0]=h.coordinates[t][u][0]),h.coordinates[t][u][0]>l[2]&&(l[2]=h.coordinates[t][u][0]),h.coordinates[t][u][1]<l[1]&&(l[1]=h.coordinates[t][u][1]),h.coordinates[t][u][1]>l[3]&&(l[3]=h.coordinates[t][u][1]));else if("LineString"==h.type)for(var t in h.coordinates)g&&(h.coordinates[t]=i.forward(h.coordinates[t])),h.coordinates[t][0]=n(h.coordinates[t][0],m),h.coordinates[t][1]=n(h.coordinates[t][1],m),s||(h.coordinates[t][0]<l[0]&&(l[0]=h.coordinates[t][0]),h.coordinates[t][0]>l[2]&&(l[2]=h.coordinates[t][0]),h.coordinates[t][1]<l[1]&&(l[1]=h.coordinates[t][1]),h.coordinates[t][1]>l[3]&&(l[3]=h.coordinates[t][1]));else"Point"==h.type&&(g&&(h.coordinates=i.forward(h.coordinates)),h.coordinates[0]=n(h.coordinates[0],m),h.coordinates[1]=n(h.coordinates[1],m),s||(h.coordinates[0]<l[0]&&(l[0]=h.coordinates[0]),h.coordinates[0]>l[2]&&(l[2]=h.coordinates[0]),h.coordinates[1]<l[1]&&(l[1]=h.coordinates[1]),h.coordinates[1]>l[3]&&(l[3]=h.coordinates[1])));g&&(a.features[k].geometry=h),k++,r++}else a.features.splice(k,1),j=a.features.length;clearTimeout(p),j>k?p=setTimeout(f,10):(a.bbox=l,a.crs={type:"name",properties:{name:"EPSG:3857"}},c(b&&b.minConversionPercentage&&b.maxConversionPercentage?b.minConversionPercentage+b.maxConversionPercentage:100,"Features converted to GeoJson"),e({success:!0,data:a}))}catch(w){d(w)}}var g=!b||"undefined"==typeof b.reproject||0!=b.reproject;if(a&&a.features)var h,i=proj4("EPSG:3857"),j=a.features.length,k=0,l=[Number.MAX_VALUE,Number.MAX_VALUE,-1*Number.MAX_VALUE,-1*Number.MAX_VALUE],m=b&&"undefined"!=typeof b.rounding?b.rounding:2,o=j>1e4?100:j>1e3?10:1,p=setTimeout(f,10)}function p(b,c,d){var e=d&&d.progress?d.progress:function(a,b){console.log("GeoJson conversion "+a+"% complete. "+b)},f=d&&(d.error||d.fail)?d.error?d.error:d.fail:function(a){alert(a.message)},g=!d||"undefined"==typeof d.reproject||0!=d.reproject;c&&"load"==c.type&&c.target&&c.target.result&&setTimeout(function(){function h(){var a=0,b=(d&&d.minConversionPercentage?d.minConversionPercentage:0)+Math.round(1*x/w*(d&&d.maxConversionPercentage?d.maxConversionPercentage:100));for(e(b,"");A>a;){if(t=m[x],t&&t.length>=z){feature={type:"Feature",geometry:{type:"Point",coordinates:[parseFloat(t[i]),parseFloat(t[j])]},properties:{}};for(var c=0;c<Math.min(p.length,t.length);c++)u=parseFloat(t[c]),isNaN(u)||(feature.properties[p[c]]=u),feature.properties[p[c]]=t[c].replace("\b","");feature.properties._EmbeddedIAO_ID=B,B++,g&&(feature.geometry.coordinates=v.forward(feature.geometry.coordinates)),feature.geometry.coordinates[0]<y[0]&&(y[0]=feature.geometry.coordinates[0]),feature.geometry.coordinates[0]>y[2]&&(y[2]=feature.geometry.coordinates[0]),feature.geometry.coordinates[1]<y[1]&&(y[1]=feature.geometry.coordinates[1]),feature.geometry.coordinates[1]>y[3]&&(y[3]=feature.geometry.coordinates[1]),s.features.push(feature)}x++,a++}if(clearTimeout(C),w>x)C=setTimeout(h,10);else if(s.bbox=y,s.crs={type:"name",properties:{name:"EPSG:3857"}},e(d&&d.minConversionPercentage&&d.maxConversionPercentage?d.minConversionPercentage+d.maxConversionPercentage:100,"Features converted to GeoJson"),d&&(d.complete||d.done)){var f=d.complete?d.complete:d.done;f({success:!0,data:s})}}e(d&&d.minConversionPercentage?d.minConversionPercentage:0,"File loaded. Extracting features from *.csv. Please wait...");var i=(d&&"undefined"!=typeof d.idColumnIndex?d.idColumnIndex:2,d&&"undefined"!=typeof d.xColumnIndex?d.xColumnIndex:0),j=d&&"undefined"!=typeof d.yColumnIndex?d.yColumnIndex:1,k=(d&&d.rowDelimiter?d.rowDelimiter:"\n",d&&d.format?d.format:"CSV"),l=c.target.result,m=r.convertCsvToRows(l),n=d&&d.noHeaderRow?1:2,o=n-1;m.length<n&&f({isError:!0,message:"Not enough rows in CSV file - cannot convert. CSV data should have a header row (or use options to override this).",data:l});var p=[];k.toLowerCase().indexOf("csv")>=0?/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g:/(".*?"|[^"\t]+)(?=\s*\t|\s*$)/g,p=m[0],p.length<2&&f({isError:!0,message:"Not enough columns in file - cannot convert - must have at least [ X, Y ] or [ Lon, Lat ]",data:l});for(var q=0;q<p.length;q++)p[q]=d&&d.noHeaderRow?"Prop"+(q+1).toString():a.util.replaceAll(p[q],",/\\'".split(""),"_".split(""));var s={type:"FeatureCollection",features:[],fileName:b.name};if(s)var t,u,v=proj4("EPSG:3857"),w=m.length,x=o,y=[Number.MAX_VALUE,Number.MAX_VALUE,-1*Number.MAX_VALUE,-1*Number.MAX_VALUE],z=Math.max(i,j),A=(k.toLowerCase().indexOf("csv")>=0,w>1e4?100:w>1e3?10:1),B=1,C=setTimeout(h,10)},10)}function q(){var b='<div id="iaoChooseCsvCoordinatesPopup" class="modal fade"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button><h4 class="modal-title">'+a.getText("ChooseCsvCoordinatesPopupDialogTitle.Text","Choose Coordinate Columns")+'</h4></div><div class="modal-body"><div class="popupDialogMessage"><div class="spaced"><label class="label20 tipped" for="xCoordinateFieldBox" title="'+a.getText("ChooseCsvCoordinatesPopupDialogXFieldLabel.ToolTip","The column in your CSV that contains the X (longitude) coordinate")+'">'+a.getText("ChooseCsvCoordinatesPopupDialogXFieldLabel.Text","Longitude (X): ")+'</label><select id="xCoordinateFieldBox"></select> <i class="fa fa-fw fa-arrows-h"></i> <div class="cb"></div></div><div class="spaced"><label class="label20 tipped" for="yCoordinateFieldBox" title="'+a.getText("ChooseCsvCoordinatesPopupDialogYFieldLabel.ToolTip","The column in your CSV that contains the Y (latitude) coordinate")+'">'+a.getText("ChooseCsvCoordinatesPopupDialogYFieldLabel.Text","Latitude (Y): ")+'</label><select id="yCoordinateFieldBox"></select> <i class="fa fa-fw fa-arrows-v"></i> <div class="cb"></div></div></div></div><div class="modal-footer"><button id="iaoChooseCsvCoordinatesPopup_okBtn" type="button" class="btn btn-primary">'+a.getText("ChooseCsvCoordinatesPopupDialogOkButton.Text","OK")+'</button><button id="iaoChooseCsvCoordinatesPopup_cancelBtn" type="button" class="btn btn-default">'+a.getText("ChooseCsvCoordinatesPopupDialogCancelButton.Text","Cancel")+"</button></div></div></div></div>",d=c("#iaoChooseCsvCoordinatesPopup");
d.length<1&&(c("body").append(b),c('#iaoChooseCsvCoordinatesPopup button[id$="cancelBtn"]').off("click").on("click",function(b){a.hidePopupDialog("iaoChooseCsvCoordinatesPopup"),b.preventDefault()}))}var r=b.transfer=b.transfer||{};r.servers={api:"https://hub.instantatlas.com/api",storage:"https://grahamgbrooks.blob.core.windows.net/"},r.mode=b.mode?b.mode:"EmbeddedIAO",r.uris={file:"/file",textFile:"/filesAsText",sas:"/sas",self:"/self"},r.uploadToken=null,r.dropZone=null,r.fileInput=null,r.approvedFileTypes=["text/csv","application/x-zip-compressed","application/zip"],c.support.cors=!0;var r=b.transfer;return r.init=function(a){if(a&&a.servers?r.servers=a.servers:(a&&a.apiServer&&(r.servers.api=a.apiServer),a&&a.storageServer&&(r.servers.storage=a.storageServer)),a&&a.uris&&(r.uris=a.uris),a&&a.dropTarget){var b=a.dropTarget.jquery?a.dropTarget:c(a.dropTarget),d=a.dropTargetSelector?a.dropTargetSelector.toString():null;b.on("dragover",d,f),b.on("dragleave",d,function(a){var b=c(a.target).hasClass("cloud-drop-target")?c(a.target):c(a.target).parents(".cloud-drop-target").length>0?c(a.target).parents(".cloud-drop-target"):c(a.target);b.removeClass("drop-target-active")}),b.on("drop",d,function(b){h(b,e(a,{}));var d=c(b.target).hasClass("cloud-drop-target")?c(b.target):c(b.target).parents(".cloud-drop-target").length>0?c(b.target).parents(".cloud-drop-target"):c(b.target);d.removeClass("drop-target-active")}),r.dropZone=b,b.each(function(a,b){var d=c(b).data("upload-formats");if(d){d=d.split(",");for(var e in d)r.addApprovedFileType(d[e])}})}if(a&&a.target){var g=a.target.jquery?a.target:c(a.target);g.on("change",function(b){h(b,e(a,{}))}),r.fileInput=g}a&&a.mode&&(r.mode=a.mode)},r.addDropTarget=function(a,b){var d=a.jquery?a:c(a);d.on("dragover",f),d.on("dragleave",function(a){var b=c(a.target).hasClass("cloud-drop-target")?c(a.target):c(a.target).parents(".cloud-drop-target").length>0?c(a.target).parents(".cloud-drop-target"):c(a.target);b.removeClass("drop-target-active")}),d.on("drop",function(a){h(a,e(b,{}));var d=c(a.target).hasClass("cloud-drop-target")?c(a.target):c(a.target).parents(".cloud-drop-target").length>0?c(a.target).parents(".cloud-drop-target"):c(a.target);d.removeClass("drop-target-active")}),r.dropZone?r.dropZone.add(d):r.dropZone=d,d.each(function(a,b){var d=c(b).data("upload-formats");if(d){d=d.split(",");for(var e in d)r.addApprovedFileType(d[e])}})},r.removeDropTarget=function(a){if(r.dropZone){var b=r.dropZone.filter(a);return b.off("dragover").off("dragleav").off("drop"),r.dropZone=r.dropZone.not(a),b}return null},r.addButtonTarget=function(a,b){var d=a.jquery?a:c(a);d.on("change",function(a){h(a,e(b,{}))}),r.fileInput?r.fileInput.add(d):r.fileInput=d},r.removeButtonTarget=function(a){if(r.fileInput){var b=r.fileInput.filter(a);return b.off("change"),r.fileInput=r.fileInput.not(a),b}return null},r.addApprovedFileType=function(a){r.approvedFileTypes.indexOf(a)<0&&r.approvedFileTypes.push(a)},r.uploadContentToAzure=function(a,b,d){if(b&&b.sas)i(a,b,d,b.sas);else{var e=b&&(b.error||b.fail)?b.error?b.error:b.fail:function(a){alert(a.message)};d?d:b&&(b.done||b.complete)?b.done?b.done:b.complete:function(a){alert(a)},c.ajax({url:r.servers.api+r.uris.sas,type:"GET",xhrFields:{withCredentials:!0}}).done(function(c){var e=c.SAS;e&&"invalid user"!=e&&i(a,b,d,e)}).fail(function(a,b){e({message:"Failed to obtain storage authentication token - sign in again",detail:b,data:a})})}},r.uploadShapefile=function(a,b){b.maxLoadPercentage=50,b.minConversionPercentage=50,b.maxConversionPercentage=40,l(a,"buffer",m,b)},r.convertCsvToRows=function(a,b){b=b||",";for(var c=new RegExp("(\\"+b+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+b+"\\r\\n]*))","gi"),d=[[]],e=null;e=c.exec(a);){var f=e[1];if(f.length&&f!=b&&d.push([]),e[2])var g=e[2].replace(new RegExp('""',"g"),'"');else var g=e[3];d[d.length-1].push(g)}return d},b}(EmbeddedIAO,EmbeddedIAO.datamanager,window.jQuery,window.shp),function(a,b,c){function d(){e=b[h](function(){f.each(function(){var b=a(this),c=b.width(),d=b.height(),e=a.data(this,j);(c!==e.w||d!==e.h)&&b.trigger(i,[e.w=c,e.h=d])}),d()},g[k])}var e,f=a([]),g=a.resize=a.extend(a.resize,{}),h="setTimeout",i="resize",j=i+"-special-event",k="delay";g[k]=250,g.throttleWindow=!0,a.event.special[i]={setup:function(){if(!g.throttleWindow&&this[h])return!1;var b=a(this);f=f.add(b),a.data(this,j,{w:b.width(),h:b.height()}),1===f.length&&d()},teardown:function(){if(!g.throttleWindow&&this[h])return!1;var b=a(this);f=f.not(b),b.removeData(j),f.length||clearTimeout(e)},add:function(b){function d(b,d,f){var g=a(this),h=a.data(this,j);h.w=d!==c?d:g.width(),h.h=f!==c?f:g.height(),e.apply(this,arguments)}if(!g.throttleWindow&&this[h])return!1;var e;return a.isFunction(b)?(e=b,d):(e=b.handler,void(b.handler=d))}}}(jQuery,this),function(){var a,b=function(){this.form=this.digits=0,this.lostDigits=!1,this.roundingMode=0;var a=this.DEFAULT_FORM,c=this.DEFAULT_LOSTDIGITS,d=this.DEFAULT_ROUNDINGMODE;if(4==b.arguments.length)a=b.arguments[1],c=b.arguments[2],d=b.arguments[3];else if(3==b.arguments.length)a=b.arguments[1],c=b.arguments[2];else if(2==b.arguments.length)a=b.arguments[1];else if(1!=b.arguments.length)throw"MathContext(): "+b.arguments.length+" arguments given; expected 1 to 4";var e=b.arguments[0];if(e!=this.DEFAULT_DIGITS){if(e<this.MIN_DIGITS)throw"MathContext(): Digits too small: "+e;if(e>this.MAX_DIGITS)throw"MathContext(): Digits too large: "+e}if(a!=this.SCIENTIFIC&&a!=this.ENGINEERING&&a!=this.PLAIN)throw"MathContext() Bad form value: "+a;if(!this.isValidRound(d))throw"MathContext(): Bad roundingMode value: "+d;this.digits=e,this.form=a,this.lostDigits=c,this.roundingMode=d};b.prototype.getDigits=function(){return this.digits},b.prototype.getForm=function(){return this.form},b.prototype.getLostDigits=function(){return this.lostDigits},b.prototype.getRoundingMode=function(){return this.roundingMode},b.prototype.toString=function(){var a=null,b=0,c=null,a=this.form==this.SCIENTIFIC?"SCIENTIFIC":this.form==this.ENGINEERING?"ENGINEERING":"PLAIN",d=this.ROUNDS.length,b=0;a:for(;d>0;d--,b++)if(this.roundingMode==this.ROUNDS[b]){c=this.ROUNDWORDS[b];break a}return"digits="+this.digits+" form="+a+" lostDigits="+(this.lostDigits?"1":"0")+" roundingMode="+c},b.prototype.isValidRound=function(a){for(var b=0,c=this.ROUNDS.length,b=0;c>0;c--,b++)if(a==this.ROUNDS[b])return!0;return!1},b.PLAIN=b.prototype.PLAIN=0,b.SCIENTIFIC=b.prototype.SCIENTIFIC=1,b.ENGINEERING=b.prototype.ENGINEERING=2,b.ROUND_CEILING=b.prototype.ROUND_CEILING=2,b.ROUND_DOWN=b.prototype.ROUND_DOWN=1,b.ROUND_FLOOR=b.prototype.ROUND_FLOOR=3,b.ROUND_HALF_DOWN=b.prototype.ROUND_HALF_DOWN=5,b.ROUND_HALF_EVEN=b.prototype.ROUND_HALF_EVEN=6,b.ROUND_HALF_UP=b.prototype.ROUND_HALF_UP=4,b.ROUND_UNNECESSARY=b.prototype.ROUND_UNNECESSARY=7,b.ROUND_UP=b.prototype.ROUND_UP=0,b.prototype.DEFAULT_FORM=b.prototype.SCIENTIFIC,b.prototype.DEFAULT_DIGITS=9,b.prototype.DEFAULT_LOSTDIGITS=!1,b.prototype.DEFAULT_ROUNDINGMODE=b.prototype.ROUND_HALF_UP,b.prototype.MIN_DIGITS=0,b.prototype.MAX_DIGITS=999999999,b.prototype.ROUNDS=[b.prototype.ROUND_HALF_UP,b.prototype.ROUND_UNNECESSARY,b.prototype.ROUND_CEILING,b.prototype.ROUND_DOWN,b.prototype.ROUND_FLOOR,b.prototype.ROUND_HALF_DOWN,b.prototype.ROUND_HALF_EVEN,b.prototype.ROUND_UP],b.prototype.ROUNDWORDS="ROUND_HALF_UP ROUND_UNNECESSARY ROUND_CEILING ROUND_DOWN ROUND_FLOOR ROUND_HALF_DOWN ROUND_HALF_EVEN ROUND_UP".split(" "),b.prototype.DEFAULT=new b(b.prototype.DEFAULT_DIGITS,b.prototype.DEFAULT_FORM,b.prototype.DEFAULT_LOSTDIGITS,b.prototype.DEFAULT_ROUNDINGMODE),a=b;var c,d=function(a,b){return(a-a%b)/b},e=function(a){var b,c=Array(a);for(b=0;a>b;++b)c[b]=0;return c},f=function(){if(this.ind=0,this.form=a.prototype.PLAIN,this.mant=null,this.exp=0,0!=f.arguments.length){var b,c,d;1==f.arguments.length?(b=f.arguments[0],c=0,d=b.length):(b=f.arguments[0],c=f.arguments[1],d=f.arguments[2]),"string"==typeof b&&(b=b.split(""));var e,g,h,i,j,k=0,l=0,m=l=l=0,n=0;0>=d&&this.bad("BigDecimal(): ",b),this.ind=this.ispos,"-"==b[0]?(d--,0==d&&this.bad("BigDecimal(): ",b),this.ind=this.isneg,c++):"+"==b[0]&&(d--,0==d&&this.bad("BigDecimal(): ",b),c++),g=e=!1,h=0,j=i=-1,m=d,k=c;a:for(;m>0;m--,k++)if(l=b[k],l>="0"&&"9">=l)j=k,h++;else if("."!=l){if("e"==l||"E"==l){for(k-c>d-2&&this.bad("BigDecimal(): ",b),g=!1,"-"==b[k+1]?(g=!0,k+=2):k="+"==b[k+1]?k+2:k+1,l=d-(k-c),(0==l||l>9)&&this.bad("BigDecimal(): ",b),d=l,l=k;d>0;d--,l++)m=b[l],"0">m&&this.bad("BigDecimal(): ",b),m>"9"?this.bad("BigDecimal(): ",b):n=m-0,this.exp=10*this.exp+n;g&&(this.exp=-this.exp),g=!0;break a}("0">l||l>"9")&&this.bad("BigDecimal(): ",b),e=!0,j=k,h++}else i>=0&&this.bad("BigDecimal(): ",b),i=k-c;0==h&&this.bad("BigDecimal(): ",b),i>=0&&(this.exp=this.exp+i-h),n=j-1,k=c;a:for(;n>=k;k++)if(l=b[k],"0"==l)c++,i--,h--;else{if("."!=l)break a;c++,i--}if(this.mant=Array(h),l=c,e)for(c=h,k=0;c>0;c--,k++)k==i&&l++,m=b[l],"9">=m?this.mant[k]=m-0:this.bad("BigDecimal(): ",b),l++;else for(c=h,k=0;c>0;c--,k++)k==i&&l++,this.mant[k]=b[l]-0,l++;0==this.mant[0]?(this.ind=this.iszero,0<this.exp&&(this.exp=0),g&&(this.mant=this.ZERO.mant,this.exp=0)):g&&(this.form=a.prototype.SCIENTIFIC,i=this.exp+this.mant.length-1,(i<this.MinExp||i>this.MaxExp)&&this.bad("BigDecimal(): ",b))}},g=function(){var a;if(1==g.arguments.length)a=g.arguments[0];else{if(0!=g.arguments.length)throw"abs(): "+g.arguments.length+" arguments given; expected 0 or 1";a=this.plainMC}return this.ind==this.isneg?this.negate(a):this.plus(a)},h=function(){var b;if(2==h.arguments.length)b=h.arguments[1];else{if(1!=h.arguments.length)throw"add(): "+h.arguments.length+" arguments given; expected 1 or 2";b=this.plainMC}var c,d,e,g,i,j,k,l=h.arguments[0],m=0,n=0,o=0,p=0,q=0,r=0;if(b.lostDigits&&this.checkdigits(l,b.digits),c=this,0==c.ind&&b.form!=a.prototype.PLAIN)return l.plus(b);if(0==l.ind&&b.form!=a.prototype.PLAIN)return c.plus(b);if(d=b.digits,d>0&&(c.mant.length>d&&(c=this.clone(c).round(b)),l.mant.length>d&&(l=this.clone(l).round(b))),e=new f,g=c.mant,i=c.mant.length,j=l.mant,k=l.mant.length,c.exp==l.exp)e.exp=c.exp;else if(c.exp>l.exp){if(m=i+c.exp-l.exp,m>=k+d+1&&d>0)return e.mant=g,e.exp=c.exp,e.ind=c.ind,d>i&&(e.mant=this.extend(c.mant,d),e.exp-=d-i),e.finish(b,!1);e.exp=l.exp,m>d+1&&d>0&&(m=m-d-1,k-=m,e.exp+=m,m=d+1),m>i&&(i=m)}else{if(m=k+l.exp-c.exp,m>=i+d+1&&d>0)return e.mant=j,e.exp=l.exp,e.ind=l.ind,d>k&&(e.mant=this.extend(l.mant,d),e.exp-=d-k),e.finish(b,!1);e.exp=c.exp,m>d+1&&d>0&&(m=m-d-1,i-=m,e.exp+=m,m=d+1),m>k&&(k=m)}if(e.ind=c.ind==this.iszero?this.ispos:c.ind,(c.ind==this.isneg?1:0)==(l.ind==this.isneg?1:0))d=1;else do{d=-1;do if(l.ind!=this.iszero)if(k>i||c.ind==this.iszero)m=g,g=j,j=m,m=i,i=k,k=m,e.ind=-e.ind;else if(!(i>k)){n=m=0,o=g.length-1,p=j.length-1;a:for(;;){if(o>=m)q=g[m];else{if(n>p){if(b.form!=a.prototype.PLAIN)return this.ZERO;break a}q=0}if(r=p>=n?j[n]:0,q!=r){r>q&&(m=g,g=j,j=m,m=i,i=k,k=m,e.ind=-e.ind);break a}m++,n++}}while(0)}while(0);return e.mant=this.byteaddsub(g,i,j,k,d,!1),e.finish(b,!1)},i=function(){var a;if(2==i.arguments.length)a=i.arguments[1];else{if(1!=i.arguments.length)throw"compareTo(): "+i.arguments.length+" arguments given; expected 1 or 2";a=this.plainMC}var b=i.arguments[0],c=0;if(a.lostDigits&&this.checkdigits(b,a.digits),this.ind==b.ind&&this.exp==b.exp){if(c=this.mant.length,c<b.mant.length)return-this.ind;if(c>b.mant.length)return this.ind;if(c<=a.digits||0==a.digits){for(a=c,c=0;a>0;a--,c++){if(this.mant[c]<b.mant[c])return-this.ind;if(this.mant[c]>b.mant[c])return this.ind}return 0}}else{if(this.ind<b.ind)return-1;if(this.ind>b.ind)return 1}return b=this.clone(b),b.ind=-b.ind,this.add(b,a).ind},j=function(){var b,c=-1;if(2==j.arguments.length)b="number"==typeof j.arguments[1]?new a(0,a.prototype.PLAIN,!1,j.arguments[1]):j.arguments[1];else if(3==j.arguments.length){if(c=j.arguments[1],0>c)throw"divide(): Negative scale: "+c;b=new a(0,a.prototype.PLAIN,!1,j.arguments[2])}else{if(1!=j.arguments.length)throw"divide(): "+j.arguments.length+" arguments given; expected between 1 and 3";b=this.plainMC}return this.dodivide("D",j.arguments[0],b,c)},k=function(){var a;if(2==k.arguments.length)a=k.arguments[1];else{if(1!=k.arguments.length)throw"divideInteger(): "+k.arguments.length+" arguments given; expected 1 or 2";a=this.plainMC}return this.dodivide("I",k.arguments[0],a,0)},l=function(){var a;if(2==l.arguments.length)a=l.arguments[1];else{if(1!=l.arguments.length)throw"max(): "+l.arguments.length+" arguments given; expected 1 or 2";a=this.plainMC}var b=l.arguments[0];return 0<=this.compareTo(b,a)?this.plus(a):b.plus(a)},m=function(){var a;if(2==m.arguments.length)a=m.arguments[1];else{if(1!=m.arguments.length)throw"min(): "+m.arguments.length+" arguments given; expected 1 or 2";a=this.plainMC}var b=m.arguments[0];return 0>=this.compareTo(b,a)?this.plus(a):b.plus(a)},n=function(){var a;if(2==n.arguments.length)a=n.arguments[1];else{if(1!=n.arguments.length)throw"multiply(): "+n.arguments.length+" arguments given; expected 1 or 2";a=this.plainMC}var b,c,d,e,g,h=n.arguments[0],i=null,j=0,k=0,l=0;a.lostDigits&&this.checkdigits(h,a.digits),b=this,c=0,d=a.digits,d>0?(b.mant.length>d&&(b=this.clone(b).round(a)),h.mant.length>d&&(h=this.clone(h).round(a))):(0<b.exp&&(c+=b.exp),0<h.exp&&(c+=h.exp)),b.mant.length<h.mant.length?(d=b.mant,i=h.mant):(d=h.mant,i=b.mant),e=d.length+i.length-1,j=9<d[0]*i[0]?e+1:e,g=new f;for(var j=this.createArrayWithZeros(j),m=d.length,k=0;m>0;m--,k++)l=d[k],0!=l&&(j=this.byteaddsub(j,j.length,i,e,l,!0)),e--;return g.ind=b.ind*h.ind,g.exp=b.exp+h.exp-c,g.mant=0==c?j:this.extend(j,j.length+c),g.finish(a,!1)},o=function(){var a;if(1==o.arguments.length)a=o.arguments[0];else{if(0!=o.arguments.length)throw"negate(): "+o.arguments.length+" arguments given; expected 0 or 1";a=this.plainMC}var b;return a.lostDigits&&this.checkdigits(null,a.digits),b=this.clone(this),b.ind=-b.ind,b.finish(a,!1)},p=function(){var b;if(1==p.arguments.length)b=p.arguments[0];else{if(0!=p.arguments.length)throw"plus(): "+p.arguments.length+" arguments given; expected 0 or 1";b=this.plainMC}return b.lostDigits&&this.checkdigits(null,b.digits),b.form==a.prototype.PLAIN&&this.form==a.prototype.PLAIN&&(this.mant.length<=b.digits||0==b.digits)?this:this.clone(this).finish(b,!1)},q=function(){var b;if(2==q.arguments.length)b=q.arguments[1];else{if(1!=q.arguments.length)throw"pow(): "+q.arguments.length+" arguments given; expected 1 or 2";b=this.plainMC}var c,d,e,f,g=q.arguments[0],h=0,i=0;if(b.lostDigits&&this.checkdigits(g,b.digits),c=g.intcheck(this.MinArg,this.MaxArg),d=this,e=b.digits,0==e){if(g.ind==this.isneg)throw"pow(): Negative power: "+g.toString();e=0}else{if(g.mant.length+g.exp>e)throw"pow(): Too many digits: "+g.toString();d.mant.length>e&&(d=this.clone(d).round(b)),h=g.mant.length+g.exp,e=e+h+1}if(e=new a(e,b.form,!1,b.roundingMode),h=this.ONE,0==c)return h;0>c&&(c=-c),f=!1,i=1;a:for(;c<<=1,0>c&&(f=!0,h=h.multiply(d,e)),31!=i;i++)f&&(h=h.multiply(h,e));return 0>g.ind&&(h=this.ONE.divide(h,e)),h.finish(b,!0)},r=function(){var a;if(2==r.arguments.length)a=r.arguments[1];else{if(1!=r.arguments.length)throw"remainder(): "+r.arguments.length+" arguments given; expected 1 or 2";a=this.plainMC}return this.dodivide("R",r.arguments[0],a,-1)},s=function(){var a;if(2==s.arguments.length)a=s.arguments[1];else{if(1!=s.arguments.length)throw"subtract(): "+s.arguments.length+" arguments given; expected 1 or 2";a=this.plainMC}var b=s.arguments[0];return a.lostDigits&&this.checkdigits(b,a.digits),b=this.clone(b),b.ind=-b.ind,this.add(b,a)},t=function(){var b,c,d,e;if(6==t.arguments.length)b=t.arguments[2],c=t.arguments[3],d=t.arguments[4],e=t.arguments[5];else{if(2!=t.arguments.length)throw"format(): "+t.arguments.length+" arguments given; expected 2 or 6";c=b=-1,d=a.prototype.SCIENTIFIC,e=this.ROUND_HALF_UP}var f,g=t.arguments[0],h=t.arguments[1],i=0,j=null,k=0,i=null,k=0;if((-1>g||0==g)&&this.badarg("format",1,g),-1>h&&this.badarg("format",2,h),(-1>b||0==b)&&this.badarg("format",3,b),-1>c&&this.badarg("format",4,c),d!=a.prototype.SCIENTIFIC&&d!=a.prototype.ENGINEERING&&(-1==d?d=a.prototype.SCIENTIFIC:this.badarg("format",5,d)),e!=this.ROUND_HALF_UP)try{-1==e?e=this.ROUND_HALF_UP:new a(9,a.prototype.SCIENTIFIC,!1,e)}catch(l){this.badarg("format",6,e)}if(f=this.clone(this),-1==c?f.form=a.prototype.PLAIN:f.ind==this.iszero?f.form=a.prototype.PLAIN:(i=f.exp+f.mant.length,f.form=i>c?d:-5>i?d:a.prototype.PLAIN),h>=0)a:for(;f.form==a.prototype.PLAIN?i=-f.exp:f.form==a.prototype.SCIENTIFIC?i=f.mant.length-1:(i=(f.exp+f.mant.length-1)%3,0>i&&(i=3+i),i++,i=i>=f.mant.length?0:f.mant.length-i),i!=h;){if(h>i){if(j=this.extend(f.mant,f.mant.length+h-i),f.mant=j,f.exp-=h-i,f.exp<this.MinExp)throw"format(): Exponent Overflow: "+f.exp;break a}if(i-=h,i>f.mant.length)f.mant=this.ZERO.mant,f.ind=this.iszero,f.exp=0;else if(j=f.mant.length-i,k=f.exp,f.round(j,e),f.exp-k==i)break a}if(c=f.layout(),g>0){d=c.length,f=0;a:for(;d>0&&"."!=c[f]&&"E"!=c[f];d--,f++);if(f>g&&this.badarg("format",1,g),g>f){for(i=Array(c.length+g-f),g-=f,j=0;g>0;g--,j++)i[j]=" ";this.arraycopy(c,0,i,j,c.length),c=i}}if(b>0){g=c.length-1,f=c.length-1;a:for(;g>0&&"E"!=c[f];g--,f--);if(0==f){for(i=Array(c.length+b+2),this.arraycopy(c,0,i,0,c.length),b+=2,j=c.length;b>0;b--,j++)i[j]=" ";c=i}else if(k=c.length-f-2,k>b&&this.badarg("format",3,b),b>k){for(i=Array(c.length+b-k),this.arraycopy(c,0,i,0,f+2),b-=k,j=f+2;b>0;b--,j++)i[j]="0";this.arraycopy(c,f+2,i,j,k),c=i}}return c.join("")},u=function(){var b;if(2==u.arguments.length)b=u.arguments[1];else{if(1!=u.arguments.length)throw"setScale(): "+u.arguments.length+" given; expected 1 or 2";b=this.ROUND_UNNECESSARY}var c,d,e=u.arguments[0];if(c=this.scale(),c==e&&this.form==a.prototype.PLAIN)return this;if(d=this.clone(this),e>=c)c=0==c?d.exp+e:e-c,d.mant=this.extend(d.mant,d.mant.length+c),d.exp=-e;else{if(0>e)throw"setScale(): Negative scale: "+e;c=d.mant.length-(c-e),d=d.round(c,b),d.exp!=-e&&(d.mant=this.extend(d.mant,d.mant.length+1),d.exp-=1)}return d.form=a.prototype.PLAIN,d};c=function(){var a,b=0,c=0;for(a=Array(190),b=0;189>=b;b++)c=b-90,c>=0?(a[b]=c%10,f.prototype.bytecar[b]=d(c,10)):(c+=100,a[b]=c%10,f.prototype.bytecar[b]=d(c,10)-10);return a};var v=function(){var a,b;if(2==v.arguments.length)a=v.arguments[0],b=v.arguments[1];else{if(1!=v.arguments.length)throw"round(): "+v.arguments.length+" arguments given; expected 1 or 2";b=v.arguments[0],a=b.digits,b=b.roundingMode}var c,d,e,f=!1,g=0;if(c=this.mant.length-a,0>=c)return this;if(this.exp+=c,c=this.ind,d=this.mant,a>0?(this.mant=Array(a),this.arraycopy(d,0,this.mant,0,a),f=!0,g=d[a]):(this.mant=this.ZERO.mant,this.ind=this.iszero,f=!1,g=0==a?d[0]:0),e=0,b==this.ROUND_HALF_UP)g>=5&&(e=c);else if(b==this.ROUND_UNNECESSARY){if(!this.allzero(d,a))throw"round(): Rounding necessary"}else if(b==this.ROUND_HALF_DOWN)g>5?e=c:5==g&&(this.allzero(d,a+1)||(e=c));else if(b==this.ROUND_HALF_EVEN)g>5?e=c:5==g&&(this.allzero(d,a+1)?1==this.mant[this.mant.length-1]%2&&(e=c):e=c);else if(b!=this.ROUND_DOWN)if(b==this.ROUND_UP)this.allzero(d,a)||(e=c);else if(b==this.ROUND_CEILING)c>0&&(this.allzero(d,a)||(e=c));else{if(b!=this.ROUND_FLOOR)throw"round(): Bad round value: "+b;0>c&&(this.allzero(d,a)||(e=c))}if(0!=e&&(this.ind==this.iszero?(this.mant=this.ONE.mant,this.ind=e):(this.ind==this.isneg&&(e=-e),c=this.byteaddsub(this.mant,this.mant.length,this.ONE.mant,1,e,f),c.length>this.mant.length?(this.exp++,this.arraycopy(c,0,this.mant,0,this.mant.length)):this.mant=c)),this.exp>this.MaxExp)throw"round(): Exponent Overflow: "+this.exp;return this};f.prototype.div=d,f.prototype.arraycopy=function(a,b,c,d,e){var f;if(d>b)for(f=e-1;f>=0;--f)c[f+d]=a[f+b];else for(f=0;e>f;++f)c[f+d]=a[f+b]},f.prototype.createArrayWithZeros=e,f.prototype.abs=g,f.prototype.add=h,f.prototype.compareTo=i,f.prototype.divide=j,f.prototype.divideInteger=k,f.prototype.max=l,f.prototype.min=m,f.prototype.multiply=n,f.prototype.negate=o,f.prototype.plus=p,f.prototype.pow=q,f.prototype.remainder=r,f.prototype.subtract=s,f.prototype.equals=function(a){var b=0,c=null,d=null;if(null==a||!(a instanceof f)||this.ind!=a.ind)return!1;if(this.mant.length==a.mant.length&&this.exp==a.exp&&this.form==a.form){for(c=this.mant.length,b=0;c>0;c--,b++)if(this.mant[b]!=a.mant[b])return!1}else{if(c=this.layout(),d=a.layout(),c.length!=d.length)return!1;for(a=c.length,b=0;a>0;a--,b++)if(c[b]!=d[b])return!1}return!0},f.prototype.format=t,f.prototype.intValueExact=function(){var a,b,c=0,e=0;if(this.ind==this.iszero)return 0;if(a=this.mant.length-1,0>this.exp){if(a+=this.exp,!this.allzero(this.mant,a+1))throw"intValueExact(): Decimal part non-zero: "+this.toString();if(0>a)return 0;c=0}else{if(9<this.exp+a)throw"intValueExact(): Conversion overflow: "+this.toString();c=this.exp}b=0;for(var f=a+c,e=0;f>=e;e++)b*=10,a>=e&&(b+=this.mant[e]);if(9==a+c&&(a=d(b,1e9),a!=this.mant[0])){if(-2147483648==b&&this.ind==this.isneg&&2==this.mant[0])return b;throw"intValueExact(): Conversion overflow: "+this.toString()}return this.ind==this.ispos?b:-b},f.prototype.movePointLeft=function(a){var b;return b=this.clone(this),b.exp-=a,b.finish(this.plainMC,!1)},f.prototype.movePointRight=function(a){var b;return b=this.clone(this),b.exp+=a,b.finish(this.plainMC,!1)},f.prototype.scale=function(){return 0<=this.exp?0:-this.exp},f.prototype.setScale=u,f.prototype.signum=function(){return this.ind},f.prototype.toString=function(){return this.layout().join("")},f.prototype.layout=function(){var b,c,d=0,e=0,f=0,f=null;for(b=Array(this.mant.length),e=this.mant.length,d=0;e>0;e--,d++)b[d]=this.mant[d]+"";if(this.form!=a.prototype.PLAIN){if(d="",this.ind==this.isneg&&(d+="-"),e=this.exp+b.length-1,this.form==a.prototype.SCIENTIFIC)d+=b[0],1<b.length&&(d+="."),d+=b.slice(1).join("");else if(f=e%3,0>f&&(f=3+f),e-=f,f++,f>=b.length)for(d+=b.join(""),b=f-b.length;b>0;b--)d+="0";else d+=b.slice(0,f).join(""),d=d+"."+b.slice(f).join("");return 0!=e&&(0>e?(b="-",e=-e):b="+",d+="E",d+=b,d+=e),d.split("")}if(0==this.exp)return 0<=this.ind?b:(f=Array(b.length+1),f[0]="-",this.arraycopy(b,0,f,1,b.length),f);if(e=this.ind==this.isneg?1:0,c=this.exp+b.length,1>c){d=e+2-this.exp,f=Array(d),0!=e&&(f[0]="-"),f[e]="0",f[e+1]=".";for(var g=-c,d=e+2;g>0;g--,d++)f[d]="0";return this.arraycopy(b,0,f,e+2-c,b.length),f}if(c>b.length){for(f=Array(e+c),0!=e&&(f[0]="-"),this.arraycopy(b,0,f,e,b.length),c-=b.length,d=e+b.length;c>0;c--,d++)f[d]="0";return f}return d=e+1+b.length,f=Array(d),0!=e&&(f[0]="-"),this.arraycopy(b,0,f,e,c),f[e+c]=".",this.arraycopy(b,c,f,e+c+1,b.length-c),f},f.prototype.intcheck=function(a,b){var c;if(c=this.intValueExact(),a>c||c>b)throw"intcheck(): Conversion overflow: "+c;return c},f.prototype.dodivide=function(b,c,e,g){var h,i,j,k,l,m,n,o,p,q=0,r=0,s=0;if(e.lostDigits&&this.checkdigits(c,e.digits),h=this,0==c.ind)throw"dodivide(): Divide by 0";if(0==h.ind)return e.form!=a.prototype.PLAIN?this.ZERO:-1==g?h:h.setScale(g);if(i=e.digits,i>0?(h.mant.length>i&&(h=this.clone(h).round(e)),c.mant.length>i&&(c=this.clone(c).round(e))):(-1==g&&(g=h.scale()),i=h.mant.length,g!=-h.exp&&(i=i+g+h.exp),i=i-(c.mant.length-1)-c.exp,i<h.mant.length&&(i=h.mant.length),i<c.mant.length&&(i=c.mant.length)),j=h.exp-c.exp+h.mant.length-c.mant.length,0>j&&"D"!=b)return"I"==b?this.ZERO:this.clone(h).finish(e,!1);k=new f,k.ind=h.ind*c.ind,k.exp=j,k.mant=this.createArrayWithZeros(i+1),l=i+i+1,j=this.extend(h.mant,l),m=l,n=c.mant,o=l,p=10*n[0]+1,1<n.length&&(p+=n[1]),l=0;a:for(;;){q=0;b:for(;!(o>m);){if(m==o){c:do{for(var t=m,r=0;t>0;t--,r++){if(s=r<n.length?n[r]:0,j[r]<s)break b;if(j[r]>s)break c}q++,k.mant[l]=q,l++,j[0]=0;break a}while(0);r=j[0]}else r=10*j[0],m>1&&(r+=j[1]);if(r=d(10*r,p),0==r&&(r=1),q+=r,j=this.byteaddsub(j,m,n,o,-r,!0),0==j[0]){s=m-2,r=0;c:for(;s>=r&&0==j[r];r++)m--;0!=r&&this.arraycopy(j,r,j,0,m)}}if(0!=l||0!=q){if(k.mant[l]=q,l++,l==i+1)break a;if(0==j[0])break a}if(g>=0&&-k.exp>g)break a;if("D"!=b&&0>=k.exp)break a;k.exp-=1,o--}if(0==l&&(l=1),"I"==b||"R"==b){if(l+k.exp>i)throw"dodivide(): Integer overflow";if("R"==b)do{if(0==k.mant[0])return this.clone(h).finish(e,!1);if(0==j[0])return this.ZERO;k.ind=h.ind,i=i+i+1-h.mant.length,k.exp=k.exp-i+h.exp,i=m,r=i-1;a:for(;r>=1&&k.exp<h.exp&&k.exp<c.exp&&0==j[r];r--)i--,k.exp+=1;return i<j.length&&(h=Array(i),this.arraycopy(j,0,h,0,i),j=h),k.mant=j,k.finish(e,!1)}while(0)}else 0!=j[0]&&(h=k.mant[l-1],0==h%5&&(k.mant[l-1]=h+1));if(g>=0)return l!=k.mant.length&&(k.exp-=k.mant.length-l),h=k.mant.length-(-k.exp-g),k.round(h,e.roundingMode),k.exp!=-g&&(k.mant=this.extend(k.mant,k.mant.length+1),k.exp-=1),k.finish(e,!0);if(l==k.mant.length)k.round(e);else{if(0==k.mant[0])return this.ZERO;h=Array(l),this.arraycopy(k.mant,0,h,0,l),k.mant=h}return k.finish(e,!0)},f.prototype.bad=function(a,b){throw a+"Not a number: "+b},f.prototype.badarg=function(a,b,c){throw"Bad argument "+b+" to "+a+": "+c},f.prototype.extend=function(a,b){var c;return a.length==b?a:(c=e(b),this.arraycopy(a,0,c,0,a.length),c)},f.prototype.byteaddsub=function(a,b,c,d,e,f){var g,h,i,j,k,l,m=0;g=a.length,h=c.length,b-=1,j=i=d-1,b>j&&(j=b),d=null,f&&j+1==g&&(d=a),null==d&&(d=this.createArrayWithZeros(j+1)),k=!1,1==e?k=!0:-1==e&&(k=!0),l=0,m=j;a:for(;m>=0;m--){if(b>=0&&(g>b&&(l+=a[b]),b--),i>=0&&(h>i&&(l=k?e>0?l+c[i]:l-c[i]:l+c[i]*e),i--),10>l&&l>=0)do{d[m]=l,l=0;continue a}while(0);l+=90,d[m]=this.bytedig[l],l=this.bytecar[l]}if(0==l)return d;for(c=null,f&&j+2==a.length&&(c=a),null==c&&(c=Array(j+2)),c[0]=l,a=j+1,g=0;a>0;a--,g++)c[g+1]=d[g];return c},f.prototype.diginit=c,f.prototype.clone=function(a){var b;return b=new f,b.ind=a.ind,b.exp=a.exp,b.form=a.form,b.mant=a.mant,b},f.prototype.checkdigits=function(a,b){if(0!=b){if(this.mant.length>b&&!this.allzero(this.mant,b))throw"Too many digits: "+this.toString();if(null!=a&&a.mant.length>b&&!this.allzero(a.mant,b))throw"Too many digits: "+a.toString()}},f.prototype.round=v,f.prototype.allzero=function(a,b){var c=0;0>b&&(b=0);for(var d=a.length-1,c=b;d>=c;c++)if(0!=a[c])return!1;return!0},f.prototype.finish=function(b,c){var d=0,e=0,f=null;if(0!=b.digits&&this.mant.length>b.digits&&this.round(b),c&&b.form!=a.prototype.PLAIN){d=this.mant.length,e=d-1;a:for(;e>=1&&0==this.mant[e];e--)d--,this.exp++;d<this.mant.length&&(f=Array(d),this.arraycopy(this.mant,0,f,0,d),this.mant=f)}for(this.form=a.prototype.PLAIN,d=this.mant.length,e=0;d>0;d--,e++)if(0!=this.mant[e]){if(e>0&&(f=Array(this.mant.length-e),this.arraycopy(this.mant,e,f,0,this.mant.length-e),this.mant=f),e=this.exp+this.mant.length,e>0){if(e>b.digits&&0!=b.digits&&(this.form=b.form),e-1<=this.MaxExp)return this}else-5>e&&(this.form=b.form);if(e--,e<this.MinExp||e>this.MaxExp)a:do{if(this.form==a.prototype.ENGINEERING&&(d=e%3,0>d&&(d=3+d),e-=d,e>=this.MinExp&&e<=this.MaxExp))break a;throw"finish(): Exponent Overflow: "+e}while(0);return this}if(this.ind=this.iszero,b.form!=a.prototype.PLAIN)this.exp=0;else if(0<this.exp)this.exp=0;else if(this.exp<this.MinExp)throw"finish(): Exponent Overflow: "+this.exp;return this.mant=this.ZERO.mant,this},f.prototype.isGreaterThan=function(a){return 0<this.compareTo(a)},f.prototype.isLessThan=function(a){return 0>this.compareTo(a)},f.prototype.isGreaterThanOrEqualTo=function(a){return 0<=this.compareTo(a)},f.prototype.isLessThanOrEqualTo=function(a){return 0>=this.compareTo(a)},f.prototype.isPositive=function(){return 0<this.compareTo(f.prototype.ZERO)},f.prototype.isNegative=function(){return 0>this.compareTo(f.prototype.ZERO)},f.prototype.isZero=function(){return this.equals(f.prototype.ZERO)},f.ROUND_CEILING=f.prototype.ROUND_CEILING=a.prototype.ROUND_CEILING,f.ROUND_DOWN=f.prototype.ROUND_DOWN=a.prototype.ROUND_DOWN,f.ROUND_FLOOR=f.prototype.ROUND_FLOOR=a.prototype.ROUND_FLOOR,f.ROUND_HALF_DOWN=f.prototype.ROUND_HALF_DOWN=a.prototype.ROUND_HALF_DOWN,f.ROUND_HALF_EVEN=f.prototype.ROUND_HALF_EVEN=a.prototype.ROUND_HALF_EVEN,f.ROUND_HALF_UP=f.prototype.ROUND_HALF_UP=a.prototype.ROUND_HALF_UP,f.ROUND_UNNECESSARY=f.prototype.ROUND_UNNECESSARY=a.prototype.ROUND_UNNECESSARY,f.ROUND_UP=f.prototype.ROUND_UP=a.prototype.ROUND_UP,f.prototype.ispos=1,f.prototype.iszero=0,f.prototype.isneg=-1,f.prototype.MinExp=-999999999,f.prototype.MaxExp=999999999,f.prototype.MinArg=-999999999,f.prototype.MaxArg=999999999,f.prototype.plainMC=new a(0,a.prototype.PLAIN),f.prototype.bytecar=Array(190),f.prototype.bytedig=c(),f.ZERO=f.prototype.ZERO=new f("0"),f.ONE=f.prototype.ONE=new f("1"),f.TEN=f.prototype.TEN=new f("10"),c=f,"function"==typeof define&&null!=define.amd?define({BigDecimal:c,MathContext:a}):"object"==typeof this&&(this.BigDecimal=c,this.MathContext=a)}.call(this),function(){var a=Math,b=/webkit/i.test(navigator.appVersion)?"webkit":/firefox/i.test(navigator.userAgent)?"Moz":"opera"in window?"O":"",c="WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix,d="ontouchstart"in window,e=b+"Transform"in document.documentElement.style,f=/android/gi.test(navigator.appVersion),g=/iphone|ipad/gi.test(navigator.appVersion),h=/playbook/gi.test(navigator.appVersion),i=g||h,j=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){return setTimeout(a,1)}}(),k=window.cancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout,l="onorientationchange"in window?"orientationchange":"resize",m=d?"touchstart":"mousedown",n=d?"touchmove":"mousemove",o=d?"touchend":"mouseup",p=d?"touchcancel":"mouseup",q="Moz"==b?"DOMMouseScroll":"mousewheel",r="translate"+(c?"3d(":"("),s=c?",0)":")",h=function(a,h){var j,k=this;k.wrapper="object"==typeof a?a:document.getElementById(a),k.wrapper.style.overflow="hidden",k.scroller=k.wrapper.children[0],k.options={hScroll:!0,vScroll:!0,bounce:!0,bounceLock:!1,momentum:!0,lockDirection:!0,useTransform:!0,useTransition:!1,topOffset:0,checkDOMChanges:!1,roundPosition:!1,hScrollbar:!0,vScrollbar:!0,fixedScrollbar:f,hideScrollbar:g,fadeScrollbar:g&&c,scrollbarClass:"",zoom:!1,zoomMin:1,zoomMax:4,doubleTapZoom:2,wheelAction:"scroll",snap:!1,snapThreshold:1,onRefresh:null,onBeforeScrollStart:function(a){a.preventDefault()},onScrollStart:null,onBeforeScrollMove:null,onScrollMove:null,onBeforeScrollEnd:null,onScrollEnd:null,onTouchEnd:null,onDestroy:null,onZoomStart:null,onZoom:null,onZoomEnd:null};for(j in h)k.options[j]=h[j];k.options.useTransform=e?k.options.useTransform:!1,k.options.hScrollbar=k.options.hScroll&&k.options.hScrollbar,k.options.vScrollbar=k.options.vScroll&&k.options.vScrollbar,k.options.zoom=k.options.useTransform&&k.options.zoom,k.options.useTransition=i&&k.options.useTransition,k.scroller.style[b+"TransitionProperty"]=k.options.useTransform?"-"+b.toLowerCase()+"-transform":"top left",k.scroller.style[b+"TransitionDuration"]="0",k.scroller.style[b+"TransformOrigin"]="0 0",k.options.useTransition&&(k.scroller.style[b+"TransitionTimingFunction"]="cubic-bezier(0.33,0.66,0.66,1)"),k.options.useTransform?k.scroller.style[b+"Transform"]=r+"0,0"+s:k.scroller.style.cssText+=";position:absolute;top:0;left:0",k.options.useTransition&&(k.options.fixedScrollbar=!0),k.refresh(),k._bind(l,window),k._bind(m),d||(k._bind("mouseout",k.wrapper),k._bind(q)),k.options.checkDOMChanges&&(k.checkDOMTime=setInterval(function(){k._checkDOMChanges()},500))};h.prototype={enabled:!0,x:0,y:0,steps:[],scale:1,currPageX:0,currPageY:0,pagesX:[],pagesY:[],aniTime:null,wheelZoomCount:0,handleEvent:function(a){switch(a.type){case m:if(!d&&0!==a.button)break;this._start(a);break;case n:this._move(a);break;case o:case p:this._end(a);break;case l:this._resize();break;case q:this._wheel(a);break;case"mouseout":this._mouseout(a);break;case"webkitTransitionEnd":this._transitionEnd(a)}},_checkDOMChanges:function(){!this.moved&&!this.zoomed&&!(this.animating||this.scrollerW==this.scroller.offsetWidth*this.scale&&this.scrollerH==this.scroller.offsetHeight*this.scale)&&this.refresh();
},_scrollbar:function(c){var d,f=document;this[c+"Scrollbar"]?(this[c+"ScrollbarWrapper"]||(d=f.createElement("div"),this.options.scrollbarClass?d.className=this.options.scrollbarClass+c.toUpperCase():d.style.cssText="position:absolute;z-index:100;"+("h"==c?"height:7px;bottom:1px;left:2px;right:"+(this.vScrollbar?"7":"2")+"px":"width:7px;bottom:"+(this.hScrollbar?"7":"2")+"px;top:2px;right:1px"),d.style.cssText+=";pointer-events:none;-"+b+"-transition-property:opacity;-"+b+"-transition-duration:"+(this.options.fadeScrollbar?"350ms":"0")+";overflow:hidden;opacity:"+(this.options.hideScrollbar?"0":"1"),this.wrapper.appendChild(d),this[c+"ScrollbarWrapper"]=d,d=f.createElement("div"),this.options.scrollbarClass||(d.style.cssText="position:absolute;z-index:100;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);-"+b+"-background-clip:padding-box;-"+b+"-box-sizing:border-box;"+("h"==c?"height:100%":"width:100%")+";-"+b+"-border-radius:3px;border-radius:3px"),d.style.cssText+=";pointer-events:none;-"+b+"-transition-property:-"+b+"-transform;-"+b+"-transition-timing-function:cubic-bezier(0.33,0.66,0.66,1);-"+b+"-transition-duration:0;-"+b+"-transform:"+r+"0,0"+s,this.options.useTransition&&(d.style.cssText+=";-"+b+"-transition-timing-function:cubic-bezier(0.33,0.66,0.66,1)"),this[c+"ScrollbarWrapper"].appendChild(d),this[c+"ScrollbarIndicator"]=d),"h"==c?(this.hScrollbarSize=this.hScrollbarWrapper.clientWidth,this.hScrollbarIndicatorSize=a.max(a.round(this.hScrollbarSize*this.hScrollbarSize/this.scrollerW),8),this.hScrollbarIndicator.style.width=this.hScrollbarIndicatorSize+"px",this.hScrollbarMaxScroll=this.hScrollbarSize-this.hScrollbarIndicatorSize,this.hScrollbarProp=this.hScrollbarMaxScroll/this.maxScrollX):(this.vScrollbarSize=this.vScrollbarWrapper.clientHeight,this.vScrollbarIndicatorSize=a.max(a.round(this.vScrollbarSize*this.vScrollbarSize/this.scrollerH),8),this.vScrollbarIndicator.style.height=this.vScrollbarIndicatorSize+"px",this.vScrollbarMaxScroll=this.vScrollbarSize-this.vScrollbarIndicatorSize,this.vScrollbarProp=this.vScrollbarMaxScroll/this.maxScrollY),this._scrollbarPos(c,!0)):this[c+"ScrollbarWrapper"]&&(e&&(this[c+"ScrollbarIndicator"].style[b+"Transform"]=""),this[c+"ScrollbarWrapper"].parentNode.removeChild(this[c+"ScrollbarWrapper"]),this[c+"ScrollbarWrapper"]=null,this[c+"ScrollbarIndicator"]=null)},_resize:function(){var a=this;setTimeout(function(){a.refresh()},f?200:0)},_pos:function(c,d){c=this.hScroll?c:0,d=this.vScroll?d:0,(this.options.roundPosition||!this.options.useTransform)&&(c=a.round(c),d=a.round(d)),this.options.useTransform?this.scroller.style[b+"Transform"]=r+c+"px,"+d+"px"+s+" scale("+this.scale+")":(this.scroller.style.left=c+"px",this.scroller.style.top=d+"px"),this.x=c,this.y=d,this._scrollbarPos("h"),this._scrollbarPos("v")},_scrollbarPos:function(c,d){var e="h"==c?this.x:this.y;this[c+"Scrollbar"]&&(e*=this[c+"ScrollbarProp"],0>e?(this.options.fixedScrollbar||(e=this[c+"ScrollbarIndicatorSize"]+a.round(3*e),8>e&&(e=8),this[c+"ScrollbarIndicator"].style["h"==c?"width":"height"]=e+"px"),e=0):e>this[c+"ScrollbarMaxScroll"]&&(this.options.fixedScrollbar?e=this[c+"ScrollbarMaxScroll"]:(e=this[c+"ScrollbarIndicatorSize"]-a.round(3*(e-this[c+"ScrollbarMaxScroll"])),8>e&&(e=8),this[c+"ScrollbarIndicator"].style["h"==c?"width":"height"]=e+"px",e=this[c+"ScrollbarMaxScroll"]+(this[c+"ScrollbarIndicatorSize"]-e))),this[c+"ScrollbarWrapper"].style[b+"TransitionDelay"]="0",this[c+"ScrollbarWrapper"].style.opacity=d&&this.options.hideScrollbar?"0":"1",this[c+"ScrollbarIndicator"].style[b+"Transform"]=r+("h"==c?e+"px,0":"0,"+e+"px")+s)},_start:function(c){var e,f,g=d?c.touches[0]:c;this.enabled&&(this.options.onBeforeScrollStart&&this.options.onBeforeScrollStart.call(this,c),(this.options.useTransition||this.options.zoom)&&this._transitionTime(0),this.zoomed=this.animating=this.moved=!1,this.dirY=this.dirX=this.absDistY=this.absDistX=this.distY=this.distX=0,this.options.zoom&&d&&c.touches.length>1&&(f=a.abs(c.touches[0].pageX-c.touches[1].pageX),e=a.abs(c.touches[0].pageY-c.touches[1].pageY),this.touchesDistStart=a.sqrt(f*f+e*e),this.originX=a.abs(c.touches[0].pageX+c.touches[1].pageX-2*this.wrapperOffsetLeft)/2-this.x,this.originY=a.abs(c.touches[0].pageY+c.touches[1].pageY-2*this.wrapperOffsetTop)/2-this.y,this.options.onZoomStart&&this.options.onZoomStart.call(this,c)),this.options.momentum&&(this.options.useTransform?(e=getComputedStyle(this.scroller,null)[b+"Transform"].replace(/[^0-9-.,]/g,"").split(","),f=1*e[4],e=1*e[5]):(f=1*getComputedStyle(this.scroller,null).left.replace(/[^0-9-]/g,""),e=1*getComputedStyle(this.scroller,null).top.replace(/[^0-9-]/g,"")),f!=this.x||e!=this.y)&&(this.options.useTransition?this._unbind("webkitTransitionEnd"):k(this.aniTime),this.steps=[],this._pos(f,e)),this.absStartX=this.x,this.absStartY=this.y,this.startX=this.x,this.startY=this.y,this.pointX=g.pageX,this.pointY=g.pageY,this.startTime=c.timeStamp||(new Date).getTime(),this.options.onScrollStart&&this.options.onScrollStart.call(this,c),this._bind(n),this._bind(o),this._bind(p))},_move:function(c){var e=d?c.touches[0]:c,f=e.pageX-this.pointX,g=e.pageY-this.pointY,h=this.x+f,i=this.y+g,j=c.timeStamp||(new Date).getTime();this.options.onBeforeScrollMove&&this.options.onBeforeScrollMove.call(this,c),this.options.zoom&&d&&c.touches.length>1?(h=a.abs(c.touches[0].pageX-c.touches[1].pageX),i=a.abs(c.touches[0].pageY-c.touches[1].pageY),this.touchesDist=a.sqrt(h*h+i*i),this.zoomed=!0,e=1/this.touchesDistStart*this.touchesDist*this.scale,e<this.options.zoomMin?e=.5*this.options.zoomMin*Math.pow(2,e/this.options.zoomMin):e>this.options.zoomMax&&(e=2*this.options.zoomMax*Math.pow(.5,this.options.zoomMax/e)),this.lastScale=e/this.scale,h=this.originX-this.originX*this.lastScale+this.x,i=this.originY-this.originY*this.lastScale+this.y,this.scroller.style[b+"Transform"]=r+h+"px,"+i+"px"+s+" scale("+e+")",this.options.onZoom&&this.options.onZoom.call(this,c)):(this.pointX=e.pageX,this.pointY=e.pageY,(h>0||h<this.maxScrollX)&&(h=this.options.bounce?this.x+f/2:h>=0||this.maxScrollX>=0?0:this.maxScrollX),(i>this.minScrollY||i<this.maxScrollY)&&(i=this.options.bounce?this.y+g/2:i>=this.minScrollY||this.maxScrollY>=0?this.minScrollY:this.maxScrollY),this.absDistX<6&&this.absDistY<6?(this.distX+=f,this.distY+=g,this.absDistX=a.abs(this.distX),this.absDistY=a.abs(this.distY)):(this.options.lockDirection&&(this.absDistX>this.absDistY+5?(i=this.y,g=0):this.absDistY>this.absDistX+5&&(h=this.x,f=0)),this.moved=!0,this._pos(h,i),this.dirX=f>0?-1:0>f?1:0,this.dirY=g>0?-1:0>g?1:0,j-this.startTime>300&&(this.startTime=j,this.startX=this.x,this.startY=this.y),this.options.onScrollMove&&this.options.onScrollMove.call(this,c)))},_end:function(c){if(!d||0==c.touches.length){var e,f,g=this,h=d?c.changedTouches[0]:c,i={dist:0,time:0},j={dist:0,time:0},k=(c.timeStamp||(new Date).getTime())-g.startTime,l=g.x,m=g.y;g._unbind(n),g._unbind(o),g._unbind(p),g.options.onBeforeScrollEnd&&g.options.onBeforeScrollEnd.call(g,c),g.zoomed?(l=g.scale*g.lastScale,l=Math.max(g.options.zoomMin,l),l=Math.min(g.options.zoomMax,l),g.lastScale=l/g.scale,g.scale=l,g.x=g.originX-g.originX*g.lastScale+g.x,g.y=g.originY-g.originY*g.lastScale+g.y,g.scroller.style[b+"TransitionDuration"]="200ms",g.scroller.style[b+"Transform"]=r+g.x+"px,"+g.y+"px"+s+" scale("+g.scale+")",g.zoomed=!1,g.refresh(),g.options.onZoomEnd&&g.options.onZoomEnd.call(g,c)):(g.moved?(300>k&&g.options.momentum&&(i=l?g._momentum(l-g.startX,k,-g.x,g.scrollerW-g.wrapperW+g.x,g.options.bounce?g.wrapperW:0):i,j=m?g._momentum(m-g.startY,k,-g.y,g.maxScrollY<0?g.scrollerH-g.wrapperH+g.y-g.minScrollY:0,g.options.bounce?g.wrapperH:0):j,l=g.x+i.dist,m=g.y+j.dist,(g.x>0&&l>0||g.x<g.maxScrollX&&l<g.maxScrollX)&&(i={dist:0,time:0}),(g.y>g.minScrollY&&m>g.minScrollY||g.y<g.maxScrollY&&m<g.maxScrollY)&&(j={dist:0,time:0})),i.dist||j.dist?(i=a.max(a.max(i.time,j.time),10),g.options.snap&&(j=l-g.absStartX,k=m-g.absStartY,a.abs(j)<g.options.snapThreshold&&a.abs(k)<g.options.snapThreshold?g.scrollTo(g.absStartX,g.absStartY,200):(j=g._snap(l,m),l=j.x,m=j.y,i=a.max(j.time,i))),g.scrollTo(l,m,i)):g.options.snap?(j=l-g.absStartX,k=m-g.absStartY,a.abs(j)<g.options.snapThreshold&&a.abs(k)<g.options.snapThreshold?g.scrollTo(g.absStartX,g.absStartY,200):(j=g._snap(g.x,g.y),(j.x!=g.x||j.y!=g.y)&&g.scrollTo(j.x,j.y,j.time))):g._resetPos(200)):(d&&(g.doubleTapTimer&&g.options.zoom?(clearTimeout(g.doubleTapTimer),g.doubleTapTimer=null,g.options.onZoomStart&&g.options.onZoomStart.call(g,c),g.zoom(g.pointX,g.pointY,1==g.scale?g.options.doubleTapZoom:1),g.options.onZoomEnd&&setTimeout(function(){g.options.onZoomEnd.call(g,c)},200)):g.doubleTapTimer=setTimeout(function(){for(g.doubleTapTimer=null,e=h.target;1!=e.nodeType;)e=e.parentNode;"SELECT"!=e.tagName&&"INPUT"!=e.tagName&&"TEXTAREA"!=e.tagName&&(f=document.createEvent("MouseEvents"),f.initMouseEvent("click",!0,!0,c.view,1,h.screenX,h.screenY,h.clientX,h.clientY,c.ctrlKey,c.altKey,c.shiftKey,c.metaKey,0,null),f._fake=!0,e.dispatchEvent(f))},g.options.zoom?250:0)),g._resetPos(200)),g.options.onTouchEnd&&g.options.onTouchEnd.call(g,c))}},_resetPos:function(a){var c=this.x>=0?0:this.x<this.maxScrollX?this.maxScrollX:this.x,d=this.y>=this.minScrollY||this.maxScrollY>0?this.minScrollY:this.y<this.maxScrollY?this.maxScrollY:this.y;c==this.x&&d==this.y?(this.moved&&(this.moved=!1,this.options.onScrollEnd&&this.options.onScrollEnd.call(this)),this.hScrollbar&&this.options.hideScrollbar&&("webkit"==b&&(this.hScrollbarWrapper.style[b+"TransitionDelay"]="300ms"),this.hScrollbarWrapper.style.opacity="0"),this.vScrollbar&&this.options.hideScrollbar&&("webkit"==b&&(this.vScrollbarWrapper.style[b+"TransitionDelay"]="300ms"),this.vScrollbarWrapper.style.opacity="0")):this.scrollTo(c,d,a||0)},_wheel:function(a){var b,c,d=this;"wheelDeltaX"in a?(b=a.wheelDeltaX/12,c=a.wheelDeltaY/12):b=c="detail"in a?3*-a.detail:-a.wheelDelta,"zoom"==d.options.wheelAction?(c=d.scale*Math.pow(2,1/3*(c?c/Math.abs(c):0)),c<d.options.zoomMin&&(c=d.options.zoomMin),c>d.options.zoomMax&&(c=d.options.zoomMax),c!=d.scale&&(!d.wheelZoomCount&&d.options.onZoomStart&&d.options.onZoomStart.call(d,a),d.wheelZoomCount++,d.zoom(a.pageX,a.pageY,c,400),setTimeout(function(){d.wheelZoomCount--,!d.wheelZoomCount&&d.options.onZoomEnd&&d.options.onZoomEnd.call(d,a)},400))):(b=d.x+b,c=d.y+c,b>0?b=0:b<d.maxScrollX&&(b=d.maxScrollX),c>d.minScrollY?c=d.minScrollY:c<d.maxScrollY&&(c=d.maxScrollY),d.scrollTo(b,c,0))},_mouseout:function(a){var b=a.relatedTarget;if(b)for(;b=b.parentNode;)if(b==this.wrapper)return;this._end(a)},_transitionEnd:function(a){a.target==this.scroller&&(this._unbind("webkitTransitionEnd"),this._startAni())},_startAni:function(){var b,c,d=this,e=d.x,f=d.y,g=(new Date).getTime();d.animating||(d.steps.length?(b=d.steps.shift(),b.x==e&&b.y==f&&(b.time=0),d.animating=!0,d.moved=!0,d.options.useTransition?(d._transitionTime(b.time),d._pos(b.x,b.y),d.animating=!1,b.time?d._bind("webkitTransitionEnd"):d._resetPos(0)):function h(){var i=(new Date).getTime();i>=g+b.time?(d._pos(b.x,b.y),d.animating=!1,d.options.onAnimationEnd&&d.options.onAnimationEnd.call(d),d._startAni()):(i=(i-g)/b.time-1,c=a.sqrt(1-i*i),i=(b.x-e)*c+e,d._pos(i,(b.y-f)*c+f),d.animating&&(d.aniTime=j(h)))}()):d._resetPos(400))},_transitionTime:function(a){a+="ms",this.scroller.style[b+"TransitionDuration"]=a,this.hScrollbar&&(this.hScrollbarIndicator.style[b+"TransitionDuration"]=a),this.vScrollbar&&(this.vScrollbarIndicator.style[b+"TransitionDuration"]=a)},_momentum:function(b,c,d,e,f){var c=a.abs(b)/c,g=c*c/.0012;return b>0&&g>d?(d+=f/(6/(g/c*6e-4)),c=c*d/g,g=d):0>b&&g>e&&(e+=f/(6/(g/c*6e-4)),c=c*e/g,g=e),g*=0>b?-1:1,{dist:g,time:a.round(c/6e-4)}},_offset:function(a){for(var b=-a.offsetLeft,c=-a.offsetTop;a=a.offsetParent;)b-=a.offsetLeft,c-=a.offsetTop;return a!=this.wrapper&&(b*=this.scale,c*=this.scale),{left:b,top:c}},_snap:function(b,c){var d,e,f;for(f=this.pagesX.length-1,d=0,e=this.pagesX.length;e>d;d++)if(b>=this.pagesX[d]){f=d;break}for(f==this.currPageX&&f>0&&this.dirX<0&&f--,b=this.pagesX[f],e=(e=a.abs(b-this.pagesX[this.currPageX]))?a.abs(this.x-b)/e*500:0,this.currPageX=f,f=this.pagesY.length-1,d=0;f>d;d++)if(c>=this.pagesY[d]){f=d;break}return f==this.currPageY&&f>0&&this.dirY<0&&f--,c=this.pagesY[f],d=(d=a.abs(c-this.pagesY[this.currPageY]))?a.abs(this.y-c)/d*500:0,this.currPageY=f,f=a.round(a.max(e,d))||200,{x:b,y:c,time:f}},_bind:function(a,b,c){(b||this.scroller).addEventListener(a,this,!!c)},_unbind:function(a,b,c){(b||this.scroller).removeEventListener(a,this,!!c)},destroy:function(){this.scroller.style[b+"Transform"]="",this.vScrollbar=this.hScrollbar=!1,this._scrollbar("h"),this._scrollbar("v"),this._unbind(l,window),this._unbind(m),this._unbind(n),this._unbind(o),this._unbind(p),this.options.hasTouch&&(this._unbind("mouseout",this.wrapper),this._unbind(q)),this.options.useTransition&&this._unbind("webkitTransitionEnd"),this.options.checkDOMChanges&&clearInterval(this.checkDOMTime),this.options.onDestroy&&this.options.onDestroy.call(this)},refresh:function(){var c,d,e,f=0;if(d=0,this.scale<this.options.zoomMin&&(this.scale=this.options.zoomMin),this.wrapperW=this.wrapper.clientWidth||1,this.wrapperH=this.wrapper.clientHeight||1,this.minScrollY=-this.options.topOffset||0,this.scrollerW=a.round(this.scroller.offsetWidth*this.scale),this.scrollerH=a.round((this.scroller.offsetHeight+this.minScrollY)*this.scale),this.maxScrollX=this.wrapperW-this.scrollerW,this.maxScrollY=this.wrapperH-this.scrollerH+this.minScrollY,this.dirY=this.dirX=0,this.options.onRefresh&&this.options.onRefresh.call(this),this.hScroll=this.options.hScroll&&this.maxScrollX<0,this.vScroll=this.options.vScroll&&(!this.options.bounceLock&&!this.hScroll||this.scrollerH>this.wrapperH),this.hScrollbar=this.hScroll&&this.options.hScrollbar,this.vScrollbar=this.vScroll&&this.options.vScrollbar&&this.scrollerH>this.wrapperH,c=this._offset(this.wrapper),this.wrapperOffsetLeft=-c.left,this.wrapperOffsetTop=-c.top,"string"==typeof this.options.snap)for(this.pagesX=[],this.pagesY=[],e=this.scroller.querySelectorAll(this.options.snap),c=0,d=e.length;d>c;c++)f=this._offset(e[c]),f.left+=this.wrapperOffsetLeft,f.top+=this.wrapperOffsetTop,this.pagesX[c]=f.left<this.maxScrollX?this.maxScrollX:f.left*this.scale,this.pagesY[c]=f.top<this.maxScrollY?this.maxScrollY:f.top*this.scale;else if(this.options.snap){for(this.pagesX=[];f>=this.maxScrollX;)this.pagesX[d]=f,f-=this.wrapperW,d++;for(this.maxScrollX%this.wrapperW&&(this.pagesX[this.pagesX.length]=this.maxScrollX-this.pagesX[this.pagesX.length-1]+this.pagesX[this.pagesX.length-1]),d=f=0,this.pagesY=[];f>=this.maxScrollY;)this.pagesY[d]=f,f-=this.wrapperH,d++;this.maxScrollY%this.wrapperH&&(this.pagesY[this.pagesY.length]=this.maxScrollY-this.pagesY[this.pagesY.length-1]+this.pagesY[this.pagesY.length-1])}this._scrollbar("h"),this._scrollbar("v"),this.zoomed||(this.scroller.style[b+"TransitionDuration"]="0",this._resetPos(200))},scrollTo:function(a,b,c,d){var e=a;for(this.stop(),e.length||(e=[{x:a,y:b,time:c,relative:d}]),a=0,b=e.length;b>a;a++)e[a].relative&&(e[a].x=this.x-e[a].x,e[a].y=this.y-e[a].y),this.steps.push({x:e[a].x,y:e[a].y,time:e[a].time||0});this._startAni()},scrollToElement:function(b,c){var d;(b=b.nodeType?b:this.scroller.querySelector(b))&&(d=this._offset(b),d.left+=this.wrapperOffsetLeft,d.top+=this.wrapperOffsetTop,d.left=d.left>0?0:d.left<this.maxScrollX?this.maxScrollX:d.left,d.top=d.top>this.minScrollY?this.minScrollY:d.top<this.maxScrollY?this.maxScrollY:d.top,c=void 0===c?a.max(2*a.abs(d.left),2*a.abs(d.top)):c,this.scrollTo(d.left,d.top,c))},scrollToPage:function(a,b,c){this.options.snap?(a="next"==a?this.currPageX+1:"prev"==a?this.currPageX-1:a,b="next"==b?this.currPageY+1:"prev"==b?this.currPageY-1:b,a=0>a?0:a>this.pagesX.length-1?this.pagesX.length-1:a,b=0>b?0:b>this.pagesY.length-1?this.pagesY.length-1:b,this.currPageX=a,this.currPageY=b,a=this.pagesX[a],b=this.pagesY[b]):(a*=-this.wrapperW,b*=-this.wrapperH,a<this.maxScrollX&&(a=this.maxScrollX),b<this.maxScrollY&&(b=this.maxScrollY)),this.scrollTo(a,b,c||400)},disable:function(){this.stop(),this._resetPos(0),this.enabled=!1,this._unbind(n),this._unbind(o),this._unbind(p)},enable:function(){this.enabled=!0},stop:function(){this.options.useTransition?this._unbind("webkitTransitionEnd"):k(this.aniTime),this.steps=[],this.animating=this.moved=!1},zoom:function(a,c,d,e){var f=d/this.scale;this.options.useTransform&&(this.zoomed=!0,e=void 0===e?200:e,a=a-this.wrapperOffsetLeft-this.x,c=c-this.wrapperOffsetTop-this.y,this.x=a-a*f+this.x,this.y=c-c*f+this.y,this.scale=d,this.refresh(),this.x=this.x>0?0:this.x<this.maxScrollX?this.maxScrollX:this.x,this.y=this.y>this.minScrollY?this.minScrollY:this.y<this.maxScrollY?this.maxScrollY:this.y,this.scroller.style[b+"TransitionDuration"]=e+"ms",this.scroller.style[b+"Transform"]=r+this.x+"px,"+this.y+"px"+s+" scale("+d+")",this.zoomed=!1)},isReady:function(){return!this.moved&&!this.zoomed&&!this.animating}},"undefined"!=typeof exports?exports.iScroll=h:window.iScroll=h}(),function(a,b,c){function d(a,b,c){var d,e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;return!/^-?[0-9]+\.?[0-9]*(?:px)?$/i.test(c)&&/^-?\d/.test(c)&&(d=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left="fontSize"===b?"1em":c||0,c=f.pixelLeft+"px",f.left=d,e&&(a.runtimeStyle.left=e)),/^(thin|medium|thick)$/i.test(c)?c:Math.round(parseFloat(c))+"px"}function e(a){return parseInt(a,10)}function f(a,b,c,d,e,f){var g,b=i.Util.getCSS(b,a,e);return 1===b.length&&(e=b[0],b=[],b[0]=e,b[1]=e),-1!==b[0].toString().indexOf("%")?(g=parseFloat(b[0])/100,e=c.width*g,"backgroundSize"!==a&&(e-=(f||d).width*g)):e="backgroundSize"===a?"auto"===b[0]?d.width:/contain|cover/.test(b[0])?i.Util.resizeBounds(d.width,d.height,c.width,c.height,b[0]).width:parseInt(b[0],10):parseInt(b[0],10),"auto"===b[1]?c=e/d.width*d.height:-1!==b[1].toString().indexOf("%")?(g=parseFloat(b[1])/100,c=c.height*g,"backgroundSize"!==a&&(c-=(f||d).height*g)):c=parseInt(b[1],10),[e,c]}function g(a,b){var c=[];return{storage:c,width:a,height:b,clip:function(){c.push({type:"function",name:"clip",arguments:arguments})},translate:function(){c.push({type:"function",name:"translate",arguments:arguments})},fill:function(){c.push({type:"function",name:"fill",arguments:arguments})},save:function(){c.push({type:"function",name:"save",arguments:arguments})},restore:function(){c.push({type:"function",name:"restore",arguments:arguments})},fillRect:function(){c.push({type:"function",name:"fillRect",arguments:arguments})},createPattern:function(){c.push({type:"function",name:"createPattern",arguments:arguments})},drawShape:function(){var a=[];return c.push({type:"function",name:"drawShape",arguments:a}),{moveTo:function(){a.push({name:"moveTo",arguments:arguments})},lineTo:function(){a.push({name:"lineTo",arguments:arguments})},arcTo:function(){a.push({name:"arcTo",arguments:arguments})},bezierCurveTo:function(){a.push({name:"bezierCurveTo",arguments:arguments})},quadraticCurveTo:function(){a.push({name:"quadraticCurveTo",arguments:arguments})}}},drawImage:function(){c.push({type:"function",name:"drawImage",arguments:arguments})},fillText:function(){c.push({type:"function",name:"fillText",arguments:arguments})},setVariable:function(a,b){return c.push({type:"variable",name:a,arguments:b}),b}}}var h,i={};i.Util={},i.Util.log=function(){},i.Util.trimText=function(a){return function(b){return a?a.apply(b):((b||"")+"").replace(/^\s+|\s+$/g,"")}}(String.prototype.trim),i.Util.asFloat=function(a){return parseFloat(a)},function(){var a=/((rgba|rgb)\([^\)]+\)(\s-?\d+px){0,})/g,b=/(-?\d+px)|(#.+)|(rgb\(.+\))|(rgba\(.+\))/g;i.Util.parseTextShadows=function(c){if(!c||"none"===c)return[];for(var c=c.match(a),d=[],e=0;c&&e<c.length;e++){var f=c[e].match(b);d.push({color:f[0],offsetX:f[1]?f[1].replace("px",""):0,offsetY:f[2]?f[2].replace("px",""):0,blur:f[3]?f[3].replace("px",""):0})}return d}}(),i.Util.parseBackgroundImage=function(a){var b,c,d,e,f,g,h,i,j=[],k=0,l=0,m=function(){b&&('"'===c.substr(0,1)&&(c=c.substr(1,c.length-2)),c&&i.push(c),"-"===b.substr(0,1)&&(e=b.indexOf("-",1)+1)>0&&(d=b.substr(0,e),b=b.substr(e)),j.push({prefix:d,method:b.toLowerCase(),value:f,args:i})),i=[],b=d=c=f=""};m();for(var n=0,o=a.length;o>n;n++)if(g=a[n],!(0===k&&" \r\n	".indexOf(g)>-1)){switch(g){case'"':h?h===g&&(h=null):h=g;break;case"(":if(h)break;if(0===k){k=1,f+=g;continue}l++;break;case")":if(h)break;if(1===k){if(0===l){k=0,f+=g,m();continue}l--}break;case",":if(!h){if(0===k){m();continue}if(1===k&&0===l&&!b.match(/^url$/i)){i.push(c),c="",f+=g;continue}}}f+=g,0===k?b+=g:c+=g}return m(),j},i.Util.Bounds=function(a){var b,c={};return a.getBoundingClientRect&&(b=a.getBoundingClientRect(),c.top=b.top,c.bottom=b.bottom||b.top+b.height,c.left=b.left,c.width=a.offsetWidth,c.height=a.offsetHeight),c},i.Util.OffsetBounds=function(a){var b=a.offsetParent?i.Util.OffsetBounds(a.offsetParent):{top:0,left:0};return{top:a.offsetTop+b.top,bottom:a.offsetTop+a.offsetHeight+b.top,left:a.offsetLeft+b.left,width:a.offsetWidth,height:a.offsetHeight}},i.Util.getCSS=function(a,f,g){void 0!==a&&(h=b.defaultView.getComputedStyle(a,null));var j=h[f];if(/^background(Size|Position)$/.test(f)){a:{if(j=(j||"").split(","),j=j[g||0]||j[0]||"auto",j=i.Util.trimText(j).split(" "),"backgroundSize"!==f||j[0]&&!j[0].match(/cover|contain|auto/)){if(j[0]=-1===j[0].indexOf("%")?d(a,f+"X",j[0]):j[0],j[1]===c){if("backgroundSize"===f){j[1]="auto",a=j;break a}j[1]=j[0]}j[1]=-1===j[1].indexOf("%")?d(a,f+"Y",j[1]):j[1]}a=j}return a}return/border(Top|Bottom)(Left|Right)Radius/.test(f)?(a=j.split(" "),a.length<=1&&(a[1]=a[0]),a.map(e)):j},i.Util.resizeBounds=function(a,b,c,d,e){return a/=b,e&&"auto"!==e?a>c/d^"contain"===e?(c=d,e=d*a):(e=c,c/=a):(e=c,c=d),{width:e,height:c}},i.Util.BackgroundPosition=function(a,b,c,d,e){return a=f("backgroundPosition",a,b,c,d,e),{left:a[0],top:a[1]}},i.Util.BackgroundSize=function(a,b,c,d){return a=f("backgroundSize",a,b,c,d),{width:a[0],height:a[1]}},i.Util.Extend=function(a,b){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b},i.Util.Children=function(a){var b;try{b=a.nodeName&&"IFRAME"===a.nodeName.toUpperCase()?a.contentDocument||a.contentWindow.document:function(a){var b=[];return null!==a&&function(a,b){var d=a.length,e=0;if("number"==typeof b.length)for(var f=b.length;f>e;e++)a[d++]=b[e];else for(;b[e]!==c;)a[d++]=b[e++];return a.length=d,a}(b,a),b}(a.childNodes)}catch(d){i.Util.log("html2canvas.Util.Children failed with exception: "+d.message),b=[]}return b},i.Util.isTransparent=function(a){return"transparent"===a||"rgba(0, 0, 0, 0)"===a},i.Util.Font=function(){var a={};return function(b,d,e){if(a[b+"-"+d]!==c)return a[b+"-"+d];var f,g=e.createElement("div"),h=e.createElement("img"),i=e.createElement("span");return g.style.visibility="hidden",g.style.fontFamily=b,g.style.fontSize=d,g.style.margin=0,g.style.padding=0,e.body.appendChild(g),h.src="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACwAAAAAAQABAAACAkQBADs=",h.width=1,h.height=1,h.style.margin=0,h.style.padding=0,h.style.verticalAlign="baseline",i.style.fontFamily=b,i.style.fontSize=d,i.style.margin=0,i.style.padding=0,i.appendChild(e.createTextNode("Hidden Text")),g.appendChild(i),g.appendChild(h),f=h.offsetTop-i.offsetTop+1,g.removeChild(i),g.appendChild(e.createTextNode("Hidden Text")),g.style.lineHeight="normal",h.style.verticalAlign="super",h={baseline:f,lineWidth:1,middle:h.offsetTop-g.offsetTop+1},a[b+"-"+d]=h,e.body.removeChild(g),h}}(),function(){function a(a){return function(b){try{a.addColorStop(b.stop,b.color)}catch(d){c.log(["failed to add color stop: ",d,"; tried to add: ",b])}}}var c=i.Util,d={};i.Generate=d;var e=[/^(-webkit-linear-gradient)\(([a-z\s]+)([\w\d\.\s,%\(\)]+)\)$/,/^(-o-linear-gradient)\(([a-z\s]+)([\w\d\.\s,%\(\)]+)\)$/,/^(-webkit-gradient)\((linear|radial),\s((?:\d{1,3}%?)\s(?:\d{1,3}%?),\s(?:\d{1,3}%?)\s(?:\d{1,3}%?))([\w\d\.\s,%\(\)\-]+)\)$/,/^(-moz-linear-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?))([\w\d\.\s,%\(\)]+)\)$/,/^(-webkit-radial-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?)),\s(\w+)\s([a-z\-]+)([\w\d\.\s,%\(\)]+)\)$/,/^(-moz-radial-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?)),\s(\w+)\s?([a-z\-]*)([\w\d\.\s,%\(\)]+)\)$/,/^(-o-radial-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?)),\s(\w+)\s([a-z\-]+)([\w\d\.\s,%\(\)]+)\)$/];d.parseGradient=function(a,b){var c,d,f,g,h,i,j=e.length;for(d=0;j>d&&!(f=a.match(e[d]));d+=1);if(f)switch(f[1]){case"-webkit-linear-gradient":case"-o-linear-gradient":if(c={type:"linear",x0:null,y0:null,x1:null,y1:null,colorStops:[]},j=f[2].match(/\w+/g))for(g=j.length,d=0;g>d;d+=1)switch(j[d]){case"top":c.y0=0,c.y1=b.height;break;case"right":c.x0=b.width,c.x1=0;break;case"bottom":c.y0=b.height,c.y1=0;break;case"left":c.x0=0,c.x1=b.width}if(null===c.x0&&null===c.x1&&(c.x0=c.x1=b.width/2),null===c.y0&&null===c.y1&&(c.y0=c.y1=b.height/2),j=f[3].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)(?:\s\d{1,3}(?:%|px))?)+/g))for(g=j.length,h=1/Math.max(g-1,1),d=0;g>d;d+=1)i=j[d].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\s*(\d{1,3})?(%|px)?/),i[2]?(f=parseFloat(i[2]),f/="%"===i[3]?100:b.width):f=d*h,c.colorStops.push({color:i[1],stop:f});break;case"-webkit-gradient":if(c={type:"radial"===f[2]?"circle":f[2],x0:0,y0:0,x1:0,y1:0,colorStops:[]},(j=f[3].match(/(\d{1,3})%?\s(\d{1,3})%?,\s(\d{1,3})%?\s(\d{1,3})%?/))&&(c.x0=j[1]*b.width/100,c.y0=j[2]*b.height/100,c.x1=j[3]*b.width/100,c.y1=j[4]*b.height/100),j=f[4].match(/((?:from|to|color-stop)\((?:[0-9\.]+,\s)?(?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)\))+/g))for(g=j.length,d=0;g>d;d+=1)i=j[d].match(/(from|to|color-stop)\(([0-9\.]+)?(?:,\s)?((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\)/),f=parseFloat(i[2]),"from"===i[1]&&(f=0),"to"===i[1]&&(f=1),c.colorStops.push({color:i[3],stop:f});break;case"-moz-linear-gradient":if(c={type:"linear",x0:0,y0:0,x1:0,y1:0,colorStops:[]},(j=f[2].match(/(\d{1,3})%?\s(\d{1,3})%?/))&&(c.x0=j[1]*b.width/100,c.y0=j[2]*b.height/100,c.x1=b.width-c.x0,c.y1=b.height-c.y0),j=f[3].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)(?:\s\d{1,3}%)?)+/g))for(g=j.length,h=1/Math.max(g-1,1),d=0;g>d;d+=1)i=j[d].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\s*(\d{1,3})?(%)?/),i[2]?(f=parseFloat(i[2]),i[3]&&(f/=100)):f=d*h,c.colorStops.push({color:i[1],stop:f});break;case"-webkit-radial-gradient":case"-moz-radial-gradient":case"-o-radial-gradient":if(c={type:"circle",x0:0,y0:0,x1:b.width,y1:b.height,cx:0,cy:0,rx:0,ry:0,colorStops:[]},(j=f[2].match(/(\d{1,3})%?\s(\d{1,3})%?/))&&(c.cx=j[1]*b.width/100,c.cy=j[2]*b.height/100),j=f[3].match(/\w+/),i=f[4].match(/[a-z\-]*/),j&&i)switch(i[0]){case"farthest-corner":case"cover":case"":d=Math.sqrt(Math.pow(c.cx,2)+Math.pow(c.cy,2)),j=Math.sqrt(Math.pow(c.cx,2)+Math.pow(c.y1-c.cy,2)),g=Math.sqrt(Math.pow(c.x1-c.cx,2)+Math.pow(c.y1-c.cy,2)),i=Math.sqrt(Math.pow(c.x1-c.cx,2)+Math.pow(c.cy,2)),c.rx=c.ry=Math.max(d,j,g,i);break;case"closest-corner":d=Math.sqrt(Math.pow(c.cx,2)+Math.pow(c.cy,2)),j=Math.sqrt(Math.pow(c.cx,2)+Math.pow(c.y1-c.cy,2)),g=Math.sqrt(Math.pow(c.x1-c.cx,2)+Math.pow(c.y1-c.cy,2)),i=Math.sqrt(Math.pow(c.x1-c.cx,2)+Math.pow(c.cy,2)),c.rx=c.ry=Math.min(d,j,g,i);break;case"farthest-side":"circle"===j[0]?c.rx=c.ry=Math.max(c.cx,c.cy,c.x1-c.cx,c.y1-c.cy):(c.type=j[0],c.rx=Math.max(c.cx,c.x1-c.cx),c.ry=Math.max(c.cy,c.y1-c.cy));break;case"closest-side":case"contain":"circle"===j[0]?c.rx=c.ry=Math.min(c.cx,c.cy,c.x1-c.cx,c.y1-c.cy):(c.type=j[0],c.rx=Math.min(c.cx,c.x1-c.cx),c.ry=Math.min(c.cy,c.y1-c.cy))}if(j=f[5].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)(?:\s\d{1,3}(?:%|px))?)+/g))for(g=j.length,h=1/Math.max(g-1,1),d=0;g>d;d+=1)i=j[d].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\s*(\d{1,3})?(%|px)?/),i[2]?(f=parseFloat(i[2]),f/="%"===i[3]?100:b.width):f=d*h,c.colorStops.push({color:i[1],stop:f})}return c},d.Gradient=function(c,d){if(0!==d.width&&0!==d.height){var e,f,g=b.createElement("canvas"),h=g.getContext("2d");if(g.width=d.width,g.height=d.height,e=i.Generate.parseGradient(c,d))switch(e.type){case"linear":f=h.createLinearGradient(e.x0,e.y0,e.x1,e.y1),e.colorStops.forEach(a(f)),h.fillStyle=f,h.fillRect(0,0,d.width,d.height);break;case"circle":f=h.createRadialGradient(e.cx,e.cy,0,e.cx,e.cy,e.rx),e.colorStops.forEach(a(f)),h.fillStyle=f,h.fillRect(0,0,d.width,d.height);break;case"ellipse":var j=b.createElement("canvas"),k=j.getContext("2d");f=Math.max(e.rx,e.ry);var l=2*f;j.width=j.height=l,f=k.createRadialGradient(e.rx,e.ry,0,e.rx,e.ry,f),e.colorStops.forEach(a(f)),k.fillStyle=f,k.fillRect(0,0,l,l),h.fillStyle=e.colorStops[e.colorStops.length-1].color,h.fillRect(0,0,g.width,g.height),h.drawImage(j,e.cx-e.rx,e.cy-e.ry,2*e.rx,2*e.ry)}return g}},d.ListAlpha=function(a){var b,c="";do b=a%26,c=String.fromCharCode(b+64)+c,a/=26;while(26*a>26);return c},d.ListRoman=function(a){var b,c=["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"],d=[1e3,900,500,400,100,90,50,40,10,9,5,4,1],e="",f=c.length;if(0>=a||a>=4e3)return a;for(b=0;f>b;b+=1)for(;a>=d[b];)a-=d[b],e+=c[b];return e}}(),i.Parse=function(d,e){function f(a,b){var c=parseInt(W(a,b),10);return isNaN(c)?0:c}function h(a,b,c,d,e,f){"transparent"!==f&&(a.setVariable("fillStyle",f),a.fillRect(b,c,d,e),Q+=1)}function j(a,b,c){return a.length>0?b+c.toUpperCase():void 0}function k(a,b){switch(b){case"lowercase":return a.toLowerCase();case"capitalize":return a.replace(/(^|\s|:|-|\(|\))([a-z])/g,j);case"uppercase":return a.toUpperCase();default:return a}}function l(a){return/^(normal|none|0px)$/.test(a)}function m(a,b,c,d){var e=W(b,"fontWeight"),f=W(b,"fontFamily"),g=W(b,"fontSize"),h=S.parseTextShadows(W(b,"textShadow"));switch(parseInt(e,10)){case 401:e="bold";break;case 400:e="normal"}return a.setVariable("fillStyle",d),a.setVariable("font",[W(b,"fontStyle"),W(b,"fontVariant"),e,g,f].join(" ")),a.setVariable("textAlign","left"),h.length&&(a.setVariable("shadowColor",h[0].color),a.setVariable("shadowOffsetX",h[0].offsetX),a.setVariable("shadowOffsetY",h[0].offsetY),a.setVariable("shadowBlur",h[0].blur)),"none"!==c?S.Font(f,g,R):void 0}function n(a,b,c){var d,f,g=c.ctx,i=W(a,"color"),j=W(a,"textDecoration"),n=W(a,"textAlign"),o={node:b,textOffset:0};S.trimText(b.nodeValue).length>0&&(b.nodeValue=k(b.nodeValue,W(a,"textTransform")),n=n.replace(["-webkit-auto"],["auto"]),f=!e.letterRendering&&/^(left|right|justify|auto)$/.test(n)&&l(W(a,"letterSpacing"))?b.nodeValue.split(/(\b| )/):b.nodeValue.split(""),d=m(g,a,j,i),e.chinese&&f.forEach(function(a,b){/.*[\u4E00-\u9FA5].*$/.test(a)&&(a=a.split(""),a.unshift(b,1),f.splice.apply(f,a))}),f.forEach(function(a,b){var e,k=b<f.length-1;e=c.transform.matrix;var l;if(T.rangeBounds&&!e)("none"!==j||0!==S.trimText(a).length)&&(e=o.node,k=o.textOffset,l=R.createRange(),l.setStart(e,k),l.setEnd(e,k+a.length),l=l.getBoundingClientRect()),o.textOffset+=a.length;else if(o.node&&"string"==typeof o.node.nodeValue){var k=k?o.node.splitText(a.length):null,m=o.node;l=m.parentNode;var n=R.createElement("wrapper"),p=m.cloneNode(!0);n.appendChild(m.cloneNode(!0)),l.replaceChild(n,m),e=e?S.OffsetBounds(n):S.Bounds(n),l.replaceChild(p,n),l=e,o.node=k}if(e=l)switch(k=e.left,l=e.bottom,null!==a&&S.trimText(a).length>0&&(g.fillText(a,k,l),Q+=1),j){case"underline":h(g,e.left,Math.round(e.top+d.baseline+d.lineWidth),e.width,1,i);break;case"overline":h(g,e.left,Math.round(e.top),e.width,1,i);break;case"line-through":h(g,e.left,Math.ceil(e.top+d.middle+d.lineWidth),e.width,1,i)}}))}function o(a,b,c){var d,b=b.ctx,e=W(a,"listStyleType");if(/^(decimal|decimal-leading-zero|upper-alpha|upper-latin|upper-roman|lower-alpha|lower-greek|lower-latin|lower-roman)$/i.test(e)){var f;f=-1;var g=1,h=a.parentNode.childNodes;if(a.parentNode){for(;h[++f]!==a;)1===h[f].nodeType&&g++;f=g}else f=-1;switch(e){case"decimal":d=f;break;case"decimal-leading-zero":
d=1===f.toString().length?"0"+f.toString():f.toString();break;case"upper-roman":d=i.Generate.ListRoman(f);break;case"lower-roman":d=i.Generate.ListRoman(f).toLowerCase();break;case"lower-alpha":d=i.Generate.ListAlpha(f).toLowerCase();break;case"upper-alpha":d=i.Generate.ListAlpha(f)}d+=". ",f=R.createElement("boundelement"),f.style.display="inline",g=a.style.listStyleType,a.style.listStyleType="none",f.appendChild(R.createTextNode(d)),a.insertBefore(f,a.firstChild),e=S.Bounds(f),a.removeChild(f),a.style.listStyleType=g,m(b,a,"none",W(a,"color")),"inside"===W(a,"listStylePosition")&&(b.setVariable("textAlign","left"),a=c.left,c=e.bottom,null!==d&&S.trimText(d).length>0&&(b.fillText(d,a,c),Q+=1))}}function p(a){return(a=d[a])&&a.succeeded===!0?a.img:!1}function q(a,b){var c=Math.max(a.left,b.left),d=Math.max(a.top,b.top);return{left:c,top:d,width:Math.min(a.left+a.width,b.left+b.width)-c,height:Math.min(a.top+a.height,b.top+b.height)-d}}function r(a,b,c,d,e){var g=f(b,"paddingLeft"),h=f(b,"paddingTop"),i=f(b,"paddingRight"),b=f(b,"paddingBottom");A(a,c,0,0,c.width,c.height,d.left+g+e[3].width,d.top+h+e[0].width,d.width-(e[1].width+e[3].width+g+i),d.height-(e[0].width+e[2].width+h+b))}function s(a){return["Top","Right","Bottom","Left"].map(function(b){return{width:f(a,"border"+b+"Width"),color:W(a,"border"+b+"Color")}})}function t(a){return["TopLeft","TopRight","BottomRight","BottomLeft"].map(function(b){return W(a,"border"+b+"Radius")})}function u(a,b,c,d){var e=function(a,b,c){return{x:a.x+(b.x-a.x)*c,y:a.y+(b.y-a.y)*c}};return{start:a,startControl:b,endControl:c,end:d,subdivide:function(f){var g=e(a,b,f),h=e(b,c,f),i=e(c,d,f),j=e(g,h,f),h=e(h,i,f),f=e(j,h,f);return[u(a,g,j,f),u(f,h,i,d)]},curveTo:function(a){a.push(["bezierCurve",b.x,b.y,c.x,c.y,d.x,d.y])},curveToReversed:function(d){d.push(["bezierCurve",c.x,c.y,b.x,b.y,a.x,a.y])}}}function v(a,b,c,d,e,f,g){b[0]>0||b[1]>0?(a.push(["line",d[0].start.x,d[0].start.y]),d[0].curveTo(a),d[1].curveTo(a)):a.push(["line",f,g]),(c[0]>0||c[1]>0)&&a.push(["line",e[0].start.x,e[0].start.y])}function w(a,b,c,d,e,f,g){var h=[];return b[0]>0||b[1]>0?(h.push(["line",d[1].start.x,d[1].start.y]),d[1].curveTo(h)):h.push(["line",a.c1[0],a.c1[1]]),c[0]>0||c[1]>0?(h.push(["line",f[0].start.x,f[0].start.y]),f[0].curveTo(h),h.push(["line",g[0].end.x,g[0].end.y]),g[0].curveToReversed(h)):(h.push(["line",a.c2[0],a.c2[1]]),h.push(["line",a.c3[0],a.c3[1]])),b[0]>0||b[1]>0?(h.push(["line",e[1].end.x,e[1].end.y]),e[1].curveToReversed(h)):h.push(["line",a.c4[0],a.c4[1]]),h}function x(a,b,c){var d,e,f,g,h,i=b.left,j=b.top,k=b.width,l=b.height,m=t(a);h=b.left,d=b.top,e=b.width,f=b.height;var n=m[0][0],o=m[0][1],p=m[1][0],q=m[1][1],r=m[2][0],s=m[2][1],u=m[3][0],x=m[3][1],y=e-p,z=f-s,A=e-r,B=f-x;switch(h={topLeftOuter:Z(h,d,n,o).topLeft.subdivide(.5),topLeftInner:Z(h+c[3].width,d+c[0].width,Math.max(0,n-c[3].width),Math.max(0,o-c[0].width)).topLeft.subdivide(.5),topRightOuter:Z(h+y,d,p,q).topRight.subdivide(.5),topRightInner:Z(h+Math.min(y,e+c[3].width),d+c[0].width,y>e+c[3].width?0:p-c[3].width,q-c[0].width).topRight.subdivide(.5),bottomRightOuter:Z(h+A,d+z,r,s).bottomRight.subdivide(.5),bottomRightInner:Z(h+Math.min(A,e+c[3].width),d+Math.min(z,f+c[0].width),Math.max(0,r-c[1].width),Math.max(0,s-c[2].width)).bottomRight.subdivide(.5),bottomLeftOuter:Z(h,d+B,u,x).bottomLeft.subdivide(.5),bottomLeftInner:Z(h+c[3].width,d+B,Math.max(0,u-c[3].width),Math.max(0,x-c[2].width)).bottomLeft.subdivide(.5)},d=[],W(a,"backgroundClip")){case"content-box":case"padding-box":v(d,m[0],m[1],h.topLeftInner,h.topRightInner,b.left+c[3].width,b.top+c[0].width),v(d,m[1],m[2],h.topRightInner,h.bottomRightInner,b.left+b.width-c[1].width,b.top+c[0].width),v(d,m[2],m[3],h.bottomRightInner,h.bottomLeftInner,b.left+b.width-c[1].width,b.top+b.height-c[2].width),v(d,m[3],m[0],h.bottomLeftInner,h.topLeftInner,b.left+c[3].width,b.top+b.height-c[2].width);break;default:v(d,m[0],m[1],h.topLeftOuter,h.topRightOuter,b.left,b.top),v(d,m[1],m[2],h.topRightOuter,h.bottomRightOuter,b.left+b.width,b.top),v(d,m[2],m[3],h.bottomRightOuter,h.bottomLeftOuter,b.left+b.width,b.top+b.height),v(d,m[3],m[0],h.bottomLeftOuter,h.topLeftOuter,b.left,b.top+b.height)}for(n={clip:d,borders:[]},a=0;4>a;a++)if(c[a].width>0){switch(b=i,d=j,e=k,f=l-c[2].width,a){case 0:f=c[0].width,g=w({c1:[b,d],c2:[b+e,d],c3:[b+e-c[1].width,d+f],c4:[b+c[3].width,d+f]},m[0],m[1],h.topLeftOuter,h.topLeftInner,h.topRightOuter,h.topRightInner);break;case 1:b=i+k-c[1].width,e=c[1].width,g=w({c1:[b+e,d],c2:[b+e,d+f+c[2].width],c3:[b,d+f],c4:[b,d+c[0].width]},m[1],m[2],h.topRightOuter,h.topRightInner,h.bottomRightOuter,h.bottomRightInner);break;case 2:d=d+l-c[2].width,f=c[2].width,g=w({c1:[b+e,d+f],c2:[b,d+f],c3:[b+c[3].width,d],c4:[b+e-c[3].width,d]},m[2],m[3],h.bottomRightOuter,h.bottomRightInner,h.bottomLeftOuter,h.bottomLeftInner);break;case 3:e=c[3].width,g=w({c1:[b,d+f+c[2].width],c2:[b,d],c3:[b+e,d+c[0].width],c4:[b+e,d+f]},m[3],m[0],h.bottomLeftOuter,h.bottomLeftInner,h.topLeftOuter,h.topLeftInner)}n.borders.push({args:g,color:c[a].color})}return n}function y(a,b){var c=a.drawShape();return b.forEach(function(a,b){c[0===b?"moveTo":a[0]+"To"].apply(null,a.slice(1))}),c}function z(a,b,c){var d=R.createElement("valuewrap");["lineHeight","textAlign","fontFamily","color","fontSize","paddingLeft","paddingTop","width","height","border","borderLeftWidth","borderTopWidth"].forEach(function(b){try{d.style[b]=W(a,b)}catch(c){S.log("html2canvas: Parse: Exception caught in renderFormValue: "+c.message)}}),d.style.borderColor="black",d.style.borderStyle="solid",d.style.display="block",d.style.position="absolute",(/^(submit|reset|button|text|password)$/.test(a.type)||"SELECT"===a.nodeName)&&(d.style.lineHeight=W(a,"height")),d.style.top=b.top+"px",d.style.left=b.left+"px",b="SELECT"===a.nodeName?(a.options[a.selectedIndex]||0).text:a.value,b||(b=a.placeholder),b=R.createTextNode(b),d.appendChild(b),V.appendChild(d),n(a,b,c),V.removeChild(d)}function A(a){a.drawImage.apply(a,Array.prototype.slice.call(arguments,1)),Q+=1}function B(c,d){var e=a.getComputedStyle(c,d);if(e&&e.content&&"none"!==e.content&&"-moz-alt-content"!==e.content&&"none"!==e.display){var f=e.content+"",g=f.substr(0,1);g===f.substr(f.length-1)&&g.match(/'|"/)&&(f=f.substr(1,f.length-2));var g="url"===f.substr(0,3),h=b.createElement(g?"img":"span");return h.className=X+"-before "+X+"-after",Object.keys(e).filter(C).forEach(function(a){try{h.style[a]=e[a]}catch(b){S.log(["Tried to assign readonly property ",a,"Error:",b])}}),g?h.src=S.parseBackgroundImage(f)[0].args[0]:h.innerHTML=f,h}}function C(b){return isNaN(a.parseInt(b,10))}function D(a,b){var c=B(a,":before"),d=B(a,":after");(c||d)&&(c&&(a.className+=" "+X+"-before",a.parentNode.insertBefore(c,a),N(c,b,!0),a.parentNode.removeChild(c),a.className=a.className.replace(X+"-before","").trim()),d&&(a.className+=" "+X+"-after",a.appendChild(d),N(d,b,!0),a.removeChild(d),a.className=a.className.replace(X+"-after","").trim()))}function E(a,b,c,d){var e=Math.round(d.left+c.left),c=Math.round(d.top+c.top);a.createPattern(b),a.translate(e,c),a.fill(),a.translate(-e,-c)}function F(a,b,c,d,e,f,g,h){var i=[];i.push(["line",Math.round(e),Math.round(f)]),i.push(["line",Math.round(e+g),Math.round(f)]),i.push(["line",Math.round(e+g),Math.round(h+f)]),i.push(["line",Math.round(e),Math.round(h+f)]),y(a,i),a.save(),a.clip(),E(a,b,c,d),a.restore()}function G(a,b,c){for(var d,e=W(a,"backgroundImage"),f=S.parseBackgroundImage(e),g=f.length;g--;)if(e=f[g],e.args&&0!==e.args.length)if(d=p("url"===e.method?e.args[0]:e.value)){var h=a,e=b,i=c,j=d;d=g;var k=S.BackgroundSize(h,e,j,d),l=S.BackgroundPosition(h,e,j,d,k),h=W(h,"backgroundRepeat").split(",").map(S.trimText);if(j.width!==k.width||j.height!==k.height){var m=void 0,n=R.createElement("canvas");n.width=k.width,n.height=k.height,m=n.getContext("2d"),A(m,j,0,0,j.width,j.height,0,0,k.width,k.height),j=n}switch(h=h[d]||h[0]){case"repeat-x":F(i,j,l,e,e.left,e.top+l.top,99999,j.height);break;case"repeat-y":F(i,j,l,e,e.left+l.left,e.top,j.width,99999);break;case"no-repeat":F(i,j,l,e,e.left+l.left,e.top+l.top,j.width,j.height);break;default:E(i,j,l,{top:e.top,left:e.left,width:j.width,height:j.height})}}else S.log("html2canvas: Error loading background:",e)}function H(a){return a.replace("px","")}function I(a){var b,c=W(a,"transform")||W(a,"-webkit-transform")||W(a,"-moz-transform")||W(a,"-ms-transform")||W(a,"-o-transform"),a=W(a,"transform-origin")||W(a,"-webkit-transform-origin")||W(a,"-moz-transform-origin")||W(a,"-ms-transform-origin")||W(a,"-o-transform-origin")||"0px 0px",a=a.split(" ").map(H).map(S.asFloat);if(c&&"none"!==c&&(c=c.match($)))switch(c[1]){case"matrix":b=c[2].split(",").map(S.trimText).map(S.asFloat)}return{origin:a,matrix:b}}function J(a,b,c,d){var f=g(b?c.width:Math.max(Math.max(R.body.scrollWidth,R.documentElement.scrollWidth),Math.max(R.body.offsetWidth,R.documentElement.offsetWidth),Math.max(R.body.clientWidth,R.documentElement.clientWidth)),b?c.height:Math.max(Math.max(R.body.scrollHeight,R.documentElement.scrollHeight),Math.max(R.body.offsetHeight,R.documentElement.offsetHeight),Math.max(R.body.clientHeight,R.documentElement.clientHeight))),d={ctx:f,opacity:f.setVariable("globalAlpha",W(a,"opacity")*(b?b.opacity:1)),cssPosition:W(a,"position"),borders:s(a),transform:d,clip:b&&b.clip?S.Extend({},b.clip):null},h="static"!==d.cssPosition,i=h?W(a,"zIndex"):"auto",j=W(a,"opacity"),k="none"!==W(a,"cssFloat");return d.zIndex=f={zindex:i,children:[]},f.isPositioned=h,f.isFloated=k,f.opacity=j,f.ownStacking="auto"!==i||1>j,b&&b.zIndex.children.push(d),e.useOverflow===!0&&/(hidden|scroll|auto)/.test(W(a,"overflow"))===!0&&/(BODY)/i.test(a.nodeName)===!1&&(d.clip=d.clip?q(d.clip,c):c),d}function K(a,b,c){return a={left:b.left+a[3].width,top:b.top+a[0].width,width:b.width-(a[1].width+a[3].width),height:b.height-(a[0].width+a[2].width)},c&&(a=q(a,c)),a}function L(a,b){var c=b.matrix?S.OffsetBounds(a):S.Bounds(a);return b.origin[0]+=c.left,b.origin[1]+=c.top,c}function M(a,b,c,d){var e,f=I(a,b),g=L(a,f),b=J(a,b,g,f),f=b.borders,i=b.ctx,j=K(f,g,b.clip),k=x(a,g,f),l=U.test(a.nodeName)?"#efefef":W(a,"backgroundColor");switch(y(i,k.clip),i.save(),i.clip(),j.height>0&&j.width>0&&!d?(h(i,g.left,g.top,g.width,g.height,l),G(a,j,i)):d&&(b.backgroundColor=l),i.restore(),k.borders.forEach(function(a){var b=a.args,a=a.color;"transparent"!==a&&(i.setVariable("fillStyle",a),y(i,b),i.fill(),Q+=1)}),c||D(a,b),a.nodeName){case"IMG":(e=p(a.getAttribute("src")))?r(i,a,e,g,f):S.log("html2canvas: Error loading <img>:"+a.getAttribute("src"));break;case"INPUT":/^(text|url|email|submit|button|reset)$/.test(a.type)&&(a.value||a.placeholder||"").length>0&&z(a,g,b);break;case"TEXTAREA":(a.value||a.placeholder||"").length>0&&z(a,g,b);break;case"SELECT":(a.options||a.placeholder||"").length>0&&z(a,g,b);break;case"LI":o(a,b,j);break;case"CANVAS":r(i,a,a,g,f)}return b}function N(a,b,c){"none"!==W(a,"display")&&"hidden"!==W(a,"visibility")&&!a.hasAttribute("data-html2canvas-ignore")&&(b=M(a,b,c,!1)||b,U.test(a.nodeName)||O(a,b,c))}function O(a,b,c){S.Children(a).forEach(function(d){d.nodeType===d.ELEMENT_NODE?N(d,b,c):d.nodeType===d.TEXT_NODE&&n(a,d,b)})}a.scroll(0,0);var P=e.elements===c?b.body:e.elements[0],Q=0,R=P.ownerDocument,S=i.Util,T=S.Support(e,R),U=RegExp("("+e.ignoreElements+")"),V=R.body,W=S.getCSS,X="___html2canvas___pseudoelement",Y=R.createElement("style");Y.innerHTML="."+X+'-before:before { content: "" !important; display: none !important; }.'+X+'-after:after { content: "" !important; display: none !important; }',V.appendChild(Y);var d=d||{},Z=function(a){return function(b,c,d,e){var f=d*a,g=e*a,d=b+d,e=c+e;return{topLeft:u({x:b,y:e},{x:b,y:e-g},{x:d-f,y:c},{x:d,y:c}),topRight:u({x:b,y:c},{x:b+f,y:c},{x:d,y:e-g},{x:d,y:e}),bottomRight:u({x:d,y:c},{x:d,y:c+g},{x:b+f,y:e},{x:b,y:e}),bottomLeft:u({x:d,y:e},{x:d-f,y:e},{x:b,y:c+g},{x:b,y:c})}}}(4*((Math.sqrt(2)-1)/3)),$=/(matrix)\((.+)\)/;return function(){var a=W(b.documentElement,"backgroundColor"),c=S.isTransparent(a)&&P===b.body,d=M(P,null,!1,c);return O(P,d),c&&(a=d.backgroundColor),V.removeChild(Y),{backgroundColor:a,stack:d}}()},i.Preload=function(d){function e(){q.log("html2canvas: start: images: "+p.numLoaded+" / "+p.numTotal+" (failed: "+p.numFailed+")"),!p.firstRun&&p.numLoaded>=p.numTotal&&(q.log("Finished loading images: # "+p.numTotal+" (failed: "+p.numFailed+")"),"function"==typeof d.complete&&d.complete(p))}function f(b,f,g){var h,i,j=d.proxy;w.href=b,b=w.href,h="html2canvas_"+r++,g.callbackname=h,j+=j.indexOf("?")>-1?"&":"?",j+="url="+encodeURIComponent(b)+"&callback="+h,i=t.createElement("script"),a[h]=function(b){"error:"===b.substring(0,6)?(g.succeeded=!1,p.numLoaded++,p.numFailed++,e()):(l(f,g),f.src=b),a[h]=c;try{delete a[h]}catch(d){}i.parentNode.removeChild(i),i=null,delete g.script,delete g.callbackname},i.setAttribute("type","text/javascript"),i.setAttribute("src",j),g.script=i,a.document.body.appendChild(i)}function g(b,c){var d=a.getComputedStyle(b,c),e=d.content;"url"===e.substr(0,3)&&n.loadImage(i.Util.parseBackgroundImage(e)[0].args[0]),j(d.backgroundImage,b)}function h(a){return a&&a.method&&a.args&&a.args.length>0}function j(a,b){var d;i.Util.parseBackgroundImage(a).filter(h).forEach(function(a){if("url"===a.method)n.loadImage(a.args[0]);else if(a.method.match(/\-?gradient$/)){d===c&&(d=i.Util.Bounds(b));var a=a.value,f=i.Generate.Gradient(a,d);f!==c&&(p[a]={img:f,succeeded:!0},p.numTotal++,p.numLoaded++,e())}})}function k(a){var b=!1;try{q.Children(a).forEach(k)}catch(d){}try{b=a.nodeType}catch(e){b=!1,q.log("html2canvas: failed to access some element's nodeType - Exception: "+e.message)}if(1===b||b===c){g(a,":before"),g(a,":after");try{j(q.getCSS(a,"backgroundImage"),a)}catch(f){q.log("html2canvas: failed to get background-image - Exception: "+f.message)}j(a)}}function l(b,g){b.onload=function(){g.timer!==c&&a.clearTimeout(g.timer),p.numLoaded++,g.succeeded=!0,b.onerror=b.onload=null,e()},b.onerror=function(){if("anonymous"===b.crossOrigin&&(a.clearTimeout(g.timer),d.proxy)){var c=b.src;return b=new Image,g.img=b,b.src=c,void f(b.src,b,g)}p.numLoaded++,p.numFailed++,g.succeeded=!1,b.onerror=b.onload=null,e()}}var m,n,o,p={numLoaded:0,numFailed:0,numTotal:0,cleanupDone:!1},q=i.Util,r=0;o=d.elements[0]||b.body;var s,t=o.ownerDocument,u=o.getElementsByTagName("img"),v=u.length,w=t.createElement("a"),x=function(a){return a.crossOrigin!==c}(new Image);for(w.href=a.location.href,m=w.protocol+w.host,n={loadImage:function(a){var b,e;a&&p[a]===c&&(b=new Image,a.match(/data:image\/.*;base64,/i)?(b.src=a.replace(/url\(['"]{0,}|['"]{0,}\)$/gi,""),e=p[a]={img:b},p.numTotal++,l(b,e)):(w.href=a,w.href=w.href,w.protocol+w.host===m||d.allowTaint===!0?(e=p[a]={img:b},p.numTotal++,l(b,e),b.src=a):x&&!d.allowTaint&&d.useCORS?(b.crossOrigin="anonymous",e=p[a]={img:b},p.numTotal++,l(b,e),b.src=a):d.proxy&&(e=p[a]={img:b},p.numTotal++,f(a,b,e))))},cleanupDOM:function(f){var g,h;if(!p.cleanupDone){f&&"string"==typeof f?q.log("html2canvas: Cleanup because: "+f):q.log("html2canvas: Cleanup after timeout: "+d.timeout+" ms.");for(h in p)if(p.hasOwnProperty(h)&&(g=p[h],"object"==typeof g&&g.callbackname&&g.succeeded===c)){a[g.callbackname]=c;try{delete a[g.callbackname]}catch(i){}g.script&&g.script.parentNode&&(g.script.setAttribute("src","about:blank"),g.script.parentNode.removeChild(g.script)),p.numLoaded++,p.numFailed++,q.log("html2canvas: Cleaned up failed img: '"+h+"' Steps: "+p.numLoaded+" / "+p.numTotal)}a.stop!==c?a.stop():b.execCommand!==c&&b.execCommand("Stop",!1),b.close!==c&&b.close(),p.cleanupDone=!0,f&&"string"==typeof f||e()}},renderingDone:function(){s&&a.clearTimeout(s)}},d.timeout>0&&(s=a.setTimeout(n.cleanupDOM,d.timeout)),q.log("html2canvas: Preload starts: finding background-images"),p.firstRun=!0,k(o),q.log("html2canvas: Preload: Finding images"),o=0;v>o;o+=1)n.loadImage(u[o].getAttribute("src"));return p.firstRun=!1,q.log("html2canvas: Preload: Done."),p.numTotal===p.numLoaded&&e(),n},i.Renderer=function(a,d){return function(a){if("string"==typeof d.renderer&&i.Renderer[a]!==c)a=i.Renderer[a](d);else{if("function"!=typeof a)throw Error("Unknown renderer");a=a(d)}if("function"!=typeof a)throw Error("Invalid renderer defined");return a}(d.renderer)(a,d,b,function(a){function b(a){Object.keys(a).sort().forEach(function(c){var e=[],f=[],g=[],h=[];a[c].forEach(function(a){a.node.zIndex.isPositioned||a.node.zIndex.opacity<1?g.push(a):a.node.zIndex.isFloated?f.push(a):e.push(a)}),function i(a){a.forEach(function(a){h.push(a),a.children&&i(a.children)})}(e.concat(f,g)),h.forEach(function(a){a.context?b(a.context):d.push(a.node)})})}var d=[],a=function(a){function b(a,d,e){var f="auto"===d.zIndex.zindex?0:Number(d.zIndex.zindex),g=a,h=d.zIndex.isPositioned,i=d.zIndex.isFloated,j={node:d},k=e;d.zIndex.ownStacking?(g=j.context={"!":[{node:d,children:[]}]},k=c):(h||i)&&(k=j.children=[]),0===f&&e?e.push(j):(a[f]||(a[f]=[]),a[f].push(j)),d.zIndex.children.forEach(function(a){b(g,a,k)})}var d={};return b(d,a),d}(a);return b(a),d}(a.stack),i)},i.Util.Support=function(a,b){function d(){var a=new Image,d=b.createElement("canvas"),e=d.getContext===c?!1:d.getContext("2d");if(e===!1)return!1;d.width=d.height=10,a.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><foreignObject width='10' height='10'><div xmlns='http://www.w3.org/1999/xhtml' style='width:10;height:10;'>sup</div></foreignObject></svg>";try{e.drawImage(a,0,0),d.toDataURL()}catch(f){return!1}return i.Util.log("html2canvas: Parse: SVG powered rendering available"),!0}return{rangeBounds:function(){var a,c,d=!1;return b.createRange&&(a=b.createRange(),a.getBoundingClientRect)&&(c=b.createElement("boundtest"),c.style.height="123px",c.style.display="block",b.body.appendChild(c),a.selectNode(c),a=a.getBoundingClientRect(),a=a.height,123===a&&(d=!0),b.body.removeChild(c)),d}(),svgRendering:a.svgRendering&&d()}},a.html2canvas=function(b,c){var d,e,b=b.length?b:[b],f={logging:!1,elements:b,background:"#fff",proxy:null,timeout:0,useCORS:!1,allowTaint:!1,svgRendering:!1,ignoreElements:"IFRAME|OBJECT|PARAM",useOverflow:!0,letterRendering:!1,chinese:!1,width:null,height:null,taintTest:!0,renderer:"Canvas"},f=i.Util.Extend(c,f);return i.logging=f.logging,f.complete=function(a){"function"==typeof f.onpreloaded&&f.onpreloaded(a)===!1||(d=i.Parse(a,f),"function"==typeof f.onparsed&&f.onparsed(d)===!1||(e=i.Renderer(d,f),"function"!=typeof f.onrendered))||f.onrendered(e)},a.setTimeout(function(){i.Preload(f)},0),{render:function(a,b){return i.Renderer(a,i.Util.Extend(b,f))},parse:function(a,b){return i.Parse(a,i.Util.Extend(b,f))},preload:function(a){return i.Preload(i.Util.Extend(a,f))},log:i.Util.log}},a.html2canvas.log=i.Util.log,a.html2canvas.Renderer={Canvas:c},i.Renderer.Canvas=function(a){function d(a,b){a.beginPath(),b.forEach(function(b){a[b.name].apply(a,b.arguments)}),a.closePath()}var a=a||{},e=b,f=[],g=b.createElement("canvas"),h=g.getContext("2d"),j=i.Util,k=a.canvas||e.createElement("canvas");return function(b,i,l,m,n){var o,p=k.getContext("2d"),q=b.stack;if(k.width=k.style.width=i.width||q.ctx.width,k.height=k.style.height=i.height||q.ctx.height,o=p.fillStyle,p.fillStyle=j.isTransparent(q.backgroundColor)&&i.background!==c?i.background:b.backgroundColor,p.fillRect(0,0,k.width,k.height),p.fillStyle=o,m.forEach(function(b){p.textBaseline="bottom",p.save(),b.transform.matrix&&(p.translate(b.transform.origin[0],b.transform.origin[1]),p.transform.apply(p,b.transform.matrix),p.translate(-b.transform.origin[0],-b.transform.origin[1])),b.clip&&(p.beginPath(),p.rect(b.clip.left,b.clip.top,b.clip.width,b.clip.height),p.clip()),b.ctx.storage&&b.ctx.storage.forEach(function(b){var c=p;switch(b.type){case"variable":c[b.name]=b.arguments;break;case"function":switch(b.name){case"createPattern":if(b.arguments[0].width>0&&b.arguments[0].height>0)try{c.fillStyle=c.createPattern(b.arguments[0],"repeat")}catch(i){j.log("html2canvas: Renderer: Error creating pattern",i.message)}break;case"drawShape":d(c,b.arguments);break;case"drawImage":if(b.arguments[8]>0&&b.arguments[7]>0){var k;if(!(k=!a.taintTest)&&(k=a.taintTest))a:{if(-1===f.indexOf(b.arguments[0].src)){h.drawImage(b.arguments[0],0,0);try{h.getImageData(0,0,1,1)}catch(l){g=e.createElement("canvas"),h=g.getContext("2d"),k=!1;break a}f.push(b.arguments[0].src)}k=!0}k&&c.drawImage.apply(c,b.arguments)}break;default:c[b.name].apply(c,b.arguments)}}}),p.restore()}),j.log("html2canvas: Renderer: Canvas renderer done - returning canvas obj"),1===i.elements.length&&"object"==typeof i.elements[0]&&"BODY"!==i.elements[0].nodeName){b=n.Util.Bounds(i.elements[0]),l=l.createElement("canvas"),l.width=Math.ceil(b.width),l.height=Math.ceil(b.height),p=l.getContext("2d");try{p.drawImage(k,b.left,b.top,b.width,b.height,0,0,b.width,b.height)}catch(r){}return k=null,l}return k}}}(window,document),function(a){var b={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},c=function(){var a=function(a){this._coordinator={},this._data=[],this._radi=[],this._min=0,this._max=1,this._xField=a.xField||a.defaultXField,this._yField=a.yField||a.defaultYField,this._valueField=a.valueField||a.defaultValueField,a.radius&&(this._cfgRadius=a.radius)},c=b.defaultRadius;return a.prototype={_organiseData:function(a,b){var d=a[this._xField],e=a[this._yField],f=this._radi,g=this._data,h=this._max,i=this._min,j=a[this._valueField]||1,k=a.radius||this._cfgRadius||c;return g[d]||(g[d]=[],f[d]=[]),g[d][e]?g[d][e]+=j:(g[d][e]=j,f[d][e]=k),g[d][e]>h?(b?this.setDataMax(g[d][e]):this._max=g[d][e],!1):{x:d,y:e,value:j,radius:k,min:i,max:h}},_unOrganizeData:function(){var a,b=[],c=this._data,d=this._radi;for(a in c)for(var e in c[a])b.push({x:a,y:e,radius:d[a][e],value:c[a][e]});return{min:this._min,max:this._max,data:b}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(a){if(a.length>0)for(var b=a.length;b--;)this.addData.call(this,a[b]);else(a=this._organiseData(a,!0))&&this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[a]});return this},setData:function(a){var b=a.data,c=b.length;for(this._max=a.max,this._min=a.min||0,this._data=[],this._radi=[],a=0;c>a;a++)this._organiseData(b[a],!1);return this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(a){return this._max=a,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(a){return this._min=a,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(a){this._coordinator=a},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},a}(),d=function(){function a(a){var c=this.shadowCanvas=document.createElement("canvas"),d=this.canvas=a.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0],this._width=c.width=d.width,this._height=c.height=d.height,this.shadowCtx=c.getContext("2d"),this.ctx=d.getContext("2d"),this._palette=b(a),this._templates={},this._setStyles(a)}var b=function(a){var a=a.gradient||a.defaultGradient,b=document.createElement("canvas"),c=b.getContext("2d");b.width=256,b.height=1;var d,b=c.createLinearGradient(0,0,256,1);for(d in a)b.addColorStop(d,a[d]);return c.fillStyle=b,c.fillRect(0,0,256,1),c.getImageData(0,0,256,1).data},c=function(a){for(var b=[],c=a.min,d=a.max,e=a.radi,a=a.data,f=Object.keys(a),g=f.length;g--;)for(var h=f[g],i=Object.keys(a[h]),j=i.length;j--;){var k=i[j];b.push({x:h,y:k,value:a[h][k],radius:e[h][k]})}return{min:c,max:d,data:b}};return a.prototype={renderPartial:function(a){this._drawAlpha(a),this._colorize()},renderAll:function(a){this._clear(),this._drawAlpha(c(a)),this._colorize()},_updateGradient:function(a){this._palette=b(a)},updateConfig:function(a){a.gradient&&this._updateGradient(a),this._setStyles(a)},setDimensions:function(a,b){this._width=a,this._height=b,this.shadowCanvas.width=this._width,this.shadowCanvas.height=this._height},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(a){this._blur=0==a.blur?0:a.blur||a.defaultBlur,a.backgroundColor&&(this.canvas.style.backgroundColor=a.backgroundColor),this._opacity=255*(a.opacity||0),this._maxOpacity=255*(a.maxOpacity||a.defaultMaxOpacity),this._minOpacity=255*(a.minOpacity||a.defaultMinOpacity)},_drawAlpha:function(a){for(var b=this._min=a.min,c=this._max=a.max,a=a.data||[],d=a.length,e=1-this._blur;d--;){var f,g=a[d],h=g.radius,i=g.value,j=g.x-h,g=g.y-h,k=this.shadowCtx;if(this._templates[h])f=this._templates[h];else{f=this._templates;var l=h,m=h,n=e,o=document.createElement("canvas"),p=o.getContext("2d");o.width=o.height=2*m,1==n?(p.beginPath(),p.arc(m,m,m,0,2*Math.PI,!1),p.fillStyle="rgba(0,0,0,1)",p.fill()):(n=p.createRadialGradient(m,m,m*n,m,m,m),n.addColorStop(0,"rgba(0,0,0,1)"),n.addColorStop(1,"rgba(0,0,0,0)"),p.fillStyle=n,p.fillRect(0,0,2*m,2*m)),f[l]=f=o}k.globalAlpha=(i-b)/Math.abs(c-b),k.drawImage(f,j,g),j<this._renderBoundaries[0]&&(this._renderBoundaries[0]=j),g<this._renderBoundaries[1]&&(this._renderBoundaries[1]=g),j+2*h>this._renderBoundaries[2]&&(this._renderBoundaries[2]=j+2*h),g+2*h>this._renderBoundaries[3]&&(this._renderBoundaries[3]=g+2*h)}},_colorize:function(){var a=this._renderBoundaries[0],b=this._renderBoundaries[1],c=this._renderBoundaries[2]-a,d=this._renderBoundaries[3]-b,e=this._width,f=this._height,g=this._opacity,h=this._maxOpacity,i=this._minOpacity;0>a&&(a=0),0>b&&(b=0),a+c>e&&(c=e-a),b+d>f&&(d=f-b);for(var c=this.shadowCtx.getImageData(a,b,c,d),d=c.data,e=d.length,f=this._palette,j=3;e>j;j+=4){var k=d[j],l=4*k;l&&(k=g>0?g:h>k?i>k?i:k:h,d[j-3]=f[l],d[j-2]=f[l+1],d[j-1]=f[l+2],d[j]=k)}c.data=d,this.ctx.putImageData(c,a,b),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(a){return a=this.shadowCtx.getImageData(a.x,a.y,1,1).data[3],Math.abs(this._max-this._min)*(a/255)>>0},getDataURL:function(){return this.canvas.toDataURL()}},a}(),e=function(){var a=!1;return"canvas2d"===b.defaultRenderer&&(a=d),a}(),f={merge:function(){for(var a={},b=arguments.length,c=0;b>c;c++){var d,e=arguments[c];for(d in e)a[d]=e[d]}return a}},g=function(){function a(a){if(a=this._config=f.merge(b,a||{}),this._coordinator=new d,a.plugin){if(a=a.plugin,!b.plugins[a])throw Error("Plugin '"+a+"' not found. Maybe it was not registered.");a=b.plugins[a],this._renderer=a.renderer,this._store=a.store}else this._renderer=new e(a),this._store=new c(a);g(this)}var d=function(){function a(){this.cStore={}}return a.prototype={on:function(a,b,c){var d=this.cStore;d[a]||(d[a]=[]),d[a].push(function(a){return b.call(c,a)})},emit:function(a,b){var c=this.cStore;if(c[a])for(var d=c[a].length,e=0;d>e;e++)c[a][e](b)}},a}(),g=function(a){var b=a._renderer,c=a._coordinator,d=a._store;c.on("renderpartial",b.renderPartial,b),c.on("renderall",b.renderAll,b),c.on("extremachange",function(b){a._config.onExtremaChange&&a._config.onExtremaChange({min:b.min,max:b.max,gradient:a._config.gradient||a._config.defaultGradient})}),d.setCoordinator(c)};return a.prototype={addData:function(){return this._store.addData.apply(this._store,arguments),this},removeData:function(){return this._store.removeData&&this._store.removeData.apply(this._store,arguments),this},setData:function(){return this._store.setData.apply(this._store,arguments),this},setDataMax:function(){return this._store.setDataMax.apply(this._store,arguments),this},setDataMin:function(){return this._store.setDataMin.apply(this._store,arguments),this},configure:function(a){return this._config=f.merge(this._config,a),this._renderer.updateConfig(this._config),this._coordinator.emit("renderall",this._store._getInternalData()),this},repaint:function(){return this._coordinator.emit("renderall",this._store._getInternalData()),this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(a){return this._store.getValueAt?this._store.getValueAt(a):this._renderer.getValueAt?this._renderer.getValueAt(a):null}},a}();a.h337={create:function(a){return new g(a)},register:function(a,c){b.plugins[a]=c}}}(this||window);var ia=ia||{debounce:function(a,b,c){var d;return function(){var e=this,f=arguments,g=c&&!d;clearTimeout(d),d=setTimeout(function(){d=null,c||a.apply(e,f)},b||250),g&&a.apply(e,f)}},isUndefined:function(a){return"null"==a||null==a||"NaN"==a||""==a||void 0==a?!0:!1},log:function(a){window.console&&window.console.log&&ia.isTouchDevice()&&$j("#ia-debug-container").append("<span style='color:green'><br/>&gt; "+a+"</span>")},endsWith:function(a,b){return-1!==a.indexOf(b,a.length-b.length)},isNumber:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},parseInt:function(a,b){return parseInt(a,b||10)},extend:function(a,b){function c(){}c.prototype=a.prototype,b.prototype=new c,b.prototype.constructor=b,b.baseConstructor=a,b.superClass=a.prototype},Quicksort:function(a,b,c,d){var e,f,g,h;if(d-c==1)a[c][b]>a[d][b]&&(h=a[c],a[c]=a[d],a[d]=h);else{e=a[ia.parseInt((c+d)/2)],a[ia.parseInt((c+d)/2)]=a[c],a[c]=e,f=c+1,g=d;do{for(;g>=f&&a[f][b]<=e[b];)f++;for(;a[g][b]>e[b];)g--;g>f&&(h=a[f],a[f]=a[g],a[g]=h)}while(g>f);a[c]=a[g],a[g]=e,g-1>c&&ia.Quicksort(a,b,c,g-1),d>g+1&&ia.Quicksort(a,b,g+1,d)}},proxyMapStem:"../",proxyMaps:void 0,useProxy:!1,accessToken:"",addProxy:function(a,b){void 0==ia.proxyMaps&&(ia.proxyMaps={}),ia.proxyMaps[a]=b},getDomainSafeUrl:function(a){var b=a;if(ia.useProxy){var c=a.indexOf("://")+3,c=a.substring(0,a.indexOf("/",c)+1);ia.proxyMaps&&ia.proxyMaps[c]&&(b=a.replace(c,ia.proxyMapStem+ia.proxyMaps[c]))}return b},regAppId:"83wV2txRMBrDpKjq",redirectToArcGisOnlineAuth:function(){var a="https://www.arcgis.com/sharing/oauth2/authorize?client_id="+ia.regAppId+"&response_type=token&redirect_uri="+encodeURI(window.location.href);window.location.href=a},getNiceNum:function(a,b){var c=Math.floor(ia.log10(a)),d=a/Math.pow(10,c);return(b?1.5>d?1:3>d?2:7>d?5:10:1>=d?1:2>=d?2:5>=d?5:10)*Math.pow(10,c)},log10:function(a){return Math.log(a)/Math.LN10},round:function(a,b){var c=Math.pow(10,b);return Math.round(a*c)/c},disableTextSelection:function(a){a=a.get(0),"undefined"!=typeof a.onselectstart?a.onselectstart=function(){return!1}:"undefined"!=typeof a.style.MozUserSelect?a.style.MozUserSelect="none":a.onmousedown=function(){return!1}},enableTextSelection:function(a){a=a.get(0),"undefined"!=typeof a.onselectstart?a.onselectstart=function(){return!0}:"undefined"!=typeof a.style.MozUserSelect?a.style.MozUserSelect="text":a.onmousedown=function(){return!0}},loadCssfile:function(a,b){var c=document.getElementsByTagName("head")[0],d=document.createElement("style");d.type="text/css",c.appendChild(d),ia.File.load({url:a,onSuccess:function(a){d.appendChild(document.createTextNode(a)),void 0!=b&&b.call(null,a,d)},onFail:function(){void 0!=b&&b.call(null)}})},appendCss:function(a,b){var c=document.getElementsByTagName("head")[0],d=document.createElement("style");d.type="text/css",c.appendChild(d),d.appendChild(document.createTextNode(a)),void 0!=b&&b.call(null,a,d)},loadJsfile:function(a,b){var c=document.getElementsByTagName("head")[0],d=document.createElement("script");d.type="text/javascript",c.appendChild(d),ia.File.load({url:a,onSuccess:function(a){d.appendChild(document.createTextNode(a)),void 0!=b&&b.call(null,a,d)},onFail:function(){void 0!=b&&b.call(null)}})},appendJs:function(a,b){var c=document.getElementsByTagName("head")[0],d=document.createElement("script");d.type="text/javascript",c.appendChild(d),d.appendChild(document.createTextNode(a)),
void 0!=b&&b.call(null,a,d)},precision:function(a){if(!isFinite(a))return 0;for(var b=1,c=0;Math.round(a*b)/b!==a;)b*=10,c++;return c},getPrecision:function(a){for(var b=0,c=a.length-1,d=0;c>d;d++){var e,f=a[d],g=a[d+1];ia.isNumber(f)&&ia.isNumber(g)&&(e=Math.abs(g-f),f!=1/0&&f!=-(1/0)&&g!=1/0&&g!=-(1/0)&&(f=new BigDecimal(""+f),g=new BigDecimal(""+g),e=Math.abs(g.subtract(f))),e>0&&1>e?(f=String(e).indexOf("e"),-1!=f?(e=new BigDecimal(""+e),e=Math.abs(e.exp)):(e=String(e).split(".")[1],f=e.indexOf("e"),-1!=f?(f=-1!=e.indexOf("+")?f+2:f+1,e=e.substr(f)):(f=String(ia.parseInt(e)),e=e.length-f.length+1)),e>b&&(b=e)):String(f).indexOf(".")>-1&&(e=1,e>b&&(b=e)))}return b},callFunction:function(a,b,c){var d="none";0==a.indexOf("script")||0==a.indexOf("javascript")?(d=a.split(":")[0],a=a.substring(a.indexOf(":")+1).split(";")):a=a.split(";");for(var e=0;e<a.length;e++)a[e]&&ia.processFunction(a[e],d,b,c)},processFunction:function(a,b,c,d){var e=[];if("script"==b||"javascript"==b){if(-1!=a.indexOf("(")){if(b=jQuery.trim(a.substring(0,a.indexOf("("))),a=a.substring(a.indexOf("(")+1,a.indexOf(")")),""!=a)for(e=a.split(","),a=0;a<e.length;a++)c=jQuery.trim(e[a]),0==c.indexOf("'")&&c.lastIndexOf("'")==c.length-1?c=c.substr(1,c.length-2):0==c.indexOf('"')&&c.lastIndexOf('"')==c.length-1&&(c=c.substr(1,c.length-2)),ia.isNumber(c)&&(c=parseFloat(c)),e[a]=c}else b=jQuery.trim(a);d&&(e[e.length]=d),window[b].apply(null,e)}else void 0==c&&(c="_blank"),window.open(a,c)},supportsCanvas:function(){return!!document.createElement("canvas").getContext},isTouchDevice:function(){return"ontouchstart"in window},disableDefaultTouch:function(){ia.isTouchDevice()&&(document.body.addEventListener("touchstart touchend touchmove",function(a){a.preventDefault()},!1),document.ontouchmove=function(a){a.preventDefault()})},showWaitCursor:function(){$j("body").css("cursor","wait")},showDefaultCursor:function(){document.onselectstart=function(){return ia.useTextSelection},$j("body").css("cursor","default")},showCursor:function(a){document.onselectstart=function(){return!1},$j("body").css("cursor",a)},showMoveCursor:function(){document.onselectstart=function(){return!1},$j("body").css("cursor","move")},showPointerCursor:function(){$j("body").css("cursor","pointer")},getDataUrl:function(a,b){html2canvas(a.get(0),{onrendered:function(a){try{b.call(null,a.toDataURL("image/png"))}catch(c){b.call(null)}}})},useTextSelection:document.onselectstart,IAS_PATH:"",IS_TOUCH_DEVICE:!1,IS_IE_TEN:!1,SINGLE_MAP_REPORT:"timeseries_advanced_sm::flash::html",PYRAMID_REPORT:"timeseries_advanced_sm::flash::pyramid::html",SPINE_REPORT:"areaprofiler::flash::html",ELECTION_REPORT:"areaprofiler::flash::election::html",DOUBLE_GEOG_REPORT:"double_timeseries_advanced_dm::flash::html",DOUBLE_BASELAYER_REPORT:"double_timeseries_advanced_dm::flash::double_base::html",DOUBLE_BASELAYER_REPORT_NEW:"double_timeseries_advanced_dm::flash::double_base_new::html",DOUBLE_PLOT_REPORT:"timeseries_advanced_dm::flash::html",BUBBLE_PLOT_REPORT:"bubbleplot::flash::html",BUBBLE_PLOT_REPORT_SINGLE:"bubbleplot::flash::html::single",removeNonNumericValues:function(a,b){for(var c=a.length;c--;){var d=b[c];ia.isNumber(a[c])&&ia.isNumber(d)||(a.splice(c,1),b.splice(c,1))}for(c=0;c<a.length;c++)a[c]=parseFloat(a[c]),b[c]=parseFloat(b[c])},sumArray:function(a){return a.reduce(function(a,b){return ia.isNumber(a)?ia.isNumber(b)?a+b:a:0})},getAverageProportion:function(a,b,c){return a=this.sumArray(a),b=this.sumArray(b),a/b*c},getFunnelData:function(a,b){var c={proportionMultiplier:100},d=a.concat(),e=b.concat();if(this.removeNonNumericValues(d,e),d.length>0&&e.length>0){c.arrProportion=d.map(function(a,b){return a/e[b]});var f=a.map(function(a,c){return a/b[c]});for(c.arrYAxisValues=f.map(function(a){return a*c.proportionMultiplier}),c.averageProportion=this.getAverageProportion(d,e,c.proportionMultiplier),c.xAxisActualMin=Math.min.apply(null,e),c.xAxisActualMax=Math.max.apply(null,e),c.xAxisNewMin=0,c.xAxisActualMax<=2*c.xAxisActualMin&&(d=.95*c.xAxisActualMin,f=Math.floor(d).toString().length-1,c.xAxisNewMin=this.roundDown(d,f)),d=1.05*c.xAxisActualMax,f=Math.ceil(d).toString().length-2,c.xAxisNewMax=this.roundUp(d,f),c.yAxisActualMin=Math.min.apply(null,c.arrProportion)*c.proportionMultiplier,c.yAxisActualMax=Math.max.apply(null,c.arrProportion)*c.proportionMultiplier,c.yAxisNewMin=0,c.yAxisActualMax<=2*c.yAxisActualMin&&(d=.98*c.yAxisActualMin,f=Math.floor(d).toString().length-1,c.yAxisNewMin=this.roundDown(d,f)),d=1.02*Math.max(c.yAxisActualMax,c.averageProportion),f=Math.ceil(d).toString().length-2,c.yAxisNewMax=this.roundUp(d,f),c.arrXAxisValues=[],c.arrBaseline=[],c.arrRow=[],c.arrUpper3SD=[],c.arrLower3SD=[],c.arrUpper2SD=[],c.arrLower2SD=[],d=1;100>=d;d++){c.arrBaseline.push(c.averageProportion),c.arrRow.push(d);var g;1===d?g=Math.max(1,c.xAxisNewMin):(f=c.arrXAxisValues[d-2],g=Math.max(Math.round(Math.pow(c.xAxisNewMax/f,1/(101-d))*f),f+1)),c.arrXAxisValues.push(g);var h=.998,i=Math.pow(this.NORMSINV((1-h)/2),2),j=g/i,k=c.averageProportion/c.proportionMultiplier,l=Math.pow(-8*k*(j+1),2),f=Math.min(c.proportionMultiplier,(k*(j+1)+Math.sqrt(l-64*(1/i+1/g)*k*(g*(k*(j+2)-1)+i*(k-1)))/8)/(1/i+1/g)/g*c.proportionMultiplier),m=Math.max(0,(k*(j+1)-Math.sqrt(l-64*(1/i+1/g)*k*(g*(k*(j+2)-1)+i*(k-1)))/8)/(1/i+1/g)/g*c.proportionMultiplier),h=.95,i=Math.pow(this.NORMSINV((1-h)/2),2),j=g/i,k=c.averageProportion/c.proportionMultiplier,l=Math.pow(-8*k*(j+1),2),n=Math.min(c.proportionMultiplier,(k*(j+1)+Math.sqrt(l-64*(1/i+1/g)*k*(g*(k*(j+2)-1)+i*(k-1)))/8)/(1/i+1/g)/g*c.proportionMultiplier),h=.95;g=Math.max(0,(k*(j+1)-Math.sqrt(l-64*(1/i+1/g)*k*(g*(k*(j+2)-1)+i*(k-1)))/8)/(1/i+1/g)/g*c.proportionMultiplier),c.arrUpper3SD.push(f),c.arrLower3SD.push(m),c.arrUpper2SD.push(n),c.arrLower2SD.push(g)}return c}return null},roundUp:function(a,b){var c=Math.pow(10,b);return Math.ceil(a*c)/c},roundDown:function(a,b){var c=Math.pow(10,b);return Math.floor(a*c)/c},NORMSINV:function(a){var b;return 0>a||a>1?a=0:.02425>a?(a=Math.sqrt(-2*Math.log(a)),a=(((((-.00778489400243029*a+-.322396458041136)*a+-2.40075827716184)*a+-2.54973253934373)*a+4.37466414146497)*a+2.93816398269878)/((((.00778469570904146*a+.32246712907004)*a+2.445134137143)*a+3.75440866190742)*a+1)):.97575>=a?(a-=.5,b=a*a,a=(((((-39.6968302866538*b+220.946098424521)*b+-275.928510446969)*b+138.357751867269)*b+-30.6647980661472)*b+2.50662827745924)*a/(((((-54.4760987982241*b+161.585836858041)*b+-155.698979859887)*b+66.8013118877197)*b+-13.2806815528857)*b+1)):(a=Math.sqrt(-2*Math.log(1-a)),a=-(((((-.00778489400243029*a+-.322396458041136)*a+-2.40075827716184)*a+-2.54973253934373)*a+4.37466414146497)*a+2.93816398269878)/((((.00778469570904146*a+.32246712907004)*a+2.445134137143)*a+3.75440866190742)*a+1)),a},getSignificance:function(a,b){for(var c=this.getAverageProportion(a,b,100),d=[],e=0;e<a.length;e++){var f=a[e],g=b[e],h=Math.pow(this.NORMSINV((1-.998)/2),2),i=Math.pow(this.NORMSINV((1-.95)/2),2),j=c/100,k=j*(g/h+1),l=j*(g/i+1),m=1/h+1/g,n=1/i+1/g,h=Math.pow(-8*k,2)-64*m*j*(g*(j*(g/h+2)-1)+h*(j-1)),i=Math.pow(-8*l,2)-64*n*j*(g*(j*(g/i+2)-1)+i*(j-1)),j=(k-Math.sqrt(h)/8)/m/g*100,o="None";f/g*100<Math.max(0,j)?o="Low (0.001)":(j=(l-Math.sqrt(i)/8)/n/g*100,f/g*100<Math.max(0,j)?o="Low (0.025)":(j=(k+Math.sqrt(h)/8)/m/g*100,f/g*100>Math.min(100,j)?o="High (0.001)":(j=(l+Math.sqrt(i)/8)/n/g*100,f/g*100>Math.min(100,j)&&(o="High (0.025)")))),d.push(o)}return d}};iaAddGlobalFunctions=function(a){iaToggle=function(b){a.closePopups(b);var c=a.getWidget(b);void 0!=c?c.toggle():(c=a.getWidget(b),void 0!=c&&c.toggle())},iaShow=function(b){var c=b+"-panel";a.closePopups(c),c=a.getWidget(c),void 0!=c?c.show():(c=a.getWidget(b),void 0!=c&&c.show())},iaHide=function(b){var c=b+"-panel";a.closePopups(c),c=a.getWidget(c),void 0!=c?c.hide():(c=a.getWidget(b),void 0!=c&&c.hide())},iaResize=function(b,c,d){var e=b+"-panel";a.closePopups(e),e=a.getWidget(e),void 0!=e?e.setSize(c,d):(e=a.getWidget(b),void 0!=e&&e.setSize(c,d))},iaTogglePopup=function(b){-1==b.indexOf("http")&&(b=ia.IAS_PATH+b),ia.IS_TOUCH_DEVICE?window.open(b,"_blank"):(iaToggle("popup"),a.getComponent("popup").setHtml(b))},iaToggleCallout=function(b,c){var d=a.getCallout(b);if(void 0!=d){if(c.originalEvent.touches){var e=c.originalEvent.changedTouches[0];d.position(e.pageX,e.pageY)}else d.position(c.pageX,c.pageY);d.toggle()}},iaToggleLegendEditor=function(a){iaToggleCallout("legend-callout",a)},iaToggleHelp=function(){iaTogglePopup("./help.htm")},iaToggleShare=function(b){a.blockInteraction("iaShare",!0,function(){$j("#ia-share-callout").val(document.URL);var c="<iframe src='"+decodeURIComponent(document.URL.replace(/(^\w+:|^)\/\//,"//"))+"' style='width:800px;height:600px;border-width:0px'></iframe>";$j("#ia-embed-callout").val(c),ia.getDataUrl(a.container,function(c){if(void 0!=c&&(c='<div class="ia-share-text">'+a.config.getProperty("saveImageText")+'</div><a href="'+c+'" download="dashboard.png"><img class="ia-export-thumbnail" src="'+c+'"/></a>',$j("#ia-thumbnail-callout").html(c)),c=a.getCallout("shareCallout"),b.originalEvent.changedTouches){var d=b.originalEvent.changedTouches[0];c.position(d.pageX,d.pageY)}else c.position(b.pageX,b.pageY);c.show(),a.allowInteraction("iaShare")})})};var b=new ia.CalloutBox("exportCallout","top-bottom");b.popup(!0),a.addCallout(b);var c=$j("<div>");b.append(c),iaExportDataUrl=function(d,e){var f='<div class="ia-share-text">'+a.config.getProperty("saveImageText")+'</div><a href="'+d+'" download="chart.png"><img class="ia-export-thumbnail" src="'+d+'"/></a>';c.html(f),e.originalEvent.changedTouches?(f=e.originalEvent.changedTouches[0],b.position(f.pageX,f.pageY)):b.position(e.pageX,e.pageY),b.show()},iaExportPanelWithChart=function(a,b,c,d){if(a.header.text().trim().length)ia.getDataUrl(a.header,function(a){var e=document.createElement("img");e.addEventListener("load",function(){var a=b.exportData(c),f=document.createElement("img");f.addEventListener("load",function(){var a=document.createElement("canvas"),c=a.getContext("2d");a.width=b.canvas.width,a.height=e.height+b.canvas.height,c.fillStyle="#ffffff",c.fillRect(0,e.height,a.width,f.height),c.drawImage(e,0,0),c.drawImage(f,0,e.height),a=a.toDataURL("image/png"),iaExportDataUrl(a,d)}),f.src=a}),e.src=a});else{var a=b.exportData(c),e=document.createElement("img");e.addEventListener("load",function(){var a=document.createElement("canvas"),c=a.getContext("2d");a.width=b.canvas.width,a.height=b.canvas.height,c.fillStyle="#ffffff",c.fillRect(0,0,a.width,a.height),c.drawImage(e,0,0),a=a.toDataURL("image/png"),iaExportDataUrl(a,d)}),e.src=a}},iaExportPanel=function(a,b){a.header.text().trim().length?ia.getDataUrl(a.header,function(c){var d=document.createElement("img");d.addEventListener("load",function(){ia.getDataUrl(a.content,function(a){var c=document.createElement("img");c.addEventListener("load",function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.width=c.width,a.height=d.height+c.height,e.fillStyle="#ffffff",e.fillRect(0,d.height,a.width,c.height),e.drawImage(d,0,0),e.drawImage(c,0,d.height),a=a.toDataURL("image/png"),iaExportDataUrl(a,b)}),c.src=a})}),d.src=c}):ia.getDataUrl(a.content,function(a){var c=document.createElement("img");c.addEventListener("load",function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.width=c.width,a.height=c.height,d.fillStyle="#ffffff",d.fillRect(0,0,a.width,a.height),d.drawImage(c,0,0),a=a.toDataURL("image/png"),iaExportDataUrl(a,b)}),c.src=a})},iaExportCSV=function(a,d){if(c.html('<textarea rows="15" cols="40">'+a+"</textarea>"),d.originalEvent.changedTouches){var e=d.originalEvent.changedTouches[0];b.position(e.pageX,e.pageY)}else b.position(d.pageX,d.pageY);b.show()},iaToggleProfileTree=function(){a.getComponent("spineChart").toggleTree()},iaOpenPrintPreview=function(){var a=ia.getUrl();a+="&printmode=true",a=a.split("&prop_legendClassifier=customClassifier").join(),window.open(a,"_blank")},iacPopMetadata=function(a,b){alert(a+" "+b)}},CanvasRenderingContext2D.prototype.dashedLine=function(a,b,c,d,e,f){void 0==e&&(e=2),void 0==f&&(f=e),this.moveTo(a,b);var g=c-a,h=d-b,i=Math.floor(Math.sqrt(g*g+h*h)/(e+f));i*=2;var e=Math.floor(Math.sqrt(g*g+h*h)/e),j=Math.floor(Math.sqrt(g*g+h*h)/f),f=g/e,e=h/e;for(g/=j,h/=j,j=0;j++<i;)j%2==0?(a+=g,b+=h,this.moveTo(a,b)):(a+=f,b+=e,this.lineTo(a,b));j%2==0?this.moveTo(c,d):this.lineTo(c,d)},function(){function a(a,b){return this.slice(a,b)}function b(a,b){arguments.length<2&&(b=0);for(var c=0,d=a.length;d>c;++c,++b)this[b]=255&a[c]}function c(c){var d;if("number"==typeof c){d=Array(c);for(var e=0;c>e;++e)d[e]=0}else d=c.slice(0);return d.subarray=a,d.buffer=d,d.byteLength=d.length,d.set=b,"object"==typeof c&&c.buffer&&(d.buffer=c.buffer),d}try{return void new Uint8Array(1)}catch(d){}window.Uint8Array=c,window.Uint32Array=c,window.Int32Array=c}(),function(){"response"in XMLHttpRequest.prototype||"mozResponseArrayBuffer"in XMLHttpRequest.prototype||"mozResponse"in XMLHttpRequest.prototype||"responseArrayBuffer"in XMLHttpRequest.prototype||Object.defineProperty(XMLHttpRequest.prototype,"response",{get:function(){return new Uint8Array(new VBArray(this.responseBody).toArray())}})}(),function(){"btoa"in window||(window.btoa=function(a){var b,c,d="";for(b=0,c=a.length;c>b;b+=3){var e=255&a.charCodeAt(b),f=255&a.charCodeAt(b+1),g=255&a.charCodeAt(b+2),h=(3&e)<<4|f>>4,f=c>b+1?(15&f)<<2|g>>6:64,g=c>b+2?63&g:64;d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(e>>2)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(f)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(g)}return d})}(),function(){function a(){if(void 0!=q.url.params.select){var a=q.url.params.select.toString().split(",");q.getComponent("interactionGroup")&&q.getComponent("interactionGroup").setSelection(a)}void 0!=q.url.params.select2&&(a=q.url.params.select2.toString().split(","),q.getComponent("interactionGroup2")&&q.getComponent("interactionGroup2").setSelection(a)),void 0!=q.url.params.comparisonSelect&&(a=q.url.params.comparisonSelect.toString().split(","),q.getComponent("comparisonInteractionGroup")&&q.getComponent("comparisonInteractionGroup").setSelection(a)),void 0!=q.url.params.comparisonSelect2&&(a=q.url.params.comparisonSelect2.toString().split(","),q.getComponent("comparisonInteractionGroup2")&&q.getComponent("comparisonInteractionGroup2").setSelection(a)),(void 0!=q.url.params.filter||void 0!=q.url.params.filteredFeatures)&&(a=q.getComponent("activeMap"))&&a.zoomToFeatures(C[0].getFilteredFeatures(),[D[0].baseLayer]),(void 0!=q.url.params.filter2||void 0!=q.url.params.filteredFeatures2)&&(a=q.getComponent("activeMap2"),(q.config.template==ia.DOUBLE_BASELAYER_REPORT||q.config.template==ia.DOUBLE_BASELAYER_REPORT_NEW)&&(a=q.getComponent("activeMap")),a&&a.zoomToFeatures(C[1].getFilteredFeatures(),[D[1].baseLayer]))}function b(){p(),n(),o(),iaAddGlobalFunctions(q),a(),q.url.params.printmode&&B.loadDragScript(),q.url.params.custom&&(r=iaOnReportComplete),q.endProgress("init"),r&&r.call(null,q)}function c(){var a=q.config.getProperty("isResponsive");if(void 0!=a&&1==a&&1!=q.url.params.printmode){var b=q.config.getProperty("flowLayoutMaxWidth"),c=q.config.getProperty("flowLayoutIncludeImages");q.setResponsive(a,b,c)}}function d(a,b){if(a.onSuccess&&(r=a.onSuccess),a.onFail&&(ia.File.errorHandler=a.onFail),k(a.params),a.data){var c=a.data.config;c&&(c.source?(t=c.source,u=void 0):c.xml&&(u=c.xml,t=void 0)),(c=a.data.attribute)&&(c.source?(v=c.source,w=void 0):c.json&&(w=c.json,v=void 0)),(c=a.data.model)&&(q.data.model=c),(c=a.data.map)&&(c.source?(x=c.source,y=void 0):c.json&&(y=c.json,x=void 0)),(c=a.data.style)&&(c.source?(z=c.source,A=void 0):c.text&&(A=c.text,z=void 0))}void 0!=q.url.params.dataPath&&(void 0!=v&&(v=q.url.params.dataPath+v),void 0!=x&&(x=q.url.params.dataPath+x)),void 0!=q.url.params.config&&(t=q.url.params.config+".xml"),void 0!=q.url.params.data&&(v=q.url.params.dataPath+q.url.params.data+".js"),void 0!=q.url.params.map&&(x=q.url.params.dataPath+q.url.params.map+".js"),ia.log("-----------------------------------"),ia.log("CONFIG SOURCE : "+t),ia.log("  DATA SOURCE : "+v),ia.log("   MAP SOURCE : "+x),ia.log("-----------------------------------"),ia.log("   CONFIG XML : "+u),ia.log("    DATA JSON : "+w),ia.log("    MAP JSON  : "+y),ia.log("-----------------------------------"),z?ia.loadCssfile(z,function(){b.call(null)}):A?ia.appendCss(A,function(){b.call(null)}):b.call(null)}function e(a){w?q.data.parseData(w,a):v?q.data.loadSource(v,a):a.call(null)}function f(a,b){y?a.parseData(y,b):x?a.loadSource(x,b):b.call(null)}function g(a){function b(){q.url.params.loadAllData=void 0!=q.config.getComponent("featureCard")||void 0!=q.config.getComponent("pyramidChart")||void 0!=q.config.getComponent("spineChart")||void 0!=q.config.getComponent("radarChart")||void 0!=q.config.getComponent("featureCard2")||void 0!=q.config.getComponent("pyramidChart2")||void 0!=q.config.getComponent("spineChart2")||void 0!=q.config.getComponent("radarChart2")?!0:!1,void 0!=q.data.model?(q.data.loadByIndicator=!0,(void 0!=q.config.getComponent("areaBreakdownBarChart")||void 0!=q.config.getComponent("areaBreakdownPieChart")||void 0!=q.config.getComponent("areaBreakdownBarChart2")||void 0!=q.config.getComponent("areaBreakdownPieChart2"))&&(q.data.loadByIndicator=!1)):q.data.loadByIndicator=!1,q.locale=new ia.Locale(q.config.getProperty("locale")),q.locale.formatter.noDataValue=q.config.getProperty("noDataValue"),void 0==q.locale.formatter.noDataValue&&(q.locale.formatter.noDataValue=""),q.data.formatter=q.locale.formatter;var b=q.config.getProperty("ndecimal");q.data.precision=b>-1?b:void 0,q.data.setProperty(q.config.getProperty("customBreaksKey"),q.config.getProperty("legendBreaks")),q.data.setProperty(q.config.getProperty("customLabelsKey"),q.config.getProperty("legendLabels")),q.data.setProperty(q.config.getProperty("customBreaksKey2"),q.config.getProperty("legendBreaks2")),q.data.setProperty(q.config.getProperty("customLabelsKey2"),q.config.getProperty("legendLabels2")),(b=q.config.getComponent("barChart"))&&(q.data.setProperty("barChartData",b.getProperty("data")),q.data.setProperty("upperLimitField",b.getProperty("upperLimitField")),q.data.setProperty("lowerLimitField",b.getProperty("lowerLimitField")),q.data.setProperty("confidenceIntervalField",b.getProperty("confidenceIntervalField"))),a.call(null)}u?q.config.parseXML(u,b):t?q.config.loadSource(t,b):a.call(null)}function h(a){C=[],D=[];var b,d=q.config.getProperty("selectionMode"),e=new ia.MapData(q);D[D.length]=e;var g=q.config.getComponent("map");void 0!=g&&(e.tilePath=g.getProperty("backgroundMappingPath")),f(e,function(){var g=new ia.InteractionGroup;d&&(g.selectionMode=d);var h=new ia.InteractionGroup,i=new ia.DataGroup(q,"");i.mapData=e,C[C.length]=i,q.addComponent("dataGroup",i),i.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){c()}),q.template=e.template,q.version=e.version,q.evaluation=e.baseLayers[0].eval,q.uid=e.baseLayers[0].uid,i.build(function(){if(q.config.template==ia.SINGLE_MAP_REPORT||q.config.template==ia.PYRAMID_REPORT||q.config.template==ia.SPINE_REPORT||q.config.template==ia.ELECTION_REPORT){var c=[{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h}];b=new ia.ComponentFactory(q.config,q,c),q.addComponent("factory",b),b.buildComponents(function(){void 0!=a&&a.call(null)})}else if(q.config.template==ia.BUBBLE_PLOT_REPORT_SINGLE)c=[{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h}],b=new ia.ComponentFactory(q.config,q,c),q.addComponent("factory",b),b.buildComponents(function(){void 0!=a&&a.call(null)});else{var j=new ia.MapData(q);D[D.length]=j,c=q.config.getComponent("map2"),void 0!=c&&(j.tilePath=c.getProperty("backgroundMappingPath")),f(j,function(){var c=new ia.DataGroup(q,"2");c.mapData=j,C[C.length]=c,q.addComponent("dataGroup2",c),c.build(function(){if(q.config.template==ia.DOUBLE_GEOG_REPORT){var f=new ia.InteractionGroup;d&&(f.selectionMode=d);var j=new ia.InteractionGroup,k=q.config.getComponent("dataExplorer2");void 0==k&&i.addEventListener(ia.DataEvent.INDICATOR_CHANGED,function(){if(void 0==c.geography.getIndicator(i.indicator.id)){var a=c.geography.getIndicatorByName(i.indicator.name,i.indicator.date);void 0!=a&&c.setData(c.geography.id,a.id,a.date)}else c.setData(c.geography.id,i.indicator.id,i.indicator.date)}),k=q.config.getComponent("filterExplorer2"),void 0==k&&i.addEventListener(ia.FilterEvent.FILTER_CHANGED,function(a){""!=a.filterId?c.setFilter(a.filterId,a.filterValue):c.clearFilter()}),f=[{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:c,interactionGroup:f,comparisonInteractionGroup:j}],b=new ia.ComponentFactory(q.config,q,f),q.addComponent("factory",b),b.buildComponents(function(){var b=q.config.getComponent("map");b&&b.getProperty("syncMaps")&&l(),void 0!=a&&a.call(null)})}else if(q.config.template==ia.DOUBLE_PLOT_REPORT)i.addEventListener(ia.DataEvent.GEOG_CHANGED,function(a){c.setData(a.geography.id,c.indicator.id,c.indicator.date)}),i.addEventListener(ia.FilterEvent.FILTER_CHANGED,function(a){c.setFilteredFeatures(a.filterFeatures)}),(f=q.config.getComponent("dataExplorer"))&&1==f.getProperty("syncDates")&&i.addEventListener(ia.DataEvent.INDICATOR_CHANGED,function(a){c.setData(a.geography.id,c.indicator.id,i.indicator.date)}),f=[{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:c,interactionGroup:g,comparisonInteractionGroup:h}],b=new ia.ComponentFactory(q.config,q,f),q.addComponent("factory",b),b.buildComponents(function(){var b=q.config.getComponent("map");b&&b.getProperty("syncMaps")&&l(),void 0!=a&&a.call(null)});else if(q.config.template==ia.BUBBLE_PLOT_REPORT){var m=new ia.DataGroup(q,"3");m.mapData=e,C[C.length]=m,q.addComponent("dataGroup3",m),m.build(function(){var d=new ia.DataGroup(q,"4");d.mapData=e,C[C.length]=d,q.addComponent("dataGroup4",d),d.build(function(){i.addEventListener(ia.DataEvent.GEOG_CHANGED,function(a){var b=a.geography.id;c.setData(b,c.indicator.id,c.indicator.date,function(){m.setData(b,m.indicator.id,m.indicator.date,function(){d.setData(b,d.indicator.id,d.indicator.date,function(){})})})}),i.addEventListener(ia.FilterEvent.FILTER_CHANGED,function(a){c.setFilteredFeatures(a.filterFeatures),m.setFilteredFeatures(a.filterFeatures),d.setFilteredFeatures(a.filterFeatures)});var e=q.config.getComponent("dataExplorer");e&&1==e.getProperty("syncDates")&&i.addEventListener(ia.DataEvent.INDICATOR_CHANGED,function(a){c.setData(a.geography.id,c.indicator.id,i.indicator.date),m.setData(a.geography.id,m.indicator.id,i.indicator.date),d.setData(a.geography.id,d.indicator.id,i.indicator.date)}),b=new ia.ComponentFactory(q.config,q,[{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:c,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:m,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:d,interactionGroup:g,comparisonInteractionGroup:h}]),q.addComponent("factory",b),b.buildComponents(function(){void 0!=a&&a.call(null)})})})}else q.config.template==ia.DOUBLE_BASELAYER_REPORT_NEW?(i.addEventListener(ia.DataEvent.INDICATOR_CHANGED,function(){c.setData(c.geography.id,i.indicator.id,i.indicator.date)}),c.addEventListener(ia.Event.THEMATIC_CHANGED,function(){var a=q.getComponent("map");a&&a.render()}),i.addEventListener(ia.FilterEvent.FILTER_CHANGED,function(a){c.setFilteredFeatures(a.filterFeatures)}),f=[{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:c,interactionGroup:g,comparisonInteractionGroup:h}],b=new ia.ComponentFactory(q.config,q,f),q.addComponent("factory",b),b.buildComponents(function(){var b=q.getComponent("map");b&&b.render(),void 0!=a&&a.call(null)})):q.config.template==ia.DOUBLE_BASELAYER_REPORT&&(f=new ia.InteractionGroup,d&&(f.selectionMode=d),j=new ia.InteractionGroup,c.addEventListener(ia.Event.THEMATIC_CHANGED,function(){var a=q.getComponent("map");a&&a.render()}),k=q.config.getComponent("dataExplorer2"),void 0==k&&i.addEventListener(ia.DataEvent.INDICATOR_CHANGED,function(){if(void 0==c.geography.getIndicator(i.indicator.id)){var a=c.geography.getIndicatorByName(i.indicator.name,i.indicator.date);void 0!=a&&c.setData(c.geography.id,a.id,a.date)}else c.setData(c.geography.id,i.indicator.id,i.indicator.date)}),k=q.config.getComponent("filterExplorer2"),void 0==k&&i.addEventListener(ia.FilterEvent.FILTER_CHANGED,function(a){""!=a.filterId?c.setFilter(a.filterId,a.filterValue):c.clearFilter()}),f=[{dataGroup:i,interactionGroup:g,comparisonInteractionGroup:h},{dataGroup:c,interactionGroup:f,comparisonInteractionGroup:j}],b=new ia.ComponentFactory(q.config,q,f),q.addComponent("factory",b),b.buildComponents(function(){var b=q.getComponent("map");b&&b.render(),void 0!=a&&a.call(null)}))})})}})})}function i(a){0==C.length?h(function(){c(),j(a)}):j(a)}function j(a){function b(){if(c==C.length)void 0!=a&&a.call(null);else{var d=C[c];c++,d.update(b)}}var c=0;b()}function k(a){if(q.url=new ia.UrlParams(window.location.href),a){for(var b in a)!q.url.params[b]&&"errorHandler"!=b&&"style"!=b&&"printmode"!=b&&(q.url.params[b]=a[b]);q.url.params.config&&(ia.IAS_PATH=ia.File.getFileDirectory(q.url.params.config))}q.url.params.dataPath=q.url.params.dataPath||"",q.url.params.style&&ia.loadCssfile(q.url.params.style+".css"),q.url.params.custom=q.url.params.custom||"",q.url.params.custom&&(a=document.createElement("script"),a.type="text/javascript",a.src=q.url.params.custom+".js",document.body.appendChild(a)),q.url.params.printmode&&(q.container.addClass("ia-report-printmode"),B=new ia.PrintBar(q),B.render(),$j("body").prepend(B.container))}function l(){var a=q.getComponent("gMap"),b=q.getComponent("gMap2");if(a&&b){var c=!1,d=!1;google.maps.event.addListener(a.gMap,"bounds_changed",function(){0==d&&(c=!0,b.gMap.setZoom(a.gMap.getZoom()),b.gMap.setCenter(a.gMap.getCenter()))}),google.maps.event.addListener(a.gMap,"idle",function(){c=!1}),google.maps.event.addListener(b.gMap,"bounds_changed",function(){0==c&&(d=!0,a.gMap.setZoom(b.gMap.getZoom()),a.gMap.setCenter(b.gMap.getCenter()))}),google.maps.event.addListener(b.gMap,"idle",function(){d=!1})}else if(a=q.getComponent("map"),b=q.getComponent("map2"),a&&b){var e=!1,f=function(a){0==e&&(e=!0,b.controller.zoomToBBox(a.bBox),e=!1)};a.addEventListener(ia.BBoxEvent.BBOX_TRANSLATE,f),a.addEventListener(ia.BBoxEvent.BBOX_SCALE,f),f=function(b){0==e&&(e=!0,a.controller.zoomToBBox(b.bBox),e=!1)},b.addEventListener(ia.BBoxEvent.BBOX_TRANSLATE,f),b.addEventListener(ia.BBoxEvent.BBOX_SCALE,f)}}function m(a,b,c,d){s.setVariable("featureName"+d,a.name);var e=b.geography.getFeature(a.id);if(e){s.setVariable("feature-id",e.id),s.setVariable("feature-name",e.name),s.setVariable("feature-href",e.href);var f,e=e.getProperties();for(f in e)s.setVariable(f+d,e[f]),s.setVariable(f+"-value",e[f])}s.setVariable("geog-name"+d,b.geography.name),s.setVariable("geogName"+d,b.geography.name),s.setVariable("theme-name"+d,b.theme.name),s.setVariable("themeName"+d,b.theme.name),b=c.getFormattedValue(a.id),s.setVariable("indicatorValue"+d,b),s.setVariable("indicator-id"+d,c.id),s.setVariable("indicator-name"+d,c.name),s.setVariable("indicatorName"+d,c.name),s.setVariable("indicator-type"+d,c.type),s.setVariable("indicator-href"+d,c.href),s.setVariable("indicator-value"+d,c.getValue(a.id)),s.setVariable("indicator-formatted-value"+d,b),s.setVariable("indicator-date"+d,c.date),s.setVariable("date"+d,c.date),e=c.getProperties();for(f in e)s.setVariable(f+d,e[f]),s.setVariable(f+"-value"+d,e[f]);for(f=c.getAssociates(),b=f.length,e=0;b>e;e++){var g=f[e];s.setVariable(g.name+""+d,g.getFormattedValue(a.id)),s.setVariable(g.name+"-value"+d,g.getValue(a.id)),s.setVariable(g.name+"-formatted-value"+d,g.getFormattedValue(a.id)),s.setVariable(g.name+"-type"+d,g.type)}f=c.getLowerLimits(),c=c.getUpperLimits(),f&&c?(s.setVariable("lowerLimit"+d,f.getFormattedValue(a.id)),s.setVariable("upperLimit"+d,c.getFormattedValue(a.id))):(s.setVariable("lowerLimit"+d,""),s.setVariable("upperLimit"+d,""))}function n(){var a=new ia.CalloutBox("shareCallout","top-bottom");a.popup(!0),q.addCallout(a);var b=$j("<div></div>");a.container.append(b),a=$j('<div id="ia-thumbnail-callout"></div>'),b.append(a),a=$j('<div class="ia-share-text"></div>').html(q.config.getProperty("emailReportText")),b.append(a),a=$j('<input id="ia-share-callout" type="text" style="width:100%" class="ia-input" value="'+document.URL+'"/>'),b.append(a),a.bind("click",function(a){a.stopPropagation(),this.select()}),a=$j('<div class="ia-share-text"></div>').html(q.config.getProperty("embedReportText")),b.append(a),a="<iframe src='"+document.URL.replace(/(^\w+:|^)\/\//,"//")+"' style='width:800px;height:600px;border-width:0px'></iframe>",a=$j('<input id="ia-embed-callout" type="text" style="width:100%" class="ia-input" value="'+a+'"/>'),b.append(a),a.bind("click",function(a){a.stopPropagation(),this.select()})}function o(){var a=new ia.Panel("popup");a.setDimensions(15,15,70,70),a.closeable(!0),a.popup(!0),a.resizeable(!0),a.zIndex(300),q.addPanel(a);var b=new ia.HTMLContainer("popup");a.append(b.container),q.addComponent("popup",b)}function p(){$j("body").keydown(function(a){73==a.which&&1==a.ctrlKey&&(a="About This InstantAtlas Report",a+="\n___________________________________________________________\n",a+="\nTemplate",a+="\n",a+="\nName: "+q.template,a+="\nVersion: "+q.version,a+="\nEvaluation: "+q.evaluation,a+="\nUID: "+q.uid,a+="\n___________________________________________________________\n",a+="\nConfig",a+="\n",a+="\nName: "+q.config.name,a+="\nVersion: "+q.config.version,a+="\nId: "+q.config.template,alert(a))})}var q,r,s,t,u,v,w,x,y,z,A,B,C=[],D=[];ia.init=function(a,f,i){void 0!=f&&(a={container:a,onSuccess:f,data:{config:{source:"./config.xml"},attribute:{source:"./data.js"},map:{source:"./map.js"}}},void 0!=i)&&(a.params=i),q=new ia.Report($j("#"+a.container)),q.startProgress("init",function(){q.data=new ia.ReportData,s=new ia.TextSubstitution,"Explorer"==BrowserDetect.browser&&"10"==BrowserDetect.version&&(ia.IS_IE_TEN=!0),ia.isTouchDevice()&&(ia.IS_TOUCH_DEVICE=!0),$j.support.cors=!0,d(a,function(){g(function(){for(var d in q.url.params){if(0==d.indexOf("prop_")){var f=d.split("_")[1],g=q.url.params[d];q.config.setProperty(f,g,!0)}if(0==d.indexOf("comp_")){var i=d.split("_")[1],f=d.split("_")[2],g=q.url.params[d],i=q.config.getComponent(i);void 0!=i&&(i.setProperty(f,g,!0),i[f]=g)}0==d.indexOf("pal_")&&(i=q.config.getMapPalette(),f=d.split("_")[1],g=q.url.params[d],i[f]=g)}void 0==a.data.attribute?q.build(function(){b()}):q.build(function(){e(function(){h(function(){c(),b()})})})})})})},ia.loadStyle=function(a,b){q.startProgress("loadStyle",function(){q.url.params.style=a.substring(0,a.lastIndexOf(".")),ia.loadCssfile(a,function(){q.endProgress("loadStyle"),void 0!=b&&b.call(null)})})},ia.loadConfig=function(a,b){q.startProgress("loadConfig",function(){q.url.params={},q.url.params.config=a.substring(0,a.lastIndexOf(".")),t=a,u=void 0,g(function(){q.data.refresh(function(){q.build(function(){h(function(){c(),n(),o(),q.endProgress("loadConfig"),void 0!=b&&b.call(null)})})})})})},ia.parseConfig=function(a,b){q.startProgress("parseConfig",function(){q.url.params={},t=void 0,u=a,g(function(){q.data.refresh(function(){q.build(function(){h(function(){c(),n(),o(),q.endProgress("parseConfig"),void 0!=b&&b.call(null)})})})})})},ia.loadData=function(b,c){q.startProgress("loadData",function(){q.url.params.data=b.substring(0,b.lastIndexOf(".")),v=b,w=void 0,e(function(){i(function(){a(),q.endProgress("loadData"),void 0!=c&&c.call(null)})})})},ia.parseData=function(b,c){q.startProgress("parseData",function(){
v=void 0,w=b,e(function(){i(function(){a(),q.endProgress("parseData"),void 0!=c&&c.call(null)})})})},ia.loadMap=function(b,c){q.startProgress("loadMap",function(){function d(){if(e==D.length)i(function(){a(),q.endProgress("loadMap"),void 0!=c&&c.call(null)});else{var b=D[e];e++,f(b,d)}}q.url.params.map=b.substring(0,b.lastIndexOf(".")),x=b,y=void 0;var e=0;d()})},ia.parseMap=function(b,c){q.startProgress("parseMap",function(){function d(){if(e==D.length)i(function(){a(),q.endProgress("parseMap"),void 0!=c&&c.call(null)});else{var b=D[e];e++,f(b,d)}}x=void 0,y=b;var e=0;d()})},ia.update=function(b,f){q.startProgress("update",function(){d(b,function(){g(function(){e(function(){q.build(function(){h(function(){c(),n(),o(),a(),q.endProgress("update"),void 0!=f&&f.call(null)})})})})})})},ia.load=function(a,b,c){q.startProgress("load",function(){q.url.params.data=a.substring(0,a.lastIndexOf(".")),q.data.loadSource(a,function(){ia.loadMap(b,function(){q.endProgress("load"),void 0!=c&&c.call(null)})})})},ia.parse=function(a,b,c){q.startProgress("parse",function(){q.data.parseData(a,function(){ia.parseMap(b,function(){q.endProgress("parse"),void 0!=c&&c.call(null)})})})},ia.tipFunction=function(a,b,c){s.clearVariables();var d=q.config.getComponent(b).getProperty("tip")||"";for(c&&(d=q.config.getComponent(b).getProperty("tip"+c)),c="",b=0;b<C.length;b++){var e=C[b],f=e.indicator;0!=b&&(c=b+1),m(a,e,f,c)}return s.formatMessage(d)},ia.timeTipFunction=function(a,b,c){s.clearVariables();for(var d="",e=0;e<C.length;e++){var f=C[e],g=f.theme.getIndicator(f.indicator.id,b.name);0!=e&&(d=e+1),m(a,f,g,d)}return a=q.config.getComponent(c).getProperty("tip")||"",a=void 0!=b.associateName?a.split("${associateName}").join(b.associateLabel):a.split("${associateName}").join(""),a=void 0!=b.associateLabel?a.split("${lineLabel}").join(b.associateLabel):a.split("${lineLabel}").join(""),a=void 0!=b.name?a.split("${associate-name}").join(b.name):a.split("${associate-name}").join(""),a=void 0!=b.formattedValue?a.split("${associate-value}").join(b.formattedValue):a.split("${associate-value}").join(""),s.formatMessage(a)},ia.breakdownTipFunction=function(a,b,c){s.clearVariables();for(var d="",e=!1,f=0;f<C.length;f++){var g=C[f],h=g.theme.getIndicatorByName(b.name,g.indicator.date);void 0==h&&(e=!0,h=g.indicator),0!=f&&(d=f+1),m(a,g,h,d)}return a=q.config.getComponent(c).getProperty("tip")||"",e&&(a=void 0!=b.name?a.split("${associate-name}").join(b.name):a.split("${associate-name}").join(""),a=void 0!=b.formattedValue?a.split("${associate-value}").join(b.formattedValue):a.split("${associate-value}").join("")),s.formatMessage(a)},ia.initGoogleMaps=function(){ia.googleMapsLoaded=!0,D[0].loadVisibleLayers()},ia.googleMapsLoaded=!1,ia.getUrl=function(){return q.url.getReportUrl()},ia.toggleCallout=function(a,b){var c=q.getCallout(a);if(void 0!=c){if(b.originalEvent.touches){var d=b.originalEvent.changedTouches[0];c.position(d.pageX,d.pageY)}else c.position(b.pageX,b.pageY);c.toggle()}}}(),ia.EventDispatcher=function(){this._objs=[],this._eventListeners=[],this._eventTypes=[]},ia.EventDispatcher.prototype.addEventListener=function(a,b,c){this._objs.push(c),this._eventTypes.push(a),this._eventListeners.push(b)},ia.EventDispatcher.prototype.removeListener=function(a){for(var b=this._objs.length;b--;)this._objs[b]==a&&(this._objs.splice(b,1),this._eventTypes.splice(b,1),this._eventListeners.splice(b,1))},ia.EventDispatcher.prototype.dispatchEvent=function(a){for(var b=this._eventListeners.concat(),c=this._eventTypes.concat(),d=0;d<b.length;d++)c[d]==a.type&&b[d].call(null,a)},ia.Event=function(a,b){this.type=a,this.object=b},ia.Event.MAP_READY="mapReady",ia.Event.MAP_RESIZE="mapResize",ia.Event.LAYER_READY="layerReady",ia.Event.LAYER_VISIBLE_CHANGED="layerVisibleChanged",ia.Event.THEME_CHANGED="themeChanged",ia.Event.THEMATIC_CHANGED="thematicChanged",ia.Event.CLEAR_SELECTION="clearSelection",ia.MouseEvent=function(a,b,c,d,e){ia.MouseEvent.baseConstructor.call(this,b,e),this.x=c,this.y=d,this.shiftKey=a.shiftKey,this.ctrlKey=a.ctrlKey,this.mouseEvent=a,a=window.event||a,this.delta=a.detail?-120*a.detail:a.wheelDelta},ia.extend(ia.Event,ia.MouseEvent),ia.Report=function(a){ia.Report.baseConstructor.call(this),this._isResponsive=!1,this._widgetProps=[],this._widgetArray=[],this._widgetHash={},this._panelArray=[],this._panelHash={},this._buttonArray=[],this._buttonHash={},this._textArray=[],this._textHash={},this._imageArray=[],this._imageHash={},this._calloutArray=[],this._calloutHash={},this._componentArray=[],this._componentHash={},this._isFlowLayout=!1,this.selectionColor="#ff0000",this.highlightColor="#00ff00",this.highlightOpacity=this.selectionOpacity=.3,this.uid="",this.evaluation=!0,this.config=new ia.ReportConfig,this.textSubstitution=new ia.TextSubstitution,this.container=$j('<div id="ia-report" class="ia-report">'),a.append(this.container),this.$busyContainer=$j('<div class="ia-report-busy">'),this.$busyContainer.bind("click",function(a){a.stopPropagation()}),this.$busyContainer.bind("touchstart touchmove touchend mousemove mouseup mouseenter mouseleave mousedown click",function(a){a.stopPropagation()}),a.append(this.$busyContainer),$j("#ia-report-progress").length?this.$progressContainer=$j("#ia-report-progress"):(this.$progressContainer=$j('<div class="ia-report-loading">'),a.append(this.$progressContainer)),this.$progressContainer.bind("click",function(a){a.stopPropagation()}),this.$progressContainer.bind("touchstart touchmove touchend mousemove mouseup mouseenter mouseleave mousedown click",function(a){a.stopPropagation()}),this._responsiveMenu=new ia.ResponsiveMenu},ia.extend(ia.EventDispatcher,ia.Report),this.evaluation=!0,ia.Report.prototype.addComponent=function(a,b){this._componentHash[a]=b,this._componentArray[this._componentArray.length]=b},ia.Report.prototype.getComponents=function(){return this._componentArray},ia.Report.prototype.getComponent=function(a){return this._componentHash[a]},ia.Report.prototype.addCallout=function(a){this._calloutArray[this._calloutArray.length]=a,this._calloutHash[a.id]=a,this.container.append(a.container)},ia.Report.prototype.getCallouts=function(){return this._calloutArray},ia.Report.prototype.getCallout=function(a){return this._calloutHash[a]},ia.Report.prototype.addWidget=function(a,b){this._widgetArray[this._widgetArray.length]=a,this._widgetHash[a.id]=a,this.container.append(a.container),void 0!=b&&(-1!=b.id.indexOf("filterButton")||-1!=b.id.indexOf("geographyButton")?a.container.css("visibility","hidden"):a.visible(b.visible),a.update(b))},ia.Report.prototype.removeWidget=function(a){var b=this.getWidget(a);if(void 0!=b){b.container.remove(),delete this._widgetHash[a],delete this._panelHash[a],delete this._textHash[a],delete this._buttonHash[a],delete this._imageHash[a],delete this._componentHash[a];for(var c=0;c<this._widgetArray.length;c++)if(b=this._widgetArray[c],b.id==a){this._widgetArray.splice(c,1);break}for(c=0;c<this._panelArray.length;c++)if(b=this._panelArray[c],b.id==a){this._panelArray.splice(c,1);break}for(c=0;c<this._textArray.length;c++)if(b=this._textArray[c],b.id==a){this._textArray.splice(c,1);break}for(c=0;c<this._buttonArray.length;c++)if(b=this._buttonArray[c],b.id==a){this._buttonArray.splice(c,1);break}for(c=0;c<this._imageArray.length;c++)if(b=this._imageArray[c],b.id==a){this._imageArray.splice(c,1);break}for(c=0;c<this._componentArray.length;c++)if(b=this._componentArray[c],b.id==a){this._componentArray.splice(c,1);break}}},ia.Report.prototype.getWidgets=function(){return this._widgetArray},ia.Report.prototype.getWidget=function(a){return a=a.replace("-panel",""),this._widgetHash[a]},ia.Report.prototype.removeWidgets=function(){for(var a=0;a<this._widgetArray.length;a++)this._widgetArray[a].container.remove();this._panelArray=[],this._panelHash={},this._textArray=[],this._textHash={},this._imageArray=[],this._imageHash={},this._buttonArray=[],this._buttonHash={},this._widgetArray=[],this._widgetHash={},this._componentArray=[],this._componentHash={}},ia.Report.prototype.addPanel=function(a,b){this._panelArray[this._panelArray.length]=a,this._panelHash[a.id]=a,this.addWidget(a,b)},ia.Report.prototype.getPanels=function(){return this._panelArray},ia.Report.prototype.getPanel=function(a){return a=a.replace("-panel",""),this._panelHash[a]},ia.Report.prototype.addButton=function(a,b){this._buttonArray[this._buttonArray.length]=a,this._buttonHash[a.id]=a,this.addWidget(a,b)},ia.Report.prototype.getButtons=function(){return this._buttonArray},ia.Report.prototype.getButton=function(a){return this._buttonHash[a]},ia.Report.prototype.addText=function(a,b){this._textArray[this._textArray.length]=a,this._textHash[a.id]=a,this.addWidget(a,b)},ia.Report.prototype.getTexts=function(){return this._textArray},ia.Report.prototype.getText=function(a){return this._textHash[a]},ia.Report.prototype.addImage=function(a,b){this._imageArray[this._imageArray.length]=a,this._imageHash[a.id]=a,this.addWidget(a,b)},ia.Report.prototype.getImages=function(){return this._imageArray},ia.Report.prototype.getImage=function(a){return this._imageHash[a]},ia.Report.prototype.reset=function(){for(var a=0;a<this._widgetArray.length;a++){var b=this._widgetArray[a],c=this.config.getWidget(b.id);void 0!=c&&b.update(c)}this.updateDynamicText(this.textSubstitution)},ia.Report.prototype.build=function(a){this.removeWidgets();var b=$j('<div class="ia-highlight-color ia-map-highlight-opacity">');this.container.append(b);var c=$j('<div class="ia-selection-color ia-map-selection-opacity">');this.container.append(c),this.highlightColor=ia.Color.toHex(b.css("color")),this.selectionColor=ia.Color.toHex(c.css("color")),this.highlightOpacity=b.css("opacity"),this.selectionOpacity=c.css("opacity"),b.remove(),c.remove(),b=this.config.getWidgets(),c=$j('<div class="ia-panel">'),this.container.append(c);for(var d=0;d<b.length;d++){var e,f=b[d];"component"==f.type||"table"==f.type?(e=new ia.Panel(f.id),this.addPanel(e,f)):"button"==f.type?(e=new ia.Button(f.id),this.addButton(e,f)):"text"==f.type?(e=new ia.Text(f.id),this.addText(e,f)):("image"==f.type||"img"==f.type)&&(e=new ia.Image(f.id,f.src),this.addImage(e,f))}c.remove(),null!=a&&a.call(null,this)},ia.Report.prototype.updateDynamicText=function(a){for(var b=this.config.getComponents(),c=0;c<b.length;c++){var d=b[c],e=a.formatMessage(d.getProperty("title"));this.getWidget(d.id).title(e)}for(b=this.config.getTexts().concat(this.config.getButtons()),c=0;c<b.length;c++)d=b[c],e=a.formatMessage(d.text),this.getWidget(d.id).text(e)},ia.Report.prototype._progressIds=[],ia.Report.prototype.startProgress=function(a,b){this.$progressContainer.css("display","inline"),ia.showWaitCursor(),setTimeout(function(){b.call(null)},100)},ia.Report.prototype.endProgress=function(){this.$progressContainer.css("display","none"),ia.showDefaultCursor()},ia.Report.prototype._blockIds=[],ia.Report.prototype.blockInteraction=function(a,b,c){this.$busyContainer.css("display","inline"),b&&ia.showWaitCursor(),setTimeout(function(){c.call(null)},100)},ia.Report.prototype.allowInteraction=function(){this.$busyContainer.css("display","none"),ia.showDefaultCursor()},ia.Report.prototype.displayEvaluationMessage=function(a){var b="This report was prepared using an InstantAtlas&#153 evaluation license. It is not licensed for distribution or publication of any kind. For more information contact <a href='mailto:support@geowise.co.uk'>support@geowise.co.uk</a>, or visit <a href='http://www.instantatlas.com/' target='_blank'>http://www.instantatlas.com/</a>.",c="Evaluation";this.locale&&("de"==this.locale.getLanguage()?b="Dieser Bericht wurde mit einer InstantAtlas&#153 Testlizenz erstellt. Er ist nicht zur Verbreitung oder Veröffentlichung jeglicher Art lizensiert. Für weitere Informationen kontaktieren Sie bitte <a href='mailto:support@geowise.co.uk'>support@geowise.co.uk</a> oder besuchen Sie <a href='http://www.instantatlas.com/de/' target='_blank'>http://www.instantatlas.com/</a>.":"fr"==this.locale.getLanguage()?b="Ce rapport a été crée avec une licence d’évaluation. Cette licence ne permet pas la distribution ou la publication du rapport. Pour plus de renseignements veuillez contacter <a href='mailto:support@geowise.co.uk'>support@geowise.co.uk</a> ou consulter <a href='http://www.instantatlas.com/fr/' target='_blank'>http://www.instantatlas.com</a>.":"es"==this.locale.getLanguage()&&(b="Este informe ha sido generado con una licencia de evaluación. La distribución o publicación del informe está prohibida. Para más información mande un email a <a href='mailto:support@geowise.co.uk'>support@geowise.co.uk</a> o consulte <a href='http://www.instantatlas.com/es/' target='_blank'>http://www.instantatlas.com</a>.",c="Evaluación"));var d=$j("<div>");d.css({position:"absolute",left:"5px",bottom:"5px","border-color":"#DCDCDC","border-width":"1px","border-style":"solid","background-color":"#f9f9f9","border-radius":"4px",padding:"5px","text-align":"right"}),c=$j("<div>").text(c),c.css({"font-family":"Arial Black","font-size":"30px",color:"#bbbbbb"});var e=$j("<a href='http://www.instantatlas.com/' target='_blank'>").text("http://www.instantatlas.com");this.locale&&("de"==this.locale.getLanguage()?e=$j("<a href='http://www.instantatlas.com/de/' target='_blank'>").text("http://www.instantatlas.com"):"fr"==this.locale.getLanguage()?e=$j("<a href='http://www.instantatlas.com/fr/' target='_blank'>").text("http://www.instantatlas.com"):"es"==this.locale.getLanguage()&&(e=$j("<a href='http://www.instantatlas.com/es/' target='_blank'>").text("http://www.instantatlas.com"))),e.css({"font-family":"Verdana","font-size":"11px",color:"#888888"});var f=$j("<div>").html(b);f.css({position:"absolute",left:"30%",top:"40%",width:"40%","border-color":"#DCDCDC","border-width":"1px","border-style":"solid","background-color":"#f9f9f9","border-radius":"5px",padding:"10px","z-index":999999}),$j("body").bind("click",function(){f.hide()}),a.append(d),d.append(c),d.append(e),this.container.append(f)},ia.Report.prototype.closePopups=function(a){for(var b=this.getPanels(),c=0;c<b.length;c++){var d=b[c];d.popup()&&d.id!=a&&d.hide()}for(b=this.getCallouts(),c=0;c<b.length;c++)d=b[c],d.id!=a&&d.hide()},ia.Report.prototype.setResponsive=function(a,b,c){if(this._isResponsive!=a&&(this.container.removeClass("ia-flow-report-remove-scrollbars"),$j(window).off(".responseEvents"),this._isFlowLayout=!1,this._setNormalLayout(),a)){this.container.addClass("ia-flow-report-remove-scrollbars");var d,e=this;$j(window).on("resize.responseEvents",function(){clearTimeout(d),d=setTimeout(function(){e._updateLayout(b,c)},250)}),this._updateLayout(b,c)}this._isResponsive=a},ia.Report.prototype._updateLayout=function(a,b){if(this.container.width()<a){if(!this._isFlowLayout){this._widgetProps=[];for(var c=this.getWidgets(),d=0;d<c.length;d++){var e=c[d];this._widgetProps.push({id:e.id,x:e.x(),y:e.y(),width:e.width(),height:e.height(),xAnchor:e.xAnchor(),yAnchor:e.yAnchor(),visible:e.visible()})}this._setFlowLayout(b),this._isFlowLayout=!0}}else if(this._isFlowLayout){for(this._setNormalLayout(),d=0;d<this._widgetProps.length;d++)c=this._widgetProps[d],e=this.getWidget(c.id),void 0!=e&&(e.setDimensions(c.x,c.y,c.width,c.height,c.xAnchor,"top"),e.visible(c.visible));this._widgetProps=[],this._isFlowLayout=!1}},ia.Report.prototype._setFlowLayout=function(a){this._responsiveMenu.render(this),$j(".ia-flow-panel-container").remove(),$j(".ia-flow-image-container").remove();var b=["dataExplorer","filterExplorer","geogExplorer","map","timeControl","legend","featureCard","scatterPlot","spineChart","radarChart","profileLegend","pyramidChart","pyramidLegend","barChart","boxAndWhisker","pieChart","timeSeries","discreteTimeSeries","stackedFeaturesTimeSeries","areaBreakdownBarChart","featureLegend","areaBreakdownPieChart","areaBreakdownPieLegend","stackedBarChart","stackedTimeSeries","stackedLegend","table","comparisonTable","statsbox","metadata"];this.container.addClass("ia-flow-report"),this.container.append(this._responsiveMenu.container),$j(".ia-panel-btns").css({display:"none"});var c=this.getWidget("menuBar");c&&c.hide();for(var c=this.getTexts().concat(this.getButtons()),d=0;d<c.length;d++){var e=c[d];e.container.detach()}for(var f=[],c=this.getImages(),d=0;d<c.length;d++)if(e=c[d],a){var g=this.config.getWidget(e.id);e.rescale=!1,e.setSize(g.getAttribute("width"),g.getAttribute("height")),g=$j('<div class="ia-flow-image-container" data-index="-1">'),f.push(g),e.container.css({position:"static","max-width":"100%"}).appendTo(g)}else e.container.detach();for(c=this.getPanels(),d=0;d<c.length;d++)e=c[d],e.popup()?e.container.appendTo(this.container).css({left:"10%",width:"80%",height:"80%","min-height":"200px","max-height":"400px"}):e.visible()&&(g=e.id.replace(/[0-9]/g,""),a=e.id.slice(-1),g=b.indexOf(g),-1==g&&(g=b.length),ia.isNumber(a)&&(g+=100*a),g=$j('<div class="ia-flow-panel-container" data-index="'+g+'">'),f.push(g),e.container.css({position:"relative",left:0,width:""}).addClass("ia-flow-panel").appendTo(g));for(f.sort(function(a,b){var c=a.data("index"),d=b.data("index");return d>c?-1:c>d?1:0}),d=0;d<f.length;d++)f[d].appendTo(this.container);this.dispatchEvent(new ia.Event(ia.Event.FLOW_LAYOUT,this))},ia.Report.prototype._setNormalLayout=function(){this.container.removeClass("ia-flow-report"),$j(".ia-panel-btns").css({display:""}),this._responsiveMenu.container.detach();for(var a=this.getWidgets(),b=0;b<a.length;b++){var c=a[b];c.container.appendTo(this.container).css({position:"","min-height":"","max-height":"","max-width":""}).removeClass("ia-flow-panel"),void 0!=this.config.getWidget(c.id)&&c.container.css({top:""})}this.reset(),$j(".ia-flow-panel-container").remove(),$j(".ia-flow-image-container").remove(),this.dispatchEvent(new ia.Event(ia.Event.NORMAL_LAYOUT,this))},ia.Event.FLOW_LAYOUT="flowLayout",ia.Event.NORMAL_LAYOUT="normalLayout",ia.InteractionEvent=function(a,b,c){ia.InteractionEvent.baseConstructor.call(this,a,b),this.ids=c||[]},ia.extend(ia.Event,ia.InteractionEvent),ia.InteractionEvent.SELECTION_CHANGED="selectionChanged",ia.InteractionEvent.HIGHLIGHT_CHANGED="highlightChanged",ia.InteractionGroup=function(){ia.InteractionGroup.baseConstructor.call(this),this._selection=[],this._highlight="",this._components=[],this._legendComponents=[],this.selectionMode="multiple"},ia.extend(ia.EventDispatcher,ia.InteractionGroup),ia.InteractionGroup.prototype.getComponents=function(){return this._components.concat(this._legendComponents)},ia.InteractionGroup.prototype.addComponent=function(a){function b(a){this.dispatchEvent(a)}a.isLegendComponent?this._legendComponents.push(a):this._components.push(a),a.addEventListener(ia.ItemEvent.ITEM_MOUSE_OVER,this._itemEventHandler.bind(this)),a.addEventListener(ia.ItemEvent.ITEM_MOUSE_OUT,this._itemEventHandler.bind(this)),a.addEventListener(ia.ItemEvent.ITEM_MOUSE_UP,this._itemEventHandler.bind(this)),a.addEventListener(ia.ItemEvent.ITEM_CLICK,this._itemEventHandler.bind(this)),a.addEventListener(ia.ItemEvent.NONE_ITEM_CLICK,this._itemEventHandler.bind(this)),a.addEventListener(ia.ItemEvent.ITEM_MOUSE_DOWN,b.bind(this)),a.addEventListener(ia.ItemEvent.ITEM_MOUSE_MOVE,b.bind(this))},ia.InteractionGroup.prototype.removeComponent=function(a){var b=this._components.indexOf(a);-1!=b&&this._components.splice(b,1),b=this._legendComponents.indexOf(a),-1!=b&&this._legendComponents.splice(b,1)},ia.InteractionGroup.prototype.getHighlight=function(){return this._highlight},ia.InteractionGroup.prototype.clearHighlight=function(){this._highlight="";for(var a=0;a<this._components.length;a++){var b=this._components[a];b.clearHighlight()}for(a=0;a<this._legendComponents.length;a++)b=this._legendComponents[a],b.clearHighlight();this.dispatchEvent(new ia.InteractionEvent(ia.InteractionEvent.HIGHLIGHT_CHANGED,this,[this._highlight]))},ia.InteractionGroup.prototype.setHighlight=function(a){if(""!=a){this._highlight=a;for(var b=0;b<this._components.length;b++)this._components[b].clearHighlight(),this._components[b].highlight(""+a);this.dispatchEvent(new ia.InteractionEvent(ia.InteractionEvent.HIGHLIGHT_CHANGED,this,[this._highlight]))}else this.clearHighlight()},ia.InteractionGroup.prototype.getSelection=function(){return this._selection},ia.InteractionGroup.prototype.setSelection=function(a){if(a.length>0){for(this._selection=a.concat(),a=0;a<this._components.length;a++)for(var b=0;b<this._selection.length;++b)this._components[a].select(""+this._selection[b]);this.dispatchEvent(new ia.InteractionEvent(ia.InteractionEvent.SELECTION_CHANGED,this,this._selection))}else this.clearSelection()},ia.InteractionGroup.prototype.clearSelection=function(){for(var a=0;a<this._components.length;a++){var b=this._components[a];b.clearSelection()}for(a=0;a<this._legendComponents.length;a++)b=this._legendComponents[a],b.clearSelection();this._selection=[],this.dispatchEvent(new ia.Event(ia.Event.CLEAR_SELECTION,{})),this.dispatchEvent(new ia.InteractionEvent(ia.InteractionEvent.SELECTION_CHANGED,this,this._selection))},ia.InteractionGroup.prototype.select=function(a){if(-1==this._selection.indexOf(a)){this._selection.push(a);for(var b=0;b<this._components.length;b++)this._components[b].select(""+a);this.dispatchEvent(new ia.InteractionEvent(ia.InteractionEvent.SELECTION_CHANGED,this,this._selection))}},ia.InteractionGroup.prototype.unselect=function(a){var b=this._selection.indexOf(a);if(-1!=b){for(this._selection.splice(b,1),b=0;b<this._components.length;b++)this._components[b].unselect(""+a);this.dispatchEvent(new ia.InteractionEvent(ia.InteractionEvent.SELECTION_CHANGED,this,this._selection))}},ia.InteractionGroup.prototype._itemEventHandler=function(a){var b=a.item;a.type==ia.ItemEvent.NONE_ITEM_CLICK?a.item.parent instanceof ia.FeatureLayer&&this.clearSelection():b.parent.isLegendComponent?a.type==ia.ItemEvent.ITEM_CLICK&&"single"==this.selectionMode?b.parent.unselect(""+b.id):this._onLegendClassEvent(a,b):(this._updateComponents(a,b),this._updateLegendClassComponents(a,b)),this._dispatchInteractionEvent(a.type)},ia.InteractionGroup.prototype._dispatchInteractionEvent=function(a){a==ia.ItemEvent.NONE_ITEM_CLICK||a==ia.ItemEvent.ITEM_CLICK?this.dispatchEvent(new ia.InteractionEvent(ia.InteractionEvent.SELECTION_CHANGED,this,this._selection)):(a==ia.ItemEvent.ITEM_MOUSE_OUT||a==ia.ItemEvent.ITEM_MOUSE_UP||a==ia.ItemEvent.ITEM_MOUSE_OVER)&&this.dispatchEvent(new ia.InteractionEvent(ia.InteractionEvent.HIGHLIGHT_CHANGED,this,[this._highlight]))},ia.InteractionGroup.prototype._onLegendClassEvent=function(a,b){for(var c=b.id,d=b.parent,e=b.state,f=0;f<this._legendComponents.length;f++){var g=this._legendComponents[f];g!=d&&d.thematic==g.thematic&&(a.type==ia.ItemEvent.ITEM_MOUSE_OUT||a.type==ia.ItemEvent.ITEM_MOUSE_UP?g.clearHighlight():a.type==ia.ItemEvent.ITEM_MOUSE_OVER?(g.clearHighlight(),g.highlight(""+c)):a.type==ia.ItemEvent.ITEM_CLICK&&(e==ia.ItemLayer.UNSELECTED?g.unselect(""+c):g.select(""+c)))}if(a.type==ia.ItemEvent.ITEM_CLICK)for(c=b.legendClass.items,d=c.length,f=0;d>f;f++)this._updateComponents(a,c[f])},ia.InteractionGroup.prototype._updateLegendClassComponents=function(a,b){for(var c=0;c<this._legendComponents.length;c++){var d=this._legendComponents[c];if(a.type==ia.ItemEvent.ITEM_MOUSE_OUT||a.type==ia.ItemEvent.ITEM_MOUSE_UP)d.clearHighlight();else if(a.type==ia.ItemEvent.ITEM_MOUSE_OVER){d.clearHighlight();var e=d.thematic.getData();e&&(e=e[b.id])&&e.legendClass&&d.highlight(""+e.legendClass.index)}}},ia.InteractionGroup.prototype._updateComponents=function(a,b){var c=b.id,d=b.parent,e=a.item.state;if(a.type==ia.ItemEvent.ITEM_CLICK&&"single"==this.selectionMode&&this.clearSelection(),a.type==ia.ItemEvent.ITEM_CLICK)if(e==ia.ItemLayer.UNSELECTED){var f=this._selection.indexOf(c);-1!=f&&this._selection.splice(f,1)}else this._selection.push(c);else a.type==ia.ItemEvent.ITEM_MOUSE_OUT||a.type==ia.ItemEvent.ITEM_MOUSE_UP?this._highlight="":a.type==ia.ItemEvent.ITEM_MOUSE_OVER&&(this._highlight=c);for(f=0;f<this._components.length;f++){var g=this._components[f];(g!=d||a.type==ia.ItemEvent.ITEM_CLICK)&&(a.type==ia.ItemEvent.ITEM_MOUSE_OUT||a.type==ia.ItemEvent.ITEM_MOUSE_UP?g.clearHighlight():a.type==ia.ItemEvent.ITEM_MOUSE_OVER&&(g.clearHighlight(),g.highlight(""+c)),a.type==ia.ItemEvent.ITEM_CLICK&&(e==ia.ItemLayer.UNSELECTED?g.unselect(""+c):g.select(""+c)))}this.dispatchEvent(a)},ia.DataGroup=function(a,b){function c(){q=!0;for(var c=[],d=0;d<v.length;d++){var e=v[d];c.push(e.id)}var c=c.filter(function(a,b,c){return b==c.indexOf(a)}),f=c.length;if(u.features=[],f>1){for(var g={},d=0;d<v.length;d++)e=v[d],g[e.id]=void 0==g[e.id]?e.features:g[e.id].concat(e.features);var i,e=0;for(i in g){for(i=g[i],d=0;d<i.length;d++){var j,e=0,k=i[d];for(j in g)-1!=g[j].indexOf(k)&&e++;e==f&&u.features.push(k)}break}}else for(d=0;d<v.length;d++)e=v[d],u.features=u.features.concat(e.features);u.features=u.features.filter(function(a,b,c){return b==c.indexOf(a)}),0==u.features.length&&c.length>0&&u.features.push("~~~"),c=v.map(function(a){return a.value}),a.textSubstitution.setVariable("filterValues"+b,c.join(", ")),h(),l.thematic.commitChanges()}function d(){m=!0;var c,d=a.data.getGeographies();a.config.template==ia.DOUBLE_PLOT_REPORT?(c=a.url.params.geog?d[a.url.params.geog]:d[0],l.mapData.baseLayer.setVisible(!0)):(a.url.params["geog"+b]&&(c=d[a.url.params["geog"+b]]),void 0==c&&(c=a.config.template!=ia.DOUBLE_GEOG_REPORT&&a.config.template!=ia.DOUBLE_BASELAYER_REPORT&&a.config.template!=ia.DOUBLE_BASELAYER_REPORT_NEW||""==b?d[0]:d.length>=b?d[b-1]:d[0]));var f=a.getButton("geographyButton"+b);f&&(d.length>1?f.show():f.hide()),d=!0,(f=a.config.getComponent("dataExplorer"+b))&&(d=f.getProperty("reverseDates"),void 0==d&&(d=!0));var g;a.url.params["indicator"+b]&&(g=a.url.params["date"+b]?c.getIndicator(a.url.params["indicator"+b],a.url.params["date"+b]):c.getIndicator(a.url.params["indicator"+b],void 0,d)),void 0==g&&(g=c.getFirstIndicator(d),a.url.params["date"+b]&&(g=c.getIndicator(g.id,a.url.params["date"+b]))),e(c.id,g.id,g.date)}function e(b,c,d){a.blockInteraction("onDataChangeProgress",!0,function(){var e=a.data.getGeography(b);e.loadIndicator(c,d,function(b){m||b.geography.id!=l.indicator.geography.id?g(e,function(){a.url.params.loadAllData?e.loadData(function(){f(b)}):f(b)}):f(b)})})}function f(a){p=!0,l.indicator=a,(m||l.theme.id!=a.theme.id)&&(o=!0),l.theme=a.theme,l.geography=a.geography,h(),i(l.thematic,l.indicator),m=!1,l.thematic.commitChanges()}function g(c,d){if(n=!0,m){if(a.url.params["filteredFeatures"+b])u.features=a.url.params["filteredFeatures"+b].split(","),q=!0;else if(a.url.params["filter"+b]){var e=a.url.params["filter"+b].split(","),f=e[0],e=e[1];q=!0,u.id=f,u.name=c.getFilter(f).name,u.value=e,u.features=c.getFilteredFeatures(u.id,u.value),v=[],a.textSubstitution.setVariable("filterName"+b,u.name),a.textSubstitution.setVariable("filterValue"+b,u.value)}}else u.features=[],a.textSubstitution.setVariable("filterName"+b,""),a.textSubstitution.setVariable("filterValue"+b,""),a.textSubstitution.setVariable("filterValues"+b,"");if((f=a.getButton("filterButton"+b))&&(c.getFilters().length>0?f.show():f.hide()),l.mapData){var g=l.mapData.baseLayer.getVisible();l.mapData.baseLayer.setVisible(!1),l.mapData.baseLayer=l.mapData.baseLayers[c.index],void 0==l.mapData.baseLayer&&(l.mapData.baseLayer=l.mapData.baseLayers[0]);var h=function(){g&&l.mapData.baseLayer.setVisible(!0),l.mapData.baseLayer.thematic=l.thematic;var c,e=l.thematic.numericClassifier.sizePalette;if(a.config.template==ia.BUBBLE_PLOT_REPORT&&"2"==b){var f=a.config.getComponent("scatterPlot");f&&(c="circle",l.thematic.setDataField(f.getProperty("sizeData")),l.legendSettings.legendType="continuous",e.minSize=f.getProperty("minBubbleSize"),e.maxSize=f.getProperty("maxBubbleSize"),l.thematic.categoricClassifier.symbolSize=8)}else"point"==l.mapData.baseLayer.geometry?(c=a.config.getProperty("symbolShape"+b),void 0==c&&(c=a.config.getProperty("symbolShape")),e.minSize=a.config.getProperty("minSymbolSize"+b),void 0==e.minSize&&(e.minSize=a.config.getProperty("minSymbolSize")),e.maxSize=a.config.getProperty("maxSymbolSize"+b),void 0==e.maxSize&&(e.maxSize=a.config.getProperty("maxSymbolSize")),l.thematic.categoricClassifier.symbolSize=l.mapData.baseLayer.symbolSize):"line"==l.mapData.baseLayer.geometry?(c=ia.Shape.LINE,e.minSize=a.config.getProperty("minLineSize"+b),void 0==e.minSize&&(e.minSize=a.config.getProperty("minLineSize")),e.maxSize=a.config.getProperty("maxLineSize"+b),void 0==e.maxSize&&(e.maxSize=a.config.getProperty("maxLineSize")),l.thematic.categoricClassifier.symbolSize=l.mapData.baseLayer.style.lineWidth):(c=ia.Shape.SQUARE,e.minSize=l.mapData.baseLayer.symbolSize,e.maxSize=l.mapData.baseLayer.symbolSize,l.thematic.categoricClassifier.symbolSize=l.mapData.baseLayer.symbolSize);l.mapData.baseLayer.symbol=c,l.thematic.symbol=c,d.call(null)};l.mapData.baseLayer.isLoaded?h():(l.mapData.baseLayer.addEventListener(ia.Event.LAYER_READY,function(){h()}),l.mapData.baseLayer.loadSource())}else d.call(null)}function h(){u.features.length>0?(l.indicatorData=l.indicator.getData(u.features),l.themeData=l.theme.getData(l.indicator.id,u.features)):(l.indicatorData=l.indicator.getData(),l.themeData=l.theme.getData(l.indicator.id)),l.comparisonData=l.indicator.getComparisonData(),l.comparisonThemeData=l.theme.getComparisonData(l.indicator.id),l.comparisonThematic.setData(l.comparisonData);var c=l.indicator.getDataType(l.thematic.getDataField());l.thematic.setDataType(c),l.thematic.setData(l.indicatorData),a.textSubstitution.setVariable("geogName"+b,l.geography.name),a.textSubstitution.setVariable("themeName"+b,l.theme.getParentThemes()),a.textSubstitution.setVariable("indicatorName"+b,l.indicator.name),a.textSubstitution.setVariable("date"+b,l.indicator.date);var d,c=l.indicator.getProperties();for(d in c)a.textSubstitution.setVariable(d+""+b,c[d]);a.updateDynamicText(a.textSubstitution)}function i(c,d){var e=a.config.getMapPalette(),f=d.getProperty(a.config.getProperty("customClassifierKey"+b)),g=d.getProperty(a.config.getProperty("customColoursKey"+b)),h=d.getProperty(a.config.getProperty("customPaletteKey"+b)),i=d.getProperty(a.config.getProperty("customBreaksKey"+b)),k=d.getProperty(a.config.getProperty("customLabelsKey"+b));j(f)&&(f=void 0),j(g)&&(g=void 0),j(h)&&(h=void 0),j(i)&&(i=void 0),j(k)&&(k=void 0);var m=d.getProperty("customAssociateForColourLegend");l.thematic.colorField=void 0;var n=d.getProperty("customNoClasses"),o=l.thematic.categoricClassifier;o.breaks=[],o.labels=[],o.colorPalette=e.getColorScheme(l.legendSettings.schemeId);var p=l.thematic.numericClassifier;p.labels=[],p.classificationName=l.legendSettings.legendType;var q=p.getCalculator();if(void 0==i){var r=a.config.getProperty("buildLegendUsingTimeSeries"+b);if(d.type==ia.Thematic.NUMERIC&&1==r){for(var i=d.theme.getIndicators(d.id),r=[],s=0;s<i.length;s++)r=r.concat(i[s].getValues());q.setData(r),i=q.getBreaks(p.noClasses,p.classificationName).join(";"),d.setProperty(a.config.getProperty("customBreaksKey"+b),i)}}if(l.thematic.heatmap=!1,l.thematic.heatmapradius=void 0,"point"!=l.mapData.baseLayer.geometry||!d.getProperty("heatmap")||"true"!=d.getProperty("heatmap")&&"True"!=d.getProperty("heatmap")&&"TRUE"!=d.getProperty("heatmap")&&1!=d.getProperty("heatmap")&&"heatmap"!=d.getProperty("heatmap")||(p.classificationName="continuous",l.thematic.heatmap=!0,d.getProperty("heatmapradius")&&(l.thematic.heatmapradius=d.getProperty("heatmapradius"))),p.colorPalette=void 0!=l.mapData.baseLayer.themeColors?new ia.ColorPalette(l.mapData.baseLayer.themeColors):e.getColorPalette(l.legendSettings.paletteId),l.thematic.getDataType()==ia.Thematic.CATEGORIC){if(a.textSubstitution.setVariable("legendType"+b,""),a.updateDynamicText(a.textSubstitution),i&&(o.breaks=i.split(";")),k&&(o.labels=k.split(";")),h){var t,h=e.getColorScheme(h).getColorList(),e=new ia.ColorPalette(h);for(t in o.colorPalette.matchColorsToValues)e.matchColorsToValues[t]=o.colorPalette.matchColorsToValues[t];
o.colorPalette=e,o.customColorsDefined=!0}if(g){h=g.split(";"),e=new ia.ColorPalette(h);for(t in o.colorPalette.matchColorsToValues)e.matchColorsToValues[t]=o.colorPalette.matchColorsToValues[t];o.colorPalette=e,o.customColorsDefined=!0}}else{if(f&&(p.classificationName=f),f=a.config.getProperty(p.classificationName),a.textSubstitution.setVariable("legendType"+b,f),a.updateDynamicText(a.textSubstitution),i){var u=i.split(";");if(u.length>1)if("continuous"==p.classificationName)q.addFunction("continuous",function(){var a=q.getStats().unique,b=parseFloat(u[0]),c=parseFloat(u[u.length-1]),a=a.filter(function(a){return a>=b&&c>=a});return a.unshift(b),a.push(c),a}),p.classificationName="continuous";else{var v=u.map(function(a){return parseFloat(a)});q.addFunction("customClassifier",function(){return v}),p.classificationName="customClassifier"}}if(n&&(p.noClasses=n),k&&(p.labels=k.split(";")),h&&(p.colorPalette=e.getColorPalette(h)),g&&(h=g.split(";"),p.colorPalette=new ia.ColorPalette(h)),m){if(l.thematic.colorField=m,m=d.getProperty("customBreaksForColourLegend"),p=d.getProperty("customLabelsForColourLegend"),h=d.getProperty("customPaletteForColourLegend"),g=d.getProperty("customColoursForColourLegend"),m&&(o.breaks=m.split(";")),p&&(o.labels=p.split(";")),h){h=e.getColorScheme(h).getColorList(),e=new ia.ColorPalette(h);for(t in o.colorPalette.matchColorsToValues)e.matchColorsToValues[t]=o.colorPalette.matchColorsToValues[t];o.colorPalette=e,o.customColorsDefined=!0}if(g){h=g.split(";"),e=new ia.ColorPalette(h);for(t in o.colorPalette.matchColorsToValues)e.matchColorsToValues[t]=o.colorPalette.matchColorsToValues[t];o.colorPalette=e,o.customColorsDefined=!0}}}}function j(a){return ia.isUndefined(a)||0===a.length||!a.trim()}function k(){if(l.indicator.getDataType(l.thematic.getDataField())==ia.Thematic.CATEGORIC)a.textSubstitution.setVariable("mean"+b,""),a.textSubstitution.setVariable("median"+b,""),a.textSubstitution.setVariable("sum"+b,""),a.textSubstitution.setVariable("minValue"+b,""),a.textSubstitution.setVariable("maxValue"+b,""),a.textSubstitution.setVariable("range"+b,""),a.textSubstitution.setVariable("lowerQuartile"+b,""),a.textSubstitution.setVariable("upperQuartile"+b,""),a.textSubstitution.setVariable("interquartileRange"+b,""),a.textSubstitution.setVariable("variance"+b,""),a.textSubstitution.setVariable("standardDeviation"+b,"");else{var c=l.indicator.precision||2;void 0==c&&(c=2);var d=a.locale.formatter,e=l.thematic.numericClassifier.getCalculator().getStats();a.textSubstitution.setVariable("sum"+b,d.format(e.sum,c)),a.textSubstitution.setVariable("mean"+b,d.format(e.mean,c)),a.textSubstitution.setVariable("median"+b,d.format(e.median,c)),a.textSubstitution.setVariable("minValue"+b,d.format(e.minValue,c)),a.textSubstitution.setVariable("maxValue"+b,d.format(e.maxValue,c)),a.textSubstitution.setVariable("range"+b,d.format(e.range,c)),a.textSubstitution.setVariable("lowerQuartile"+b,d.format(e.lowerQuartile,c)),a.textSubstitution.setVariable("upperQuartile"+b,d.format(e.upperQuartile,c)),a.textSubstitution.setVariable("interquartileRange"+b,d.format(e.interquartileRange,c)),a.textSubstitution.setVariable("variance"+b,d.format(e.variance,c)),a.textSubstitution.setVariable("standardDeviation"+b,d.format(e.standardDeviation,c))}a.updateDynamicText(a.textSubstitution)}ia.DataGroup.baseConstructor.call(this);var l=this,m=!0,n=!1,o=!1,p=!1,q=!1,r=!1;new ia.BreaksCalculator;var s,t,u={id:"",name:"",value:"",features:[]},v=[];this.suffix=b||"",this.legendSettings={},this.setData=function(b,c,d,f){void 0!=f&&(t=f),f=a.data.getGeography(b),c=f.getIndicator(c,d),void 0==c&&(c=f.getFirstIndicator(!0)),e(b,c.id,c.date)},this.setFilter=function(c,d){q=!0,u.id=c,u.name=l.geography.getFilter(c).name,u.value=d,u.features=l.geography.getFilteredFeatures(u.id,u.value),v=[],a.textSubstitution.setVariable("filterName"+b,u.name),a.textSubstitution.setVariable("filterValue"+b,u.value),h(),l.thematic.commitChanges()},this.appendFilter=function(a,b){var d={};d.id=a,d.name=l.geography.getFilter(a).name,d.value=b,d.features=l.geography.getFilteredFeatures(a,b),v.push(d),c()},this.removeFilter=function(a,b){v=v.filter(function(c){return c.id==a&&c.value==b?!1:!0}),c()},this.setFilteredFeatures=function(c){q=!0,u.id="",u.name="",u.value="",u.features=c.concat(),v=[],a.textSubstitution.setVariable("filterName"+b,""),a.textSubstitution.setVariable("filterValue"+b,""),a.textSubstitution.setVariable("filterValues"+b,""),h(),l.thematic.commitChanges()},this.getFilteredFeatures=function(){return u.features},this.clearFilter=function(){q=!0,u.id="",u.name="",u.value="",u.features=[],v=[],a.textSubstitution.setVariable("filterName"+b,""),a.textSubstitution.setVariable("filterValue"+b,""),a.textSubstitution.setVariable("filterValues"+b,""),h(),l.thematic.commitChanges()},this.update=function(a){s=a,d()},this.build=function(c){s=c,a.textSubstitution.setVariable("geogName"+b," "),a.textSubstitution.setVariable("themeName"+b," "),a.textSubstitution.setVariable("indicatorName"+b," "),a.textSubstitution.setVariable("date"+b," "),a.textSubstitution.setVariable("filterName"+b,""),a.textSubstitution.setVariable("filterValue"+b,""),a.textSubstitution.setVariable("filterValues"+b,""),a.textSubstitution.setVariable("legendType"+b,""),a.updateDynamicText(a.textSubstitution),l.thematic=new ia.Thematic,l.thematic.noDataValue=a.locale.formatter.noDataValue,l.thematic.setDataField(a.config.getProperty("data"+b)),l.thematic.addEventListener(ia.Event.THEME_CHANGED,function(){if(l.indicator.type==ia.Thematic.CATEGORIC)a.textSubstitution.setVariable("legendType"+b,"");else{var c=a.config.getProperty(l.legendSettings.legendType);a.textSubstitution.setVariable("legendType"+b,c)}a.updateDynamicText(a.textSubstitution),m||(l.comparisonThematic.commitChanges(),r=!0,k(),a.blockInteraction("onThemeChangeProgress",!1,function(){if(n&&(n=!1,l.dispatchEvent(new ia.DataEvent(ia.DataEvent.GEOG_CHANGED,l,l.geography,l.theme,l.indicator))),q&&(a.url.params["filteredFeatures"+b]=u.features.length>0?u.features.join(","):"",l.dispatchEvent(new ia.FilterEvent(ia.FilterEvent.FILTER_CHANGED,l,u.id,u.name,u.value,u.features))),o&&(o=!1,l.dispatchEvent(new ia.DataEvent(ia.DataEvent.THEME_CHANGED,l,l.geography,l.theme,l.indicator))),p&&(a.url.params["geog"+b]=l.geography.index,a.url.params["indicator"+b]=l.indicator.id,a.url.params["date"+b]=l.indicator.date?l.indicator.date:"",l.dispatchEvent(new ia.DataEvent(ia.DataEvent.INDICATOR_CHANGED,l,l.geography,l.theme,l.indicator))),(p||q)&&(p=q=!1,l.dispatchEvent(new ia.DataEvent(ia.DataEvent.DATA_CHANGED,l,l.geography,l.theme,l.indicator))),r){r=!1,a.url.params["prop_legendClassifier"+b]=l.thematic.numericClassifier.classificationName,""==b&&(a.url.params.pal_defaultPaletteId=l.legendSettings.paletteId,a.url.params.pal_defaultSchemeId=l.legendSettings.schemeId,a.url.params.pal_noClasses=l.thematic.numericClassifier.noClasses),"2"==b&&(a.url.params.prop_mapPalette2=l.legendSettings.paletteId);var c=l.thematic.numericClassifier.sizePalette;a.config.template==ia.BUBBLE_PLOT_REPORT&&"2"==b?a.config.getComponent("scatterPlot")&&(a.url.params["prop_minBubbleSize"+b]=c.minSize,a.url.params["prop_maxBubbleSize"+b]=c.maxSize):"point"==l.mapData.baseLayer.geometry?(a.url.params["prop_minSymbolSize"+b]=c.minSize,a.url.params["prop_maxSymbolSize"+b]=c.maxSize):"line"==l.mapData.baseLayer.geometry&&(a.url.params["prop_minLineSize"+b]=c.minSize,a.url.params["prop_maxLineSize"+b]=c.maxSize),l.dispatchEvent(new ia.Event(ia.Event.THEMATIC_CHANGED,l))}a.allowInteraction("onThemeChangeProgress"),a.allowInteraction("onDataChangeProgress"),void 0!=s&&(s.call(null),s=void 0),t&&t.call(null)}))});var c=a.config.getMapPalette(),e=l.thematic.categoricClassifier;e.formatter=a.locale.formatter,e.colorPalette=c.getColorScheme(c.defaultSchemeId),l.legendSettings.schemeId=c.defaultSchemeId,l.legendSettings.paletteId=""!=b?a.config.getProperty("mapPalette"+b)||c.defaultPaletteId:c.defaultPaletteId,l.legendSettings.legendType=a.config.getProperty("legendClassifier"+b)||"quantile",e=l.thematic.numericClassifier,e.noClasses=c.noClasses,e.formatter=a.locale.formatter,e.classificationName=l.legendSettings.legendType,e.colorPalette=c.getColorPalette(l.legendSettings.paletteId),e.sdLabels=[a.config.getProperty("sd1"),a.config.getProperty("sd2"),a.config.getProperty("sd3"),a.config.getProperty("sd4"),a.config.getProperty("sd5"),a.config.getProperty("sd6")],a.config.getProperty("sdSize")&&(e.getCalculator().sdSize=a.config.getProperty("sdSize")),void 0!=a.config.getProperty("useOldClassificationMethod")&&(e.useEsriClassificationMethod=!a.config.getProperty("useOldClassificationMethod")),c=a.config.getProperty("legendPrecision"),void 0!=c&&c>-1&&(e.precision=c),l.comparisonThematic=new ia.Thematic,l.comparisonThematic.setDataType(ia.Thematic.CATEGORIC),l.comparisonThematic.setDataField("id"),d()}},ia.extend(ia.EventDispatcher,ia.DataGroup),ia.Color=function(){},ia.Color.r=function(a){var b;return ia.Color.isHSV(a)?b=ia.parseInt(ia.Color.cutRgb(ia.Color.HSVtoRGB(a))[0]):ia.Color.isHex(a)?b=ia.parseInt(ia.Color.cutHex(a).substring(0,2),16):ia.Color.isRGB(a)&&(b=ia.parseInt(ia.Color.cutRgb(a)[0])),b},ia.Color.g=function(a){var b;return ia.Color.isHSV(a)?b=ia.parseInt(ia.Color.cutRgb(ia.Color.HSVtoRGB(a))[1]):ia.Color.isHex(a)?b=ia.parseInt(ia.Color.cutHex(a).substring(2,4),16):ia.Color.isRGB(a)&&(b=ia.parseInt(ia.Color.cutRgb(a)[1])),b},ia.Color.b=function(a){var b;return ia.Color.isHSV(a)?b=ia.parseInt(ia.Color.cutRgb(ia.Color.HSVtoRGB(a))[2]):ia.Color.isHex(a)?b=ia.parseInt(ia.Color.cutHex(a).substring(4,6),16):ia.Color.isRGB(a)&&(b=ia.parseInt(ia.Color.cutRgb(a)[2])),b},ia.Color.a=function(a){var b;return ia.Color.isHSV(a)?b=parseFloat(a[3]):ia.Color.isHex(a)?b=parseFloat(ia.Color.cutHex(a).substring(6,8),16):ia.Color.isRGB(a)&&(b=parseFloat(ia.Color.cutRgb(a)[3])),b},ia.Color.h=function(a){return ia.Color.toHSVA(a)[0]},ia.Color.s=function(a){return ia.Color.toHSVA(a)[1]},ia.Color.v=function(a){return ia.Color.toHSVA(a)[2]},ia.Color.toRGBA=function(a,b){var c=b;void 0==c&&(c=1);var d=ia.Color.r(a),e=ia.Color.g(a),f=ia.Color.b(a);return ia.Color.rgba(d,e,f,c)},ia.Color.toHex=function(a){var b=ia.Color.r(a),c=ia.Color.g(a),a=ia.Color.b(a);return"#"+ia.Color.intToHex(b)+ia.Color.intToHex(c)+ia.Color.intToHex(a)},ia.Color.toHSVA=function(a,b){var c,d=ia.Color.r(a),e=ia.Color.g(a),f=ia.Color.b(a),g=Math.max(d,e,f),h=Math.min(d,e,f);return g==h?c=0:g==d?c=(60*(e-f)/(g-h)+360)%360:g==e?c=60*(f-d)/(g-h)+120:g==f&&(c=60*(d-e)/(g-h)+240),[c,0==g?0:100*(1-h/g),g/255*100,b]},ia.Color.HSVtoRGB=function(a){var b=a[0],c=a[1]/100,d=a[2]/100*255,a=a[3];0>b&&(b+=360);var e,f,g,h=b/60-Math.floor(b/60),i=d*(1-c),j=d*(1-h*c),c=d*(1-(1-h)*c);switch(Math.floor(b/60)%6){case 0:e=d,f=c,g=i;break;case 1:e=j,f=d,g=i;break;case 2:e=i,f=d,g=c;break;case 3:e=i,f=j,g=d;break;case 4:e=c,f=i,g=d;break;case 5:e=d,f=i,g=j}return ia.Color.rgba(e,f,g,a)},ia.Color.validHex=function(a){return a=a.replace(/[^#a-fA-F0-9]/g,""),a=a.toLowerCase(),a.match(/#/g)&&a.match(/#/g).length>1&&(a=a.replace(/#/g,"")),-1==a.indexOf("#")&&(a="#"+a),a.length>7&&(a=a.substr(0,7)),a},ia.Color.intToHex=function(a){return null==a?"00":(a=ia.parseInt(a),0==a||isNaN(a)?"00":(a=Math.max(0,a),a=Math.min(a,255),a=Math.round(a),"0123456789ABCDEF".charAt((a-a%16)/16)+"0123456789ABCDEF".charAt(a%16)))},ia.Color.cutHex=function(a){return"#"==a.charAt(0)?a.substring(1,7):a},ia.Color.cutRgb=function(a){return a.substring(a.indexOf("(")+1,a.indexOf(")")).split(",")},ia.Color.isHex=function(a){return 0==a.indexOf("#")},ia.Color.isRGB=function(a){return-1!=a.indexOf("rgb")},ia.Color.isHSV=function(a){return"[object Array]"==Object.prototype.toString.call(a)},ia.Color.rgba=function(a,b,c,d){return void 0==d&&(d=1),"rgba("+Math.floor(a)+","+Math.floor(b)+","+Math.floor(c)+","+d+")"},ia.Color.getInterpolatedColor=function(a,b,c){var d;return ia.Color.rgba((d=ia.Color.r(a))+c*(ia.Color.r(b)-d),(d=ia.Color.g(a))+c*(ia.Color.g(b)-d),(d=ia.Color.b(a))+c*(ia.Color.b(b)-d))},ia.Color.getRandomColor=function(){return ia.Color.rgba(Math.round(255*Math.random()),Math.round(255*Math.random()),Math.round(255*Math.random()))},ia.Color.lighten=function(a,b){var c=ia.Color.toHSVA(a),d=c[2];return d+=d*b,d>100&&(d=100),0>d&&(d=0),c[2]=d,ia.Color.toHex(c)},ia.Color.shade=function(a,b){var c=ia.Color.toHex(a),d=parseInt(c.slice(1),16),c=0>b?0:255,e=0>b?-1*b:b,f=d>>16,g=d>>8&255;return d&=255,"#"+(16777216+65536*(Math.round((c-f)*e)+f)+256*(Math.round((c-g)*e)+g)+(Math.round((c-d)*e)+d)).toString(16).slice(1)},ia.Color.darken=function(a,b){return ia.Color.lighten(a,-1*b)},ia.Color.adjustSV=function(a,b,c){return a=ia.Color.toHSVA(a),a[1]=b,a[2]=c,ia.Color.toHex(a)},ia.Color.saturate=function(a,b){var c=ia.Color.toHSVA(a),d=c[1];return d+=d*b,d>100&&(d=100),0>d&&(d=0),c[1]=d,ia.Color.toHex(c)},ia.Color.desaturate=function(a,b){return ia.Color.saturate(a,-1*b)},ia.Color.hueShift=function(a,b){for(a+=b;a>=360;)a-=360;for(;0>a;)a+=360;return a},ia.Color.complement=function(a){return a=ia.Color.toHSVA(a),a[0]=ia.Color.hueShift(a[0],180),ia.Color.toHex(a)},ia.Color.triad=function(a){var b=ia.Color.toHSVA(a),c=b[0],a=[ia.Color.hueShift(c,156),b[1],b[2]],b=[ia.Color.hueShift(c,204),b[1],b[2]];return[ia.Color.toHex(a),ia.Color.toHex(b)]},ia.Color.analogic=function(a){var b=ia.Color.toHSVA(a),c=b[0],a=[ia.Color.hueShift(c,-24),b[1],b[2]],b=[ia.Color.hueShift(c,24),b[1],b[2]];return[ia.Color.toHex(a),ia.Color.toHex(b)]},ia.SvgShape=function(){},ia.SvgShape.CIRCLE="circle",ia.SvgShape.SQUARE="square",ia.SvgShape.LINE="line",ia.SvgShape.VERTICAL_LINE="vertical line",ia.SvgShape.HORIZONTAL_LINE="horizontal line",ia.SvgShape.MINUS="minus",ia.SvgShape.PLUS="plus",ia.SvgShape.X="x",ia.SvgShape.DIAMOND="diamond",ia.SvgShape.STAR="star",ia.SvgShape.TRIANGLE_UP="triangle up",ia.SvgShape.TRIANGLE_DOWN="triangle down",ia.SvgShape.TRIANGLE_RIGHT="triangle right",ia.SvgShape.TRIANGLE_LEFT="triangle left",ia.SvgShape.ARROW_UP="arrow up",ia.SvgShape.ARROW_DOWN="arrow down",ia.SvgShape.ARROW_RIGHT="arrow right",ia.SvgShape.ARROW_LEFT="arrow left",ia.SvgShape.draw=function(a,b,c,d){switch(a){case ia.SvgShape.SQUARE:return this.drawSquare(b,c,d);case ia.SvgShape.LINE:return this.drawLine(b,c,d);case ia.SvgShape.VERTICAL_LINE:return this.drawVerticalLine(b,c,d);case ia.SvgShape.HORIZONTAL_LINE:return this.drawHorizontalLine(b,c,d);case ia.SvgShape.MINUS:return this.drawMinus(b,c,d);case ia.SvgShape.PLUS:return this.drawPlus(b,c,d);case ia.SvgShape.X:return this.drawX(b,c,d);case ia.SvgShape.CIRCLE:return this.drawCircle(b,c,d);case ia.SvgShape.DIAMOND:return this.drawDiamond(b,c,d);case ia.SvgShape.TRIANGLE_UP:return this.drawTriangleUp(b,c,d);case ia.SvgShape.TRIANGLE_DOWN:return this.drawTriangleDown(b,c,d);case ia.SvgShape.TRIANGLE_RIGHT:return this.drawTriangleRight(b,c,d);case ia.SvgShape.TRIANGLE_LEFT:return this.drawTriangleLeft(b,c,d);case ia.SvgShape.ARROW_UP:return this.drawArrowUp(b,c,d);case ia.SvgShape.ARROW_DOWN:return this.drawArrowDown(b,c,d);case ia.SvgShape.ARROW_RIGHT:return this.drawArrowRight(b,c,d);case ia.SvgShape.ARROW_LEFT:return this.drawArrowLeft(b,c,d);case ia.SvgShape.STAR:return this.drawStar(b,c,d)}},ia.SvgShape.drawSquare=function(a,b,c){c/=2;var d="M"+(a-c)+" "+(b-c);return d+=" L"+(a+c)+" "+(b-c),d+=" L"+(a+c)+" "+(b+c),d+=" L"+(a-c)+" "+(b+c),d+=" Z"},ia.SvgShape.drawLine=function(a,b,c){c/=2;var d="M"+(a-c)+" "+(b-.5);return d+=" L"+(a-c)+" "+(b+.5),d+=" L"+(a+c)+" "+(b+.5),d+=" L"+(a+c)+" "+(b-.5),d+=" Z"},ia.SvgShape.drawVerticalLine=function(a,b,c){c/=2;var d="M"+(a-1)+" "+(b-c);return d+=" L"+(a+1)+" "+(b-c),d+=" L"+(a+1)+" "+(b+c),d+=" L"+(a-1)+" "+(b+c),d+=" Z"},ia.SvgShape.drawHorizontalLine=function(a,b,c){c/=2;var d="M"+(a-c)+" "+(b-1);return d+=" L"+(a-c)+" "+(b+1),d+=" L"+(a+c)+" "+(b+1),d+=" L"+(a+c)+" "+(b-1),d+=" Z"},ia.SvgShape.drawMinus=function(a,b,c){var d=c/2;c*=.3;var e="M"+(a-d)+" "+(b-c/2);return e+=" L"+(a-d)+" "+(b+c/2),e+=" L"+(a+d)+" "+(b+c/2),e+=" L"+(a+d)+" "+(b-c/2),e+=" Z"},ia.SvgShape.drawPlus=function(a,b,c){var d=c/2,c=.3*c/2,e="M"+(a-c)+" "+(b-d);return e+=" L"+(a+c)+" "+(b-d),e+=" L"+(a+c)+" "+(b-c),e+=" L"+(a+d)+" "+(b-c),e+=" L"+(a+d)+" "+(b+c),e+=" L"+(a+c)+" "+(b+c),e+=" L"+(a+c)+" "+(b+d),e+=" L"+(a-c)+" "+(b+d),e+=" L"+(a-c)+" "+(b+c),e+=" L"+(a-d)+" "+(b+c),e+=" L"+(a-d)+" "+(b-c),e+=" L"+(a-c)+" "+(b-c),e+=" L"+(a-c)+" "+(b-d)},ia.SvgShape.drawX=function(a,b,c){var d=c/2,c=.3*c/2,e=a-c-a,f=b-d-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h="M"+(g+a)+" "+(e+b),e=a+c-a,f=b-d-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180);return h+=" L"+(g+a)+" "+(e+b),e=a+c-a,f=b-c-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a+d-a,f=b-c-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a+d-a,f=b+c-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a+c-a,f=b+c-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a+c-a,f=b+d-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a-c-a,f=b+d-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a-c-a,f=b+c-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a-d-a,f=b+c-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a-d-a,f=b-c-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a-c-a,f=b-c-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b),e=a-c-a,f=b-d-b,g=e*Math.cos(45*Math.PI/180)-f*Math.sin(45*Math.PI/180),e=e*Math.sin(45*Math.PI/180)+f*Math.cos(45*Math.PI/180),h+=" L"+(g+a)+" "+(e+b)},ia.SvgShape.drawCircle=function(a,b,c){return c/=2,a="M"+a+","+b,a+="m"+-c+",0",a+="a"+c+","+c+" 0 1,0 "+2*c+",0",a+="a"+c+","+c+" 0 1,0 "+-(2*c)+",0"},ia.SvgShape.drawDiamond=function(a,b,c){c/=2;var d="M"+a+" "+(b-c);return d+=" L"+(a+c)+" "+b,d+=" L"+a+" "+(b+c),d+=" L"+(a-c)+" "+b,d+=" L"+a+" "+(b-c)},ia.SvgShape.drawTriangleUp=function(a,b,c){c/=2;var d="M"+a+" "+(b-c);return d+=" L"+(a+c)+" "+(b+c),d+=" L"+(a-c)+" "+(b+c),d+=" L"+a+" "+(b-c)},ia.SvgShape.drawTriangleDown=function(a,b,c){c/=2;var d="M"+(a-c)+" "+(b-c);return d+=" L"+(a+c)+" "+(b-c),d+=" L"+a+" "+(b+c),d+=" L"+(a-c)+" "+(b-c)},ia.SvgShape.drawTriangleRight=function(a,b,c){c/=2;var d="M"+(a-c)+" "+(b-c);return d+=" L"+(a+c)+" "+b,d+=" L"+(a-c)+" "+(b+c),d+=" L"+(a-c)+" "+(b-c)},ia.SvgShape.drawTriangleLeft=function(a,b,c){c/=2;var d="M"+(a+c)+" "+(b-c);return d+=" L"+(a+c)+" "+(b+c),d+=" L"+(a-c)+" "+b,d+=" L"+(a+c)+" "+(b-c)},ia.SvgShape.drawArrowUp=function(a,b,c){var d=c/2,e=.5*c,f=1*c;c*=.5;var g="M"+a+" "+(b-d);return g+=" L"+(a+f/2)+" "+(b-d+c),g+=" L"+(a+e/2)+" "+(b-d+c),g+=" L"+(a+e/2)+" "+(b+d),g+=" L"+(a-e/2)+" "+(b+d),g+=" L"+(a-e/2)+" "+(b-d+c),g+=" L"+(a-f/2)+" "+(b-d+c),g+=" L"+a+" "+(b-d)},ia.SvgShape.drawArrowDown=function(a,b,c){var d=c/2,e=.5*c,f=1*c;c*=.5;var g="M"+a+" "+(b+d);return g+=" L"+(a+f/2)+" "+(b+d-c),g+=" L"+(a+e/2)+" "+(b+d-c),g+=" L"+(a+e/2)+" "+(b-d),g+=" L"+(a-e/2)+" "+(b-d),g+=" L"+(a-e/2)+" "+(b+d-c),g+=" L"+(a-f/2)+" "+(b+d-c),g+=" L"+a+" "+(b+d)},ia.SvgShape.drawArrowRight=function(a,b,c){var d=c/2,e=.5*c,f=1*c;c*=.5;var g="M"+(a+d)+" "+b;return g+=" L"+(a+d-c)+" "+(b+f/2),g+=" L"+(a+d-c)+" "+(b+e/2),g+=" L"+(a-d)+" "+(b+e/2),g+=" L"+(a-d)+" "+(b-e/2),g+=" L"+(a+d-c)+" "+(b-e/2),g+=" L"+(a+d-c)+" "+(b-f/2),g+=" L"+(a+d)+" "+b},ia.SvgShape.drawArrowLeft=function(a,b,c){var d=c/2,e=.5*c,f=1*c;c*=.5;var g="M"+(a-d)+" "+b;return g+=" L"+(a-d+c)+" "+(b+f/2),g+=" L"+(a-d+c)+" "+(b+e/2),g+=" L"+(a+d)+" "+(b+e/2),g+=" L"+(a+d)+" "+(b-e/2),g+=" L"+(a-d+c)+" "+(b-e/2),g+=" L"+(a-d+c)+" "+(b-f/2),g+=" L"+(a-d)+" "+b},ia.SvgShape.drawStar=function(a,b,c){var d=.25*c;c*=.5;var e,f,g,h,i;e=2*Math.PI/5,f=e/2,g=.5*Math.PI;for(var j="M"+(a+Math.cos(g)*c)+" "+(b-Math.sin(g)*c),k=1;5>=k;k++)h=a+Math.cos(g+e*k-f)*d,i=b-Math.sin(g+e*k-f)*d,j+=" L"+h+" "+i,h=a+Math.cos(g+e*k)*c,i=b-Math.sin(g+e*k)*c,j+=" L"+h+" "+i;return j},ia.Shape=function(){},ia.Shape.CIRCLE="circle",ia.Shape.SQUARE="square",ia.Shape.LINE="line",ia.Shape.VERTICAL_LINE="vertical line",ia.Shape.HORIZONTAL_LINE="horizontal line",ia.Shape.MINUS="minus",ia.Shape.PLUS="plus",ia.Shape.X="x",ia.Shape.DIAMOND="diamond",ia.Shape.STAR="star",ia.Shape.TRIANGLE_UP="triangle up",ia.Shape.TRIANGLE_DOWN="triangle down",ia.Shape.TRIANGLE_RIGHT="triangle right",ia.Shape.TRIANGLE_LEFT="triangle left",ia.Shape.ARROW_UP="arrow up",ia.Shape.ARROW_DOWN="arrow down",ia.Shape.ARROW_RIGHT="arrow right",ia.Shape.ARROW_LEFT="arrow left",ia.Shape.draw=function(a,b,c,d,e,f,g){switch(a){case ia.Shape.SQUARE:this.drawSquare(b,c,d,e);break;case ia.Shape.LINE:this.drawLine(b,c,d,e,f,g);break;case ia.Shape.VERTICAL_LINE:this.drawVerticalLine(b,c,d,e);break;case ia.Shape.HORIZONTAL_LINE:this.drawHorizontalLine(b,c,d,e);break;case ia.Shape.MINUS:this.drawMinus(b,c,d,e);break;case ia.Shape.PLUS:this.drawPlus(b,c,d,e);break;case ia.Shape.X:this.drawX(b,c,d,e);break;case ia.Shape.CIRCLE:this.drawCircle(b,c,d,e);break;case ia.Shape.DIAMOND:this.drawDiamond(b,c,d,e);break;case ia.Shape.TRIANGLE_UP:this.drawTriangleUp(b,c,d,e);break;case ia.Shape.TRIANGLE_DOWN:this.drawTriangleDown(b,c,d,e);break;case ia.Shape.TRIANGLE_RIGHT:this.drawTriangleRight(b,c,d,e);break;case ia.Shape.TRIANGLE_LEFT:this.drawTriangleLeft(b,c,d,e);break;case ia.Shape.ARROW_UP:this.drawArrowUp(b,c,d,e);break;case ia.Shape.ARROW_DOWN:this.drawArrowDown(b,c,d,e);break;case ia.Shape.ARROW_RIGHT:this.drawArrowRight(b,c,d,e);break;case ia.Shape.ARROW_LEFT:this.drawArrowLeft(b,c,d,e);break;case ia.Shape.STAR:this.drawStar(b,c,d,e)}},ia.Shape.drawSquare=function(a,b,c,d){var e=d/2;a.rect(b-e,c-e,d,d)},ia.Shape.drawLine=function(a,b,c,d,e,f){d/=2,void 0!=e?a.dashedLine(b-d,c,b+d,c,e,f):(a.moveTo(b-d,c),a.lineTo(b+d,c))},ia.Shape.drawVerticalLine=function(a,b,c,d){a.rect(b-1,c-d/2,2,d)},ia.Shape.drawHorizontalLine=function(a,b,c,d){a.rect(b-d/2,c-1,d,2)},ia.Shape.drawMinus=function(a,b,c,d){var e=.3*d;a.rect(b-d/2,c-e/2,d,e)},ia.Shape.drawPlus=function(a,b,c,d){var e=d/2,d=.3*d/2;a.moveTo(b-d,c-e),a.lineTo(b+d,c-e),a.lineTo(b+d,c-d),a.lineTo(b+e,c-d),a.lineTo(b+e,c+d),a.lineTo(b+d,c+d),a.lineTo(b+d,c+e),a.lineTo(b-d,c+e),a.lineTo(b-d,c+d),a.lineTo(b-e,c+d),a.lineTo(b-e,c-d),a.lineTo(b-d,c-d),a.lineTo(b-d,c-e)},ia.Shape.drawX=function(a,b,c,d){var e=d/2,d=.3*d/2,f=b-d-b,g=c-e-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180);a.moveTo(h+b,f+c),f=b+d-b,g=c-e-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b+d-b,g=c-d-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b+e-b,g=c-d-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b+e-b,g=c+d-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b+d-b,g=c+d-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b+d-b,g=c+e-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b-d-b,g=c+e-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b-d-b,g=c+d-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b-e-b,g=c+d-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b-e-b,g=c-d-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b-d-b,g=c-d-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c),f=b-d-b,g=c-e-c,h=f*Math.cos(45*Math.PI/180)-g*Math.sin(45*Math.PI/180),f=f*Math.sin(45*Math.PI/180)+g*Math.cos(45*Math.PI/180),a.lineTo(h+b,f+c)},ia.Shape.drawCircle=function(a,b,c,d){d/=2,d>0&&a.arc(b,c,d,0,2*Math.PI,!1)},ia.Shape.drawDiamond=function(a,b,c,d){d/=2,a.moveTo(b,c-d),a.lineTo(b+d,c),a.lineTo(b,c+d),a.lineTo(b-d,c),a.lineTo(b,c-d)},ia.Shape.drawTriangleUp=function(a,b,c,d){d/=2,a.moveTo(b,c-d),a.lineTo(b+d,c+d),a.lineTo(b-d,c+d),a.lineTo(b,c-d)},ia.Shape.drawTriangleDown=function(a,b,c,d){d/=2,a.moveTo(b-d,c-d),a.lineTo(b+d,c-d),a.lineTo(b,c+d),a.lineTo(b-d,c-d)},ia.Shape.drawTriangleRight=function(a,b,c,d){d/=2,a.moveTo(b-d,c-d),a.lineTo(b+d,c),a.lineTo(b-d,c+d),a.lineTo(b-d,c-d)},ia.Shape.drawTriangleLeft=function(a,b,c,d){d/=2,a.moveTo(b+d,c-d),a.lineTo(b+d,c+d),a.lineTo(b-d,c),a.lineTo(b+d,c-d)},ia.Shape.drawArrowUp=function(a,b,c,d){var e=d/2,f=.5*d,g=1*d;d*=.5,a.moveTo(b,c-e),a.lineTo(b+g/2,c-e+d),a.lineTo(b+f/2,c-e+d),a.lineTo(b+f/2,c+e),a.lineTo(b-f/2,c+e),a.lineTo(b-f/2,c-e+d),a.lineTo(b-g/2,c-e+d),a.lineTo(b,c-e)},ia.Shape.drawArrowDown=function(a,b,c,d){var e=d/2,f=.5*d,g=1*d;d*=.5,a.moveTo(b,c+e),a.lineTo(b+g/2,c+e-d),a.lineTo(b+f/2,c+e-d),a.lineTo(b+f/2,c-e),a.lineTo(b-f/2,c-e),a.lineTo(b-f/2,c+e-d),a.lineTo(b-g/2,c+e-d),a.lineTo(b,c+e)},ia.Shape.drawArrowRight=function(a,b,c,d){var e=d/2,f=.5*d,g=1*d;d*=.5,a.moveTo(b+e,c),a.lineTo(b+e-d,c+g/2),a.lineTo(b+e-d,c+f/2),a.lineTo(b-e,c+f/2),a.lineTo(b-e,c-f/2),a.lineTo(b+e-d,c-f/2),a.lineTo(b+e-d,c-g/2),a.lineTo(b+e,c)},ia.Shape.drawArrowLeft=function(a,b,c,d){var e=d/2,f=.5*d,g=1*d;d*=.5,a.moveTo(b-e,c),a.lineTo(b-e+d,c+g/2),a.lineTo(b-e+d,c+f/2),a.lineTo(b+e,c+f/2),a.lineTo(b+e,c-f/2),a.lineTo(b-e+d,c-f/2),a.lineTo(b-e+d,c-g/2),a.lineTo(b-e,c)},ia.Shape.drawStar=function(a,b,c,d){var e=.25*d;d*=.5;var f,g,h,i,j;f=2*Math.PI/5,g=f/2,h=.5*Math.PI,a.moveTo(b+Math.cos(h)*d,c-Math.sin(h)*d);for(var k=1;5>=k;k++)i=b+Math.cos(h+f*k-g)*e,j=c-Math.sin(h+f*k-g)*e,a.lineTo(i,j),i=b+Math.cos(h+f*k)*d,j=c-Math.sin(h+f*k)*d,a.lineTo(i,j)},ia.Shape.drawGradient=function(a,b,c){null==c&&(c="bottomToTop");var d,e=a.getContext("2d");"leftToRight"==c?d=e.createLinearGradient(0,0,a.width,0):"rightToLeft"==c?d=e.createLinearGradient(a.width,0,0,0):"topToBottom"==c?d=e.createLinearGradient(0,0,0,a.height):"bottomToTop"==c&&(d=e.createLinearGradient(0,a.height,0,0));for(var c=b.length,f=0;c>f;f++)d.addColorStop(f/(c-1),b[f]);e.rect(0,0,a.width,a.height),e.fillStyle=d},ia.Formatter=function(){this.language="en",this.noDataValue="No Data",this.decimalSeparatorTo=".",this.thousandsSeparatorTo=","},ia.Formatter.prototype.language=void 0,ia.Formatter.prototype.noDataValue=void 0,ia.Formatter.prototype.precision=void 0,ia.Formatter.prototype.decimalSeparatorTo=void 0,ia.Formatter.prototype.thousandsSeparatorTo=void 0,ia.Formatter.prototype.format=function(a,b){if(b=void 0==b?this.precision:b,ia.isNumber(a)){var c=this.formatNumber(a,b);return 0==parseFloat(c)?"0":c}return this.formatText(a)},ia.Formatter.prototype.unformat=function(a){return parseFloat(a.split(this.thousandsSeparatorTo).join("").split(this.decimalSeparatorTo).join("."))},ia.Formatter.prototype.formatNumber=function(a,b){var c,d,e=0>a?"-":"";if(void 0==b){var f=String(a).split(".");return c=Math.abs(f[0])+"",d=c.length>3?c.length%3:0,e+(d?c.substr(0,d)+this.thousandsSeparatorTo:"")+c.substr(d).replace(/(\d{3})(?=\d)/g,"$1"+this.thousandsSeparatorTo)+(2==f.length?this.decimalSeparatorTo+f[1]:"")}return 0==b?(c=Math.abs(parseInt(Math.abs(a||0).toFixed(b),10))+"",d=c.length>3?c.length%3:0,e+(d?c.substr(0,d)+this.thousandsSeparatorTo:"")+c.substr(d).replace(/(\d{3})(?=\d)/g,"$1"+this.thousandsSeparatorTo)):(d=Math.abs(ia.round(a,b)).toFixed(b),c=d.split(".")[0],decimal=d.split(".")[1],d=c.length>3?c.length%3:0,e+(d?c.substr(0,d)+this.thousandsSeparatorTo:"")+c.substr(d).replace(/(\d{3})(?=\d)/g,"$1"+this.thousandsSeparatorTo)+this.decimalSeparatorTo+decimal)},ia.Formatter.prototype.formatText=function(a){return"null"===a||null===a||"NaN"===a||""===a||"No Data"===a||void 0===a?this.noDataValue:String(a)},ia.Locale=function(a){this._propertyHash={},this.formatter=new ia.Formatter,this.setLanguage(a||"en")},ia.Locale.prototype.getLanguage=function(){return this._language},ia.Locale.prototype.setLanguage=function(a){this._language=a,"be"==this._language?(this._displayLanguage="беларускі",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"bg"==this._language?(this._displayLanguage="български",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"ca"==this._language?(this._displayLanguage="català",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"cs"==this._language?(this._displayLanguage="čeština",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"da"==this._language?(this._displayLanguage="dansk",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"de"==this._language?(this._displayLanguage="Deutsch",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"el"==this._language?(this._displayLanguage="ελληνικά",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"en"==this._language?(this._displayLanguage="English",this.formatter.decimalSeparatorTo=".",this.formatter.thousandsSeparatorTo=","):"es"==this._language?(this._displayLanguage="español",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"et"==this._language?(this._displayLanguage="Eesti",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"fi"==this._language?(this._displayLanguage="suomi",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"fr"==this._language?(this._displayLanguage="français",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"hr"==this._language?(this._displayLanguage="hrvatski",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"hu"==this._language?(this._displayLanguage="magyar",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"is"==this._language?(this._displayLanguage="íslenska",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"it"==this._language?(this._displayLanguage="italiano",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"lt"==this._language?(this._displayLanguage="Lietuvių",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"lv"==this._language?(this._displayLanguage="Latviešu",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"mk"==this._language?(this._displayLanguage="македонски",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"nl"==this._language?(this._displayLanguage="Nederlands",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"no"==this._language?(this._displayLanguage="norsk",this.formatter.decimalSeparatorTo=",",
this.formatter.thousandsSeparatorTo=" "):"pl"==this._language?(this._displayLanguage="polski",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"pt"==this._language?(this._displayLanguage="português",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"ro"==this._language?(this._displayLanguage="română",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"ru"==this._language?(this._displayLanguage="русский",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"sk"==this._language?(this._displayLanguage="Slovenčina",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"sl"==this._language?(this._displayLanguage="Slovenščina",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"sq"==this._language?(this._displayLanguage="shqipe",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"sr"==this._language?(this._displayLanguage="Српски",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"sv"==this._language?(this._displayLanguage="svenska",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo=" "):"tr"==this._language?(this._displayLanguage="Türkçe",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"uk"==this._language?(this._displayLanguage="українська",this.formatter.decimalSeparatorTo=",",this.formatter.thousandsSeparatorTo="."):"none"==this._language.toLowerCase()?(this._displayLanguage="English",this.formatter.decimalSeparatorTo=".",this.formatter.thousandsSeparatorTo=""):(this._language="en",this._displayLanguage="English",this.formatter.decimalSeparatorTo=".",this.formatter.thousandsSeparatorTo=","),this.formatter.language=this._language},ia.Statistics=function(a){void 0!=a&&this.setData(a)},ia.Statistics.prototype.getData=function(){return this._data},ia.Statistics.prototype.setData=function(a){this._data=a,this._invalidateData()},ia.Statistics.prototype.getPercentile=function(a,b){if(0>a||a>1)return NaN;void 0==b&&(b=this.sorted.concat());var c=a*(b.length-1),d=parseInt(c);return c-=d,d+1<b.length?b[d]*(1-c)+b[d+1]*c:b[d]},ia.Statistics.prototype.toString=function(){return"-----Data-----\n Data: "+this.getData()+"\n Sorted data: "+this.sorted+"\n Unique data: "+this.unique+"\n\n -----Central tendency-----\n Mean: "+this.mean+"\n Median: "+this.median+"\n Mode: "+this.mode+"\n Mode Count: "+this.modeCount+"\n\n -----Variability-----\n Min: "+this.minValue+"\n Max: "+this.maxValue+"\n Range: "+this.range+"\n Lower quartile: "+this.lowerQuartile+"\n Upper quartile: "+this.upperQuartile+"\n Interquartile range: "+this.interquartileRange+"\n Population Variance: "+this.variance+"\n Population Standard deviation: "+this.standardDeviation},ia.Statistics.prototype.statsToString=function(){return"-----Central tendency-----\n Mean: "+this.mean+"\n Median: "+this.median+"\n Mode: "+this.mode+"\n Mode Count: "+this.modeCount+"\n\n -----Variability-----\n Min: "+this.minValue+"\n Max: "+this.maxValue+"\n Range: "+this.range+"\n Lower quartile: "+this.lowerQuartile+"\n Upper quartile: "+this.upperQuartile+"\n Interquartile range: "+this.interquartileRange+"\n Population Variance: "+this.variance+"\n Population Standard deviation: "+this.standardDeviation},ia.Statistics.prototype._invalidateData=function(){this.sorted=[];for(var a=this._data.length,b=0;a>b;b++){var c=this._data[b];ia.isNumber(c)&&(this.sorted[this.sorted.length]=c)}this.sorted.sort(function(a,b){return a-b}),this.unique=[];var d;this.count=this._data.length;var e,c=this.sum=0;this.mode=[],this.modeCount=0;for(var f=1,a=this.sorted.length,b=0;a>b;b++)e=this.sorted[b],e!=d?(this.unique.push(e),f>this.modeCount&&(this.mode=[]),f==this.modeCount&&(this.mode.push(d),this.modeCount=f),f=1):f++,d=e,this.sum+=parseFloat(e),e*=e,c+=e;for(this.mean=this.sum/a,this.lowerQuartile=this.getPercentile(.25,this.sorted),this.median=this.getPercentile(.5,this.sorted),this.upperQuartile=this.getPercentile(.75,this.sorted),this.interquartileRange=this.upperQuartile-this.lowerQuartile,b=d=0;a>b;b++)e=this.sorted[b],c=e-this.mean,d+=c*c;this.variance=d/(a-1),this.standardDeviation=Math.sqrt(Math.abs(this.variance)),this.minValue=this.sorted[0],this.maxValue=this.sorted[a-1],this.range=this.maxValue-this.minValue},ia.TextSubstitution=function(){this._TAB=9,this._LINEFEED=10,this._CARRIAGE=13,this._SPACE=32,this._substitutionVariables={}},ia.TextSubstitution.prototype.setVariable=function(a,b){this._substitutionVariables[a]=b},ia.TextSubstitution.prototype.clearVariables=function(){this._substitutionVariables={}},ia.TextSubstitution.prototype.formatMessage=function(a){for(a+="";a.indexOf("${")>=0;){var b=a.indexOf("${"),c=a.indexOf("}",b),b=a.substring(b,c+1);if(-1==b.indexOf("&&")&&-1==b.indexOf("||")||-1==b.indexOf("=="))g=this._processVariable(b);else{for(var d=b.split("=="),c=this._trim(d[1]),c=c.substring(c.indexOf("(")+1,c.indexOf(")")),d=this._trim(d[0]),e=d.split(/&&|\|\|/),f=0;f<e.length;f++){var g,h=e[f];g=0==f?this._processVariable(this._trim(h)+"}"):this._processVariable("${"+this._trim(h)+"}"),d=this._replace(d,h,g)}g=this._processVariable("${andOrTest('"+d+"',"+c+")}")}a=this._replace(a,b,g)}return a},ia.TextSubstitution.prototype._processVariable=function(a){var b=a.substring(a.indexOf("{")+1,a.indexOf("("));if(-1!=b.indexOf("themeName")){var b=this._substitutionVariables[b],c="";if(void 0!=b)if(1==b.length)c=b[0];else for(var a=a.substring(a.indexOf("'")+1,a.lastIndexOf("'")),d=0,e=0;e<b.length;e++){var f=b[e],c=0==d?f:c+a+f;d++}return c}if("${"==b)return this._formatValue(a.substring(2,a.length-1));if(a=this._trim(a.substring(a.indexOf("(")+1,a.lastIndexOf(")}"))),c=a.split(","),b=b.toLowerCase(),"andortest"==b){a=this._formatValue(c[0]),d=this._formatValue(c[1]),e=this._formatValue(c[2]);try{if(b=eval(a),1==b)return d;if(0==b)return e}catch(g){}}else if("empty"==b){if(a=this._formatValue(c[0]),d=this._formatValue(c[1]),e=this._formatValue(c[2]),c.length<2&&(d=!0,e=!1),void 0==a||""==a.toString())return d;if(void 0!=e)return e}else if("notempty"==b){if(a=this._formatValue(c[0]),d=this._formatValue(c[1]),e=this._formatValue(c[2]),c.length<2&&(d=!0,e=!1),void 0!=a&&""!=a.toString())return d;if(void 0!=e)return e}else if("equals"==b){if(a=this._formatValue(c[0]),b=this._formatValue(c[1]),d=this._formatValue(c[2]),e=this._formatValue(c[3]),c.length<3&&(d=!0,e=!1),a==b)return d;if(void 0!=e)return e}else if("notequals"==b){if(a=this._formatValue(c[0]),b=this._formatValue(c[1]),d=this._formatValue(c[2]),e=this._formatValue(c[3]),c.length<3&&(d=!0,e=!1),a!=b)return d;if(void 0!=e)return e}else if("greaterthan"==b){if(a=this._formatValue(c[0]),b=this._formatValue(c[1]),d=this._formatValue(c[2]),e=this._formatValue(c[3]),c.length<3&&(d=!0,e=!1),parseFloat(a)>parseFloat(b))return d;if(void 0!=e)return e}else if("greaterthanorequalto"==b){if(a=this._formatValue(c[0]),b=this._formatValue(c[1]),d=this._formatValue(c[2]),e=this._formatValue(c[3]),c.length<3&&(d=!0,e=!1),parseFloat(a)>=parseFloat(b))return d;if(void 0!=e)return e}else if("lessthan"==b){if(a=this._formatValue(c[0]),b=this._formatValue(c[1]),d=this._formatValue(c[2]),e=this._formatValue(c[3]),c.length<3&&(d=!0,e=!1),parseFloat(a)<parseFloat(b))return d;if(void 0!=e)return e}else if("lessthanorequalto"==b){if(a=this._formatValue(c[0]),b=this._formatValue(c[1]),d=this._formatValue(c[2]),e=this._formatValue(c[3]),c.length<3&&(d=!0,e=!1),parseFloat(a)<=parseFloat(b))return d;if(void 0!=e)return e}else{if("even"==b)return a=this._formatValue(c[0]),d=this._formatValue(c[1]),e=this._formatValue(c[2]),c.length<2&&(d=!0,e=!1),parseFloat(a)%2==0?d:e;if("odd"==b)return a=this._formatValue(c[0]),d=this._formatValue(c[1]),e=this._formatValue(c[2]),c.length<2&&(d=!0,e=!1),parseFloat(a)%2==0?e:d;if("multiply"==b)return a=this._formatValue(c[0]),b=this._formatValue(c[1]),parseFloat(a)*parseFloat(b);if("divide"==b)return a=this._formatValue(c[0]),b=this._formatValue(c[1]),parseFloat(a)/parseFloat(b);if("add"==b)return a=this._formatValue(c[0]),b=this._formatValue(c[1]),parseFloat(a)+parseFloat(b);if("subtract"==b)return a=this._formatValue(c[0]),b=this._formatValue(c[1]),parseFloat(a)-parseFloat(b);if("min"==b)return a=this._formatValue(c[0]),b=this._formatValue(c[1]),Math.min(parseFloat(a),parseFloat(b));if("max"==b)return a=this._formatValue(c[0]),b=this._formatValue(c[1]),Math.max(parseFloat(a),parseFloat(b));if("pow"==b)return a=this._formatValue(c[0]),b=this._formatValue(c[1]),Math.pow(parseFloat(a),parseFloat(b));if("sqrt"==b)return a=this._formatValue(c[0]),Math.sqrt(parseFloat(a));if("exp"==b)return a=this._formatValue(c[0]),Math.exp(parseFloat(a));if("log"==b)return a=this._formatValue(c[0]),Math.log(parseFloat(a));if("abs"==b)return a=this._formatValue(c[0]),Math.abs(parseFloat(a))}return""},ia.TextSubstitution.prototype._formatValue=function(a){if(void 0!=a){var b=this._trim(a),a="";if(-1!=b.indexOf("[")&&-1!=b.indexOf("]")){var c=b.substring(0,b.indexOf("[")),b=b.substring(b.indexOf("[")+1,b.indexOf("]")),c=this._substitutionVariables[c];-1!=c.indexOf(";")?a=c.split(";")[b]:-1!=c.indexOf(",")&&(a=c.split(",")[b])}else a='"'==b.charAt(0)||"'"==b.charAt(0)?b.substring(1,b.length-1):ia.isNumber(b)?b:this._substitutionVariables[b];if(void 0!=a)return a}return""},ia.TextSubstitution.prototype._trim=function(a){return this._leftTrim(this._rightTrim(a))},ia.TextSubstitution.prototype._rightTrim=function(a){for(var b=a.length-1;a.charCodeAt(b)==this._SPACE||a.charCodeAt(b)==this._CARRIAGE||a.charCodeAt(b)==this._LINEFEED||a.charCodeAt(b)==this._TAB;)b--;return a.substring(0,b+1)},ia.TextSubstitution.prototype._leftTrim=function(a){for(var b=0;a.charCodeAt(b)==this._SPACE||a.charCodeAt(b)==this._CARRIAGE||a.charCodeAt(b)==this._LINEFEED||a.charCodeAt(b)==this._TAB;)b++;return a.substring(b,a.length)},ia.TextSubstitution.prototype._replace=function(a,b,c){return a.split(b).join(c)},ia.UrlParams=function(a){if(this.href=a,this.path=ia.File.getFileDirectory(decodeURIComponent(a)),this.filename=ia.File.getFileName(decodeURIComponent(a)),-1!=location.href.indexOf("#")&&(this.href=this.href.split("#")[0],a=a.split("#")[0]),this.params={},-1!=a.indexOf("?"))for(var a=a.slice(a.indexOf("?")+1).split("&"),b=0;b<a.length;b++){var c=a[b].split("="),d=decodeURIComponent(c[0]),c=decodeURIComponent(c[1]);"false"==c&&(c=!1),"true"==c&&(c=!0),ia.isNumber(c)&&"select"!=d&&"select2"!=d&&(c=parseFloat(c)),this.params[d]=c}},ia.UrlParams.prototype.getReportUrl=function(){var a,b=this.path+this.filename+"?",c=!1;for(a in this.params){var d=this.params[a];""!=d&&void 0!=d&&(1==c&&(b+="&"),b=b+a+"="+encodeURIComponent(this.params[a]),c=!0)}return b};var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser",this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version",this.OS=this.searchString(this.dataOS)||"an unknown OS"},searchString:function(a){for(var b=0;b<a.length;b++){var c=a[b].string,d=a[b].prop;if(this.versionSearchString=a[b].versionSearch||a[b].identity,c){if(-1!=c.indexOf(a[b].substring))return a[b].identity}else if(d)return a[b].identity}},searchVersion:function(a){var b=a.indexOf(this.versionSearchString);return-1==b?void 0:parseFloat(a.substring(b+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,substring:"Chrome",identity:"Chrome"},{string:navigator.userAgent,substring:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,substring:"Apple",identity:"Safari",versionSearch:"Version"},{prop:window.opera,identity:"Opera",versionSearch:"Version"},{string:navigator.vendor,substring:"iCab",identity:"iCab"},{string:navigator.vendor,substring:"KDE",identity:"Konqueror"},{string:navigator.userAgent,substring:"Firefox",identity:"Firefox"},{string:navigator.vendor,substring:"Camino",identity:"Camino"},{string:navigator.userAgent,substring:"Netscape",identity:"Netscape"},{string:navigator.userAgent,substring:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,substring:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,substring:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,substring:"Win",identity:"Windows"},{string:navigator.platform,substring:"Mac",identity:"Mac"},{string:navigator.userAgent,substring:"iPhone",identity:"iPhone/iPod"},{string:navigator.platform,substring:"Linux",identity:"Linux"}]};BrowserDetect.init(),ia.File=function(){},ia.File.errorHandler=void 0,ia.File.load=function(a){var b={};b.type=a.type||"GET",b.url=ia.getDomainSafeUrl(a.url),b.dataType=a.dataType||"text";var c=b.url;a.contentType&&(b.contentType=a.contentType),a.data&&(b.data=a.data,c+="?"+b.data),a.onSuccess&&(b.success=a.onSuccess),b.type=c.length<=2e3?"GET":"POST",b.error=function(c,d,e){a.onFail&&a.onFail(c,d,e),ia.File.errorHandler&&ia.File.errorHandler(b.url,c,d,e,a)},$j.ajax(b)},ia.File.getFileDirectory=function(a){var b=a;return a.indexOf("?")>0&&(b=a.substring(0,a.lastIndexOf("?"))),b.indexOf("/")<0?b.substring(0,b.lastIndexOf("\\")+1):b.substring(0,b.lastIndexOf("/")+1)},ia.File.getFileName=function(a){var b=a;return a.indexOf("?")>0&&(b=a.substring(0,a.lastIndexOf("?"))),b.indexOf("/")<0?b.substring(b.lastIndexOf("\\")+1):b.substring(b.lastIndexOf("/")+1)},ia.FeatureServiceReader=function(){},ia.FeatureServiceReader.buildQuery=function(a,b,c){var d=a.split("?")[0],a=ia.FeatureServiceReader.getParam(a,"where");return-1==d.indexOf("/query?")&&(d+="/query?where="+(a&&""!=a?encodeURIComponent(a):"1+%3D+1")),ia.isUndefined(c)||(d+="&objectIds="+c.join()),ia.isUndefined(b)||(d+="&outFields="+b.join()),d},ia.FeatureServiceReader.getFeatureServiceUrl=function(a){return-1!=a.indexOf("/query?")?a=a.split("/query?")[0]:-1!=a.indexOf("/export?")?a=a.split("/export?")[0]:-1!=a.indexOf("/export")?a=a.split("/export")[0]:-1!=a.indexOf("?")&&(a=a.split("?")[0]),a},ia.FeatureServiceReader.getParam=function(a,b){var b=b.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]"),c=RegExp("[\\?&]"+b+"=([^&#]*)").exec(a);return null==c?"":decodeURIComponent(c[1].replace(/\+/g," "))},ia.FeatureServiceReader.layerQueryCache={},ia.FeatureServiceReader.sendQuery=function(a,b,c){var d=ia.FeatureServiceReader.getParam(a,"outFields"),d=""!=d?d.split(/[\s,]+/):void 0,e=ia.FeatureServiceReader.getParam(a,"objectIds"),e=""!=e?e.split(/[\s,]+/):void 0,f=ia.FeatureServiceReader.getParam(a,"where");""==e&&(f=void 0),-1==a.indexOf("f=json")&&(a+=a.indexOf("?")>0?"&f=json":"?f=json");var g=ia.FeatureServiceReader.layerQueryCache[a];void 0!=g?c.call(null,g.concat()):ia.FeatureServiceReader.getInfo(a,b,function(b,g){var h=1/0;ia.isUndefined(b.maxRecordCount)||(h=ia.parseInt(b.maxRecordCount)),ia.isUndefined(e)?ia.FeatureServiceReader.getObjectIds(a,g,f,function(b){ia.isUndefined(b)?c.call(null,[]):ia.FeatureServiceReader.sendFeatureRequests(a,g,b,d,h,function(b){ia.FeatureServiceReader.layerQueryCache[a]=b.concat(),c.call(null,b)})}):ia.FeatureServiceReader.sendFeatureRequests(a,g,e,d,h,function(b){ia.FeatureServiceReader.layerQueryCache[a]=b.concat(),c.call(null,b)})})},ia.FeatureServiceReader.sendFeatureRequests=function(a,b,c,d,e,f){if(a=ia.FeatureServiceReader.getFeatureServiceUrl(a),c.length>0){for(var e=Math.min(c.length,e),g=[];c.length>0;)g[g.length]=c.splice(0,e);var h=[],i=g.length,j=0,k=function(c){h=h.concat(c),j++,j==i?f.call(null,h):ia.FeatureServiceReader.getFeatureAttributes(a,b,g[j],d,k)};ia.FeatureServiceReader.getFeatureAttributes(a,b,g[j],d,k)}else f.call(null,[])},ia.FeatureServiceReader.layerInfoCache={},ia.FeatureServiceReader.getInfo=function(a,b,c){var d=ia.FeatureServiceReader.getFeatureServiceUrl(a),a=ia.FeatureServiceReader.layerInfoCache[d];void 0!=a?c.call(null,a,b):(ia.isUndefined(b)||0!=b.indexOf("?")?(a="f=json",ia.isUndefined(b)||(a+="&token="+b)):a="token="+b,ia.File.load({url:d,dataType:"json",type:"GET",data:a,onSuccess:function(a){return a.error&&498==a.error.code?ia.FeatureServiceReader.getInfo(d,void 0,c):void(a.error&&499==a.error.code?ia.redirectToArcGisOnlineAuth():(ia.FeatureServiceReader.layerInfoCache[d]=a,c.call(null,a,b)))},onFail:function(){c.call(null)}}))},ia.FeatureServiceReader.layerObjectIdsCache={},ia.FeatureServiceReader.getObjectIds=function(a,b,c,d){var a=ia.FeatureServiceReader.getFeatureServiceUrl(a),e=ia.FeatureServiceReader.layerObjectIdsCache[a+c];if(void 0!=e)d.call(null,e.concat());else{var e=a+"/query",f="f=json&returnGeometry=false&returnIdsOnly=true&returnCountOnly=false";f+=ia.isUndefined(c)?"&where=1+%3D+1":"&where="+c,ia.isUndefined(b)||(f+="&token="+b),ia.File.load({url:e,type:"POST",dataType:"json",data:f,onSuccess:function(b){ia.FeatureServiceReader.layerObjectIdsCache[a+c]=b.objectIds.concat(),d.call(null,b.objectIds)}})}},ia.FeatureServiceReader.getFeatureAttributes=function(a,b,c,d,e){a=ia.FeatureServiceReader.getFeatureServiceUrl(a),a+="/query";var f="where=1+%3D+1&f=json&returnGeometry=false&returnIdsOnly=false&returnCountOnly=false";ia.isUndefined(c)||(f+="&objectIds="+c),f+=ia.isUndefined(d)?"&outFields=*":"&outFields="+d,ia.isUndefined(b)||(f+="&token="+b),ia.File.load({url:a,type:"POST",dataType:"json",data:f,onSuccess:function(a){e.call(null,a.features)}})},ia.FeatureServiceReader.getFeatureGeometry=function(a,b,c,d,e,f,g){a=ia.FeatureServiceReader.getFeatureServiceUrl(a),a+="/query";var h="where=1+%3D+1&f=json&returnGeometry=true&returnIdsOnly=false&returnCountOnly=false";ia.isUndefined(c)||(h+="&objectIds="+c),ia.isUndefined(d)||(h+="&outFields="+d),ia.isUndefined(e)||(h+="&outSR="+e),ia.isUndefined(f)||(h+="&maxAllowableOffset="+f),ia.isUndefined(b)||(h+="&token="+b),ia.File.load({url:a,type:"POST",dataType:"json",data:h,onSuccess:function(a){g.call(null,a.features)}})},ia.ReportConfig=function(){},ia.ReportConfig.prototype.loadSource=function(a,b){var c=this;ia.File.load({url:a,dataType:"xml",onSuccess:function(a){c.parseXML(a,b)}})},ia.ReportConfig.prototype.parseXML=function(a,b){var c=this;c.xml=a;var d=$j(a),e=d.find("AtlasInterface").get(0);$j.each(e.attributes,function(a,b){c[b.name]=b.value}),e=c.template.indexOf("::arcgisonline"),-1!=e&&(c.template=c.template.substring(0,e)),c._componentArray=[],c._componentHash={},e=d.find("Table[id^=comparisonTable]"),$j.each(e,function(a,b){if("true"==$j(b).attr("visible")){var d=new ia.TableConfig(b);c._componentArray[c._componentArray.length]=d,c._componentHash[d.id]=d}}),e=d.find("Component"),$j.each(e,function(a,b){if("true"==$j(b).attr("visible")){var d=new ia.ComponentConfig(b);c._componentArray[c._componentArray.length]=d,c._componentHash[d.id]=d}}),e=d.find("Table").not("[id^=comparisonTable]"),$j.each(e,function(a,b){if("true"==$j(b).attr("visible")){var d=new ia.TableConfig(b);c._componentArray[c._componentArray.length]=d,c._componentHash[d.id]=d}}),c.properties={},e=d.find("PropertyGroup"),$j.each(e,function(a,b){var d=$j(b).find("Property");$j.each(d,function(a,b){var d=new ia.PropertyConfig(b,c);c.properties[d.id]=d})}),c._buttonArray=[],c._buttonHash={},e=d.find("Button"),$j.each(e,function(a,b){var d=new ia.ButtonConfig(b);c._buttonArray[c._buttonArray.length]=d,c._buttonHash[d.id]=d}),c._textArray=[],c._textHash={},e=d.find("Text"),$j.each(e,function(a,b){var d=new ia.TextConfig(b);c._textArray[c._textArray.length]=d,c._textHash[d.id]=d}),c._imageArray=[],c._imageHash={},e=d.find("Image"),$j.each(e,function(a,b){var d=new ia.ImageConfig(b);c._imageArray[c._imageArray.length]=d,c._imageHash[d.id]=d}),e=c.getProperty("noDataValue"),void 0==e&&(e=""),c._palette=new ia.PaletteConfig(d.find("MapPalettes"),c.getProperty("noDataColor"),e),b.call(null,c)},ia.ReportConfig.prototype.removeWidget=function(a){var b=this.getWidget(a);if(void 0!=b){delete this._textHash[a],delete this._buttonHash[a],delete this._imageHash[a],delete this._componentHash[a];for(var c=0;c<this._textArray.length;c++)if(b=this._textArray[c],b.id==a){this._textArray.splice(c,1);break}for(c=0;c<this._buttonArray.length;c++)if(b=this._buttonArray[c],b.id==a){this._buttonArray.splice(c,1);break}for(c=0;c<this._imageArray.length;c++)if(b=this._imageArray[c],b.id==a){this._imageArray.splice(c,1);break}for(c=0;c<this._componentArray.length;c++)if(b=this._componentArray[c],b.id==a){this._componentArray.splice(c,1);break}}},ia.ReportConfig.prototype.getWidgets=function(){return this._componentArray.concat(this._buttonArray).concat(this._textArray).concat(this._imageArray)},ia.ReportConfig.prototype.getWidget=function(a){return this.getComponent(a)?this.getComponent(a):this.getButton(a)?this.getButton(a):this.getText(a)?this.getText(a):this.getImage(a)?this.getImage(a):void 0},ia.ReportConfig.prototype.addComponent=function(a){return a=new ia.ComponentConfig(a),this._componentArray[this._componentArray.length]=a,this._componentHash[a.id]=a},ia.ReportConfig.prototype.addTable=function(a){return a=new ia.TableConfig(a),this._componentArray[this._componentArray.length]=a,this._componentHash[a.id]=a},ia.ReportConfig.prototype.addButton=function(a){return a=new ia.ButtonConfig(a),this._buttonArray[this._buttonArray.length]=a,this._buttonHash[a.id]=a},ia.ReportConfig.prototype.addText=function(a){return a=new ia.TextConfig(a),this._textArray[this._textArray.length]=a,this._textHash[a.id]=a},ia.ReportConfig.prototype.addImage=function(a){return a=new ia.ImageConfig(a),this._imageArray[this._imageArray.length]=a,this._imageHash[a.id]=a},ia.ReportConfig.prototype.getComponents=function(){return this._componentArray},ia.ReportConfig.prototype.getComponent=function(a){return this._componentHash[a]},ia.ReportConfig.prototype.getButtons=function(){return this._buttonArray},ia.ReportConfig.prototype.getButton=function(a){return this._buttonHash[a]},ia.ReportConfig.prototype.getTexts=function(){return this._textArray},ia.ReportConfig.prototype.getText=function(a){return this._textHash[a]},ia.ReportConfig.prototype.getImages=function(){return this._imageArray},ia.ReportConfig.prototype.getImage=function(a){return this._imageHash[a]},ia.ReportConfig.prototype.getMapPalette=function(){return this._palette},ia.ReportConfig.prototype.getProperties=function(){return this.properties},ia.ReportConfig.prototype.getProperty=function(a){return(a=this.properties[a])?a.value:void 0},ia.ReportConfig.prototype.setProperty=function(a,b,c){(a=this.properties[a])&&(a.value=c?a.castValue(b):b)},ia.WidgetConfig=function(a){this.xml=a,this._parseWidgetXML(a)},ia.WidgetConfig.prototype.parseXML=function(a){this._parseWidgetXML(a)},ia.WidgetConfig.prototype._parseWidgetXML=function(a){var b=this;b.xml=a,this.anchor="left",this.visible=!0,$j.each(a.attributes,function(a,c){b[c.name]=c.value,"zIndex"==c.name&&(b.zIndex=c.value)}),b.properties={};var c=$j(a).find("Property");$j.each(c,function(a,c){var d=new ia.PropertyConfig(c,b);b.properties[d.id]=d,"zIndex"==d.id&&(b.zIndex=d.value),"visible"==d.id&&(b.visible=d.value)}),void 0!=this.x&&(this.x=parseFloat(this.x)/800*100,this.x=Math.round(10*this.x)/10),void 0!=this.y&&(this.y=parseFloat(this.y)/600*100,this.y=Math.round(10*this.y)/10),"false"==this.rescale?(this.width=parseFloat(this.width),this.height=parseFloat(this.height)):(void 0!=this.width&&(this.width=parseFloat(this.width)/800*100,this.width=Math.round(10*this.width)/10),void 0!=this.height&&(this.height=parseFloat(this.height)/600*100,this.height=Math.round(10*this.height)/10)),this.type=a.nodeName.toLowerCase()},ia.WidgetConfig.prototype.getProperties=function(){return this.properties},ia.WidgetConfig.prototype.getProperty=function(a){return(a=this.properties[a])?a.value:void 0},ia.WidgetConfig.prototype.setProperty=function(a,b,c){(a=this.properties[a])&&(a.value=c?a.castValue(b):b)},ia.WidgetConfig.prototype.getAttribute=function(a){return $j(this.xml).attr(a)},ia.ComponentConfig=function(a){ia.ComponentConfig.baseConstructor.call(this,a),this._parseComponentXML(a)},ia.extend(ia.WidgetConfig,ia.ComponentConfig),ia.ComponentConfig.prototype.parseXML=function(a){this._parseWidgetXML(a)},ia.ComponentConfig.prototype._parseComponentXML=function(){},ia.PropertyConfig=function(a,b){var c=this;this.parent=b,this.xml=a,$j.each(a.attributes,function(a,b){c[b.name]=b.value}),c.value=c.castValue(c.value),c.choices&&(c.choices=c.choices.split(";"))},ia.PropertyConfig.prototype.castValue=function(a){if("float"==this.type){if(""!=a)return parseFloat(a)}else if("integer"==this.type){if(""!=a)return ia.parseInt(a)}else{if("boolean"==this.type)return 1==a||0==a?a:"true"==a;if("string-array"==this.type||"colour-array"==this.type){if(""!=a){for(var b=a.split(","),a=0;a<b.length;a++)"'"==b[a].substring(0,1)&&(b[a]=b[a].substring(1)),"'"==b[a].substring(b[a].length-1)&&(b[a]=b[a].substring(0,b[a].length-1));return b}}else if("float-array"==this.type){if(""!=a){for(var b=a.split(","),c=Array(b.length),a=0;a<b.length;a++)c[a]=parseFloat(b[a]);return c}}else if("integer-array"==this.type){if(""!=a){for(b=a.split(","),c=Array(b.length),a=0;a<b.length;a++)c[a]=ia.parseInt(b[a]);return c}}else{if("boolean-array"==this.type){for(b=a.split(","),c=Array(b.length),a=0;a<b.length;a++)c[a]="true"==b[a];return c}if(""!=a)return a}}},ia.TableConfig=function(a){ia.TableConfig.baseConstructor.call(this,a),this._parseTableXML(a)},ia.extend(ia.WidgetConfig,ia.TableConfig),ia.TableConfig.prototype.parseXML=function(a){this._parseTableXML(a)},ia.TableConfig.prototype._parseTableXML=function(a){this._parseWidgetXML(a);var b=this,a=$j(a);b.customColumns=[],b._columnArray=[],b._columnHash={};var c=0,a=a.find("Column");if($j.each(a,function(a,d){var e={},f=$j(d).attr("name");"name"!=f&&(f+="_formatted"),e.id=$j(d).attr("name"),e.formattedId=f,e.label=$j(d).attr("alias"),e.width=parseFloat($j(d).attr("width")),b._columnArray[a]=e,b._columnHash[e.id]=e,c+=e.width}),a=1-c,0!=a){a/=b._columnArray.length;for(var d=0;d<b._columnArray.length;d++)b._columnArray[d].width+=a}},ia.TableConfig.prototype.getColumn=function(){return this._columnHash[id]},ia.TableConfig.prototype.getColumns=function(){return this._columnArray},ia.TableConfig.prototype.getColumnsForIndicator=function(a,b){var c;if(this.customColumns.length>0){c=[];for(var d=0;d<this._columnArray.length;d++){var e=this._columnArray[d];c.push({id:e.id,label:e.label,formattedId:e.formattedId})}for(var f=this.customColumns.concat(),d=0;d<c.length;d++)for(var e=c[d],g=f.length-1;g>=0;g--){var h=f[g];if(h.id==e.id){e.label=h.label,f.splice(g,1);break}}c=c.concat(f)}else c=this._columnArray.concat();for(f=[],d=0;d<c.length;d++)g=c[d],e={},e.id=g.id,e.formattedId=g.formattedId,e.label=b.formatMessage(g.label),e.width=g.width,e.type="categoric","name"==e.id?e.type="categoric":"value"==e.id?e.type=a.type:(g=a.getAssociate(e.id),null!=g?e.type=g.type:(g=a.geography.getComparisonFeature(e.id),void 0!=g&&(e.type=a.type,e.comparison=!0))),f.push(e);return f},ia.TableConfig.prototype.getColumnsForIndicators=function(a,b){var c,d=a[0];if(this.customColumns.length>0){c=[];for(var e=0;e<this._columnArray.length;e++){var f=this._columnArray[e];c.push({id:f.id,label:f.label,formattedId:f.formattedId})}for(var g=this.customColumns.concat(),e=0;e<c.length;e++)for(var f=c[e],h=g.length-1;h>=0;h--){var i=g[h];if(i.id==f.id){f.label=i.label,g.splice(h,1);break}}c=c.concat(g)}else c=this._columnArray.concat();for(g=[],e=0;e<c.length;e++){if(i=c[e],h=!0,f={},f.id=i.id,f.formattedId=i.formattedId,f.label=b.formatMessage(i.label),f.width=i.width,f.type="categoric","name"==f.id)f.type="categoric";else if("value"==f.id)f.type=d.type;else if(-1!=f.id.indexOf("~")){var i=f.id.split("~")[0],j=f.id.split("~")[1],j=a[j-1];if(void 0!=j)if("value"==i)f.type=j.type;else{var k=j.getAssociate(i),l=j.geography.getFeatures()[0];"lowerlimit"==i.toLowerCase()&&void 0!=j.getLowerLimits()?f.type="numeric":"upperlimit"==i.toLowerCase()&&void 0!=j.getUpperLimits()?f.type="numeric":k?f.type=k.type:l.getProperty(f.id)?f.type="categoric":h=!1}}else k=d.getAssociate(f.id),l=d.geography.getFeatures()[0],"lowerlimit"==f.id.toLowerCase()&&void 0!=d.getLowerLimits()?f.type="numeric":"upperlimit"==f.id.toLowerCase()&&void 0!=d.getUpperLimits()?f.type="numeric":k?f.type=k.type:l.getProperty(f.id)?f.type="categoric":h=!1;h&&g.push(f)}return g},ia.ButtonConfig=function(a){ia.ButtonConfig.baseConstructor.call(this,a),this._parseButtonXML(a)},ia.extend(ia.WidgetConfig,ia.ButtonConfig),ia.ButtonConfig.prototype.parseXML=function(a){this._parseButtonXML(a)},ia.ButtonConfig.prototype._parseButtonXML=function(a){this._parseWidgetXML(a),this["css-class"]=this["css-class"]||"",this.text=this.text||"",this.target=this.target||"_blank",this.tooltip=this.tooltip||"",this.href=this.href||"",""!=this.href&&-1==this.href.indexOf("http")&&-1==this.href.indexOf("javascript")&&(this.href=ia.IAS_PATH+this.href)},ia.TextConfig=function(a){ia.TextConfig.baseConstructor.call(this,a),this._parseTextXML(a)},ia.extend(ia.ButtonConfig,ia.TextConfig),ia.TextConfig.prototype.parseXML=function(a){this._parseTextXML(a)},ia.TextConfig.prototype._parseTextXML=function(a){this._parseButtonXML(a),this.cssProps={},"-1"!=this["wrap-width"]&&(this.width=parseFloat(this["wrap-width"])/800*100,this.width=Math.round(10*this.width)/10),void 0!=this.fill&&(this.cssProps.color=this.fill),void 0!=this["font-family"]&&(this.cssProps["font-family"]=this["font-family"]),void 0!=this["font-size"]&&(this.cssProps["font-size"]=this["font-size"]+"px"),void 0!=this["font-style"]&&(this.cssProps["font-style"]=this["font-style"]),void 0!=this["font-weight"]&&(this.cssProps["font-weight"]=this["font-weight"]),this.text=$j(a).text()},ia.ImageConfig=function(a){ia.ImageConfig.baseConstructor.call(this,a),this._parseImageXML(a)},ia.extend(ia.ButtonConfig,ia.ImageConfig),ia.ImageConfig.prototype.parseXML=function(a){this._parseImageXML(a)},ia.ImageConfig.prototype._parseImageXML=function(a){this._parseButtonXML(a),this.src=this.src||"",""!=this.src&&-1==this.src.indexOf("http")&&-1==this.src.indexOf("javascript")&&(this.src=ia.IAS_PATH+this.src)},ia.PaletteConfig=function(a,b,c){this.noDataColor=b,this.noDataValue=c,this.parseXML(a)},ia.PaletteConfig.prototype.noDataValue="",ia.PaletteConfig.prototype.noDataColor="",ia.PaletteConfig.prototype.parseXML=function(a){var b=this,a=$j(a);this.defaultSchemeId=this.defaultPaletteId="",this.noClasses=5,this.minNoClasses=2,this.maxNoClasses=10,void 0!=a.attr("default")&&(this.defaultPaletteId=a.attr("default")),void 0!=a.attr("classes")&&(this.noClasses=ia.parseInt(a.attr("classes"))),void 0!=a.attr("maxclasses")&&(this.maxNoClasses=ia.parseInt(a.attr("maxclasses"))),b._paletteArray=[],b._paletteHash={};var c=a.find("ColourRange");$j.each(c,function(a,c){var d=$j(c).find("Colour"),e=[];$j.each(d,function(a,b){e.push($j(b).text())}),d=new ia.ColorPalette(e),d.id=$j(c).attr("id"),b._paletteHash[d.id]=d,b._paletteArray.push(d)});var d=void 0==this.noDataColor?"#f9f9f9":this.noDataColor,e=["null",null,"NaN","","No Data",void 0];e[e.length]=this.noDataValue,b._schemeArray=[],b._schemeHash={},c=a.find("ColourScheme"),$j.each(c,function(a,c){var f=[],g=new ia.ColorPalette,h=$j(c).find("ColourMatch");for($j.each(h,function(a,b){var c=$j(b).attr("for"),d=$j(b).text();f.push(d),"__next"!==c&&(g.matchColorsToValues[c]=d)}),a=0;a<e.length;a++)g.matchColorsToValues[e[a]]=d;g.setColorList(f),g.id=$j(c).attr("id"),b._schemeHash[g.id]=g,b._schemeArray.push(g)}),this.defaultSchemeId=b._schemeArray[0].id},ia.PaletteConfig.prototype.getColorPalettes=function(){return this._paletteArray},ia.PaletteConfig.prototype.getColorPalettes=function(){return this._paletteArray},ia.PaletteConfig.prototype.getColorPalette=function(a){return this._paletteHash[a]},ia.PaletteConfig.prototype.getColorSchemes=function(){return this._schemeArray},ia.PaletteConfig.prototype.getColorScheme=function(a){return this._schemeHash[a]},ia.BaseData=function(a,b){if(this.data=a,this.parent=b,this._properties={},
this.hasData=!1,this.type="categoric",void 0!=this.parent){this.type=this.parent.type,this.precision=this.parent.precision;var c=this.parent.getProperties();if(void 0!=c){var d,e=c.length;for(d in c)this._properties[d]=c[d]}}if(this.id=this.data.themeId||this.data.id,this.name=this.data.themeName||this.data.name,this.href=this.data.href,this.id=""+this.id,this.fileName=this.data.fileName,void 0!=this.data.type&&(this.type=this.data.type),void 0!=this.data.precision&&(this.precision=ia.parseInt(this.data.precision)),c=this.data.properties,void 0!=c)for(e=c.length,d=0;e>d;d++){var f=c[d];this._properties[f.name]=f.value}this.customColumns=[];for(var g in this._properties)-1!=g.indexOf("column_")&&(c={},c.id=g.substring(g.indexOf("_")+1,g.length),"indicator"==c.id&&(c.id="value"),c.formattedId="name"!=c.id?c.id+"_formatted":c.id,c.label=this._properties[g],this.customColumns.push(c))},ia.BaseData.prototype.getProperty=function(a){return this._properties[a]},ia.BaseData.prototype.setProperty=function(a,b){this._properties[a]=b},ia.BaseData.prototype.getProperties=function(){return this._properties},ia.BaseData.prototype.getChildren=function(){},ia.BaseData.prototype.getDataTree=function(a,b,c,d){var c=void 0==c?{}:c,e={};e.id=this.geography?this.geography.id+"~"+this.id:this.id,this instanceof ia.Geography?e.datatype="geog":this instanceof ia.Theme?e.datatype="theme":this instanceof ia.Indicator&&(e.datatype="indicator"),e.label=this.name,void 0!=this.href&&(e.href=this.href),void 0!=d&&(e.parent=d);var f=this.getChildren(),d=[];if(null!=f){e.type="branch";var g=f[0];g instanceof ia.Theme?e.childtype="theme":g instanceof ia.Indicator&&(e.childtype="indicator");for(var h,g=f.length,i=0;g>i;i++){var j=f[i];j.id!=h&&(this.geography?d.push(this.geography.id+"~"+j.id):d.push(this.id+"~"+j.id),j.getDataTree(a,b,c,e.id)),h=j.id}d.length>0&&(e.children=d)}else if(0!=a&&void 0!=this.date){if(e.type="branch",e.childtype="date",a=this.theme.getIndicators(this.id),g=a.length,b)for(i=g-1;i>=0;i--)b=a[i],h={},h.id=this.geography.id+"~"+b.id+"~"+b.date,h.label=b.date,h.type="leaf",h.parent=e.id,h.datatype="date",void 0!=b.href&&(h.href=b.href),d.push(h.id),c[h.id]=h;else for(i=0;g>i;i++)b=a[i],h={},h.id=this.geography.id+"~"+b.id+"~"+b.date,h.label=b.date,h.type="leaf",h.parent=e.id,h.datatype="date",void 0!=b.href&&(h.href=b.href),d.push(h.id),c[h.id]=h;d.length>0&&(e.children=d)}else e.type="leaf";return c[e.id]=e,c},ia.ReportData=function(){ia.ReportData.baseConstructor.call(this),this._propertyHash={},this.loadByIndicator=!1,this.path=this.url="",this.formatter=new ia.Formatter},ia.extend(ia.EventDispatcher,ia.ReportData),ia.ReportData.prototype.getGeographies=function(){return this._geogArray},ia.ReportData.prototype.getProperty=function(a){return this._propertyHash[a]},ia.ReportData.prototype.setProperty=function(a,b){this._propertyHash[a]=b},ia.ReportData.prototype.getProperties=function(){return this._propertyHash},ia.ReportData.prototype.getGeography=function(a){return this._geogHash[a]},ia.ReportData.prototype.addGeography=function(a){return this.data.geographies[this.data.geographies.length]=a,a=new ia.Geography(this,a),a.index=this._geogArray.length,this._geogArray[a.index]=a,this._geogHash[a.id]=a},ia.ReportData.prototype.loadSource=function(a,b){var c=this;this.url=a,this.path=ia.File.getFileDirectory(a),ia.File.load({url:a,dataType:"json",onSuccess:function(a){c.parseData(a,b)}})},ia.ReportData.prototype.parseData=function(a,b){this.data=a,this._geogArray=[],this._geogHash={};var c=a.geographies;if(void 0!=c)for(var d=c.length,e=0;d>e;e++){var f=new ia.Geography(this,c[e]);f.index=e,this._geogArray[e]=f,this._geogHash[f.id]=f}b.call(null,this)},ia.ReportData.prototype.refresh=function(a){var b=this;b.parseData(b.data,function(){a.call(null,b)})},ia.ReportData.prototype.getDataTree=function(a,b){var c={},d={id:"topLevel",label:"topLevel",type:"branch",childtype:"geography"};c[d.id]=d;var e,f=[];for(e in this._geogHash)f.push(e),this._geogHash[e].getDataTree(a,b,c,d.id);return d.children=f,c},ia.ReportData.prototype.getGeographyTree=function(){var a={},b={id:"topLevel",label:"topLevel",type:"branch"};a[b.id]=b;for(var c=[],d=0;d<this._geogArray.length;d++){var e=this._geogArray[d],f={};f.id=e.id,f.label=e.name,f.type="leaf",a[f.id]=f,c.push(e.id)}return b.children=c,a},ia.Geography=function(a,b){this.reportData=a,this.parseData(b)},ia.extend(ia.BaseData,ia.Geography),ia.Geography.prototype.parseData=function(a){ia.Geography.baseConstructor.call(this,a,this.reportData),this._featureArray=[],this._featureHash={};var b=this.data.features;if(void 0!=b)for(var a=b.length,c=0;a>c;c++){var d=new ia.Feature(b[c]);this._featureArray[c]=d,this._featureHash[d.id]=d}if(this._comparisonArray=[],this._comparisonHash={},b=this.data.comparisonFeatures,void 0!=b)for(a=b.length,c=0;a>c;c++)d=new ia.Feature(b[c]),d.isComparison=!0,this._comparisonArray[c]=d,this._comparisonHash[d.id]=d;if(this._filterArray=[],this._filterHash={},b=this.data.filters,void 0!=b)for(a=b.length,c=0;a>c;c++)d=new ia.Filter(b[c]),this._filterArray[c]=d,this._filterHash[d.id]=d;if(this._themeArray=[],this._themeHash={},d=this.data.themes,void 0!=d)for(a=d.length,c=0;a>c;c++)b=new ia.Theme(this,void 0,d[c]),this._themeArray[c]=b,this._themeHash[b.id]=b},ia.Geography.prototype.getThemes=function(){return this._themeArray},ia.Geography.prototype.getTheme=function(a){return this._themeHash[a]},ia.Geography.prototype.getFeatures=function(){return this._featureArray},ia.Geography.prototype.getFeature=function(a){return void 0!=this._featureHash[a]?this._featureHash[a]:this.getComparisonFeature(a)},ia.Geography.prototype.getComparisonFeatures=function(){return this._comparisonArray},ia.Geography.prototype.getComparisonFeature=function(a){return this._comparisonHash[a]},ia.Geography.prototype.getFilters=function(){return this._filterArray},ia.Geography.prototype.getFilter=function(a){return this._filterHash[a]},ia.Geography.prototype.getChildren=function(){return this._themeArray},ia.Geography.prototype.getFirstIndicator=function(a){return this._themeArray[0].getFirstIndicator(a)},ia.Geography.prototype.getIndicator=function(a,b,c){for(var d=this._themeArray.length,e=0;d>e;e++){var f=this._themeArray[e].getNestedIndicator(a,b,c);if(void 0!=f)return f}},ia.Geography.prototype.getIndicators=function(){for(var a=[],b=this._themeArray.length,c=0;b>c;c++)a=a.concat(this._themeArray[c].getNestedIndicators());return a},ia.Geography.prototype.getIndicatorByName=function(a,b){for(var c=this._themeArray.length,d=0;c>d;d++){var e=this._themeArray[d].getIndicatorByName(a,b);if(void 0!=e)return e}},ia.Geography.prototype.loadIndicator=function(a,b,c){if(void 0!=this.reportData.model)this._loadIndicatorFromModel(a,b,c);else{var d=this.getIndicator(a,b);d&&d.parent.loadIndicator(a,b,c)}},ia.Geography.prototype._loadIndicatorFromModel=function(a,b,c){function d(){if(1==e.reportData.loadByIndicator){var d=e.getIndicator(a,b);d&&d.hasData?e._loadOrphanedAssociates(d,function(){c.call(null,d)}):f.getIndicator(e.id,a,b,function(d){for(var f=0;f<d.length;f++){var g=d[f],h=e.getIndicator(g.id,g.date);h&&!h.hasData&&(h.data=g,h.parseData())}h=e.getIndicator(a,b),e._loadOrphanedAssociates(h,function(){c.call(null,h)})})}else(d=e.getIndicator(a,b))&&e._loadOrphanedAssociates(d,function(){d.parent.loadIndicator(a,b,c)})}var e=this,f=e.reportData.model;0==e.getFeatures().length?f.getFeatures(e.id,function(a){e.parseData(a),d()}):d()},ia.Geography.prototype._loadOrphanedAssociates=function(a,b){var c=this,d=c.reportData.model;if(void 0!=a){var e=a.getAssociates(),f=-1,g=function(){if(f++,f==e.length)b.call(null);else{var h=e[f];h.hasData?g():d.loadOrphanedAssociate(c.id,h,function(b){for(var c=0;c<b.length;c++){var d=b[c],e=a.getAssociate(d.name);e&&(e.data=d,e.parseData())}g()})}};g()}else b.call(null)},ia.Geography.prototype.getFilteredFeatures=function(a,b){for(var c=this._featureArray.length,d=[],e=0;c>e;e++){var f=this._featureArray[e],g=f.getFilterValue(a);if(void 0!=g)if(-1!=g.indexOf(";")){for(var g=g.split(";"),h=0;h<g.length;h++)if(g[h]==b){d.push(f.id);break}}else g==b&&d.push(f.id)}return d},ia.Geography.prototype.getFilterTree=function(){var a={},b={id:"topLevel",label:"topLevel",type:"branch"};a[b.id]=b;for(var c=[],d=this._filterArray.length,e=this._featureArray.length,f=0;d>f;f++){var g=this._filterArray[f];if(1!=d){var h={};h.id=g.id,h.label=g.name,h.type="branch",h.parent=b.id,a[h.id]=h,c.push(h.id)}for(var i=[],j=0;e>j;j++){var k=this._featureArray[j].getFilterValue(g.id);if(void 0!=k)if(-1!=k.indexOf(";"))for(var k=k.split(";"),l=0;l<k.length;l++){var m=k[l];if(void 0!=m&&-1==i.indexOf(g.id+"~"+m)){var n={};n.id=g.id+"~"+m,n.label=m,n.type="leaf",1!=d&&(n.parent=g.id),a[n.id]=n,i.push(n.id)}}else-1==i.indexOf(g.id+"~"+k)&&(n={},n.id=g.id+"~"+k,n.label=k,n.type="leaf",1!=d&&(n.parent=g.id),a[n.id]=n,i.push(n.id))}i.sort(),1!=d?h.children=i:b.children=i}return 1!=d&&(b.children=c),a},ia.Geography.prototype.loadData=function(a){function b(){d++,d==c._themeArray.length?a.call(null,c):c._themeArray[d].loadData(b)}var c=this,d=0;this._themeArray.length>0&&this._themeArray[0].loadData(b)},ia.Geography.prototype.getFeatureData=function(a,b,c){var d={};d.id=this.id,d.name=this.name,d.features=[];var e,f,g=this.getThemes(),h=g.length;null!=a?e=a.length:(f=this.getFeatures(),e=f.length);for(var i=0;e>i;i++){var j;if(j=null!=a?this.getFeature(a[i]):f[i],void 0!=j){var k={};k.id=j.id,k.name=j.name,k.href=j.href,k.properties=[];var l,m=j.getProperties();for(l in m){var n={};n.name=l,n.value=m[l],n.formattedValue=this.reportData.formatter.format(n.value),k.properties[k.properties.length]=n}if(k.themes=[],d.features[d.features.length]=k,void 0!=c)n=this.getTheme(c),n.hasData&&(n=n.getFeatureData(j,b),k.themes[k.themes.length]=n);else for(m=0;h>m;m++)n=g[m],n.hasData&&(n=n.getFeatureData(j,b),k.themes[k.themes.length]=n)}}return d},ia.Geography.prototype.getIndicatorData=function(a,b){var c={};c.id=this.id,c.name=this.name,c.themes=[];for(var d=this.getThemes(),e=d.length,f=0;e>f;f++){var g=d[f];g.hasData&&(g=g.getIndicatorData(a,b),c.themes[c.themes.length]=g)}return c},ia.Geography.prototype.getProfileData=function(a,b,c){var d={};d.id=this.id,d.name=this.name,d.themes=[];for(var e=this.getThemes(),f=e.length,g=0;f>g;g++)e[g].getProfileData(a,d.themes,b,c);return d},ia.Theme=function(a,b,c){ia.Theme.baseConstructor.call(this,c,b||a),this.hasThemes=!1,this.geography=a,this.hasData=void 0!=c.fileName||void 0!=this.geography.reportData.model?!1:!0,this.parseData(c)},ia.extend(ia.BaseData,ia.Theme),ia.Theme.prototype.getCSV=function(a,b){var c=[],d=-1,e=this.getData(a,b),f=e.dates,g=f.length,h=e[f[0]];c[++d]='"id","name",';for(var i=0;g>i;i++){var j=f[i];c[++d]='"'+j+'"',i!=g-1&&(c[++d]=",")}c[++d]="\n";for(var k in h){for(j=h[k],c[++d]='"'+j.id+'",',c[++d]='"'+j.name+'",',i=0;g>i;i++)j=f[i],j=e[j][k],j=j.value,ia.isNumber(j)?c[++d]=j:c[++d]='"'+j+'"',i!=g-1&&(c[++d]=",");c[++d]="\n"}c.join("")},ia.Theme.prototype.parseData=function(){void 0!=this.data.fileName&&(this.fileName=this.geography.reportData.path+this.data.fileName),this._themeArray=[];var a=this.data.themes;if(void 0!=a)for(var b=a.length,c=0;b>c;c++)this.hasThemes=!0,this._themeArray[c]=new ia.Theme(this.geography,this,a[c]);if(this._indicatorArray=[],this._indicatorHash={},this._indicatorDateHash={},a=this.data.indicators,void 0!=a)for(var d,e=[],b=a.length,c=0;b>c;c++){var f=new ia.Indicator(this.geography,this,a[c]);this._indicatorArray[c]=f,f.date?(this._indicatorHash[f.id+"_"+f.date]=f,f.id!=d&&(e=[]),e.push(f.date),d=f.id,this._indicatorDateHash[f.id]=e):this._indicatorHash[f.id]=f}},ia.Theme.prototype.getThemes=function(){return this._themeArray},ia.Theme.prototype.getParentThemes=function(){for(var a=[this.name],b=this.parent;1==b.hasThemes;)a.push(b.name),b=b.parent;return a.reverse()},ia.Theme.prototype.getChildren=function(){return this.hasThemes?this._indicatorArray.concat(this._themeArray):this._indicatorArray},ia.Theme.prototype.getData=function(a,b){var c,d={dates:[],type:[],profiles:[]};c=a?this.getIndicators(a):this.getIndicators();for(var e=c.length,f=0;e>f;f++){var g=c[f];void 0!=g.date?(d.type[d.type.length]=g.type,d.dates[d.dates.length]=g.date,d.profiles[d.profiles.length]=g.profile,d[g.date]=g.getData(b)):(d.type[d.type.length]=g.type,d.dates[d.dates.length]=g.name,d.profiles[d.profiles.length]=g.profile,d[g.name]=g.getData(b))}return d},ia.Theme.prototype.getDataForDate=function(a,b){for(var c={dates:[],type:[]},d=this.getIndicators(),e=d.length,f=0;e>f;f++){var g=d[f];g.date==a&&(c.type[c.type.length]=g.type,c.dates[c.dates.length]=g.name,c[g.name]=g.getData(b))}return c},ia.Theme.prototype.getComparisonData=function(a){for(var b={dates:[],type:[]},a=this.getIndicators(a),c=a.length,d=0;c>d;d++){var e=a[d];void 0!=e.date&&(b.type[b.type.length]=e.type,b.dates[b.dates.length]=e.date,b[e.date]=e.getComparisonData())}return b},ia.Theme.prototype.getComparisonDataForDate=function(a){for(var b={dates:[],type:[]},c=this.getIndicators(),d=c.length,e=0;d>e;e++){var f=c[e];f.date==a&&(b.type[b.type.length]=f.type,b.dates[b.dates.length]=f.name,b[f.name]=f.getComparisonData())}return b},ia.Theme.prototype.getIndicators=function(a){if(null==a||void 0==a)return this._indicatorArray;var b=this.getIndicatorDates(a),c=[];if(void 0!=b)for(var d=b.length,e=0;d>e;e++)c.push(this.getIndicator(a,b[e]));else c.push(this.getIndicator(a));return c},ia.Theme.prototype.getIndicatorsWithDate=function(a){for(var b=this.getIndicatorIds(),c=[],d=0;d<b.length;d++)c[c.length]=this.getIndicator(b[d],a);return c},ia.Theme.prototype.getFirstIndicator=function(a){if(void 0==a&&(a=!0),this._indicatorArray.length>0){var b=this.getIndicators(this._indicatorArray[0].id);return a?b[b.length-1]:b[0]}if(this.hasThemes)for(b=this._themeArray.length;b>0;)return this._themeArray[0].getFirstIndicator(a)},ia.Theme.prototype.getIndicator=function(a,b,c){return void 0==c&&(c=!0),void 0!=b&&""!=b&&void 0!=this._indicatorHash[a+"_"+b]?this._indicatorHash[a+"_"+b]:void 0!=this._indicatorHash[a]?this._indicatorHash[a]:(b=this.getIndicatorDates(a))?c?this._indicatorHash[a+"_"+b[b.length-1]]:this._indicatorHash[a+"_"+b[0]]:void 0},ia.Theme.prototype.getIndicatorByName=function(a,b){for(var c=this._indicatorArray.length,d=0;c>d;d++){var e=this._indicatorArray[d];if(e.name==a){if(!b)return e;if(e.date==b)return e}}},ia.Theme.prototype.getNestedIndicator=function(a,b,c){var d=this.getIndicator(a,b,c);if(void 0!=d)return d;if(this.hasThemes)for(var e=this._themeArray.length,f=0;e>f;f++)if(d=this._themeArray[f].getNestedIndicator(a,b,c),void 0!=d)return d},ia.Theme.prototype.getNestedIndicators=function(){var a=this._indicatorArray.concat();if(this.hasThemes)for(var b=this._themeArray.length,c=0;b>c;c++)a=a.concat(this._themeArray[c].getNestedIndicators());return a},ia.Theme.prototype.getIndicatorDates=function(a){return this._indicatorDateHash[a]},ia.Theme.prototype.getIndicatorIds=function(){for(var a=this._indicatorArray.length,b=[],c=0;a>c;c++){var d=this._indicatorArray[c];-1==b.indexOf(d.id)&&b.push(d.id)}return b},ia.Theme.prototype.getIndicatorNames=function(){for(var a=this._indicatorArray.length,b=[],c=0;a>c;c++){var d=this._indicatorArray[c];-1==b.indexOf(d.name)&&b.push(d.name)}return b},ia.Theme.prototype.loadData=function(a){var b=this;if(0==b.hasData){var c=b.geography.reportData.model;void 0!=c?c.getTheme(b.geography.id,b.id,function(c){if(b.data=c,b.hasData=!0,b.parseData(),b.hasThemes){var d=0,e=function(){d++,d==b._themeArray.length?a.call(null,b):b._themeArray[d].loadData(e)};b._themeArray.length>0&&b._themeArray[0].loadData(e)}else a.call(null,b)}):ia.File.load({url:b.fileName,dataType:"json",onSuccess:function(c){if(b.data=c,b.hasData=!0,b.parseData(),b.hasThemes){var d=0,e=function(){d++,d==b._themeArray.length?a.call(null,b):b._themeArray[d].loadData(e)};b._themeArray.length>0&&b._themeArray[0].loadData(e)}else a.call(null,b)}})}else a.call(null,b)},ia.Theme.prototype.loadIndicator=function(a,b,c){var d=this,e=d.getIndicator(a,b);void 0!=e&&(0==d.hasData?d.loadData(function(){var e=d.getIndicator(a,b);c.call(null,e)}):c.call(null,e))},ia.Theme.prototype.getProfileData=function(a,b,c,d,e){var f={};if(f.id=this.id,f.name=this.name,f.indicators=[],f.longName=void 0!==e?e.longName+" > "+f.name:f.name,b[b.length]=f,this.hasThemes)for(var g=this._themeArray.length,e=0;g>e;e++)this._themeArray[e].getProfileData(a,b,c,d,f);if(d&&void 0!=c)b=this.getIndicatorsWithDate(c);else if(d&&void 0==c)for(c=this.getIndicatorIds(),b=[],e=0;e<c.length;e++){var h=c[e];b[b.length]=this.getIndicator(h,void 0,!0)}else b=this.getIndicators();for(c=b.length,e=0;c>e;e++){d=b[e],g={};for(h in d.profile)g[h]=d.profile[h];g.features=[];for(var i=a.length,j=0;i>j;j++){var k=d.featureProfiles[a[j]];k&&(g.features[g.features.length]=k)}g.comparison=d.getComparisonData(),f.indicators[f.indicators.length]=g}},ia.Theme.prototype.getFeatureData=function(a,b){var c={};if(c.id=this.id,c.name=this.name,c.href=this.href,c.precision=this.precision,c.themes=[],c.indicators=[],this.hasThemes)for(var d=this._themeArray.length,e=0;d>e;e++){var f=this._themeArray[e];f.hasData&&(f=f.getFeatureData(a,b),c.themes[c.themes.length]=f)}for(d=this.getIndicators(),f=d.length,e=0;f>e;e++){var g=d[e];if(void 0==b||b==g.date){var h={};h.id=g.id,h.name=g.name,h.date=g.date,h.type=g.type,h.href=g.href,h.precision=g.precision,h.value=g.getValue(a.id),h.formattedValue=g.getFormattedValue(a.id),h.associates=[],h.properties=[];for(var i=g.getAssociates(),j=i.length,k=0;j>k;k++){var l=i[k],m={};m.name=l.name,m.type=l.type,m.precision=l.precision,m.value=l.getValue(a.id),m.formattedValue=l.getFormattedValue(a.id),h.associates[h.associates.length]=m}(j=g.getLowerLimits())&&(i={},i.value=j.getValue(a.id),i.precision=j.precision,i.formattedValue=j.getFormattedValue(a.id),h.lowerLimit=i),(j=g.getUpperLimits())&&(i={},i.value=j.getValue(a.id),i.precision=j.precision,i.formattedValue=j.getFormattedValue(a.id),h.upperLimit=i);var n,g=g.getProperties();for(n in g)i={},i.name=n,i.value=g[n],i.formattedValue=this.geography.reportData.formatter.format(i.value),h.properties[h.properties.length]=i;c.indicators[c.indicators.length]=h}}return c},ia.Theme.prototype.getIndicatorData=function(a,b){var c={};if(c.id=this.id,c.name=this.name,c.href=this.href,c.precision=this.precision,c.themes=[],c.indicators=[],this.hasThemes)for(var d=this._themeArray.length,e=0;d>e;e++){var f=this._themeArray[e];f.hasData&&(f=f.getIndicatorData(o,b),c.themes[c.themes.length]=f)}var g;null!=a?d=a.length:(g=this.geography.getFeatures(),d=g.length);for(var f=this.getIndicators(),h=f.length,e=0;h>e;e++){var i=f[e];if(void 0==b||b==i.date){var j={};j.id=i.id,j.name=i.name,j.date=i.date,j.type=i.type,j.href=i.href,j.precision=i.precision,j.properties=[];var k,l=i.getProperties();for(k in l){var m={};m.name=k,m.value=l[k],m.formattedValue=this.geography.reportData.formatter.format(m.value),j.properties[j.properties.length]=m}j.features=[];for(var n=0;d>n;n++){var o;o=null!=a?this.geography.getFeature(a[n]):g[n];var p={};p.id=o.id,p.name=o.name,p.href=o.href,p.value=i.getValue(o.id),p.formattedValue=i.getFormattedValue(o.id),p.associates=[],p.properties=[],l=o.getProperties();for(k in l)m={},m.name=k,m.value=l[k],m.formattedValue=this.geography.reportData.formatter.format(m.value),p.properties[p.properties.length]=m;for(var l=i.getAssociates(),m=l.length,q=0;m>q;q++){var r=l[q],s={};s.name=r.name,s.type=r.type,s.precision=r.precision,s.value=r.getValue(o.id),s.formattedValue=r.getFormattedValue(o.id),p.associates[p.associates.length]=s}(m=i.getLowerLimits())&&(l={},l.value=m.getValue(o.id),l.precision=m.precision,l.formattedValue=m.getFormattedValue(o.id),p.lowerLimit=l),(m=i.getUpperLimits())&&(l={},l.value=m.getValue(o.id),l.precision=m.precision,l.formattedValue=m.getFormattedValue(o.id),p.upperLimit=l),j.features[j.features.length]=p}c.indicators[c.indicators.length]=j}}return c},ia.Associate=function(a,b,c){ia.Associate.baseConstructor.call(this,c,b),this._stats=new ia.Statistics,this.indicator=b,this.geography=a,this.parseData(c)},ia.extend(ia.BaseData,ia.Associate),ia.Associate.prototype.parseData=function(){if(this.id=this.data.name,this._indexHash={},this._valueArray=[],this._fValueArray=[],this.hasData=!1,this.data.values&&this.data.values.length>0){this.hasData=!0,this._valueArray=this.data.values.concat();for(var a,b,c,d=this.geography.getFeatures(),e=d.length,f=0;e>f;f++)c=d[f].id,a=this._valueArray[f],b="categoric"==this.type?this.geography.reportData.formatter.formatText(a):this.geography.reportData.formatter.format(a,this.precision),b==this.geography.reportData.formatter.noDataValue&&(this._valueArray[f]=b),this._indexHash[c]=f,this._fValueArray.push(b),c=this.indicator.featureProfiles[c],void 0!=c&&(c[this.name]=this._valueArray[f],c[this.name+"_formatted"]=b,c[this.name+"_type"]=this.type);this._stats.setData(this._valueArray),this.mean=this._stats.mean,this.median=this._stats.median,this.count=this._stats.count,this.sum=this._stats.sum,this.minValue=this._stats.minValue,this.maxValue=this._stats.maxValue,this.range=this._stats.range,this.lowerQuartile=this._stats.lowerQuartile,this.upperQuartile=this._stats.upperQuartile,this.interquartileRange=this._stats.interquartileRange,this.fifth=this._stats.getPercentile(.05),this.ninetyFifth=this._stats.getPercentile(.95),this.range_95_5=this.ninetyFifth-this.fifth,this.variance=this._stats.variance,this.standardDeviation=this._stats.standardDeviation,this.count_formatted=this.geography.reportData.formatter.format(this.count),this.mean_formatted=this.geography.reportData.formatter.format(this.mean,this.precision),this.median_formatted=this.geography.reportData.formatter.format(this.median,this.precision),this.sum_formatted=this.geography.reportData.formatter.format(this.sum,this.precision),this.minValue_formatted=this.geography.reportData.formatter.format(this.minValue,this.precision),this.maxValue_formatted=this.geography.reportData.formatter.format(this.maxValue,this.precision),this.range_formatted=this.geography.reportData.formatter.format(this.range,this.precision),this.lowerQuartile_formatted=this.geography.reportData.formatter.format(this.lowerQuartile,this.precision),this.upperQuartile_formatted=this.geography.reportData.formatter.format(this.upperQuartile,this.precision),this.interquartileRange_formatted=this.geography.reportData.formatter.format(this.interquartileRange,this.precision),this.variance_formatted=this.geography.reportData.formatter.format(this.variance,this.precision),this.standardDeviation_formatted=this.geography.reportData.formatter.format(this.standardDeviation,this.precision),this.fifth_formatted=this.geography.reportData.formatter.format(this.fifth,this.precision),this.ninetyFifth_formatted=this.geography.reportData.formatter.format(this.ninetyFifth,this.precision),this.range_95_5_formatted=this.geography.reportData.formatter.format(this.range_95_5,this.precision),this.indicator.profile[this.name+"_minValue"]=this.minValue,this.indicator.profile[this.name+"_maxValue"]=this.maxValue,this.indicator.profile[this.name+"_sum"]=this.sum,this.indicator.profile[this.name+"_count"]=this.count,this.indicator.profile[this.name+"_mean"]=this.mean,this.indicator.profile[this.name+"_median"]=this.median,this.indicator.profile[this.name+"_range"]=this.range,this.indicator.profile[this.name+"_lowerQuartile"]=this.lowerQuartile,this.indicator.profile[this.name+"_upperQuartile"]=this.upperQuartile,this.indicator.profile[this.name+"_fifth"]=this.fifth,this.indicator.profile[this.name+"_ninetyFifth"]=this.ninetyFifth,this.indicator.profile[this.name+"_range_95_5"]=this.range_95_5,this.indicator.profile[this.name+"_interquartileRange"]=this.interquartileRange,this.indicator.profile[this.name+"_variance"]=this.variance,this.indicator.profile[this.name+"_standardDeviation"]=this.standardDeviation,this.indicator.profile[this.name+"_minValue_formatted"]=this.minValue_formatted,this.indicator.profile[this.name+"_maxValue_formatted"]=this.maxValue_formatted,this.indicator.profile[this.name+"_sum_formatted"]=this.sum_formatted,this.indicator.profile[this.name+"_mean_formatted"]=this.mean_formatted,this.indicator.profile[this.name+"_median_formatted"]=this.median_formatted,this.indicator.profile[this.name+"_range_formatted"]=this.range_formatted,this.indicator.profile[this.name+"_lowerQuartile_formatted"]=this.lowerQuartile_formatted,this.indicator.profile[this.name+"_upperQuartile_formatted"]=this.upperQuartile_formatted,this.indicator.profile[this.name+"_interquartileRange_formatted"]=this.interquartileRange_formatted,this.indicator.profile[this.name+"_variance_formatted"]=this.variance_formatted,this.indicator.profile[this.name+"_standardDeviation_formatted"]=this.standardDeviation_formatted,this.indicator.profile[this.name+"_fifth_formatted"]=this.fifth_formatted,this.indicator.profile[this.name+"_ninetyFifth_formatted"]=this.ninetyFifth_formatted,this.indicator.profile[this.name+"_range_95_5_formatted"]=this.range_95_5_formatted}if(this._comparisonIndexHash={},this._comparisonArray=[],this._fComparisonArray=[],this.data.comparisonValues&&this.data.comparisonValues.length>0)for(this._comparisonArray=this.data.comparisonValues.concat(),d=this.geography.getComparisonFeatures(),e=d.length,f=0;e>f;f++)c=d[f].id,a=this._comparisonArray[f],this._comparisonIndexHash[c]=f,b="categoric"==this.type?this.geography.reportData.formatter.formatText(a):this.geography.reportData.formatter.format(a,this.precision),this._fComparisonArray.push(b),c=this.indicator.featureProfiles[c],void 0!=c&&(c[this.name]=a,c[this.name+"_formatted"]=b,c[this.name+"_type"]=this.type)},ia.Associate.prototype.getValue=function(a){return void 0!=this._indexHash[a]?this._valueArray[this._indexHash[a]]:this.getComparisonValue(a)},ia.Associate.prototype.getValues=function(){return this._valueArray},ia.Associate.prototype.getFormattedValue=function(a){return void 0!=this._indexHash[a]?this._fValueArray[this._indexHash[a]]:this.getFormattedComparisonValue(a)},ia.Associate.prototype.getFormattedValues=function(){return this._fValueArray},ia.Associate.prototype.getComparisonValue=function(a){return void 0!=this._comparisonIndexHash[a]?this._comparisonArray[this._comparisonIndexHash[a]]:void 0},ia.Associate.prototype.getComparisonValues=function(){return this._comparisonArray},ia.Associate.prototype.getFormattedComparisonValue=function(a){return void 0!=this._comparisonIndexHash[a]?this._fComparisonArray[this._comparisonIndexHash[a]]:void 0},ia.Associate.prototype.getFormattedComparisonValues=function(){return this._fComparisonArray},ia.Associate.prototype.getData=function(a){var b,c,d={};null!=a?b=a.length:(c=this.geography.getFeatures(),b=c.length);for(var e=0;b>e;e++){var f;f=null!=a?this.geography.getFeature(a[e]):c[e];var g={};g.id=f.id,g.name=f.name,g.value=this.getValue(f.id),g.value_formatted=this.getFormattedValue(f.id),d[f.id]=g}return d},ia.Associate.prototype.getComparisonData=function(a){var b,c,d={};null!=a?b=a.length:(c=this.geography.getComparisonFeatures(),b=c.length);for(var e=0;b>e;e++){var f;f=null!=a?this.geography.getComparisonFeature(a[e]):c[e];var g={};g.id=f.id,g.name=f.name,g.value=this.getComparisonValue(f.id),g.value_formatted=this.getFormattedComparisonValue(f.id),d[f.id]=g}return d},ia.Indicator=function(a,b,c){ia.Indicator.baseConstructor.call(this,c,b),this._stats=new ia.Statistics,this.theme=b,this.geography=a,this.profile={},this.featureProfiles={},this.parseData(c)},ia.extend(ia.BaseData,ia.Indicator),ia.Indicator.prototype.parseData=function(){if(void 0!=this.data.fileName&&(this.fileName=this.geography.reportData.path+this.data.fileName),void 0!=this.data.date&&(this.date=this.data.date),this.hasData=!1,this.data.values&&this.data.values.length>0){this.hasData=!0,this._indexHash={},this._valueArray=this.data.values.concat(),this._fValueArray=[];var a,b,c,d=this.geography.getFeatures(),e=d.length;this.featureProfiles={};for(var f=0;e>f;f++){var g=d[f];c=g.id,a=this._valueArray[f],b="categoric"==this.type?this.geography.reportData.formatter.formatText(a):this.geography.reportData.formatter.format(a,this.precision),b==this.geography.reportData.formatter.noDataValue&&(this._valueArray[f]=b),this._indexHash[c]=f,this._fValueArray.push(b),c={id:g.id,name:g.name,value:this._valueArray[f],value_formatted:b,isComparison:g.isComparison};var h,i=this.getProperties();for(h in i)c[h]=i[h],c[h+"_formatted"]=this.geography.reportData.formatter.format(i[h]),c[h+"_type"]=ia.Thematic.CATEGORIC;this.featureProfiles[g.id]=c}this._stats.setData(this._valueArray),this.mean=this._stats.mean,this.median=this._stats.median,this.sum=this._stats.sum,this.count=this._stats.count,this.minValue=this._stats.minValue,this.maxValue=this._stats.maxValue,this.range=this._stats.range,this.lowerQuartile=this._stats.lowerQuartile,this.upperQuartile=this._stats.upperQuartile,this.interquartileRange=this._stats.interquartileRange,this.fifth=this._stats.getPercentile(.05),this.ninetyFifth=this._stats.getPercentile(.95),this.range_95_5=this.ninetyFifth-this.fifth,this.variance=this._stats.variance,this.standardDeviation=this._stats.standardDeviation,this.count_formatted=this.geography.reportData.formatter.format(this.count,this.precision),this.mean_formatted=this.geography.reportData.formatter.format(this.mean,this.precision),this.median_formatted=this.geography.reportData.formatter.format(this.median,this.precision),this.sum_formatted=this.geography.reportData.formatter.format(this.sum,this.precision),this.minValue_formatted=this.geography.reportData.formatter.format(this.minValue,this.precision),this.maxValue_formatted=this.geography.reportData.formatter.format(this.maxValue,this.precision),this.range_formatted=this.geography.reportData.formatter.format(this.range,this.precision),this.lowerQuartile_formatted=this.geography.reportData.formatter.format(this.lowerQuartile,this.precision),this.upperQuartile_formatted=this.geography.reportData.formatter.format(this.upperQuartile,this.precision),this.interquartileRange_formatted=this.geography.reportData.formatter.format(this.interquartileRange,this.precision),this.variance_formatted=this.geography.reportData.formatter.format(this.variance,this.precision),this.standardDeviation_formatted=this.geography.reportData.formatter.format(this.standardDeviation,this.precision),this.fifth_formatted=this.geography.reportData.formatter.format(this.fifth,this.precision),this.ninetyFifth_formatted=this.geography.reportData.formatter.format(this.ninetyFifth,this.precision),this.range_95_5_formatted=this.geography.reportData.formatter.format(this.range_95_5,this.precision),this.profile={id:this.id,name:this.name,date:this.date,type:this.type,href:this.href,minValue:this.minValue,maxValue:this.maxValue,count:this.count,sum:this.sum,mean:this.mean,median:this.median,range:this.range,lowerQuartile:this.lowerQuartile,upperQuartile:this.upperQuartile,fifth:this.fifth,ninetyFifth:this.ninetyFifth,range_95_5:this.range_95_5,interquartileRange:this.interquartileRange,variance:this.variance,standardDeviation:this.standardDeviation,minValue_formatted:this.minValue_formatted,maxValue_formatted:this.maxValue_formatted,sum_formatted:this.sum_formatted,mean_formatted:this.mean_formatted,median_formatted:this.median_formatted,range_formatted:this.range_formatted,lowerQuartile_formatted:this.lowerQuartile_formatted,upperQuartile_formatted:this.upperQuartile_formatted,interquartileRange_formatted:this.interquartileRange_formatted,variance_formatted:this.variance_formatted,standardDeviation_formatted:this.standardDeviation_formatted,fifth_formatted:this.fifth_formatted,ninetyFifth_formatted:this.ninetyFifth_formatted,range_95_5_formatted:this.range_95_5_formatted}}if(this._comparisonIndexHash={},this._comparisonArray=[],this._fComparisonArray=[],this.data.comparisonValues&&this.data.comparisonValues.length>0)for(this._comparisonArray=this.data.comparisonValues.concat(),
d=this.geography.getComparisonFeatures(),e=d.length,f=0;e>f;f++){c=d[f].id,a=this._comparisonArray[f],this._comparisonIndexHash[c]=f,b="categoric"==this.type?this.geography.reportData.formatter.formatText(a):this.geography.reportData.formatter.format(a,this.precision),this._fComparisonArray.push(b),g=d[f],c={id:g.id,name:g.name,value:a,value_formatted:b,isComparison:g.isComparison},i=this.getProperties();for(h in i)c[h]=i[h],c[h+"_formatted"]=this.geography.reportData.formatter.format(i[h]),c[h+"_type"]=ia.Thematic.CATEGORIC;this.featureProfiles[g.id]=c,this.profile[g.id]=a,this.profile[g.id+"_formatted"]=b}if(this._associateArray=[],this._associateHash={},a=this.data.associates,this._upperLimits=this._lowerLimits=void 0,b=this.getProperty("lowerLimitField"),g=this.getProperty("upperLimitField"),h=this.getProperty("confidenceIntervalField"),c=this.getProperty("barChartData"),void 0!=a){for(i=a.length,f=0;i>f;f++)d=new ia.Associate(this.geography,this,a[f]),this._associateArray[f]=d,this._associateHash[d.id]=d;for(f=0;i>f;f++)if(void 0!=b&&void 0!=g)a[f].name==b&&(this._lowerLimits=new ia.Limits(this.geography,this,a[f].values)),a[f].name==g&&(this._upperLimits=new ia.Limits(this.geography,this,a[f].values));else if(void 0!=h){if(a[f].name==h){for(var d=a[f].values,e="value"!=c?this.getAssociate(c).getValues():this._valueArray,j=[],k=[],l=0;l<d.length;l++){var m,n,o=parseFloat(d[l]),p=e[l];ia.isNumber(p)&&ia.isNumber(o)&&(n=new BigDecimal(""+p),o=new BigDecimal(""+o/2),m=n.subtract(o),n=n.add(o)),j.push(m),k.push(n)}this._lowerLimits=new ia.Limits(this.geography,this,j),this._upperLimits=new ia.Limits(this.geography,this,k)}}else("lowerlimit"==a[f].name.toLowerCase()||"lowerlimits"==a[f].name.toLowerCase())&&(this._lowerLimits=new ia.Limits(this.geography,this,a[f].values)),("upperlimit"==a[f].name.toLowerCase()||"upperlimits"==a[f].name.toLowerCase())&&(this._upperLimits=new ia.Limits(this.geography,this,a[f].values))}void 0!=this.data.limits&&(this._lowerLimits=new ia.Limits(this.geography,this,this.data.limits.lower),this._upperLimits=new ia.Limits(this.geography,this,this.data.limits.upper))},ia.Indicator.prototype.getLowerLimits=function(){return this._lowerLimits},ia.Indicator.prototype.getUpperLimits=function(){return this._upperLimits},ia.Indicator.prototype.getValue=function(a){return void 0!=this._indexHash[a]?this._valueArray[this._indexHash[a]]:this.getComparisonValue(a)},ia.Indicator.prototype.getValues=function(){return this._valueArray},ia.Indicator.prototype.getFormattedValue=function(a){return void 0!=this._indexHash[a]?this._fValueArray[this._indexHash[a]]:this.getFormattedComparisonValue(a)},ia.Indicator.prototype.getFormattedValues=function(){return this._fValueArray},ia.Indicator.prototype.getComparisonValue=function(a){return void 0!=this._comparisonIndexHash[a]?this._comparisonArray[this._comparisonIndexHash[a]]:void 0},ia.Indicator.prototype.getComparisonValues=function(){return this._comparisonArray},ia.Indicator.prototype.getFormattedComparisonValue=function(a){return void 0!=this._comparisonIndexHash[a]?this._fComparisonArray[this._comparisonIndexHash[a]]:void 0},ia.Indicator.prototype.getFormattedComparisonValues=function(){return this._fComparisonArray},ia.Indicator.prototype.getAssociate=function(a){return this._associateHash[a]},ia.Indicator.prototype.getAssociates=function(){return this._associateArray},ia.Indicator.prototype.addAssociate=function(a){return a=new ia.Associate(this.geography,this,a),this._associateArray[this._associateArray.length]=a,this._associateHash[a.id]=a},ia.Indicator.prototype.getDataType=function(a){return"value"==a?this.type:void 0!=this.getAssociate(a)?this.getAssociate(a).type:"name"==a?ia.Thematic.CATEGORIC:void 0},ia.Indicator.prototype.getDataPrecision=function(a){return"value"==a?this.precision:void 0!=this.getAssociate(a)?this.getAssociate(a).precision:void 0},ia.Indicator.prototype.getData=function(a){var b,c,d={};null!=a?b=a.length:(c=this.geography.getFeatures(),b=c.length);for(var e=this.getAssociates(),f=e.length,g=this.getLowerLimits(),h=this.getUpperLimits(),i=0;b>i;i++){var j;if(j=null!=a?this.geography.getFeature(a[i]):c[i],void 0!=j){var k={};k.id=j.id,k.name=j.name,k.value=this.getValue(j.id),k.value_formatted=this.getFormattedValue(j.id);var l,m=j.getProperties();for(l in m)k[l]=m[l],k[l+"_formatted"]=this.geography.reportData.formatter.format(m[l]);for(g&&(k.lowerLimit=g.getValue(j.id),k.lowerLimit_formatted=g.getFormattedValue(j.id)),h&&(k.upperLimit=h.getValue(j.id),k.upperLimit_formatted=h.getFormattedValue(j.id)),j.href&&(k.href=j.href),m=0;f>m;m++)k[e[m].name]=e[m].getValue(j.id),k[e[m].name+"_formatted"]=e[m].getFormattedValue(j.id);d[j.id]=k}}return d},ia.Indicator.prototype.getComparisonData=function(){for(var a={},b=this.geography.getComparisonFeatures(),c=b.length,d=this.getAssociates(),e=d.length,f=this.getLowerLimits(),g=this.getUpperLimits(),h=0;c>h;h++){var i=b[h],j={};j.id=i.id,j.name=i.name,j.value=this.getComparisonValue(i.id),j.value_formatted=this.getFormattedComparisonValue(i.id);var k,l=i.getProperties();for(k in l)j[k]=l[k],j[k+"_formatted"]=this.geography.reportData.formatter.format(l[k]);for(f&&(j.lowerLimit=f.getValue(i.id),j.lowerLimit_formatted=f.getFormattedValue(i.id)),g&&(j.upperLimit=g.getValue(i.id),j.upperLimit_formatted=g.getFormattedValue(i.id)),i.href&&(j.href=i.href),l=0;e>l;l++)j[d[l].name]=d[l].getComparisonValue(i.id),j[d[l].name+"_formatted"]=d[l].getFormattedComparisonValue(i.id);a[i.id]=j}return a},ia.Indicator.prototype.getAssociateData=function(a,b){for(var c={dates:[],type:[]},d=this.getAssociates(),e=d.length,f=0;e>f;f++){var g=d[f];void 0!=a?-1!=a.indexOf(g.id)&&(c.type[c.type.length]=g.type,c.dates[c.dates.length]=g.id,c[g.name]=g.getData(b)):(c.type[c.type.length]=g.type,c.dates[c.dates.length]=g.id,c[g.name]=g.getData(b))}return c},ia.Indicator.prototype.getAssociateComparisonData=function(a,b){for(var c={dates:[],type:[]},d=this.getAssociates(),e=d.length,f=0;e>f;f++){var g=d[f];void 0!=a?-1!=a.indexOf(g.id)&&(c.type[c.type.length]=g.type,c.dates[c.dates.length]=g.id,c[g.name]=g.getComparisonData(b)):(c.type[c.type.length]=g.type,c.dates[c.dates.length]=g.id,c[g.name]=g.getComparisonData(b))}return c},ia.Feature=function(a){if(ia.Feature.baseConstructor.call(this,a),this._filterHash={},this._filterHash={},a=this.data.filters,void 0!=a)for(var b=a.length,c=0;b>c;c++){var d=a[c];this._filterHash[d["for"]]=d.name}},ia.extend(ia.BaseData,ia.Feature),ia.Feature.prototype.getFilterValue=function(a){return this._filterHash[a]},ia.Filter=function(a){ia.Filter.baseConstructor.call(this,a)},ia.extend(ia.BaseData,ia.Filter),ia.Limits=function(a,b,c){if(this._indexHash={},this._valueArray=c,this._fValueArray=[],this._valueArray){var d=a.getFeatures(),e=d.length;this.minValue=1/0,this.maxValue=-(1/0);var f,g,h;for(h=0;e>h;h++)g=d[h].id,c=this._valueArray[h],f=a.reportData.formatter.format(c,b.precision),this._indexHash[g]=h,this.minValue=c<this.minValue?c:this.minValue,this.maxValue=c>this.maxValue?c:this.maxValue,this._fValueArray.push(f);for(var d=a.getComparisonFeatures(),e=d.length,i=0;e>i;i++){g=d[i].id;var j=h++;this._valueArray.length>=j+1&&(c=this._valueArray[j],f=a.reportData.formatter.format(c,b.precision),this._indexHash[g]=j,this._fValueArray.push(f))}}},ia.Limits.prototype.getValue=function(a){return this._valueArray[this._indexHash[a]]},ia.Limits.prototype.getValues=function(){return this._valueArray},ia.Limits.prototype.getFormattedValue=function(a){return this._fValueArray[this._indexHash[a]]},ia.Limits.prototype.getFormattedValues=function(){return this._fValueArray},ia.MapData=function(a){ia.MapData.baseConstructor.call(this),this._report=a,this._layerCount=-1,this._visibleLayers=[],this._callbackFnc=void 0,this._layerHash={},this._layerProperties={},this.tilePath="./",this.useGoogleMaps=!1,this.path="",this.maintainLayerOrder=!1},ia.extend(ia.EventDispatcher,ia.MapData),ia.MapData.prototype.loadSource=function(a,b){var c=this;this.url=a,this.path=ia.File.getFileDirectory(a),ia.File.load({url:a,dataType:"json",onSuccess:function(a){c.parseData(a,b)}})},ia.MapData.prototype.getLayer=function(a){return this._layerHash[a]},ia.MapData.prototype.parseData=function(a,b){this._layerCount=-1,this.useGoogleMaps=!1,this._callbackFnc=b;for(var c in this._layerHash)delete this._layerHash[c];this._visibleLayers=[],this.layers=[],this.baseLayers=[],this.noneBaseLayers=[],this.imageLayers=[],c=[];var d=[],e=[],f=[],g=[];if(this._layerHash={},this._layerProperties={},void 0!=a.template&&(this.template=a.template),void 0!=a.version&&(this.version=a.version),void 0!=a.boundingBox){var h=a.boundingBox.split(" ");this.mapBBox=new ia.BoundingBox(parseFloat(h[0]),parseFloat(h[1]),parseFloat(h[2]),parseFloat(h[3]))}if(this._report.config.template==ia.DOUBLE_BASELAYER_REPORT||this._report.config.template==ia.DOUBLE_BASELAYER_REPORT_NEW?this.maintainLayerOrder=!1:void 0!=a.maintainLayerOrder&&(this.maintainLayerOrder=a.maintainLayerOrder),h=a.layers,void 0!=h){for(var i=h.length,j=0;i>j;j++){var k=h[j];"google-layer"==k.type&&navigator.onLine&&(this.useGoogleMaps=!0,this.googleMapType=k.mapType,this.googleApiKey=k.apiKey)}for(j=0;i>j;j++){if(k=h[j],"image"==k.geometry&&0==this.useGoogleMaps){var l;"tile-layer"==k.type?(l=new ia.TileLayer(this.path+k.url),l.path=this.tilePath,this.setLayerJson(k,l)):"ags-layer"==k.type&&navigator.onLine?(1==k.tile?(k.url=ia.FeatureServiceReader.getFeatureServiceUrl(k.url),l=new ia.WebTileLayer(k.url)):l=new ia.AGSLayer(k.url),this.setLayerJson(k,l)):"wms-layer"==k.type&&navigator.onLine&&(l=new ia.WMSLayer,this.setLayerJson(k,l)),k.isReference?(l.isReference=!0,d[d.length]=l):this.imageLayers[this.imageLayers.length]=l}if("image"!=k.geometry){var m=!1,n=!1;void 0!=k.dataType?m="geoJson"==k.dataType:n=void 0!=k.idField,"base-layer"==k.type?(l=m?new ia.GeoJsonLayer(k.url):n?new ia.FeatureServiceLayer(k.url):new ia.FeatureLayer(this.path+k.url),this.baseLayers[this.baseLayers.length]=l,1==this.baseLayers.length&&(this.baseLayer=l)):"contextual-layer"==k.type?l=m?new ia.GeoJsonLayer(k.url):n?new ia.FeatureServiceLayer(k.url):new ia.FeatureLayer(this.path+k.url):"rss-layer"==k.type&&(l=new ia.GeoRSSLayer(k.url)),this.setLayerJson(k,l),"base-layer"==k.type&&this.baseLayers.length>1&&(l=this._visibleLayers.pop(),l.setVisible(!1)),"base-layer"!=k.type&&(c[c.length]=l,"point"==l.geometry?e[e.length]=l:"line"==l.geometry?f[f.length]=l:"polygon"==l.geometry&&(g[g.length]=l)),this._layerHash[l.id]=l}this.maintainLayerOrder&&1!=k.isReference&&(this.layers[this.layers.length]=l,"base-layer"!=k.type&&(this.noneBaseLayers[this.noneBaseLayers.length]=l))}if(a.maintainContextualLayerOrder){for(c.reverse(),this.noneBaseLayers=this.imageLayers.concat(c).concat(d),j=this.baseLayers.length-1;j>=0;j--)l=this.baseLayers[j],"point"==l.geometry?c.push(l):"line"==l.geometry?c.push(l):"polygon"==l.geometry&&c.unshift(l);this.layers=this.imageLayers.concat(c).concat(d)}else if(this.maintainLayerOrder)this.layers=d.concat(this.layers),this.noneBaseLayers=d.concat(this.noneBaseLayers);else{for(this.noneBaseLayers=this.imageLayers.concat(g).concat(f).concat(e).concat(d),j=this.baseLayers.length-1;j>=0;j--)l=this.baseLayers[j],"point"==l.geometry?e.unshift(l):"line"==l.geometry?f.unshift(l):"polygon"==l.geometry&&g.unshift(l);this.layers=this.imageLayers.concat(g).concat(f).concat(e).concat(d)}}this.useGoogleMaps&&0==ia.googleMapsLoaded?(l=document.createElement("script"),l.type="text/javascript",c="file:"==window.location.protocol?"http:":window.location.protocol,l.src=""!=this.googleApiKey?c+"//maps.googleapis.com/maps/api/js?v=3.31&key="+this.googleApiKey+"&sensor=false&callback=ia.initGoogleMaps":c+"//maps.google.com/maps/api/js?v=3.31&sensor=false&callback=ia.initGoogleMaps",document.body.appendChild(l)):this.loadVisibleLayers()},ia.MapData.prototype.setLayerJson=function(a,b,c){if(b.id=a.id,this._layerProperties[b.id]=a,b.name=a.name,b.type=a.type,b.showInLayerList=a.showInLayerList,void 0!=a.visible&&1!=c&&(b.setVisible(a.visible),1==a.visible||"base-layer"==a.type)&&(this._visibleLayers[this._visibleLayers.length]=b),void 0!=a.displayLabelsOnly&&(b.displayLabelsOnly=a.displayLabelsOnly),void 0!=a.labelPosition&&(b.labelPosition=a.labelPosition),void 0!=a.labelFunction&&(b.labelFunction=a.labelFunction),void 0!=a.minLabelExtent&&(b.minLabelExtent=a.minLabelExtent),void 0!=a.maxLabelExtent&&(b.maxLabelExtent=a.maxLabelExtent),void 0!=a.showLabels&&(b.showLabels=a.showLabels),void 0!=a.showDataTips&&(b.showDataTips=a.showDataTips),void 0!=a.iconPath&&""!=a.iconPath&&(b.iconPath=a.iconPath,-1==b.iconPath.indexOf("http")&&-1==b.iconPath.indexOf("javascript"))&&(b.iconPath=ia.IAS_PATH+b.iconPath),void 0!=a.dataType&&(b.dataType=a.dataType),void 0!=a.idField&&(b.idField=a.idField),void 0!=a.nameField&&(b.nameField=a.nameField),void 0!=a.srs&&(b.srs=a.srs),void 0!=a.featureIds&&(b.featureIds=a.featureIds),void 0!=a.objectIds&&(b.objectIds=a.objectIds),void 0!=a.boundingBox&&(c=a.boundingBox.split(" "),b.bBox=new ia.BoundingBox(parseFloat(c[0]),parseFloat(c[1]),parseFloat(c[2]),parseFloat(c[3]))),void 0!=a.themeColors&&(b.themeColors=a.themeColors),b.geometry=a.geometry,"image"!=a.geometry){if(c=b.style,void 0!=a.symbolSize&&(b.symbolSize=a.symbolSize),void 0!=a.fillColor&&(c.fillStyle=ia.Color.toRGBA(a.fillColor,a.fillOpacity)),void 0!=a.borderThickness&&(c.lineWidth=a.borderThickness),void 0!=a.borderColor){var d=1;0==c.lineWidth&&(d=0),c.strokeStyle=ia.Color.toRGBA(a.borderColor,d)}b.style=c}else void 0!=a.opacity&&(b.opacity=a.opacity);void 0!=a.url&&(b.url=a.url),void 0!=a.layers&&(b.layers=a.layers),void 0!=a.srs&&(b.srs=a.srs),void 0!=a.version&&(b.version=a.version),void 0!=a.params&&(b.params=a.params),void 0!=a.requiresAxisSwitch&&(b.requiresAxisSwitch=a.requiresAxisSwitch),void 0!=a.minExtent&&(b.minExtent=a.minExtent),void 0!=a.maxExtent&&(b.maxExtent=a.maxExtent)},ia.MapData.prototype.getLayerJson=function(a){return this._layerProperties[a]},ia.MapData.prototype.loadVisibleLayers=function(){this._layerCount++;var a=this;if(this._visibleLayers.length>this._layerCount){var b=this._visibleLayers[this._layerCount];b.addEventListener(ia.Event.LAYER_READY,function(){a.loadVisibleLayers()}),b.loadSource()}else this._callbackFnc.call(null,this),a.dispatchEvent(new ia.DataEvent(ia.DataEvent.MAP_DATA_CHANGED,a))},ia.DataEvent=function(a,b,c,d,e){ia.DataEvent.baseConstructor.call(this,a,b),this.data=b,this.geography=c,this.theme=d,this.indicator=e},ia.extend(ia.Event,ia.DataEvent),ia.DataEvent.DATA_CHANGED="dataChanged",ia.DataEvent.GEOG_CHANGED="geogChanged",ia.DataEvent.THEME_CHANGED="themeChanged",ia.DataEvent.INDICATOR_CHANGED="indicatorChanged",ia.FilterEvent=function(a,b,c,d,e,f){ia.FilterEvent.baseConstructor.call(this,a,b),this.data=b,this.filterId=c,this.filterName=d,this.filterValue=e,this.filterFeatures=f.concat()},ia.extend(ia.Event,ia.FilterEvent),ia.FilterEvent.FILTER_CHANGED="filterChanged",ia.AGOLData=function(){this.iaData={},this.geogModels={},this.geogs={},this.themes={},this.indicators={}},ia.AGOLData.prototype.loadSource=function(a,b){var c=this;this.url=a,this.path=ia.File.getFileDirectory(this.url),ia.File.load({url:a,dataType:"json",onSuccess:function(a){c.parseData(a,b)}})},ia.AGOLData.prototype.parseData=function(a,b){var c=this;this.geogModels={},this.geogs={},this.themes={},this.indicators={},this.dataModel=a,this.iaData={version:a.version,geographies:[]};var d=a.geographies;if(void 0!=d&&d.length>0){var e=-1,f=function(){e++,e==d.length?b.call(null,c.iaData):c.buildGeography(d[e],function(){f()})};f()}else b.call(null,c.iaData)},ia.AGOLData.prototype.getGeography=function(a){return this.geogs[a]},ia.AGOLData.prototype.buildGeography=function(a,b){var c={id:a.id,name:a.name,type:a.type,url:a.url,idField:a.idField,nameField:a.nameField,themes:[],features:[],comparisonFeatures:[],comparisonRelationships:[],fieldNames:[a.idField,a.nameField],urlList:[],indicatorList:[],indicators:{}},d=a.model.properties;if(void 0!=d)for(var e=0;e<d.length;e++){var f=d[e];"iaoComparisonRelationships"==f.name&&void 0!=f.value&&""!=f.value&&(c.comparisonRelationships=f.value.split(",").map(function(a){return a.split(":")[1]}))}if(void 0==this.geogs[c.id]&&(this.iaData.geographies[this.iaData.geographies.length]=c),this.geogModels[a.id]=a,this.geogs[c.id]=c,void 0!=a.objectIds&&(c.objectIds=a.objectIds.split(",")),void 0!=a.model.filters&&(c.filters=a.model.filters),void 0!=a.model.features){if(d=a.model.features.properties,void 0!=d)for(e=0;e<d.length;e++)f=d[e],-1==c.fieldNames.indexOf(f.src.fieldName)&&(c.fieldNames[c.fieldNames.length]=f.src.fieldName);if(d=a.model.features.filters,void 0!=d)for(e=0;e<d.length;e++)f=d[e],void 0!=f.src.format&&""!=f.src.format||-1!=c.fieldNames.indexOf(f.src.fieldName)||(c.fieldNames[c.fieldNames.length]=f.src.fieldName)}e=a.model.themes,void 0!=e&&e.length>0?this.buildThemes(c,c,e,function(){b.call(null,c)}):b.call(null,c)},ia.AGOLData.prototype.buildThemes=function(a,b,c,d){function e(){g++,g==c.length?d.call(null):f.buildTheme(a,b,c[g],e)}var f=this,g=-1;e()},ia.AGOLData.prototype.buildTheme=function(a,b,c,d){if(c.sourceType&&"IA-JSON"==c.sourceType)$j.getJSON(ia.getDomainSafeUrl(c.url)).done(function(a){if(a.geographies)for(var c=0;c<a.geographies.length;c++)for(var e=a.geographies[c],f=0;f<e.themes.length;f++)b.themes[b.themes.length]=e.themes[f];else b.themes[b.themes.length]=a;d.call(null)}).fail(function(){});else{var e={id:c.id,precision:c.precision,href:c.href,name:c.name,properties:c.properties,indicators:[]};this.themes[e.id]=e,c.src&&(e.url=c.src.url),b.themes[b.themes.length]=e;for(var f=c.indicators,g=0;g<f.length;g++){var h=f[g],i=this.buildIndicator(a,e,h);if(e.indicators[e.indicators.length]=i,void 0!=h.associates&&h.associates.length>0){i.associates=[];for(var j=0;j<h.associates.length;j++){var k=this.buildIndicator(a,e,h.associates[j]);i.associates[i.associates.length]=k}}}c.themes&&c.themes.length>0?(e.themes=[],this.buildThemes(a,e,c.themes,function(){d.call(null)})):d.call(null)}return e},ia.AGOLData.prototype.buildIndicator=function(a,b,c){var d={id:c.id,name:c.name,precision:c.precision,href:c.href,url:c.src.url,srcFormat:c.src.format,fieldName:c.src.fieldName,rowFilters:c.src.rowFilters,properties:c.properties,values:[],comparisonValues:[]};return"null"!=c.date&&null!=c.date&&"NaN"!=c.date&&""!=c.date&&"No Data"!=c.date&&void 0!=c.date?(d.date=c.date,a.indicators[d.id+"_"+d.date]=d,this.indicators[d.id+"_"+d.date]=d):(a.indicators[d.id]=d,this.indicators[d.id]=d),d.type=c.type?c.type.toLowerCase():"numeric",d.url==a.url||void 0==d.url||""==d.url?(c=",0",d.fieldName&&-1!==d.fieldName.indexOf(c,this.length-c.length)&&(c=d.fieldName.split(","),c.pop(),d.fieldName=c.join(",")),void 0!=b.url&&""!=b.url?(void 0==a.urlList[b.url]&&(a.urlList[b.url]=[]),a.urlList[b.url].push(d),d.url=b.url):(-1==a.fieldNames.indexOf(d.fieldName)&&(a.fieldNames[a.fieldNames.length]=d.fieldName),a.indicatorList[a.indicatorList.length]=d)):(d.srcFormat&&c.src.fieldName&&c.src.fieldName.split(",").length>1?(c=c.src.fieldName.split(","),d.idField=c.pop(),d.fieldName=c.join(",")):(!d.srcFormat||d.srcFormat.toLowerCase().indexOf("csv")<0)&&(-1!=d.url.indexOf("FeatureServer")||-1!=d.url.indexOf("MapServer")||d.url.indexOf("?f=geojson")>0||d.url.indexOf("&f=geojson")>0||d.url.indexOf("?sv=")>0)?(d.idField=void 0!=c.src.idField&&""!=c.src.idField?c.src.idField:a.idField,c=",0",d.fieldName&&-1!==d.fieldName.indexOf(c,this.length-c.length)&&(c=d.fieldName.split(","),c.pop(),d.fieldName=c.join(","))):(c=c.src.fieldName.split(","),d.idField=c.pop(),d.fieldName=c.join(",")),void 0==a.urlList[d.url]&&(a.urlList[d.url]=[]),a.urlList[d.url].push(d)),void 0==a.firstIndicator&&(a.firstIndicator=d),d},ia.AGOLData.prototype.getFeatures=function(a,b){var c=this,d=c.geogs[a];d.url.indexOf("?f=geojson")>0||d.url.indexOf("&f=geojson")>0||d.url.indexOf("?sv=")>0?ia.File.load({url:d.url,dataType:"json",onSuccess:function(e){d.fsFeatures=e.features,c._processFeatures(a,e.features,function(){var a=d.firstIndicator;void 0!=a?c.getIndicator(d.id,a.id,a.date,function(){b.call(null,d)}):b.call(null,d)})}}):this._checkForRelationships(a,function(){var e=ia.FeatureServiceReader.buildQuery(d.url,d.fieldNames,d.objectIds);ia.FeatureServiceReader.sendQuery(e,ia.accessToken,function(e){d.fsFeatures=e,c._processFeatures(a,e,function(){var a=d.firstIndicator;void 0!=a?c.getIndicator(d.id,a.id,a.date,function(){b.call(null,d)}):b.call(null,d)})})})},ia.AGOLData.prototype._useComparisonRelationship=function(a,b){for(var c=0;c<a.length;c++){var d=a[c];if(d==b)return!0;if("*"==d.slice(-1)&&(d=d.substring(0,d.length-1),0==b.indexOf(d)))return!0}return!1},ia.AGOLData.prototype._checkForRelationships=function(a,b){var c=this,d=this.geogs[a];ia.FeatureServiceReader.getInfo(d.url,ia.accessToken,function(a){if(a&&void 0!=a.relationships&&a.relationships.length>0){var e=-1,f=function(){if(e++,e==a.relationships.length)b.call(null);else{var g=a.relationships[e];"esriRelCardinalityOneToMany"==g.cardinality&&"esriRelRoleDestination"==g.role&&c._useComparisonRelationship(d.comparisonRelationships,g.name)?ia.File.load({url:d.url+"/queryRelatedRecords",type:"POST",dataType:"json",data:"outFields=*&relationshipId="+g.id+"&objectids=1&returnGeometry=false&f=pjson",onSuccess:function(a){if(void 0!=a.relatedRecordGroups&&a.relatedRecordGroups.length>0&&(a=a.relatedRecordGroups[0],void 0!=a.relatedRecords&&a.relatedRecords.length>0)){var a=a.relatedRecords[0].attributes,b=String(g.id);for(void 0!==g.keyField&&void 0!==a[g.keyField]&&(b=a[g.keyField]),d.comparisonFeatures[d.comparisonFeatures.length]={id:b.replace(/^#/,""),name:String(a.NAME)},b=0;b<d.indicatorList.length;b++){var e=d.indicatorList[b],h=a[e.fieldName];("null"===h||null===h||"NaN"===h||""===h||void 0===h)&&(h=c.formatter.noDataValue),e.comparisonValues[e.comparisonValues.length]=h}}f()},onFail:function(){f()}}):f()}};f()}else b.call(null)})},ia.AGOLData.prototype.getTheme=function(a,b,c){function d(){if(h++,h==g.indicators.length)c.call(null,g);else{var a=g.indicators[h];if(a.values&&a.values.length>0)d();else{var b=f.urlList[a.url];b&&b.length>0?e._loadIndicatorData(f,a.url,b,function(){d()}):d()}}}var e=this,f=e.geogs[a],g=getThemeJson(f.themes,b),h=-1;d()},ia.AGOLData.prototype.getIndicator=function(a,b,c,d){var a=this.geogs[a],b="null"!=c&&null!=c&&"NaN"!=c&&""!=c&&"No Data"!=c&&void 0!=c?a.indicators[b+"_"+c]:a.indicators[b],e=a.urlList[b.url];e&&e.length>0?this._loadIndicatorData(a,b.url,e,function(){d.call(null,e)}):d.call(null,e)},ia.AGOLData.prototype._checkForIndicatorRelationships=function(a,b,c,d){var e=this;ia.FeatureServiceReader.getInfo(b,ia.accessToken,function(f){if(f&&void 0!=f.relationships&&f.relationships.length>0){var g=-1,h=function(){if(g++,g==f.relationships.length)d.call(null);else{var i=f.relationships[g];"esriRelCardinalityOneToMany"==i.cardinality&&"esriRelRoleDestination"==i.role&&e._useComparisonRelationship(a.comparisonRelationships,i.name)?ia.File.load({url:b+"/queryRelatedRecords",type:"POST",dataType:"json",data:"outFields=*&relationshipId="+i.id+"&objectids=1&returnGeometry=false&f=pjson",onSuccess:function(b){if(void 0!=b.relatedRecordGroups&&b.relatedRecordGroups.length>0&&(b=b.relatedRecordGroups[0],void 0!=b.relatedRecords&&b.relatedRecords.length>0)){var b=b.relatedRecords[0].attributes,d=String(i.id);void 0!==i.keyField&&void 0!==b[i.keyField]&&(d=b[i.keyField]);for(var f,g=0;g<a.comparisonFeatures.length;g++)if(a.comparisonFeatures[g].id===d){f=g;break}for(g=0;g<c.length;g++){if(d=c[g],0==d.comparisonValues.length)for(var j=0;j<a.comparisonFeatures.length;j++)d.comparisonValues[j]=e.formatter.noDataValue;j=b[d.fieldName],("null"===j||null===j||"NaN"===j||""===j||void 0===j)&&(j=e.formatter.noDataValue),void 0!=f&&d.comparisonValues.length>f&&(d.comparisonValues[f]=j)}}h()},onFail:function(){h()}}):h()}};h()}else d.call(null)})},ia.AGOLData.prototype.loadOrphanedAssociate=function(a,b,c){var a=this.geogs[a],d=a.urlList[b.data.url];d&&d.length>0?this._loadIndicatorData(a,b.data.url,d,function(){c.call(null,d)}):c.call(null,[])},ia.AGOLData.prototype._loadIndicatorData=function(a,b,c,d){function e(){if(g++,g==c.length)f._checkForIndicatorRelationships(a,b,c,function(){d.call(null)});else{var h=c[g];h.values&&h.values.length>0?e():h.srcFormat&&!(h.srcFormat.toLowerCase().indexOf("csv")<0)||-1==b.indexOf("FeatureServer")&&-1==b.indexOf("MapServer")?(!h.srcFormat||h.srcFormat.toLowerCase().indexOf("csv")<0)&&(b.indexOf("?f=geojson")>0||b.indexOf("&f=geojson")>0||b.indexOf("?sv=")>0)?f.getGeoJsonData(a,a.idField,a.features,a.comparisonFeatures,b,c,e):f.readCsvFile(a,a.idField,a.fsFeatures,b,c,e):f.getQueryData(a,a.idField,a.features,a.comparisonFeatures,b,c,e)}}var f=this,g=-1;e()},ia.AGOLData.prototype._processFeatures=function(a,b,c){for(var d=this.geogModels[a],e=this.geogs[a],a=b.length,f=0;a>f;f++){var g,h=b[f];h.attributes?g=h.attributes:h.properties&&(g=h.properties);var h=String(g[e.idField]),i=String(g[e.nameField]),j={id:h.replace(/^#/,""),name:i};if(void 0!=d.model.features){var k=d.model.features.properties;if(void 0!=k)for(j.properties=[],i=0;i<k.length;i++){var l=k[i];j.properties[j.properties.length]={name:l.name,value:g[l.src.fieldName]}}if(k=d.model.features.filters,void 0!=k)for(j.filters=[],i=0;i<k.length;i++)l=k[i],(void 0==l.src.format||""==l.src.format)&&(j.filters[j.filters.length]={"for":l.id,name:g[l.src.fieldName]})}for(0==h.indexOf("#")?e.comparisonFeatures[e.comparisonFeatures.length]=j:e.features[e.features.length]=j,i=0;i<e.indicatorList.length;i++)j=e.indicatorList[i],k=g[j.fieldName],("null"===k||null===k||"NaN"===k||""===k||void 0===k)&&(k=this.formatter.noDataValue),0==h.indexOf("#")?j.comparisonValues[j.comparisonValues.length]=k:j.values[j.values.length]=k}if(void 0!=d.model.features)if(k=d.model.features.filters,void 0!=k){for(var m=this,n=[],i=0;i<k.length;i++)l=k[i],"CSV"==l.src.format&&(b=getItem(n,"url",l.src.url),void 0!=b?b.filters.push(l):n.push({url:l.src.url,filters:[l]}));if(n.length>0){var o=-1,p=function(){if(o++,o==n.length)c&&c.call(null,e);else{var a=n[o];m.readInFiltersFromCSV(e,e.idField,e.fsFeatures,a.url,a.filters,function(){p()})}};p()}else c&&c.call(null,e)}else c&&c.call(null,e);else c&&c.call(null,e)},ia.AGOLData.prototype.getQueryData=function(a,b,c,d,e,f,g){var h=this;ia.FeatureServiceReader.sendQuery(e,ia.accessToken,function(e){for(var i=0;i<f.length;i++)h._getDataValues(a,b,c,d,e,f[i]);g.call(null)})},ia.AGOLData.prototype.getGeoJsonData=function(a,b,c,d,e,f,g){var h=this;ia.File.load({url:e,dataType:"json",onSuccess:function(e){for(var i=0;i<f.length;i++)h._getDataValues(a,b,c,d,e.features,f[i]);g.call(null)}})},ia.AGOLData.prototype._getDataValues=function(a,b,c,d,e,f){for(var g={},b={},h={},i=e.length,j=0;i>j;j++){var k,l=e[j];if(l.attributes?k=l.attributes:l.properties&&(k=l.properties),l=!0,void 0!=f.rowFilters)for(var m in f.rowFilters)if(k[m]!=f.rowFilters[m]){l=!1;break}if(1==l){var n=String(k[f.idField]),l=k[f.fieldName];if("numeric"==f.type&&ia.isNumber(l)&&(l=parseFloat(l)),0==n.indexOf("#")){var o=k[a.nameField]?k[a.nameField]:k.NAME,n=n.replace(/^#/,"");b[n]=l,h[n]={name:String(o),data:l}}else g[n]=l}}for(i=c.length,j=0;i>j;j++)n=c[j].id,l=g[n],f.values[f.values.length]="null"===l||null===l||"NaN"===l||""===l||void 0===l?this.formatter.noDataValue:g[n];for(c=[],i=d.length,j=0;i>j;j++)n=d[j].id,l=b[n],c.push(n),void 0!=b[n]&&(f.comparisonValues[f.comparisonValues.length]="null"===l||null===l||"NaN"===l||""===l||void 0===l?this.formatter.noDataValue:b[n]);for(var p in h)o=h[p].name,void 0!=o&&-1==c.indexOf(p)&&a.comparisonFeatures.push({id:p,name:o})},ia.AGOLData.prototype._CSVToArray=function(a,b){for(var b=b||",",c=RegExp("(\\"+b+'|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\'+b+"\\r\\n]*))","gi"),d=[[]],e=null;e=c.exec(a);){var f=e[1];f.length&&f!==b&&d.push([]),e=e[2]?e[2].replace(RegExp('""',"g"),'"'):e[3],d[d.length-1].push(e)}return d},ia.AGOLData.prototype.readCsvFile=function(a,b,c,d,e,f){var g=this;""!=ia.accessToken&&(d+=-1==d.indexOf("?")?"?":"&",d+="token="+ia.accessToken),ia.File.load({url:d,contentType:"text/plain",dataType:"text",onSuccess:function(d){for(var d=g._CSVToArray(d),h=d[0],i=0;i<e.length;i++){for(var j=e[i],k=0,l=0,m=0;m<h.length;m++){var n=h[m];$j.trim(j.idField)==$j.trim(n)&&(k=m),$j.trim(j.fieldName)==$j.trim(n)&&(l=m)}for(var o={},n={},p=d.slice(1,d.length),m=0;m<p.length;m++){var q,r=p[m],s=r[k],t=r[l];r.length>1&&(q=r[1]),"numeric"==j.type&&ia.isNumber(t)&&(t=parseFloat(t)),void 0!=s&&""!=s&&(0==s.indexOf("#")?n[s.replace(/^#/,"")]={name:q,data:t}:o[s]=t)}for(k=[],m=0;m<a.comparisonFeatures.length;m++)t=a.comparisonFeatures[m],k.push(t.id),void 0!=n[t.id]?(t=n[t.id].data,j.comparisonValues[j.comparisonValues.length]="null"===t||null===t||"NaN"===t||""===t||void 0===t?g.formatter.noDataValue:t):j.comparisonValues[j.comparisonValues.length]=g.formatter.noDataValue;for(l=c.length,m=0;l>m;m++){var u,t=c[m];t.attributes?u=t.attributes:t.properties&&(u=t.properties),s=String(u[b]),0!==s.indexOf("#")&&(t=o[s],j.values[j.values.length]="null"===t||null===t||"NaN"===t||""===t||void 0===t?g.formatter.noDataValue:t)}for(var v in n)m=n[v].name,void 0!=m&&-1==k.indexOf(v)&&(t=n[v].data,("null"===t||null===t||"NaN"===t||""===t||void 0===t)&&(t=g.formatter.noDataValue),a.comparisonFeatures.push({id:v,name:m}),j.comparisonValues.push(t))}f.call(null)}})},ia.AGOLData.prototype.readInFiltersFromCSV=function(a,b,c,d,e,f){var g=this;""!=ia.accessToken&&(d+=-1==d.indexOf("?")?"?":"&",d+="token="+ia.accessToken),ia.File.load({url:d,contentType:"text/plain",dataType:"text",onSuccess:function(d){for(var h=g._CSVToArray(d),d=h[0],h=h.slice(1,h.length),i=0;i<e.length;i++){for(var j=e[i],k=0,l=0,m=j.src.fieldName.split(","),n=m.pop(),o=m.join(","),m=0;m<d.length;m++){var p=d[m];$j.trim(n)==$j.trim(p)&&(k=m),$j.trim(o)==$j.trim(p)&&(l=m)}for(n={},m=0;m<h.length;m++)p=h[m],o=p[k],p=p[l],void 0!=o&&""!=o&&(n[o]=p);for(k=c.length,m=0;k>m;m++){var q,l=c[m];l.attributes?q=l.attributes:l.properties&&(q=l.properties),o=String(q[b]),0!==o.indexOf("#")&&(p=n[o],l=a.features[m],void 0==l.filters&&(l.filters=[]),l.filters[l.filters.length]={"for":j.id,name:p})}}f.call(null)}})},ia.Widget=function(a){this.id=a,this._zIndex=void 0,this._xAnchor="left",this._yAnchor="top",this._stopPopup=this._popup=this._visible=!1},ia.Widget.prototype.rescale=!0,ia.Widget.prototype.id="",ia.Widget.prototype.name="",ia.Widget.prototype.x=function(a){return void 0==a?this._x:void this.setPosition(a,this._y,this._xAnchor,this._yAnchor)},ia.Widget.prototype.y=function(a){return void 0==a?this._y:void this.setPosition(this._x,a,this._xAnchor,this._yAnchor)},ia.Widget.prototype.width=function(a){return void 0==a?this._width:void this.setSize(a,this._height)},ia.Widget.prototype.height=function(a){return void 0==a?this._height:void this.setSize(this._width,a)},ia.Widget.prototype.zIndex=function(a){return void 0==a?(void 0==this._zIndex&&(this._zIndex=this.container.css("z-index")),this._zIndex):(this._zIndex=a,void this.container.css({"z-index":this._zIndex}))},ia.Widget.prototype.xAnchor=function(a){return void 0==a?this._xAnchor:void this.setPosition(this._x,this._y,a,this._yAnchor)},ia.Widget.prototype.yAnchor=function(a){return void 0==a?this._yAnchor:void this.setPosition(this._x,this._y,this._xAnchor,a)},ia.Widget.prototype.setDimensions=function(a,b,c,d,e,f){this.setSize(c,d),this.setPosition(a,b,e,f)},ia.Widget.prototype.restore=function(){this.setDimensions(this._x,this._y,this._width,this._height,this._xAnchor,this._yAnchor),this.zIndex(this._zIndex)},ia.Widget.prototype.maximize=function(){this.container.css({left:0,top:0,width:"100%",height:"100%","z-index":500})},ia.Widget.prototype.setSize=function(a,b){var c="%";("false"==this.rescale||0==this.rescale)&&(c="px"),this._width=a,this._height=b,void 0!=this._width&&this.container.css({
width:this._width+c}),void 0!=this._height&&this.container.css({height:this._height+c})},ia.Widget.prototype._addedResizeListener=!1,ia.Widget.prototype.setPosition=function(a,b,c,d){this._x=a,this._y=b,this._xAnchor=c||this._xAnchor,this._yAnchor=d||this._yAnchor,this.container.css({left:"","margin-left":"",right:"",bottom:"",top:""}),"end"==this._xAnchor||"right"==this._xAnchor?this.container.css({right:100-this._x+"%"}):"middle"==this._xAnchor||"center"==this._xAnchor?(this.container.css({left:this._x+"%"}),void 0==this._width&&0==this._addedResizeListener&&(this._addedResizeListener=!0,this.container.resize(function(){this.setPosition(this._x,this._y)}.bind(this))),a=this._width/2*-1,"false"==this.rescale||0==this.rescale?this.container.css({"margin-left":a+"px"}):this.container.css({"margin-left":a+"%"})):this.container.css({left:this._x+"%"}),"bottom"==this._yAnchor?this.container.css({bottom:this._y+"%"}):this.container.css({top:this._y+"%"})},ia.Widget.prototype.toggle=function(){this.visible(!this._visible)},ia.Widget.prototype.show=function(){this.visible(!0)},ia.Widget.prototype.hide=function(){this.visible(!1)},ia.Widget.prototype.visible=function(a){if(void 0==a)return this._visible;var b=this;b._visible=a,b.container.stop(),b._visible?(b._zIndex&&b.container.css("z-index",b._zIndex),b.container.css("visibility","visible").animate({opacity:1})):b.container.animate({opacity:0},function(){b._zIndex&&b.container.css("z-index",0),b.container.css("visibility","hidden")})},ia.Widget.prototype.tooltip=function(a){this.container.attr("title",a)},ia.Widget.prototype.onclick=function(a,b){var c=this;c.container.off("click"),a&&(c.container.css("cursor","pointer"),"function"==typeof a?c.container.on("click",function(b){b.stopPropagation(),a.call(null,b)}):function(){c.container.on("click",function(c){c.stopPropagation(),ia.callFunction(a,b,c)})}())},ia.Widget.prototype.addCssClass=function(a){a&&""!=a&&this.container.addClass(a)},ia.Widget.prototype.popup=function(a){var b=this;if(1==a)this._popup=!0,this.container.addClass("ia-popup-panel"),this._stopPopup||($j("body").bind("click.popup-"+this.id,function(){b.hide()}),this.container.bind("click.popup-"+this.id,function(a){a.stopPropagation()}));else{if(0!=a)return this._popup;this._popup=!1,this.container.removeClass("ia-popup-panel"),$j("body").unbind("click.popup-"+this.id),this.container.unbind("click.popup-"+this.id)}},ia.Widget.prototype.suspendPopup=function(){this._stopPopup=!0,$j("body").unbind("click.popup-"+this.id),this.container.unbind("click.popup-"+this.id)},ia.Widget.prototype.resumePopup=function(){this._stopPopup=!1,this.popup(this._popup)},ia.Widget.prototype.updateWidget=function(a){void 0!=a&&(this.name=a.name,this.setDimensions(a.x,a.y,a.width,a.height,a.anchor,"top"))},ia.Panel=function(a,b){ia.Panel.baseConstructor.call(this,a),this._title=b,this._settingsBtn=void 0,this._hasSettings=!1,this._closeBtn=void 0,this._closeable=!1,this._exportBtn=void 0,this._exportable=!1,this._resizeBtn=void 0,this._isMaximized=this._resizeable=!1,this._borderRadius=0,this._build()},ia.extend(ia.Widget,ia.Panel),ia.Panel.prototype._build=function(){var a=this;this._borderRadius=parseInt($j(".ia-panel").css("border-top-left-radius"))-1,this._borderRadius<0&&(this._borderRadius=0),this.container=$j("<div>").addClass("ia-widget ia-panel").attr("id","ia-widget-"+this.id),this.container.css("visibility","hidden"),this.container.resize(function(){a._size()}),this.content=$j("<div>").addClass("ia-panel-content").attr("id","ia-widget-"+this.id+"-content"),this.contentText=$j("<div>").addClass("ia-panel-content-text ia-nodata-text").attr("id","ia-widget-"+this.id+"-content-text"),this.header=$j("<div>").addClass("ia-panel-header").attr("id","ia-widget-"+this.id+"-header"),this.header.css("border-top-left-radius",this._borderRadius+"px"),this.header.css("border-top-right-radius",this._borderRadius+"px"),this.header.css({display:"none"}),this.container.append(this.header),this.container.append(this.content),this.container.append(this.contentText),this.footer=$j("<div>").addClass("ia-panel-footer").attr("id","ia-widget-"+this.id+"-footer"),this.container.append(this.footer);var b=$j("<div>").addClass("ia-panel-btns").attr("id","ia-widget-"+this.id+"-btns");this.container.append(b),this.container.mouseenter(function(){b.stop().css({visibility:"visible"}).animate({opacity:.5})}),this.container.mouseleave(function(){b.stop().animate({opacity:0},function(){b.css({visibility:"hidden"})})}),b.mouseenter(function(){b.stop().animate({opacity:1})}),b.mouseleave(function(){b.stop().animate({opacity:.5})});var c;this.container.bind("touchstart",function(){b.stop(),b.css({visibility:"visible"}).animate({opacity:1}),clearTimeout(c),c=setTimeout(function(){clearTimeout(c),b.stop().animate({opacity:0},function(){b.css({visibility:"hidden"})})},5e3)}),this._resizeBtn=$j("<div>").addClass("ia-panel-btn ia-panel-resize-btn-maximize").attr("id","ia-widget-"+this.id+"-resize").css("display","none"),b.append(this._resizeBtn),this._resizeBtn.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a.resizeFunction&&a.resizeFunction.call(null,a)}),this._exportBtn=$j("<div>").addClass("ia-panel-btn ia-panel-export-btn").attr("id","ia-widget-"+this.id+"-export").css("display","none"),this._exportBtn.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a.exportFunction&&a.exportFunction.call(null,b)}),b.append(this._exportBtn),this._closeBtn=$j("<div>").addClass("ia-panel-btn ia-panel-close-btn").attr("id","ia-widget-"+this.id+"-close").css("display","none"),this._closeBtn.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a.closeFunction&&a.closeFunction.call(null,a)}),b.append(this._closeBtn),this._settingsBtn=$j("<div>").addClass("ia-panel-btn ia-panel-settings-btn").attr("id","ia-widget-"+this.id+"-settings").css("display","none"),this._settingsBtn.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a.settingsFunction&&a.settingsFunction.call(null,b)}),b.append(this._settingsBtn),this.title(this._title),this._size()},ia.Panel.prototype.hasSettings=function(a){if(1==a)this._hasSettings=!0,this._settingsBtn.css("display","");else{if(0!=a)return this._hasSettings;this._hasSettings=!1,this._settingsBtn.css("display","none")}},ia.Panel.prototype.closeable=function(a){if(1==a)this._closeable=!0,this._closeBtn.css("display","");else{if(0!=a)return this._closeable;this._closeable=!1,this._closeBtn.css("display","none")}},ia.Panel.prototype.closeFunction=function(a){a.hide()},ia.Panel.prototype.exportable=function(a){if(1==a)this._exportable=!0,this._exportBtn.css("display","");else{if(0!=a)return this._exportable;this._exportable=!1,this._exportBtn.css("display","none")}},ia.Panel.prototype.resizeable=function(a){if(1==a)this._resizeable=!0,this._resizeBtn.css("display","");else{if(0!=a)return this._resizeable;this._resizeable=!1,this._resizeBtn.css("display","none")}},ia.Panel.prototype.resizeFunction=function(a){a.resize()},ia.Panel.prototype.resize=function(){this._isMaximized?(this._resizeBtn.addClass("ia-panel-resize-btn-maximize").removeClass("ia-panel-resize-btn-minimize"),this.restore()):(this._resizeBtn.addClass("ia-panel-resize-btn-minimize").removeClass("ia-panel-resize-btn-maximize"),this.maximize()),this._isMaximized=!this._isMaximized},ia.Panel.prototype.append=function(a){this.content.append(a)},ia.Panel.prototype.appendToFooter=function(a){this.footer.append(a)},ia.Panel.prototype.title=function(a){void 0!=a&&"undefined"!=a&&""!=a?(this.header.css("display",""),this.header.html(a)):(this.header.css("display","none"),this.header.html("")),this._size()},ia.Panel.prototype.text=function(a){this.contentText.html(a),""==a?this.contentText.css("display","none"):this.contentText.css("display","inline")},ia.Panel.prototype._size=function(){var a=this.container.height(),b=0;"none"!=this.header.css("display")&&(b=this.header.outerHeight()),footerHeight=this.footer.outerHeight(),this.content.height(a-b-footerHeight)},ia.Panel.prototype.update=function(a){if(void 0!=a){var b=a.getProperty("isPopUp")||!1,c=!0;(-1!=a.id.indexOf("menuBar")||-1!=a.id.indexOf("timeControl"))&&(c=!1);var d=a.getProperty("isExportable")||!1,e=a.getProperty("visible")||!1;this.popup(b),this.closeable(b),this.resizeable(c),this.exportable(d),this.visible(e),this.zIndex(a.zIndex),this.updateWidget(a)}},ia.Button=function(a,b){ia.Button.baseConstructor.call(this,a),this.container=$j("<button type='button'>").addClass("ia-widget ia-button button").attr("id","ia-widget-"+a),void 0!=b&&this.text(b)},ia.extend(ia.Widget,ia.Button),ia.Button.prototype.text=function(a){this.container.html(a)},ia.Button.prototype.update=function(a){void 0!=a&&(void 0!=a.text&&this.text(a.text),this.onclick(a.href,a.target),this.tooltip(a.tooltip),this.addCssClass(a["css-class"]),a.zIndex&&this.zIndex(a.zIndex),this.updateWidget(a))},ia.MenuButton=function(a,b){ia.MenuButton.baseConstructor.call(this,a,b),this.container.addClass("menuButton")},ia.extend(ia.Button,ia.MenuButton),ia.Text=function(a,b){ia.Text.baseConstructor.call(this,a),this.container=$j("<div>").addClass("ia-widget ia-text").attr("id","ia-widget-"+a),void 0!=b&&this.text(b)},ia.extend(ia.Widget,ia.Text),ia.Text.prototype.text=function(a){this.container.html(a)},ia.Text.prototype.update=function(a){if(void 0!=a){var b=this;""!=a.text&&this.text(a.text),this.tooltip(a.tooltip),this.addCssClass(a["css-class"]),""!=a.href&&(this.onclick(a.href,a.target),this.addCssClass("ia-link")),$j.each(a.cssProps,function(a,c){b.container.css(a,c)}),a.zIndex&&this.zIndex(a.zIndex),this.updateWidget(a)}},ia.Image=function(a){ia.Image.baseConstructor.call(this,a),this.container=$j("<div>").addClass("ia-widget ").attr("id","ia-widget-"+a)},ia.extend(ia.Widget,ia.Image),ia.Image.prototype.src=function(a){this.container.find("img:first").attr("src",a)},ia.Image.prototype.update=function(a){void 0!=a&&(this.container.empty(),this.xAnchor(a.anchor),"true"==a["maintain-aspect-ratio"]?("end"==this.xAnchor()||"right"==this.xAnchor()?this.container.css({"text-align":"right"}):"start"==this.xAnchor()||"left"==this.xAnchor()?this.container.css({"text-align":"left"}):this.container.css({"text-align":"center"}),this.container.append('<span style="display: inline-block;height: 100%;vertical-align: middle;">'),this.container.append('<img style="vertical-align: middle;max-height: 100%;max-width: 100%;" class="ia-image">')):(this.container.css({"text-align":""}),this.container.append('<img style="height: 100%;width: 100%;" class="ia-image">')),void 0!=a.src&&this.src(a.src),this.onclick(a.href,a.target),this.tooltip(a.tooltip),this.addCssClass(a["css-class"]),this.rescale=a.rescale,a.zIndex&&this.zIndex(a.zIndex),this.updateWidget(a))},ia.ScrollBox=function(a){this._touchScroll=void 0,this.isScrolling=!1,this.container=a;var b=this;this.container.resize(function(){b._resize()})},ia.ScrollBox.prototype._resize=function(){null!=this._touchScroll&&this._touchScroll.refresh()},ia.ScrollBox.prototype.scrollToElement=function(a){null!=this._touchScroll&&this._touchScroll.scrollToElement(a,300)},ia.ScrollBox.prototype.refresh=function(){var a=this;ia.IS_TOUCH_DEVICE&&null!=document.getElementById(a.container.attr("id"))&&(null!=a._touchScroll&&(a._touchScroll.destroy(),a._touchScroll=null),a._touchScroll=new iScroll(a.container.attr("id"),{hideScrollbar:!0,scrollbarClass:"touchScrollbar",onScrollMove:function(){a.isScrolling=!0},onScrollEnd:function(){a.isScrolling=!1},onTouchEnd:function(){a.isScrolling=!1}}))},ia.DataExplorer=function(a,b){this.id=a,this._data=void 0,this._treeId="",this.closeBranchesOnSelection=!0,this.container=$j("<div id='"+a+"' class='ia-explorer'>"),this.$sb=$j("<div id='"+a+"-scrollbox' class='ia-explorer-scrollbox'>"),this.container.append(this.$sb),this.$sb.bind("click",function(a){a.stopPropagation()}),this.$tree=$j("<div class='ia-explorer-tree'>"),this.$sb.append(this.$tree),this.filterType="single",b&&(this.callbackFunction=b);var c=this;this.container.resize(function(){c._size()})},ia.DataExplorer.prototype.closeBranchesOnSelection=!1,ia.DataExplorer.prototype._size=function(){this.$sb.height(this.container.height()),this.$sb.width(this.container.width())},ia.DataExplorer.prototype.data=function(a){return void 0==a?this._data:void(this._data=a)},ia.DataExplorer.prototype.refresh=function(){""!=this._treeId&&this.build(this._treeId)},ia.DataExplorer.prototype.build=function(a){this._treeId=a,void 0==this._treeId&&(this._treeId="topLevel"),this.$tree.empty();for(var a=this._data[this._treeId],b=a.children.length,c=0;b>c;c++)this._buildItem(a.children[c],this.$tree)},ia.DataExplorer.prototype._buildItem=function(a,b){var c=String(a).replace(/'/g,"#quote#").replace(/"/g,"#double-quote#"),d=this._data[a],e=$j("<div id='"+c+"' class='ia-explorer-item ia-list-item'>");b.append(e),c=$j("<div class='ia-explorer-label'>").html(d.label),e.append(c);var f=this;if("branch"==d.type){e.addClass("ia-explorer-branch-icon"),e.addClass("ia-explorer-branch"),c=$j("<div class='ia-explorer-group'>"),c.hide(),b.append(c),e.data("childGroup",c),function(){e.bind("click",function(a){a.stopPropagation(),f._toggleBranch(e)})}();for(var g=d.children.length,h=0;g>h;h++)f._buildItem(d.children[h],c)}else{if(e.addClass("ia-explorer-leaf"),void 0!=d.href&&1!=f.hideNotes){var i=$j("<div class='ia-explorer-notes-icon'>");e.prepend(i),function(){var a=d.href;i.bind("click",function(b){b.stopPropagation(),ia.callFunction(a,"_blank")})}()}!function(){e.bind("click",function(a){a.stopPropagation(),f._selectLeaf(e)})}()}},ia.DataExplorer.prototype.clearSelection=function(){this.$tree.find(".ia-explorer-item").removeClass("ia-explorer-selected-item"),this.isFilterExplorer&&this.$tree.find(".ia-explorer-leaf").removeClass("ia-filter-explorer-selected-item")},ia.DataExplorer.prototype.showItem=function(a){var b=this.$tree.find("div[id='"+String(a).replace(/'/g,"#quote#").replace(/"/g,"#double-quote#")+"']");b&&(b.hasClass("ia-explorer-branch")?this._openBranch(b):b.hasClass("ia-explorer-leaf")&&(this.$tree.find(".ia-explorer-leaf").removeClass("ia-explorer-selected-item"),b.addClass("ia-explorer-selected-item")),this._data[a]&&this._data[a].parent&&this.showItem(this._data[a].parent))},ia.DataExplorer.prototype._selectLeaf=function(a){var b=a.attr("id");this.isFilterExplorer?a.hasClass("ia-filter-explorer-selected-item")?(b+="~clearFilter",a.removeClass("ia-explorer-selected-item"),a.removeClass("ia-filter-explorer-selected-item")):("single"==this.filterType&&(this.$tree.find(".ia-explorer-item").removeClass("ia-explorer-selected-item"),this.$tree.find(".ia-explorer-leaf").removeClass("ia-filter-explorer-selected-item")),a.addClass("ia-explorer-selected-item"),a.addClass("ia-filter-explorer-selected-item")):(this.$tree.find(".ia-explorer-item").removeClass("ia-explorer-selected-item"),a.addClass("ia-explorer-selected-item")),a=String(b).replace(/#quote#/g,"'").replace(/#double-quote#/g,'"'),this.callbackFunction&&this.callbackFunction.call(null,a)},ia.DataExplorer.prototype._toggleBranch=function(a){a.hasClass("ia-explorer-branch")&&(this.$tree.find(".ia-explorer-item").removeClass("ia-explorer-selected-item"),a.data("childGroup").is(":visible")?this._closeBranch(a):(a.addClass("ia-explorer-selected-item"),this._openBranch(a)))},ia.DataExplorer.prototype._closeBranch=function(a){if(a.hasClass("ia-explorer-branch")){a.addClass("ia-explorer-branch-icon"),a.removeClass("ia-explorer-branch-expanded-icon");var b=this;a.data("childGroup").slideUp("fast",function(){b._size()})}},ia.DataExplorer.prototype._openBranch=function(a){if(a.hasClass("ia-explorer-branch")){this.closeBranchesOnSelection&&a.siblings(".ia-explorer-branch-expanded-icon").each(function(){$j(this).addClass("ia-explorer-branch-icon"),$j(this).removeClass("ia-explorer-branch-expanded-icon"),$j(this).data("childGroup").slideToggle("fast",function(){})}),a.removeClass("ia-explorer-branch-icon"),a.addClass("ia-explorer-branch-expanded-icon");var b=this;a.data("childGroup").slideDown("fast",function(){b._size()})}},ia.Table=function(a){ia.Table.baseConstructor.call(this),this.id=a,this._sDirection=this._cId=this._data=void 0,this._selectedRows={},this._scrollTimeout=void 0,this._highlightRows={},this._stickyIds=[],this.allowUserSorting=this.showLegendColor=!0,this.container=$j("<div id='"+a+"' class='ia-table'>"),this._containerId=a+"-",this._borderRadius=parseInt($j(".ia-panel").css("border-top-left-radius"))-1,this._borderRadius<0&&(this._borderRadius=0),this.$tableCorner=$j("<span class='ia-table-header ia-table-header-corner'>"),this.$tableCorner.css("border-top-right-radius",this._borderRadius+"px"),this.container.append(this.$tableCorner),this.$tableHeaders=$j("<table>"),this.container.append(this.$tableHeaders),this.$tableContainer=$j("<div id='"+a+"-container' class='ia-table-scrollbox'>"),this._scrollBox=new ia.ScrollBox(this.$tableContainer),this.container.append(this.$tableContainer),this.$table=$j("<table>"),this.$tableContainer.append(this.$table),this._addMouseEvents();var b,c=this;this.container.resize(function(){clearTimeout(b),b=setTimeout(function(){clearTimeout(b),c._size()},500)})},ia.extend(ia.EventDispatcher,ia.Table),ia.Table.prototype._size=function(){var a=this.container.width(),b=this.$tableContainer.get(0).offsetWidth-this.$tableContainer.get(0).clientWidth;a-=b,this.$table.width(a),this.$tableHeaders.width(a);var a=this.container.height(),c=this.$tableHeaders.outerHeight();this.$tableContainer.height(a-c),this.$tableCorner.width(b),this.$tableCorner.height(c)},ia.Table.prototype.getData=function(){return this._data},ia.Table.prototype.setData=function(a){this._data=a},ia.Table.prototype.render=function(a){var b=this;this.$table.empty(),this.$tableHeaders.empty();var c=$j("<thead>"),d=$j("<tr>");c.append(d),this.$tableHeaders.append(c);for(var e,f=!1,g=this.columns.length,h=0;g>h;h++){e=this.columns[h];var i=110*e.width,j=$j("<th id='"+e.id+"' class='ia-table-header' title='"+e.label+"' style='width:"+i+"%'>").html(e.label);j.data("type",e.type),""!=e.label&&(f=!0),0==h&&j.css("border-top-left-radius",this._borderRadius+"px"),d.append(j),this.allowUserSorting&&function(){var a=e.id;j.click(function(){var c="ascending";$j(this).is(".sort-asc")&&(c="descending"),b.sort(a,c)})}()}0==f&&c.css("display","none");var k,l,c=[],h=-1,d=0;for(c[++h]="<colgroup>",f=0;g>f;f++)e=this.columns[f],i=110*e.width,c[++h]="<col style='width:"+i+"%'>";if(c[++h]="</colgroup>",c[++h]="<tbody>",void 0==a||void 0!=a&&0==a.length)for(n in a=[],this._data)a.push(n);for(var m=0;m<a.length;m++){var n=a[m],i=this._data[n];if(void 0!=i){f=String(n).replace(/'/g,"#quote#").replace(/"/g,"#double-quote#"),d%2==0?c[++h]="<tr id='"+this._containerId+f+"' class='ia-table-row ia-table-row-even'>":c[++h]="<tr id='"+this._containerId+f+"' class='ia-table-row ia-table-row-odd'>",d++;var o=void 0,p=0;for(i.color&&this.showLegendColor&&(o=ia.Color.toRGBA(i.color,1),p=i.symbolSize),f=0;g>f;f++){if(e=this.columns[f],-1!=e.id.indexOf("~")){l=e.id.split("~")[0];var q=e.id.split("~")[1];k=this["data"+q][n][l],l=this["data"+q][n][l+"_formatted"]}else k=i[e.id],l=i[e.formattedId];"categoric"==e.type?c[++h]="<td class='ia-table-cell ia-table-cell-categoric' title='"+l+"' data-value='"+l+"'>":c[++h]="<td class='ia-table-cell ia-table-cell-numeric' title='"+l+"' data-value='"+k+"'>",o&&"name"==e.id&&p>0&&(c[++h]="<span class='ia-table-legend-swatch' style='background-color:"+o+";'></span>"),i.href&&"name"==e.id&&(c[++h]="<span id='"+i.href+"' class='ia-table-notes-icon'></span>"),c[++h]=l,c[++h]="</td>"}c[++h]="</tr>"}}c[++h]="</tbody>",this.$table.append(c.join("")),this._scrollBox.refresh(),this._size(),void 0!=this._cId&&this.sort(this._cId,this._sDirection),this.renderSelection()},ia.Table.prototype.exportData=function(){for(var a,b,c,d=this.columns.length,e=[],f=-1,g=0;d>g;g++){var h=this.columns[g];g>0&&(e[++f]=";"),e[++f]='"'+h.label+'"'}if(e[++f]="\n",Object.keys(this._selectedRows).length>0)for(id in this._selectedRows){var i=String(id).replace(/#quote#/g,"'").replace(/#double-quote#/g,'"');for(a=this._data[i],g=0;d>g;g++)h=this.columns[g],-1!=h.id.indexOf("~")?(c=h.id.split("~")[0],h=h.id.split("~")[1],b=this["data"+h][i][c],c=this["data"+h][i][c+"_formatted"]):(b=a[h.id],c=a[h.formattedId]),g>0&&(e[++f]=";"),ia.isNumber(b)?e[++f]=b:e[++f]='"'+c+'"';e[++f]="\n"}else for(i in this._data){for(a=this._data[i],g=0;d>g;g++)h=this.columns[g],-1!=h.id.indexOf("~")?(c=h.id.split("~")[0],h=h.id.split("~")[1],b=this["data"+h][i][c],c=this["data"+h][i][c+"_formatted"]):(b=a[h.id],c=a[h.formattedId]),g>0&&(e[++f]=";"),ia.isNumber(b)?e[++f]=b:e[++f]='"'+c+'"';e[++f]="\n"}return e.join("")},ia.Table.prototype.renderSelection=function(){for(var a in this._selectedRows){var b=$j("[id='"+this._containerId+a+"']");b.addClass("ia-table-row-select");var c=ia.Color.shade(this.selectionColor,.68);b.css("background-color",c)}},ia.Table.prototype._addMouseEvents=function(){var a=this;this.$table.delegate("tr","mouseover",function(){var b=$j(this).attr("id").substring(a._containerId.length);if(a._highlightRows[b]=$j(this),$j(this).hasClass("ia-table-row-select")){$j(this).addClass("ia-table-row-highlight-select");var c=ia.Color.shade(a.selectionColor,.64)}else $j(this).addClass("ia-table-row-highlight"),c=ia.Color.shade(a.highlightColor,.7);$j(this).css("background-color",c),a._dispatchItemEvent(b,ia.ItemEvent.ITEM_MOUSE_OVER,ia.ItemLayer.ROLLOVER)}),this.$table.delegate("tr","mouseout",function(){var b=$j(this).attr("id").substring(a._containerId.length);delete a._highlightRows[b],$j(this).removeClass("ia-table-row-highlight"),$j(this).hasClass("ia-table-row-highlight-select")?($j(this).removeClass("ia-table-row-highlight-select").addClass("ia-table-row-select"),a._dispatchItemEvent(b,ia.ItemEvent.ITEM_MOUSE_OUT,ia.ItemLayer.SELECTED),b=ia.Color.shade(a.selectionColor,.68)):(a._dispatchItemEvent(b,ia.ItemEvent.ITEM_MOUSE_OUT,ia.ItemLayer.UNSELECTED),b=""),$j(this).css("background-color",b)}),this.$table.delegate("tr","click",function(){var b=$j(this).attr("id").substring(a._containerId.length);$j(this).hasClass("ia-table-row-select")||$j(this).hasClass("ia-table-row-highlight-select")?($j(this).removeClass("ia-table-row-select").removeClass("ia-table-row-highlight-select"),delete a._selectedRows[b],a._dispatchItemEvent(b,ia.ItemEvent.ITEM_CLICK,ia.ItemLayer.UNSELECTED),b=""):($j(this).removeClass("ia-table-row-highlight").addClass("ia-table-row-highlight-select"),a._selectedRows[b]=b,a._dispatchItemEvent(b,ia.ItemEvent.ITEM_CLICK,ia.ItemLayer.SELECTED),b=ia.Color.shade(a.selectionColor,.64)),$j(this).css("background-color",b)}),this.$table.delegate("span.ia-table-notes-icon","click",function(a){a.stopPropagation(),a=$j(this).attr("id"),window.open(a,"_blank")}),this.$table.delegate("span.ia-table-notes-icon","mouseover touchstart",function(a){a.stopPropagation()})},ia.Table.prototype.sort=function(a,b){var c=this._getColumnIndex(a);if(-1!=c){this._cId=a,this._sDirection=b,void 0!=b&&(b=b.toLowerCase());var d=1;"descending"==b&&(d=-1);var e=this.$tableHeaders.find("th:eq("+c+")");this.$tableHeaders.find("th").removeClass("sort-asc").removeClass("sort-desc");var f;1==d?(e.addClass("sort-asc"),f=1/0):(e.addClass("sort-desc"),f=-(1/0));var g;g="categoric"==e.data("type")?function(a){return a.toUpperCase()}:function(a){return a=parseFloat(a),isNaN(a)?f:a};for(var h,e=[],i=this.$table.find("tbody > tr").get(),j=i.length,k=0;j>k;k++)h=$j(i[k].childNodes[c]).attr("data-value"),i[k].sortKey=g(h);for(c=Object.prototype.toString,Object.prototype.toString=function(){return this.key},i.sort(function(a,b){return a.sortKey<b.sortKey?-d:a.sortKey>b.sortKey?d:0}),Object.prototype.toString=c,k=0;j>k;k++)e.push(i[k]),i[k].sortKey=null;this.$table.children("tbody").append(e),this.$table.find("tbody > tr.ia-table-row:odd").removeClass("ia-table-row-even").addClass("ia-table-row-odd"),this.$table.find("tbody > tr.ia-table-row:even").removeClass("ia-table-row-odd").addClass("ia-table-row-even"),this.promoteToTop(this._stickyIds)}},ia.Table.prototype.stickToTop=function(a){this._stickyIds=a.concat(),this.promoteToTop(this._stickyIds)},ia.Table.prototype.promoteToTop=function(a){for(var b=a.length-1;b>=0;b--){var c=$j("tr[id='"+this._containerId+a[b]+"']");c&&this.$table.prepend(c)}},ia.Table.prototype.selectText=function(){var a=this.container.get(0),b=document.body;b.createTextRange?(b=b.createTextRange(),b.moveToElementText(a),b.select()):document.createRange&&window.getSelection&&(sel=window.getSelection(),sel.removeAllRanges(),b=document.createRange(),b.selectNodeContents(a),sel.addRange(b))},ia.Table.prototype._dispatchItemEvent=function(a,b,c){var a=String(a).replace(/#quote#/g,"'").replace(/#double-quote#/g,'"'),d={};d.id=a,d.state=c,d.parent=this,this.dispatchEvent(new ia.ItemEvent(b,d))},ia.Table.prototype._getColumnIndex=function(a){for(var b=-1,c=0;c<this.columns.length;c++)if(this.columns[c].id==a){b=c;break}return b},ia.Table.prototype.select=function(a){var a=String(a).replace(/'/g,"#quote#").replace(/"/g,"#double-quote#"),b=$j("tr[id='"+this._containerId+a+"']");b.addClass("ia-table-row-select"),this._selectedRows[a]=a,a=ia.Color.shade(this.selectionColor,.68),b.css("background-color",a),clearTimeout(this._scrollTimeout);var c=this;this._scrollTimeout=setTimeout(function(){clearTimeout(c._scrollTimeout),c._scrollIntoView(b)},500)},ia.Table.prototype._scrollIntoView=function(a){var b=a.get(0);if(void 0!=b)if(ia.IS_TOUCH_DEVICE)this._scrollBox.scrollToElement(b);else{var c=this.$tableContainer.scrollTop(),d=c+this.$tableContainer.height(),b=b.offsetTop;(b+a.height()>d||c>b)&&this.$tableContainer.scrollTop(b)}},ia.Table.prototype.unselect=function(a){var a=String(a).replace(/'/g,"#quote#").replace(/"/g,"#double-quote#"),b=$j("tr[id='"+this._containerId+a+"']");b.removeClass("ia-table-row-select"),delete this._selectedRows[a],b.css("background-color","")},ia.Table.prototype.clearSelection=function(){for(var a in this._selectedRows)this.unselect(a)},ia.Table.prototype.highlight=function(a){var a=String(a).replace(/'/g,"#quote#").replace(/"/g,"#double-quote#"),b=$j("tr[id='"+this._containerId+a+"']");if(b.hasClass("ia-table-row-select")){b.addClass("ia-table-row-highlight-select");var c=ia.Color.shade(this.selectionColor,.64)}else b.addClass("ia-table-row-highlight"),c=ia.Color.shade(this.highlightColor,.7);b.css("background-color",c),this._highlightRows[a]=b},ia.Table.prototype.clearHighlight=function(){for(var a in this._highlightRows){var b=this._highlightRows[a];b.removeClass("ia-table-row-highlight").removeClass("ia-table-row-highlight-select"),delete this._highlightRows[a];var c=b.hasClass("ia-table-row-select")?ia.Color.shade(this.selectionColor,.68):"";b.css("background-color",c)}},ia.ComparisonTable=function(a){ia.ComparisonTable.baseConstructor.call(this,a)},ia.extend(ia.Table,ia.ComparisonTable),ia.ComparisonTable.prototype.clearSelection=function(){},ia.LayerList=function(a){ia.LayerList.baseConstructor.call(this),this.id=a,this.container=$j("<div id='"+a+"' class='ia-layer-list-scrollbox'>"),this._scrollBox=new ia.ScrollBox(this.container),this.$tableContainer=$j("<div id='"+a+"-container' class='ia-layer-list'>"),this.container.append(this.$tableContainer),this.$tableList=$j("<table>").addClass("ia-layer-list-table"),this.$tableContainer.append(this.$tableList);var b=this;this.container.resize(function(){b._size()})},ia.extend(ia.EventDispatcher,ia.LayerList),ia.LayerList.prototype._size=function(){},ia.LayerList.prototype.render=function(){function a(){b._buildLayerItem(b.mapData.baseLayer,!0);var a=$j("<tr>");b.$tableList.append(a);var c=$j("<td colspan='2' class='ia-layer-list-legend-td'>");a.append(c),b.gradientLegend&&(c.append(b.gradientLegend.container),b.gradientLegend.container.resize(function(){b._size()})),b.discreteLegend&&(c.append(b.discreteLegend.container),b.discreteLegend.scrollBox=b._scrollBox,b.discreteLegend.container.resize(function(){b._size()}))}var b=this;if(this.$tableList.empty(),this.mapData){a();var c=this.mapData.noneBaseLayers.length;if(this.mapData.maintainLayerOrder)for(var d=0;c>d;d++){var e=this.mapData.noneBaseLayers[d];this._buildLayerItem(e)}else for(d=c-1;d>=0;d--)e=this.mapData.noneBaseLayers[d],this._buildLayerItem(e)}this._scrollBox.refresh()},ia.LayerList.prototype._buildLayerItem=function(a,b){if(a.showInLayerList){a.addEventListener(ia.Event.LAYER_VISIBLE_CHANGED,this._layerEventHandler.bind(this));var c=$j("<tr id='"+this.id+"_"+replaceBadCharacters(a.id)+"' class='ia-list-item'>");if(this.$tableList.append(c),!b&&"image"!=a.geometry){var d=$j("<td class='ia-legend-item' style='text-align:center'>");if(c.append(d),""!=a.iconPath){var e=$j("<img>").attr("src",a.iconPath);d.append(e)}else{var f=a.style.lineWidth,e=a.symbolSize+2*f,f=a.symbolSize+2*f,g=$j("<div class='ia-legend-symbol' style='width:"+e+";height:"+f+";'>");d.append(g);var h=document.createElement("canvas");h.width=e,h.height=f,g.append($j(h)),this._drawSymbol(h,a)}}d=$j("<td style='width:100%' id='"+replaceBadCharacters(a.id)+"' class='ia-layer-list-item ia-layer-list-item-unchecked'>"),(b||"image"==a.geometry)&&d.attr("colspan",2),d.html(a.name),c.append(d),1==a.getVisible()&&d.addClass("ia-layer-list-item-checked"),function(){var b=d;c.bind("click",function(c){c.stopPropagation(),c.preventDefault(),b.hasClass("ia-layer-list-item-checked")?(b.removeClass("ia-layer-list-item-checked"),a.setVisible(!1)):(b.addClass("ia-layer-list-item-checked"),a.setVisible(!0),a.isLoaded||a.loadSource())})}()}},ia.LayerList.prototype.showLayer=function(a){this.$tableList.find("tr[id='"+this.id+"_"+replaceBadCharacters(a)+"']").show()},ia.LayerList.prototype.hideLayer=function(a){this.$tableList.find("tr[id='"+this.id+"_"+replaceBadCharacters(a)+"']").hide()},ia.LayerList.prototype.clickFunction=function(){},ia.LayerList.prototype._drawSymbol=function(a,b){var c,d=a.getContext("2d"),e=b.style;for(c in e)d[c]=e[c];"line"==b.geometry?(d.beginPath(),ia.Shape.draw(ia.Shape.LINE,d,a.width/2,a.height/2,b.symbolSize)):(d.beginPath(),e=ia.Shape.SQUARE,"point"==b.geometry&&(e=ia.Shape.CIRCLE),ia.Shape.draw(e,d,a.width/2,a.height/2,b.symbolSize),d.fill()),d.stroke()},ia.LayerList.prototype._layerEventHandler=function(a){if(a.type==ia.Event.LAYER_VISIBLE_CHANGED){var a=a.object,b=replaceBadCharacters(a.id);a.getVisible()?this.$tableList.find("#"+b).addClass("ia-layer-list-item-checked"):this.$tableList.find("#"+b).removeClass("ia-layer-list-item-checked")}},ia.DiscreteLegend=function(a){ia.DiscreteLegend.baseConstructor.call(this),this.id=a,this.container=$j("<div id='"+a+"' class='ia-legend'>"),this.$table=$j("<table>").addClass("ia-legend-table"),this.container.append(this.$table),this.style={fillStyle:"#EFEFEF",strokeStyle:"#cccccc",lineWidth:"0.5",lineJoin:"miter"},this.interactive=this.isLegendComponent=!0,this.layout="vertical",this.thematic=new ia.Thematic,this._touchStart=0},ia.extend(ia.EventDispatcher,ia.DiscreteLegend),ia.DiscreteLegend.prototype.render=function(){this.renderLegend(this.thematic.getClasses())},ia.DiscreteLegend.prototype.renderNumeric=function(){this.renderLegend(this.thematic.numericClassifier.getClasses())},ia.DiscreteLegend.prototype.renderCategoric=function(){this.renderLegend(this.thematic.categoricClassifier.getClasses())},ia.DiscreteLegend.prototype.renderLegend=function(a){this.$table.empty();var b;"horizontal"==this.layout&&(this.container.hasClass("ia-legend-horizontal")||this.container.addClass("ia-legend-horizontal"),this.$table.css("height","100%"),this.$table.css("width","auto"),this.container.css("width","auto"),b=$j("<tr>"),this.$table.append(b));for(var c=0;c<a.length;c++){var d=a[c];"vertical"==this.layout&&(b=$j("<tr data-index='"+c+"''>"),this.$table.append(b)),0==d.size&&b.css("display","none");var e=$j("<td class='ia-legend-item'>");this.interactive&&e.addClass("ia-legend-item-interactive"),b.append(e);var f=this.style.lineWidth,g=d.size+2*f;
d.symbol==ia.Shape.LINE&&(g=30);var f=d.size+2*f,h=$j("<div class='ia-legend-symbol' style='width:"+g+";height:"+f+";'>");e.append(h),e=document.createElement("canvas"),e.width=g,e.height=f,h.append($j(e));var i,g=e.getContext("2d");for(i in this.style)g[i]=this.style[i];g.lineJoin="miter",g.fillStyle=d.color,d.symbol==ia.Shape.LINE?(g.strokeStyle=d.color,g.lineWidth=d.size,g.beginPath(),ia.Shape.draw(d.symbol,g,e.width/2,e.height/2,e.width,d.dashWidth,d.gapWidth)):(g.beginPath(),ia.Shape.draw(d.symbol,g,e.width/2,e.height/2,d.size+.5),g.fill()),g.stroke(),d=$j("<td class='ia-legend-item ia-legend-label'>").html(d.getLabel()),this.interactive&&d.addClass("ia-legend-item-interactive"),"horizontal"==this.layout&&(d.css("white-space","nowrap"),d.css("width","auto")),b.append(d),this.interactive&&this._addMouseEvents(b)}},ia.DiscreteLegend.prototype._addMouseEvents=function(a){var b=this;a.hover(function(){var a=b.$table.find("tbody > tr").index($j(this));if($j(this).hasClass("ia-legend-select")){$j(this).addClass("ia-legend-highlight-select");var c=ia.Color.shade(b.selectionColor,.64);b._dispatchItemEvent(a,ia.ItemEvent.ITEM_MOUSE_OVER,ia.ItemLayer.ROLLOVER_SELECTED)}else $j(this).addClass("ia-legend-highlight"),c=ia.Color.shade(b.highlightColor,.7),b._dispatchItemEvent(a,ia.ItemEvent.ITEM_MOUSE_OVER,ia.ItemLayer.ROLLOVER);$j(this).css("background-color",c)},function(){var a=b.$table.find("tbody > tr").index($j(this));if($j(this).removeClass("ia-legend-highlight"),$j(this).hasClass("ia-legend-highlight-select")){$j(this).removeClass("ia-legend-highlight-select"),$j(this).addClass("ia-legend-select");var c=ia.Color.shade(b.selectionColor,.68);b._dispatchItemEvent(a,ia.ItemEvent.ITEM_MOUSE_OUT,ia.ItemLayer.SELECTED)}else c="",b._dispatchItemEvent(a,ia.ItemEvent.ITEM_MOUSE_OUT,ia.ItemLayer.UNSELECTED);$j(this).css("background-color",c)}),a.bind("click",function(){var a=b.$table.find("tbody > tr").index($j(this));$j(this).hasClass("ia-legend-select")||$j(this).hasClass("ia-legend-highlight-select")?($j(this).removeClass("ia-legend-select").removeClass("ia-legend-highlight-select"),b._dispatchItemEvent(a,ia.ItemEvent.ITEM_CLICK,ia.ItemLayer.UNSELECTED),a=""):($j(this).removeClass("ia-legend-highlight").addClass("ia-legend-highlight-select"),b._dispatchItemEvent(a,ia.ItemEvent.ITEM_CLICK,ia.ItemLayer.SELECTED),a=ia.Color.shade(b.selectionColor,.64)),$j(this).css("background-color",a)})},ia.DiscreteLegend.prototype._dispatchItemEvent=function(a,b,c){var d={};d.id=a,d.parent=this,d.state=c,d.legendClass=this.thematic.numericClassifier.classificationName==ia.Thematic.CONTINUOUS?this.thematic.categoricClassifier.getClasses()[a]:this.thematic.getClasses()[a],this.dispatchEvent(new ia.ItemEvent(b,d))},ia.DiscreteLegend.prototype.select=function(a){a=this.$table.find("tr:eq("+a+")"),void 0!=a&&(a.removeClass("ia-legend-highlight").addClass("ia-legend-select"),a.css("background-color",ia.Color.shade(this.selectionColor,.64)))},ia.DiscreteLegend.prototype.unselect=function(a){a=this.$table.find("tr:eq("+a+")"),void 0!=a&&(a.removeClass("ia-legend-highlight-select").removeClass("ia-legend-select").addClass("ia-legend-highlight"),a.css("background-color",""))},ia.DiscreteLegend.prototype.clearSelection=function(){this.$table.find("tbody > tr").removeClass("ia-legend-select").css("background-color","")},ia.DiscreteLegend.prototype.highlight=function(a){if(a=this.$table.find("tr:eq("+a+")"),a.hasClass("ia-legend-select")){a.addClass("ia-legend-highlight-select");var b=ia.Color.shade(this.selectionColor,.64)}else a.addClass("ia-legend-highlight"),b=ia.Color.shade(this.highlightColor,.7);a.css("background-color",b)},ia.DiscreteLegend.prototype.clearHighlight=function(){var a=this.$table.find("tbody > tr");a.removeClass("ia-legend-highlight").removeClass("ia-legend-highlight-select");var b=this;a.each(function(){var a=$j(this).hasClass("ia-legend-select")?ia.Color.shade(b.selectionColor,.68):"";$j(this).css("background-color",a)})},ia.DiscreteLegend.prototype.hide=function(){},ia.DiscreteLegend.prototype.show=function(){},ia.GradientLegend=function(a){ia.GradientLegend.baseConstructor.call(this),this.id=a,this._context=this._canvas=this._maxLabel=this._minLabel=this._maxValue=this._minValue=void 0,this.container=$j("<div id='"+a+"' class='ia-legend'>"),this.$table=$j("<table>"),this.container.append(this.$table),this.style={fillStyle:"#EFEFEF",strokeStyle:"#cccccc",lineWidth:"1",lineJoin:"miter"}},ia.extend(ia.EventDispatcher,ia.GradientLegend),ia.GradientLegend.prototype.render=function(){if(this.thematic.symbol==ia.Shape.SQUARE||this.thematic.symbol==ia.Shape.LINE||1==this.thematic.heatmap)this._build(20,120),this._renderBlock();else{var a=Math.max(this.thematic.numericClassifier.sizePalette.minSize,this.thematic.numericClassifier.sizePalette.maxSize);this._build(a+10,a+10),this._renderPoint()}},ia.GradientLegend.prototype._build=function(a,b){this.$table.empty();var c=this.thematic.numericClassifier.getBreaks();this._minValue=c[0],this._maxValue=c[c.length-1];var d;this.thematic.numericClassifier.sizePalette.maxSize>=this.thematic.numericClassifier.sizePalette.minSize?(c=this.thematic.numericClassifier.formatter.format(this._minValue,this.precision),d=this.thematic.numericClassifier.formatter.format(this._maxValue,this.precision)):(c=this.thematic.numericClassifier.formatter.format(this._maxValue,this.precision),d=this.thematic.numericClassifier.formatter.format(this._minValue,this.precision));var e=$j("<tr>");this._maxLabel=$j("<td class='ia-legend-item ia-legend-label ia-gradient-legend-label'>"),this._maxLabel.html(d),e.append(this._maxLabel),this.$table.append(e),e=$j("<tr>"),d=$j("<td class='ia-legend-item'>"),e.append(d),this.$table.append(e),e=$j("<div class='ia-legend-symbol' style='width:"+a+";height:"+b+";'>"),d.append(e),this._canvas=document.createElement("canvas"),this._canvas.width=a,this._canvas.height=b,e.append($j(this._canvas)),this._context=this._canvas.getContext("2d"),e=$j("<tr>"),this._minLabel=$j("<td class='ia-legend-item ia-legend-label ia-gradient-legend-label'>"),this._minLabel.html(c),e.append(this._minLabel),this.$table.append(e)},ia.GradientLegend.prototype._renderBlock=function(){if(this._context){this._context.clearRect(0,0,this._canvas.width,this._canvas.height),this._context.strokeStyle=this.style.strokeStyle,this._context.lineWidth=this.style.lineWidth;var a=this.thematic.numericClassifier.colorPalette.getColorList();this._context.beginPath(),ia.Shape.drawGradient(this._canvas,a,"bottomToTop"),this._context.fill(),this._context.stroke()}},ia.GradientLegend.prototype._renderPoint=function(){if(this._context){this._context.clearRect(0,0,this._canvas.width,this._canvas.height);var a=Math.min(this.thematic.numericClassifier.sizePalette.minSize,this.thematic.numericClassifier.sizePalette.maxSize),b=Math.max(this.thematic.numericClassifier.sizePalette.minSize,this.thematic.numericClassifier.sizePalette.maxSize),c=this._canvas.width/2,d=this._canvas.height/2;this._context.strokeStyle=this.style.strokeStyle,this._context.lineWidth=this.style.lineWidth,this._context.beginPath(),ia.Shape.draw(this.thematic.symbol,this._context,c,d,a),this._context.stroke(),this._context.beginPath(),ia.Shape.draw(this.thematic.symbol,this._context,c,d,b),this._context.stroke()}},ia.GradientLegend.prototype.highlight=function(a){this._context&&this.thematic&&(a=this.thematic.getData()[a])&&a.legendClass&&(a=a.legendClass.value,this.thematic.symbol==ia.Shape.SQUARE||this.thematic.symbol==ia.Shape.LINE||1==this.thematic.heatmap?this._highlightBlock(a):this._highlightPoint(a))},ia.GradientLegend.prototype._highlightBlock=function(a){this._renderBlock(),ia.isNumber(a)&&(this._context.strokeStyle=this.highlightColor,this._context.lineWidth=3,a=this._canvas.height-(a-this._minValue)/(this._maxValue-this._minValue)*this._canvas.height,this._context.beginPath(),this._context.moveTo(1,a),this._context.lineTo(this._canvas.width-1,a),this._context.stroke())},ia.GradientLegend.prototype._highlightPoint=function(a){if(this._renderPoint(),ia.isNumber(a)&&(a=this.thematic.getClass(a),void 0!=a)){var b=this._canvas.width/2,c=this._canvas.height/2;this._context.strokeStyle=this.style.strokeStyle,this._context.lineWidth=this.style.lineWidth,this._context.fillStyle=a.color,this._context.beginPath(),ia.Shape.draw(this.thematic.symbol,this._context,b,c,a.size),this._context.fill(),this._context.stroke()}},ia.GradientLegend.prototype.clearHighlight=function(){this.thematic.symbol==ia.Shape.SQUARE||this.thematic.symbol==ia.Shape.LINE||1==this.thematic.heatmap?this._renderBlock():this._renderPoint()},ia.GradientLegend.prototype.select=function(){},ia.GradientLegend.prototype.unselect=function(){},ia.GradientLegend.prototype.clearSelection=function(){},ia.GradientLegend.prototype.hide=function(){this.container.css("display","none")},ia.GradientLegend.prototype.show=function(){this.container.css("display","inline")},ia.Metadata=function(a){this.container=$j("<div id='"+a+"' class='ia-metadata-scrollbox'>"),this._scrollBox=new ia.ScrollBox(this.container),this._textBox=$j("<div class='ia-metadata'>"),this.container.append(this._textBox)},ia.Metadata.prototype.setHtml=function(a){if(void 0!=a)if(a=""+a,(ia.endsWith(a,".htm")||ia.endsWith(a,".html"))&&-1==a.indexOf("href=")){var b=this;this._textBox.load(a,function(){b._scrollBox.refresh()})}else this._textBox.html(a),this._scrollBox.refresh()},ia.HTMLContainer=function(a){this.container=$j("<div id='"+a+"'>")},ia.HTMLContainer.prototype.setHtml=function(a){void 0!=a&&((ia.endsWith(a,".htm")||ia.endsWith(a,".html"))&&-1==a.indexOf("href=")?this.container.load(a,function(){}):this.container.html(a))},ia.LegendEditor=function(a,b,c,d){var e=this;this.showSizePanel=this.showPalettePanel=this.showLegendTools=this.showLegendTypePanel=!0,this._options=d,this._updateTimeout=void 0,this._isVisible=this._lockEditor=!1,this._thematic=a,this._thematic.addEventListener(ia.Event.THEME_CHANGED,function(){e.render()},e),this._reportConfig=b,this._settings=c,this._dataType=this._thematic.getDataType(),this.container=$j('<div class="ia-editor"></div>'),$j("body").bind("click",function(){e.hide()}),this.container.bind("click",function(a){a.stopPropagation()}),e.render()},ia.LegendEditor.prototype.setParams=function(a,b,c){var d=this;this._thematic=a,this._thematic.removeListener(d),this._thematic.addEventListener(ia.Event.THEME_CHANGED,function(){d.render()}),this._reportConfig=b,this._settings=c,this._dataType=this._thematic.getDataType(),this.render()},ia.LegendEditor.prototype.render=function(){var a=this;this.container.empty();var b=$j("<div>");this.container.append(b);var c=this._thematic.numericClassifier,d=this._thematic.categoricClassifier,e=this._reportConfig.getMapPalette();if(this._thematic.getDataType()==ia.Thematic.CATEGORIC){if(this._dataType!=ia.Thematic.CATEGORIC&&a._options&&a._options.onDataTypeChanged&&(this._dataType=ia.Thematic.CATEGORIC,a._options.onDataTypeChanged.call(null,ia.Thematic.CATEGORIC,d.colorPalette)),this.showPalettePanel){var f=$j("<table class='ia-editor-panel ia-editor-palette-panel'>");b.append(f);var g=$j("<tr>");f.append(g);var h=$j("<td>");g.append(h);var i=$j("<table class='ia-editor-color-panel'>");h.append(i),f=$j("<tr>"),i.append(f);for(var i=e.getColorSchemes(),j=0;j<i.length;j++){var k=i[j],h=$j("<td class='ia-list-item'>");f.append(h),function(){var b=k;h.bind("click",function(){d.colorPalette=b,a._settings.schemeId=b.id,a._updateTheme(),a._options&&a._options.onSchemeChanged&&a._options.onSchemeChanged.call(null,d.colorPalette)})}();for(var l=k.getColorList(),m=0;m<l.length;m++){var n=l[m],o=$j("<div class='ia-editor-color-panel-discrete-swatch'>");k.id==d.colorPalette.id&&o.addClass("ia-editor-swatch-selected"),o.css({"background-color":n}),h.append(o)}}}if(this._thematic.symbol!=ia.Shape.SQUARE&&this.showSizePanel){this.showPalettePanel&&(f=$j("<div class='ia-editor-separator'>"),b.append(f));var p=5,q=5;this._thematic.symbol==ia.Shape.LINE&&(q=p=1);var r=d.symbolSize,l=$j("<table class='ia-editor-panel ia-editor-size-panel'>");b.append(l),f=$j("<tr>"),l.append(f),h=$j("<td class='ia-list-item' style='width:50px'>").html("-"),f.append(h),h.bind("click",function(){var b=r-p;q>b&&(b=q),d.symbolSize=b,a._updateTheme(),a._options&&a._options.onSymbolSizeChanged&&a._options.onSymbolSizeChanged.call(null,d.symbolSize)}),h=$j("<td style='padding:5px'>"),f.append(h),l=document.createElement("canvas"),l.width=r+2,this._thematic.symbol==ia.Shape.LINE&&(l.width=100),l.height=r+2,h.append($j(l)),m=l.getContext("2d"),this._thematic.symbol==ia.Shape.LINE?(m.strokeStyle="#cccccc",m.lineWidth=r,m.beginPath(),ia.Shape.draw(this._thematic.symbol,m,l.width/2,l.height/2,l.width)):(m.strokeStyle="#cccccc",m.fillStyle="#f9f9f9",m.lineWidth=1,m.beginPath(),ia.Shape.draw(this._thematic.symbol,m,l.width/2,l.height/2,r),m.fill()),m.stroke(),h=$j("<td class='ia-list-item' style='width:50px'>").html("+"),f.append(h),h.bind("click",function(){d.symbolSize=r+p,a._updateTheme(),a._options&&a._options.onSymbolSizeChanged&&a._options.onSymbolSizeChanged.call(null,d.symbolSize)})}}else{if(this._dataType!=ia.Thematic.NUMERIC&&a._options&&a._options.onDataTypeChanged&&(this._dataType=ia.Thematic.NUMERIC,a._options.onDataTypeChanged.call(null,ia.Thematic.NUMERIC,c.colorPalette)),l=c.classificationName,i=$j("<table class='ia-editor-panel ia-editor-classifier-panel'>"),b.append(i),f=$j("<tr>"),i.append(f),this.showLegendTypePanel)for(g=[ia.Thematic.QUANTILE,ia.Thematic.EQUAL_INTERVAL,ia.Thematic.NATURAL,ia.Thematic.CONTINUOUS,ia.Thematic.STANDARD_DEVIATION],i=[this._reportConfig.getProperty("quantile"),this._reportConfig.getProperty("equalInterval"),this._reportConfig.getProperty("natural"),this._reportConfig.getProperty("continuous"),this._reportConfig.getProperty("standardDeviation")],m=i[g.indexOf(l)],j=0;j<g.length;j++){var s=g[j],t=i[j];void 0!=t&&(h=$j("<td class='ia-list-item'>").html(t),t==m&&h.addClass("ia-editor-classifier-selected"),f.append(h),function(){var b=s;h.bind("click",function(){a._typeMenuOpen=!1,c.classificationName=b,a._settings.legendType=b,a._updateTheme(),a._options&&a._options.onClassificationChanged&&a._options.onClassificationChanged.call(null,c.classificationName)})}())}if(l!=ia.Thematic.CONTINUOUS){if(this.showPalettePanel){for(this.showLegendTypePanel&&(f=$j("<div class='ia-editor-separator'>"),b.append(f)),f=$j("<table class='ia-editor-panel ia-editor-palette-panel'>"),b.append(f),g=$j("<tr>"),f.append(g),h=$j("<td>"),g.append(h),i=$j("<table class='ia-editor-color-panel'>"),h.append(i),f=$j("<tr>"),i.append(f),i=e.getColorPalettes(),j=0;j<i.length;j++)for(k=i[j],h=$j("<td class='ia-list-item'>"),k.id==c.colorPalette.id&&h.addClass("ia-editor-selected"),f.append(h),function(){var b=k;h.bind("click",function(){c.colorPalette=b,a._settings.paletteId=b.id,a._updateTheme(),a._options&&a._options.onPaletteChanged&&a._options.onPaletteChanged.call(null,c.colorPalette)})}(),m=c.noClasses,l==ia.Thematic.STANDARD_DEVIATION&&(m=6),t=k.getInterpolatedColors(m),m=0;m<t.length;m++)n=t[m],o=$j("<div class='ia-editor-color-panel-discrete-swatch'>"),k.id==c.colorPalette.id&&o.addClass("ia-editor-swatch-selected"),o.css({"background-color":n}),h.append(o);this.showLegendTools&&(h=$j("<td>"),g.append(h),i=$j("<table class='ia-editor-tool-panel'>"),h.append(i),f=$j("<tr>"),i.append(f),h=$j("<td class='ia-list-item'>").html("&uArr;&dArr;"),f.append(h),h.bind("click",function(){c.colorPalette.getColorList().reverse(),a._updateTheme(),a._options&&a._options.onPaletteFlipped&&a._options.onPaletteFlipped.call(null,c.colorPalette)}),l!=ia.Thematic.STANDARD_DEVIATION&&(f=$j("<tr>"),i.append(f),h=$j("<td class='ia-list-item'>").html("-"),f.append(h),h.bind("click",function(){c.noClasses>e.minNoClasses&&(c.noClasses--,a._updateTheme(),a._options&&a._options.onNoClassesChanged&&a._options.onNoClassesChanged.call(null,c.noClasses))}),f=$j("<tr>"),i.append(f),h=$j("<td class='ia-list-item'>").html("+"),f.append(h),h.bind("click",function(){c.noClasses<e.maxNoClasses&&(a._thematic.numericClassifier.noClasses++,a._updateTheme(),a._options&&a._options.onNoClassesChanged&&a._options.onNoClassesChanged.call(null,c.noClasses))})))}}else if(this.showPalettePanel){for(this.showLegendTypePanel&&(f=$j("<div class='ia-editor-separator'>"),b.append(f)),f=$j("<table class='ia-editor-panel ia-editor-palette-panel'>"),b.append(f),g=$j("<tr>"),f.append(g),h=$j("<td>"),g.append(h),i=$j("<table class='ia-editor-color-panel'>"),h.append(i),f=$j("<tr>"),i.append(f),i=e.getColorPalettes(),j=0;j<i.length;j++)k=i[j],h=$j("<td class='ia-list-item'>"),f.append(h),function(){var b=k;h.bind("click",function(){c.colorPalette=b,a._settings.paletteId=b.id,a._updateTheme(),a._options&&a._options.onPaletteChanged&&a._options.onPaletteChanged.call(null,c.colorPalette)})}(),t=k.getColorList(),l=document.createElement("canvas"),$j(l).addClass("ia-editor-color-panel-continuous-swatch"),k.id==c.colorPalette.id&&$j(l).addClass("ia-editor-swatch-selected"),h.append($j(l)),m=l.getContext("2d"),m.beginPath(),ia.Shape.drawGradient(l,t,"bottomToTop"),m.fill();this.showLegendTools&&(h=$j("<td>"),g.append(h),i=$j("<table class='ia-editor-tool-panel'>"),h.append(i),f=$j("<tr>"),i.append(f),h=$j("<td class='ia-list-item'>").html("&uArr;&dArr;"),f.append(h),h.bind("click",function(){c.colorPalette.getColorList().reverse(),a._updateTheme(),a._options&&a._options.onPaletteFlipped&&a._options.onPaletteFlipped.call(null,c.colorPalette)}))}if(this._thematic.symbol!=ia.Shape.SQUARE&&this.showSizePanel){(this.showPalettePanel||this.showLegendTypePanel)&&(f=$j("<div class='ia-editor-separator'>"),b.append(f)),q=p=5,this._thematic.symbol==ia.Shape.LINE&&(q=p=1);var u=c.sizePalette,l=c.colorPalette.getColorList(),j=l[0],g=l[l.length-1],l=$j("<table class='ia-editor-panel ia-editor-size-panel'>");b.append(l),b=$j("<tr>"),l.append(b),h=$j("<td style='vertical-align:top;width:50px;padding:0px'>"),b.append(h),i=$j("<table style='width:100%'>"),h.append(i),f=$j("<tr>"),i.append(f),h=$j("<td class='ia-list-item'>").html("-"),f.append(h),h.bind("click",function(){var b=u.minSize-p;q>b&&(b=q),u.minSize=b,a._updateTheme(),a._options&&a._options.onSymbolSizeChanged&&a._options.onSymbolSizeChanged.call(null,u.minSize,u.maxSize)}),f=$j("<tr>"),i.append(f),h=$j("<td class='ia-list-item'>").html("+"),f.append(h),h.bind("click",function(){u.minSize+=p,a._updateTheme(),a._options&&a._options.onSymbolSizeChanged&&a._options.onSymbolSizeChanged.call(null,u.minSize,u.maxSize)}),h=$j("<td style='padding:5px'>"),b.append(h),f=Math.max(u.minSize,u.maxSize)+2,l=document.createElement("canvas"),l.width=f,this._thematic.symbol==ia.Shape.LINE&&(l.width=100),l.height=f,h.append($j(l)),m=l.getContext("2d"),this._thematic.symbol==ia.Shape.LINE?(m.strokeStyle=j,m.lineWidth=u.minSize,m.beginPath(),ia.Shape.draw(this._thematic.symbol,m,l.width/2,l.height/2,l.width)):(m.strokeStyle="#cccccc",m.fillStyle=j,m.lineWidth=1,m.beginPath(),ia.Shape.draw(this._thematic.symbol,m,l.width/2,l.height/2,u.minSize),m.fill()),m.stroke(),h=$j("<td style='padding:5px'>"),b.append(h),l=document.createElement("canvas"),l.width=f,this._thematic.symbol==ia.Shape.LINE&&(l.width=100),l.height=f,h.append($j(l)),m=l.getContext("2d"),this._thematic.symbol==ia.Shape.LINE?(m.strokeStyle=g,m.lineWidth=u.maxSize,m.beginPath(),ia.Shape.draw(this._thematic.symbol,m,l.width/2,l.height/2,l.width)):(m.strokeStyle="#cccccc",m.fillStyle=g,m.lineWidth=1,m.beginPath(),ia.Shape.draw(this._thematic.symbol,m,l.width/2,l.height/2,u.maxSize),m.fill()),m.stroke(),h=$j("<td style='vertical-align:top;width:50px;padding:0px'>"),b.append(h),i=$j("<table style='width:100%'>"),h.append(i),f=$j("<tr>"),i.append(f),h=$j("<td class='ia-list-item'>").html("-"),f.append(h),h.bind("click",function(){var b=u.maxSize-p;q>b&&(b=q),u.maxSize=b,a._updateTheme(),a._options&&a._options.onSymbolSizeChanged&&a._options.onSymbolSizeChanged.call(null,u.minSize,u.maxSize)}),f=$j("<tr>"),i.append(f),h=$j("<td class='ia-list-item'>").html("+"),f.append(h),h.bind("click",function(){u.maxSize+=p,a._updateTheme(),a._options&&a._options.onSymbolSizeChanged&&a._options.onSymbolSizeChanged.call(null,u.minSize,u.maxSize)})}}this._lockEditor=!1},ia.LegendEditor.prototype._updateTheme=function(){if(!this._lockEditor){var a=this;clearTimeout(this._updateTimeout),this._updateTimeout=setTimeout(function(){a._lockEditor=!0,a._thematic.commitChanges()},100)}},ia.LegendEditor.prototype.toggle=function(){this._isVisible?this.hide():this.show()},ia.LegendEditor.prototype.hide=function(){this._isVisible&&this.container.animate({opacity:0},function(){this.container.css({visibility:"hidden"}),this._isVisible=!1})},ia.LegendEditor.prototype.show=function(){this._isVisible||this.container.css({visibility:"visible"}).animate({opacity:1},function(){this._isVisible=!0})},ia.MapTools=function(a,b,c,d,e){this._filterBtn=this._clearBtn=void 0,this._map=a,this._useGoogleMaps=d,this._includeSearchTool=e,this._searching=!1,this._interactionGroup=c,this._dataGroup=b,this._marker=new Image,this._marker.src="./map_tool_search.png",this.container=$j(this._useGoogleMaps?'<div class="ia-google-map-toolbar"></div>':'<div class="ia-map-toolbar"></div>'),c.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,this._updateToolbar.bind(this)),b.addEventListener(ia.FilterEvent.FILTER_CHANGED,this._updateToolbar.bind(this))},ia.MapTools.prototype._updateToolbar=function(){this._interactionGroup.getSelection().length>0?(this._clearBtn&&this._clearBtn.removeClass("ia-cross-btn-disabled ia-toolbar-text-btn-disabled").addClass("ia-list-item ia-cross-btn"),this._filterBtn&&this._filterBtn.removeClass("ia-cross-btn ia-toolbar-text-btn-disabled").addClass("ia-list-item ia-cross-btn-disabled")):(this._clearBtn&&this._clearBtn.removeClass("ia-list-item ia-cross-btn").addClass("ia-cross-btn-disabled ia-toolbar-text-btn-disabled"),this._filterBtn&&(this._dataGroup.getFilteredFeatures().length>0?this._filterBtn.removeClass("ia-cross-btn-disabled ia-toolbar-text-btn-disabled").addClass("ia-list-item ia-cross-btn"):this._filterBtn.removeClass("ia-list-item ia-cross-btn").addClass("ia-cross-btn-disabled ia-toolbar-text-btn-disabled")))},ia.MapTools.prototype.filterFunction=function(){},ia.MapTools.prototype.clearFunction=function(){},ia.MapTools.prototype.searchFunction=function(a,b){var c=this._map.controller.defaultBBox,c='{"xmin":'+c.getXMin()+',"ymin":'+c.getYMin()+',"xmax":'+c.getXMax()+',"ymax":'+c.getYMax()+',"spatialReference":{"wkid":102100}}';ia.File.load({url:encodeURI("http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/suggest?text="+a+"&outSR=102100&searchExtent="+c+"&maxLocations=4&f=json"),dataType:"json",onSuccess:function(a){var c=[];if(void 0!=a.suggestions)for(var a=a.suggestions,d=0;d<a.length;d++){var e=a[d],f={};f.name=e.text,f.magicKey=e.magicKey,c[c.length]=f}b.call(null,c)}})},ia.MapTools.prototype.render=function(){this.container.empty();var a=this,b=!1;this._map.container.mouseenter(function(){b||(a.container.stop(),a.container.css({visibility:"visible"}).animate({opacity:1}))}),this._map.container.mouseleave(function(){a.container.stop(),a.container.animate({opacity:0},function(){a.container.css({visibility:"hidden"})}),b=!1}),this.container.mouseenter(function(){b=!0,a.container.stop(),a.container.animate({opacity:1})}),this.container.mouseleave(function(){b=!1,a.container.stop(),a.container.animate({opacity:1})});var c;this.container.bind("touchstart",function(){a.container.stop(),a.container.css({visibility:"visible"}).animate({opacity:1}),clearTimeout(c),c=setTimeout(function(){clearTimeout(c),a.container.stop(),a._searching||a.container.animate({opacity:0},function(){a.container.css({visibility:"hidden"})})},5e3)}),this._map.container.bind("touchstart",function(){a._searching=!1,a.container.stop(),a.container.css({visibility:"visible"}).animate({opacity:1}),clearTimeout(c),c=setTimeout(function(){clearTimeout(c),a.container.stop(),a._searching||a.container.animate({opacity:0},function(){a.container.css({visibility:"hidden"})})},5e3)});var d=$j('<div class="ia-toolbar-btn ia-list-item ia-zoomfull-btn"></div>');this.container.append(d),d.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a._map.controller.zoomFull()}),d=$j('<div class="ia-toolbar-btn ia-list-item ia-zoomout-btn"></div>'),this.container.append(d),d.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a._useGoogleMaps?a._map.gMap.setZoom(a._map.gMap.getZoom()-1):a._map.controller.zoomOut()}),d=$j('<div class="ia-toolbar-btn ia-list-item ia-zoomin-btn"></div>'),this.container.append(d),d.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a._useGoogleMaps?a._map.gMap.setZoom(a._map.gMap.getZoom()+1):a._map.controller.zoomIn()});var e;if(this._includeSearchTool&&(e=$j('<div class="ia-toolbar-btn ia-list-item ia-search-btn"></div>'),a.container.append(e)),this.clearButtonText&&(a._clearBtn=$j("<div class='ia-toolbar-text-btn ia-list-item ia-toolbar-text-btn-disabled ia-cross-btn-disabled'>").html(a.clearButtonText),a.container.append(a._clearBtn),a._clearBtn.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a.clearFunction()})),this.filterButtonText&&(this._filterBtn=$j("<div class='ia-toolbar-text-btn ia-list-item ia-toolbar-text-btn-disabled ia-cross-btn-disabled'>").html(this.filterButtonText),this.container.append(this._filterBtn),this._filterBtn.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a.filterFunction()})),this._includeSearchTool)if(this._useGoogleMaps){var f=$j("<div id='ia-search-holder-"+this._map.id+"' class='ui-widget'>"),g=$j("<input id='ia-search-"+this._map.id+"' class='ia-search-input'>");f.append(g),this.container.append(f),f.hide();var h,i=!0,j=new google.maps.Geocoder;e.bind("click",function(b){a._searching=!0,b.stopPropagation(),b.preventDefault(),f.toggle(),i&&(i=!1,g.autocomplete({source:function(b,c){j.geocode({address:b.term,bounds:a._map.defaultBounds},function(b,d){if(d==google.maps.GeocoderStatus.OK){var e,f=[];for(e in b){var g=b[e];g.geometry.bounds&&a._map.defaultBounds.intersects(g.geometry.bounds)&&(f[f.length]=b[e])}c($j.map(f,function(a){return{label:a.formatted_address,value:a.formatted_address,location:a.geometry.location,bounds:a.geometry.bounds}}))}})},minLength:2,select:function(b,c){a._map.gMap.fitBounds(c.item.bounds),h&&h.setMap(null),h=new google.maps.Marker({map:a._map.gMap,position:c.item.location}),f.toggle()},open:function(){},close:function(){},appendTo:"#ia-search-holder-"+a._map.id})),g.focus(),g.val([]),g.autocomplete("close")})}else f=$j("<div id='ia-search-holder-"+this._map.id+"' class='ui-widget'>"),g=$j("<input id='ia-search-"+this._map.id+"' class='ia-search-input'>"),f.append(g),this.container.append(f),f.hide(),i=!0,e.bind("click",function(b){a._searching=!0,a._map.markerLayer.clearMarkers(),b.stopPropagation(),b.preventDefault(),f.toggle(),i&&(i=!1,g.autocomplete({source:function(b,c){a.searchFunction(b.term,function(a){c($j.map(a,function(a){return{label:a.name,value:a.name,magicKey:a.magicKey,location:a.location,bounds:a.bounds}}))})},minLength:2,select:function(b,c){void 0!==c.item.magicKey?ia.File.load({url:encodeURI("http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/findAddressCandidates?SingleLine ="+c.item.name+"&outSR=102100&magicKey="+c.item.magicKey+"&f=json"),dataType:"json",onSuccess:function(d){void 0!==d.candidates&&d.candidates.length>0&&(c.item.location=d.candidates[0].location,c.item.bounds=d.candidates[0].extent,a._onSearchSelect(b,c,f))}}):a._onSearchSelect(b,c,f)},open:function(){},close:function(){},appendTo:"#ia-search-holder-"+a._map.id})),g.focus(),g.val([]),g.autocomplete("close")});this._updateToolbar()},ia.MapTools.prototype._onSearchSelect=function(a,b,c){a=b.item.bounds,b=b.item.location,void 0!=a?(a=new ia.BoundingBox(a.xmin,a.ymin,a.xmax,a.ymax),-1!=this._map.maxZoom&&Math.min(a.getWidth(),a.getHeight())<this._map.maxZoom&&(cx=a.getXCenter(),cy=a.getYCenter(),a.setWidth(this._map.maxZoom),a.setHeight(this._map.maxZoom),a.setXCenter(cx),a.setYCenter(cy)),this._map.controller.zoomToBBox(a)):void 0!=b&&this._map.controller.centerOnCoords(b.x,b.y),void 0!=b&&(this._map.markerLayer.clearMarkers(),this._map.markerLayer.addMarker(this._marker,b.x,b.y),this._map.markerLayer.render()),c.toggle();var d=this;this.container.animate({opacity:0},function(){d.container.css({visibility:"hidden"})})},ia.TableTools=function(a,b){this._filterBtn=this._clearBtn=void 0,this._interactionGroup=b,this._dataGroup=a,this._borderRadius=0,this._borderRadius=parseInt($j(".ia-panel").css("border-top-left-radius"))-1,this._borderRadius<0&&(this._borderRadius=0),this.container=$j('<div class="ia-table-toolbar"></div>'),this.container.css("border-bottom-left-radius",this._borderRadius+"px"),this.container.css("border-bottom-right-radius",this._borderRadius+"px"),b.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,this._updateToolbar.bind(this)),a.addEventListener(ia.FilterEvent.FILTER_CHANGED,this._updateToolbar.bind(this))},ia.TableTools.prototype._updateToolbar=function(){this._interactionGroup.getSelection().length>0?(this._clearBtn&&this._clearBtn.removeClass("ia-cross-btn-disabled ia-toolbar-text-btn-disabled").addClass("ia-list-item ia-cross-btn"),this._filterBtn&&this._filterBtn.removeClass("ia-cross-btn ia-toolbar-text-btn-disabled").addClass("ia-list-item ia-cross-btn-disabled")):(this._clearBtn&&this._clearBtn.removeClass("ia-list-item ia-cross-btn").addClass("ia-cross-btn-disabled ia-toolbar-text-btn-disabled"),this._filterBtn&&(this._dataGroup.getFilteredFeatures().length>0?this._filterBtn.removeClass("ia-cross-btn-disabled ia-toolbar-text-btn-disabled").addClass("ia-list-item ia-cross-btn"):this._filterBtn.removeClass("ia-list-item ia-cross-btn").addClass("ia-cross-btn-disabled ia-toolbar-text-btn-disabled")))},ia.TableTools.prototype.filterFunction=function(){},ia.TableTools.prototype.clearFunction=function(){},ia.TableTools.prototype.render=function(){this.container.empty();var a=this;this.clearButtonText&&(this._clearBtn=$j("<div class='ia-toolbar-text-btn ia-list-item ia-toolbar-text-btn-disabled ia-cross-btn-disabled'>").html(this.clearButtonText),this.container.append(this._clearBtn),this._clearBtn.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a.clearFunction()}),this._clearBtn.css("border-radius",this._borderRadius+"px")),this.filterButtonText&&(this._filterBtn=$j("<div class='ia-toolbar-text-btn ia-list-item ia-toolbar-text-btn-disabled ia-cross-btn-disabled'>").html(this.filterButtonText),this.container.append(this._filterBtn),this._filterBtn.bind("click",function(b){b.stopPropagation(),b.preventDefault(),a.filterFunction()}),this._filterBtn.css("border-radius",this._borderRadius+"px")),this._updateToolbar()},ia.AdvancedPieComponent=function(a,b){ia.AdvancedPieComponent.baseConstructor.call(this),this.id=a,this.tip="",this._layout=b,this._chartTitle1="",this._layer1=this._chart1=void 0,this._chartTitle2="",this._legend=this._layer2=this._chart2=void 0,this._selectionIds=[],this._scrollContainer=this._scrollBox=void 0,this._multiLayout=!0,this._data=void 0,this._isVisible=!0},ia.extend(ia.EventDispatcher,ia.AdvancedPieComponent),ia.AdvancedPieComponent.prototype.build=function(){var a=new ia.InteractionGroup;this.container=$j("<div id='"+this.id+"' class='ia-advanced-chart'>");var b=this;this.container.resize(function(){b._size()}),this._scrollContainer=$j("<div id='"+this.id+"-scroll-container' class='ia-advanced-chart-scrollbox'>"),this._scrollBox=new ia.ScrollBox(this._scrollContainer),this.container.append(this._scrollContainer),this.thematic=new ia.Thematic,this.thematic.setDataType(ia.Thematic.CATEGORIC),this.thematic.setDataField("value");var c,d,e;"vertical"==this._layout?(c=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:0%;top:0%;width:90%;height:30%'>"),
d=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:0%;top:35%;width:90%;height:30%'>"),e=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:0%;top:70%;width:90%'>")):"horizontal"==this._layout?(c=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:0%;top:0%;width:30%;height:80%'>"),d=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:30%;top:0%;width:30%;height:80%'>"),e=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:60%;top:0%;height:80%;width:35%'>")):"box"==this._layout?(c=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:0%;top:0%;width:50%;height:40%'>"),d=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:0%;top:50%;width:50%;height:40%'>"),e=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:50%;top:0%;width:45%'>")):(this._multiLayout=!1,c=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:0%;top:0%;width:50%;height:90%'>"),e=$j("<div class='ia-ui-item ia-ui-item-align-center' style='position:absolute;left:50%;top:0%;width:45%;'>")),this._scrollContainer.append(c),this._multiLayout&&this._scrollContainer.append(d),this._scrollContainer.append(e),this._chartTitle1=$j("<div>").html(""),c.append(this._chartTitle1),this._chart1=new ia.PieChart(this.id+"-pie-chart-1"),this._chart1.container.css("position","relative"),c.append(this._chart1.container),this._layer1=new ia.AdvancedPieLayer,this._layer1.thematic=this.thematic,this._layer1.highlightColor=this.highlightColor,this._layer1.selectionColor=this.selectionColor,this._layer1.tip=this.tip,this._layer1.setVisible(!0),this._layer1.interactive=!0,a.addComponent(this._layer1),this._chart1.addLayer(this._layer1),this._multiLayout&&(this._chartTitle2=$j("<div>"),d.append(this._chartTitle2).html(""),this._chart2=new ia.PieChart(this.id+"-pie-chart-2"),this._chart2.container.css("position","relative"),d.append(this._chart2.container),this._layer2=new ia.AdvancedPieLayer,this._layer2.thematic=this.thematic,this._layer2.highlightColor=this.highlightColor,this._layer2.selectionColor=this.selectionColor,this._layer2.tip=this.tip,this._layer2.setVisible(!0),this._layer2.interactive=!0,a.addComponent(this._layer2),this._chart2.addLayer(this._layer2)),this._legend=new ia.DiscreteLegend(this.id+"-this._legend-discrete"),this._legend.thematic=this.thematic,this._legend.highlightColor=this.highlightColor,this._legend.selectionColor=this.selectionColor,a.addComponent(this._legend),e.append(this._legend.container),this._legend.container.resize(function(){b._size()})},ia.AdvancedPieComponent.prototype._size=function(){this._scrollContainer.height(this.container.height()),this._scrollContainer.width(this.container.width()),this._scrollBox.refresh()},ia.AdvancedPieComponent.prototype.setData=function(a){this._data=a,this._layer1.setData(a),this._multiLayout&&this._layer2.setData(a)},ia.AdvancedPieComponent.prototype.highlight=function(a){this._multiLayout&&1==this._selectionIds.length?(this._layer2.itemId=a,this._layer2.update(),this._layer2.render(),this._chartTitle2.html(this._layer2.itemName)):0==this._selectionIds.length&&(this._layer1.itemId=a,this._layer1.update(),this._layer1.render(),this._chartTitle1.html(this._layer1.itemName))},ia.AdvancedPieComponent.prototype.clearHighlight=function(){this._multiLayout&&1==this._selectionIds.length?(this._chartTitle2.html(this.title2),this._layer2.itemId=null,this._layer2.update(),this._layer2.render()):0==this._selectionIds.length&&(this._chartTitle1.html(this.title1),this._layer1.itemId=null,this._layer1.update(),this._layer1.render())},ia.AdvancedPieComponent.prototype.select=function(a){-1==this._selectionIds.indexOf(a)&&this._selectionIds.push(a),this._multiLayout&&this._selectionIds.length>1?(this._layer2.itemId=a,this._layer2.update(),this._layer2.render(),this._chartTitle2.html(this._layer2.itemName)):(this._layer1.itemId=a,this._layer1.update(),this._layer1.render(),this._chartTitle1.html(this._layer1.itemName))},ia.AdvancedPieComponent.prototype.unselect=function(a){a=this._selectionIds.indexOf(a),-1!=a&&this._selectionIds.splice(a,1),this._multiLayout?0==this._selectionIds.length?(this._chartTitle1.html(this.title1),this._layer1.itemId=null,this._layer1.update(),this._layer1.render()):1==this._selectionIds.length&&(this._chartTitle2.html(this.title2),this._layer2.itemId=null,this._layer2.update(),this._layer2.render()):0==this._selectionIds.length&&(this._chartTitle1.html(this.title1),this._layer1.itemId=null,this._layer1.update(),this._layer1.render())},ia.AdvancedPieComponent.prototype.clearSelection=function(){this._selectionIds=[],this._layer1.itemId=null,this._layer1.update(),this._layer1.render(),this._chartTitle1.html(this.title1),this._multiLayout&&(this._layer2.itemId=null,this._layer2.update(),this._layer2.render(),this._chartTitle2.html(this.title2))},ia.AdvancedPieComponent.prototype.render=function(){this._legend.render(),this._layer1.update(),this._layer1.render(),""==this._chartTitle1.html()&&this._chartTitle1.html(this.title1),this._multiLayout&&(this._layer2.update(),this._layer2.render(),""==this._chartTitle2.html()&&this._chartTitle2.html(this.title2)),this._size()},ia.AdvancedPieComponent.prototype.toggle=function(){this._isVisible?this.hide():this.show()},ia.AdvancedPieComponent.prototype.hide=function(){this._isVisible&&(this._isVisible=!1,this.container.stop(),this.container.animate({opacity:0},function(){}))},ia.AdvancedPieComponent.prototype.show=function(){this._isVisible||(this._isVisible=!0,this.container.stop(),this.container.animate({opacity:1},function(){}))},ia.FeatureLegend=function(a){ia.FeatureLegend.baseConstructor.call(this,a),this._selectionIds=[],this.container.addClass("ia-feature-legend"),this._scrollBox=new ia.ScrollBox(this.container),this._renderTimeout=null,this.interactive=this.isLegendComponent=!1,this.colorPalette=new ia.ColorPalette},ia.extend(ia.DiscreteLegend,ia.FeatureLegend),ia.FeatureLegend.prototype.render=function(){this._renderTimeout=null;for(var a=[],b=this._selectionIds.length,c=this.colorPalette.getColors(b),d=0;b>d;d++){var e=this.geography.getFeature(this._selectionIds[d]);void 0!=e&&(e=new ia.CategoricClass(e.name),e.color=c[d],a[d]=e)}this.renderLegend(a),this._scrollBox.refresh()},ia.FeatureLegend.prototype.highlight=function(){},ia.FeatureLegend.prototype.clearHighlight=function(){},ia.FeatureLegend.prototype.select=function(a){-1==this._selectionIds.indexOf(a)&&this._selectionIds.push(a),this._triggerRender()},ia.FeatureLegend.prototype.unselect=function(a){a=this._selectionIds.indexOf(a),-1!=a&&this._selectionIds.splice(a,1),this._triggerRender()},ia.FeatureLegend.prototype.clearSelection=function(){this._selectionIds=[],this._triggerRender()},ia.FeatureLegend.prototype._triggerRender=function(){this._renderTimeout||(this._renderTimeout=setTimeout(function(){this.render()}.bind(this),5))},ia.MenuBar=function(a){this.container=$j("<div id='"+a+"' class='ia-menubar'>")},ia.MenuBar.prototype.render=function(a){this.container.empty();var b=$j("<table>").addClass("ia-menubar-table");this.container.append(b);var c=$j("<tr>");b.append(c);var d,b=a.getProperties();for(d in b)if(-1!=d.indexOf("menuItem")){var e=d.substring(8,d.length),f=a.getProperty("menuItem"+e);if(f){$td=$j("<td class='ia-list-item ia-menubar-btn'>").html(f),c.append($td);var g=a.getProperty("menuFunc"+e);void 0!=g&&function(){var a=g;-1==a.indexOf("http")&&-1==a.indexOf("javascript")&&(a=ia.IAS_PATH+a),$td.bind("click",function(b){b.stopPropagation(),ia.callFunction(a,"_blank",b)})}()}}},ia.CalloutBox=function(a,b){this.id=a,this.notchPosition=b||"left-right",this.container=$j('<div id="'+a+'" class="callout"></div>'),this._py=this._px=0,this._popup=this._isVisible=!1,this._notchBorder=$j('<div class="callout-notch"></div>'),this._notchBorder.addClass("callout-notch-"+this.notchPosition),this.container.append(this._notchBorder),this._notchFill=$j('<div class="callout-notch"></div>'),this._notchFill.addClass("callout-notch-"+this.notchPosition),this.container.append(this._notchFill),"none"==this.notchPosition&&(this._notchBorder.css({display:"none"}),this._notchFill.css({display:"none"}));var c=$j("<div>").addClass("ia-panel-btns").attr("id",a+"-btns");this.container.append(c);var d=!1;this.container.mouseenter(function(){d||(c.stop(),c.css({visibility:"visible"}).animate({opacity:.4}))}),this.container.mouseleave(function(){c.stop(),c.animate({opacity:0},function(){c.css({visibility:"hidden"})})}),c.mouseenter(function(){d=!0,c.animate({opacity:1})}),c.mouseleave(function(){d=!1,c.stop(),c.animate({opacity:.4})});var e;this.container.bind("touchstart",function(){c.stop(),c.css({visibility:"visible"}).animate({opacity:1}),clearTimeout(e),e=setTimeout(function(){clearTimeout(e),c.stop(),c.animate({opacity:0},function(){c.css({visibility:"hidden"})})},5e3)});var f=this,g=$j("<div>").addClass("ia-panel-btn ia-panel-close-btn").attr("id",a+"-close");g.bind("click",function(a){a.stopPropagation(),f.hide()}),c.append(g);var h;this.container.resize(function(){clearTimeout(h),h=setTimeout(function(){clearTimeout(h),f._isVisible&&f.position()},300)})},ia.CalloutBox.prototype.position=function(a,b){if(void 0!=this.container.parent()){a&&(a-=this.container.parent().offset().left,this._px=a),b&&(b-=this.container.parent().offset().top,this._py=b),this._notchBorder.removeClass("callout-notch-left callout-notch-right callout-notch-border-left callout-notch-border-right"),this._notchFill.removeClass("callout-notch-left callout-notch-right"),this._notchBorder.css({left:"",right:"",top:"",bottom:""}),this._notchFill.css({left:"",right:"",top:"",bottom:""});var c,d,e=a||this._px,f=b||this._py,g=this.container.parent().width(),h=this.container.parent().height(),i=this.container.outerWidth(),j=this.container.outerHeight(),k=g/2,l=h/2;"left-right"==this.notchPosition?(c=30,d=Math.min(30,j/2),f-=d):(d=30,c=Math.min(30,i/2),e-=c),"left-right"==this.notchPosition?k>e?(this._notchBorder.hasClass("callout-notch-right")&&(this._notchBorder.removeClass("callout-notch-right callout-notch-border-right"),this._notchFill.removeClass("callout-notch-right")),e+=c,this._notchBorder.addClass("callout-notch-left callout-notch-border-left"),this._notchFill.addClass("callout-notch-left"),this._notchBorder.css({left:"-11px"}),this._notchFill.css({left:"-10px"})):(this._notchBorder.hasClass("callout-notch-left")&&(this._notchBorder.removeClass("callout-notch-left callout-notch-border-left"),this._notchFill.removeClass("callout-notch-left")),e=e-i-c,this._notchBorder.addClass("callout-notch-right callout-notch-border-right"),this._notchFill.addClass("callout-notch-right"),this._notchBorder.css({right:"-11px"}),this._notchFill.css({right:"-10px"})):l>f?(this._notchBorder.hasClass("callout-notch-bottom")&&(this._notchBorder.removeClass("callout-notch-bottom callout-notch-border-bottom"),this._notchFill.removeClass("callout-notch-bottom")),f+=d,this._notchBorder.addClass("callout-notch-top callout-notch-border-top"),this._notchFill.addClass("callout-notch-top"),this._notchBorder.css({top:"-11px"}),this._notchFill.css({top:"-10px"})):(this._notchBorder.hasClass("callout-notch-top")&&(this._notchBorder.removeClass("callout-notch-top callout-notch-border-top"),this._notchFill.removeClass("callout-notch-top")),f=f-j-d,this._notchBorder.addClass("callout-notch-bottom callout-notch-border-bottom"),this._notchFill.addClass("callout-notch-bottom"),this._notchBorder.css({bottom:"-11px"}),this._notchFill.css({bottom:"-10px"})),c=e+i-(g-10),c>0&&(e-=c),10>e&&(e=10),d=f+j-(h-10),d>0&&(f-=d),10>f&&(f=10),"left-right"==this.notchPosition?(g=this._py-f-5,this._notchBorder.css({top:g+"px"}),this._notchFill.css({top:g+"px"})):(g=this._px-e-5,this._notchBorder.css({left:g+"px"}),this._notchFill.css({left:g+"px"})),this.container.css({left:e+"px",top:f+"px"})}},ia.CalloutBox.prototype.popup=function(a){if(1==a){this._popup=!0;var b=this;$j("body").bind("click",function(){b.hide()}),this.container.bind("click",function(a){a.stopPropagation()})}else{if(0!=a)return this._popup;this._popup=!1}},ia.CalloutBox.prototype.append=function(a){this.container.append(a)},ia.CalloutBox.prototype.toggle=function(){this._isVisible?this.hide():this.show()},ia.CalloutBox.prototype.hide=function(){this._isVisible=!1,this.container.hide()},ia.CalloutBox.prototype.show=function(){this._isVisible=!0,this.container.fadeIn()},ia.PrintBar=function(a){this._report=a,this._ratio=this._report.container.height()/this._report.container.width(),this.container=$j('<div class="ia-print-bar"></div>')},ia.PrintBar.prototype.render=function(){this.container.empty();var a=$j('<div class="ia-ui-item ia-ui-item-align-center ia-list-item ia-ui-item-table-cell ia-drag-btn"><input style="cursor:pointer" type="checkbox" checked>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>');this.container.append(a);var b=a.find("input:checkbox:first");a.bind("click",function(a){$j(a.target).is(":checkbox")?b.is(":checked")?builder.canvas.on():builder.canvas.off():b.is(":checked")?(b.prop("checked",!1),builder.canvas.off()):(b.prop("checked",!0),builder.canvas.on())});var c=this,a=$j('<div class="ia-ui-item ia-ui-item-align-center ia-list-item ia-ui-item-table-cell ia-minus-btn"></div>').html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");this.container.append(a),a.bind("click",function(a){a.stopPropagation(),a.preventDefault(),a=c._report.container.width()-10,c._report.container.css({width:a+"px",height:a*c._ratio+"px"})}),a=$j('<div class="ia-ui-item ia-ui-item-align-center ia-list-item ia-ui-item-table-cell ia-plus-btn"></div>').html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"),this.container.append(a),a.bind("click",function(a){a.stopPropagation(),a.preventDefault(),a=c._report.container.width()+10,c._report.container.css({width:a+"px",height:a*c._ratio+"px"})}),a=$j('<div class="ia-ui-item ia-ui-item-align-center ia-list-item ia-ui-item-table-cell ia-print-btn"></div>').html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"),this.container.append(a),a.bind("click",function(a){a.stopPropagation(),a.preventDefault(),window.print()})},ia.PrintBar.prototype.loadDragScript=function(){var a=this;$j.getScript("./db-canvas-min.js").done(function(){builder.report=a._report,builder.canvas.init({onRemoveBtnClick:function(a){builder.report.getWidget(a).container.hide()},onSendToBackBtnClick:function(b){for(var c=a._report.getWidgets(),d=0;d<c.length;d++){var e=c[d],f=e.zIndex();e.id===b?e.zIndex(0):e.zIndex(f+1)}},onBringToFrontBtnClick:function(b){for(var c=a._report.getWidgets(),d=0,e=0;e<c.length;e++){var f=c[e].zIndex();ia.isNumber(f)&&(d=Math.max(d,f))}a._report.getWidget(b).zIndex(d+1)}})}).fail(function(){})},ia.Profile=function(a,b,c){ia.Profile.baseConstructor.call(this),this.displayMode="Selected date",this.displayDatesInProfile=!1,this.includeMinMaxColumns=!0,this.symbols=[],this.targets=[],this.breaks=[],this.id=a,this._useMouseClick=b,this._data=void 0,this._isCollapsed=!1,this._renderTimeout=null,this._featureIds=[],this._collapseIds=[],this._nonComparisonIds=[],this.container=$j('<div id="'+a+'" class="ia-table">'),this._containerId=a,this.$tableCorner=$j('<span class="ia-table-header-corner">'),this.container.append(this.$tableCorner),this.$tableHeaders=$j("<table>"),this.container.append(this.$tableHeaders),this.$tableContainer=$j('<div id="'+a+'-container" class="ia-table-scrollbox">'),this._scrollBox=new ia.ScrollBox(this.$tableContainer),this.container.append(this.$tableContainer),this.$table=$j("<table>"),this.$tableContainer.append(this.$table),this._addMouseEvents(),c&&(this.callbackFunction=c);var d,e=this;this.container.on("resize",function(){clearTimeout(d),d=setTimeout(function(){clearTimeout(d),e._size()},250)}),this.container.on("click",".ia-table-notes-icon",function(a){if(a.stopPropagation(),a.preventDefault(),$j(this).attr("data-indicator-href")){var a=$j(this).data("indicator-id"),b=$j(this).data("indicator-href");e.onNotesClick(a,b)}})},ia.extend(ia.EventDispatcher,ia.Profile),ia.Profile.prototype._size=function(){var a=this.container.width(),b=this.$tableContainer.get(0).offsetWidth-this.$tableContainer.get(0).clientWidth;a-=b,this.$table.width(a),this.$tableHeaders.width(a);var a=this.container.height(),c=this.$tableHeaders.outerHeight();this.$tableContainer.height(a-c),this.$tableCorner.css("background-color",$j(".ia-table-header").css("background-color")),this.$tableCorner.width(b),this.$tableCorner.height(c)},ia.Profile.prototype.expandThemes=function(a){if(this._data){var b=this,c=a.length;this._isCollapsed=!1,this._collapseIds=[],$j.each(this._data.themes,function(d,e){for(var f=!0,g=0;c>g;g++)if(e.id==a[g]){f=!1,b.$table.find('td[id="'+e.id+'"]').removeClass("ia-profile-theme-expand").addClass("ia-profile-theme-collapse"),b.$table.find('tbody[id="'+e.id+'-children"]').show();break}1==f&&(b._collapseIds[b._collapseIds.length]=e.id,b.$table.find('td[id="'+e.id+'"]').removeClass("ia-profile-theme-collapse").addClass("ia-profile-theme-expand"),b.$table.find('tbody[id="'+e.id+'-children"]').hide())})}},ia.Profile.prototype.toggleTree=function(){if(this._data){var a=this;this._isCollapsed=!this._isCollapsed,this._collapseIds=[];var b=this._data.themes;this._isCollapsed?$j.each(b,function(b,c){a._collapseIds[a._collapseIds.length]=c.id,a.$table.find('td[id="'+c.id+'"]').removeClass("ia-profile-theme-collapse").addClass("ia-profile-theme-expand"),a.$table.find('tbody[id="'+c.id+'-children"]').hide()}):$j.each(b,function(b,c){a.$table.find('td[id="'+c.id+'"]').removeClass("ia-profile-theme-expand").addClass("ia-profile-theme-collapse"),a.$table.find('tbody[id="'+c.id+'-children"]').show()})}},ia.Profile.prototype.render=function(){this.updateColumns.call(null),this._nonComparisonIds=[],this._renderTimeout=null,void 0==this.displayMode&&(this.displayMode="Selected date"),this._data="Selected date"==this.displayMode?this.geography.getProfileData(this._featureIds,this.indicator.date,!0):"Most recent date"==this.displayMode?this.geography.getProfileData(this._featureIds,void 0,!0):this.geography.getProfileData(this._featureIds),this.$table.empty(),this.$tableHeaders.empty();var a=[];a[a.length]="<thead><tr>";for(var b=this.columns.length,c=0;b>c;c++){var d=this.columns[c],e=100*d.width,f=d.label.replace(/"/g,"&quot;");if("performance"==d.id){var g=.2*e;a[a.length]='<th id="'+d.id+'" class="ia-table-header" style="width:'+g+'%"></th>',g=.6*e,a[a.length]='<th id="'+d.id+'" class="ia-table-header" title="'+f+'" style="width:'+g+'%;border-left-width:0px">'+f+"</th>",g=.2*e,a[a.length]='<th id="'+d.id+'" class="ia-table-header" style="width:'+g+'%;border-left-width:0px">'}else a[a.length]='<th id="'+d.id+'" class="ia-table-header" title="'+f+'" style="width:'+e+'%">'+f;if("profile"==d.id)for(f=this.bar.minValue+(this.bar.maxValue-this.bar.minValue)/2,a[a.length]='<div style="display:table;width:100%">',a[a.length]='<div style="display:table-cell;width:30%;text-align:left" title="'+this.bar.minValue+'">'+this.bar.minValue+"</div>",a[a.length]='<div style="display:table-cell;width:40%" title="'+f+'">'+f+"</div>",a[a.length]='<div style="display:table-cell;width:30%;text-align:right" title="'+this.bar.maxValue+'">'+this.bar.maxValue+"</div>",a[a.length]="</div>",d.canvasHeight=this.bar.height,e=this.targets.length,f=0;e>f;f++)g=this.targets[f],d.canvasHeight=Math.max(d.canvasHeight,g.size);else if("election"==d.id)for(d.canvasHeight=this.bar.height,e=this.targets.length,f=0;e>f;f++)g=this.targets[f],d.canvasHeight=Math.max(d.canvasHeight,g.size);else if("performance"==d.id){for(d.canvasHeight=this.bar.height,e=this.targets.length,f=0;e>f;f++)g=this.targets[f],d.canvasHeight=Math.max(d.canvasHeight,g.size);d.canvasHeight<=this.bar.height+8&&(d.canvasHeight=this.bar.height+8)}else if(-1!=d.id.indexOf("health")){var f=this.bar.minValue?this.bar.minValue:"",h=this.bar.midValue?this.bar.midValue:"",i=this.bar.maxValue?this.bar.maxValue:"";for(a[a.length]='<div style="display:table;width:100%">',g=.2*e,a[a.length]='<div style="width:'+g+'%;display:table-cell;text-align:right" title="'+f+'">'+f+"</div>",g=.6*e,a[a.length]='<div style="width:'+g+'%;display:table-cell" title="'+h+'">'+h+"</div>",g=.2*e,a[a.length]='<div style="width:'+g+'%;display:table-cell;text-align:left" title="'+i+'">'+i+"</div>",a[a.length]="</div>",d.canvasHeight=0,e=this.targets.length,f=0;e>f;f++)g=this.targets[f],d.canvasHeight=Math.max(d.canvasHeight,g.size);for(e=this.symbols.length,f=0;e>f;f++)d.canvasHeight=Math.max(d.canvasHeight,this.symbols[f].size);for(f=d.id.substring(d.id.indexOf("(")+1,d.id.indexOf(")")),e=f.split(","),d.symbolAlign="right",f=0;f<e.length;f++)h=e[f].split(":"),g=h[0],h=h[1],d[g]=h}else if(-1!=d.id.indexOf("symbol("))for(f=d.id.substring(d.id.indexOf("(")+1,d.id.indexOf(")")),e=f.split(","),d.symbolAlign="right",f=0;f<e.length;f++)h=e[f].split(":"),g=h[0],h=h[1],d[g]=h;a[a.length]="</th>"}for(a[a.length]="</tr></thead>",this.$tableHeaders.html(a.join("")),a=[],a[a.length]='<tr class="ia-table-row">',c=b,f=0;b>f;f++)d=this.columns[f],e=100*d.width,"performance"!=d.id&&-1==d.id.indexOf("health")||!this.includeMinMaxColumns?a[a.length]='<td class="ia-table-cell" style="width:'+e+'%;padding-top:0px;padding-bottom:0px;margin-top:0px;margin-bottom:0px"></td>':(c=b+2,g=.2*e,a[a.length]='<td class="ia-table-cell" style="width:'+g+'%;padding-top:0px;padding-bottom:0px;margin-top:0px;margin-bottom:0px"></td>',g=.6*e,a[a.length]='<td class="ia-table-cell" style="width:'+g+'%;padding-top:0px;padding-bottom:0px;margin-top:0px;margin-bottom:0px"></td>',g=.2*e,a[a.length]='<td class="ia-table-cell" style="width:'+g+'%;padding-top:0px;padding-bottom:0px;margin-top:0px;margin-bottom:0px"></td>');for(a[a.length]="</tr>",this.$table.append(a.join("")),this._renderThemes(this._data.themes,c,b),c=0;c<this._collapseIds.length;c++)a=this._collapseIds[c],this.$table.find('td[id="'+a+'"]').removeClass("ia-profile-theme-collapse").addClass("ia-profile-theme-expand"),this.$table.find('tbody[id="'+a+'-children"]').hide();this._scrollBox.refresh(),this._size(),this.dispatchEvent(new ia.Event("onRender",this))},ia.Profile.prototype._renderThemes=function(a,b,c){var d=this;$j.each(a,function(a,e){var f=e.indicators;if(f.length>0){var g=e.longName.replace(/"/g,"&quot;"),h=[];h[h.length]="<tbody>",h[h.length]='<tr class="ia-table-row">',h[h.length]='<td id="'+e.id+'" class="ia-table-cell ia-profile-theme-name-cell ia-profile-theme-collapse ia-profile-row" title="'+g+'" colspan="'+b+'">'+g+"</td>",h[h.length]="</tr>",h[h.length]="</tbody>",h[h.length]='<tbody id="'+e.id+'-children">',$j.each(f,function(a,b){var e=b.features,f=!1;if("Selected date"==d.displayMode&&d.indicator.date!=b.date&&(f=!0),0==e.length||f===!0){var g=b.id;for(void 0!=b.date&&(g=b.id+"~"+b.date),h[h.length]=a%2==0?'<tr id="'+b.id+'" class="ia-table-row ia-profile-row ia-table-row-even indicator-row" data-linkId="'+g+'">':'<tr id="'+b.id+'" class="ia-table-row ia-profile-row ia-table-row-odd indicator-row" data-linkId="'+g+'">',g=0;c>g;g++){var i=d.columns[g],j=100*i.width;"performance"!=i.id&&-1==i.id.indexOf("health")||!this.includeMinMaxColumns?"indicatorName"==i.id?(i=d.displayDatesInProfile&&b.date?b.name+" ("+b.date+")":b.name,i=i.replace(/"/g,"&quot;"),h[h.length]='<td class="ia-profile-indicator-name-cell" style="width:'+j+'%" title="'+i+'">',d.displayDatesInProfile?(b.href&&1!=d.hideNotes&&(h[h.length]='<span class="ia-table-notes-icon" onmouseover="event.stopPropagation()" ontouchstart="event.stopPropagation()" data-indicator-id="'+b.id+'" data-indicator-href="'+b.href+'"></span>'),h[h.length]=b.date&&0==f?b.name+" ("+b.date+")":b.name):(b.href&&1!=d.hideNotes&&(h[h.length]='<span class="ia-table-notes-icon" onmouseover="event.stopPropagation()" ontouchstart="event.stopPropagation()" data-indicator-id="'+b.id+'" data-indicator-href="'+b.href+'"></span>'),h[h.length]=b.name),h[h.length]="</td>"):h[h.length]='<td class="ia-table-cell" style="width:'+j+'%"></td>':(i=.2*j,h[h.length]='<td class="ia-table-cell" style="width:'+i+'%"></td>',i=.6*j,h[h.length]='<td class="ia-table-cell" style="width:'+i+'%;border-left-width:0px"></td>',i=.2*j,h[h.length]='<td class="ia-table-cell" style="width:'+i+'%;border-left-width:0px"></td>')}h[h.length]="</tr>"}f||$j.each(e,function(f,g){1!=g.isComparison&&-1==d._nonComparisonIds.indexOf(g.id)&&(d._nonComparisonIds[d._nonComparisonIds.length]=g.id);var i=b.id;for(void 0!=b.date&&(i=b.id+"~"+b.date),h[h.length]=a%2==0?'<tr id="'+b.id+'" class="ia-table-row ia-profile-row ia-table-row-even indicator-row" data-linkId="'+i+'">':'<tr id="'+b.id+'" class="ia-table-row ia-profile-row ia-table-row-odd indicator-row" data-linkId="'+i+'">',i=0;c>i;i++){var j=d.columns[i],k=g[j.formattedId],l=100*j.width;if(0==f&&"indicatorName"==j.id)j=d.displayDatesInProfile&&b.date?b.name+" ("+b.date+")":b.name,j=j.replace(/"/g,"&quot;"),h[h.length]='<td class="ia-profile-indicator-name-cell" rowspan="'+e.length+'" style="width:'+l+'%" title="'+j+'">',d.displayDatesInProfile?(b.href&&1!=d.hideNotes&&(h[h.length]='<span class="ia-table-notes-icon" onmouseover="event.stopPropagation()" ontouchstart="event.stopPropagation()" data-indicator-id="'+b.id+'" data-indicator-href="'+b.href+'"></span>'),h[h.length]=b.date?b.name+" ("+b.date+")":b.name):(b.href&&1!=d.hideNotes&&(h[h.length]='<span class="ia-table-notes-icon" onmouseover="event.stopPropagation()" ontouchstart="event.stopPropagation()" data-indicator-id="'+b.id+'" data-indicator-href="'+b.href+'"></span>'),h[h.length]=b.name),h[h.length]="</td>";else if("name"==j.id)h[h.length]='<td class="ia-table-cell ia-table-cell-categoric" style="width:'+l+'%" title="'+k+'">'+k+"</td>";else if("profile"==j.id||"election"==j.id)h[h.length]='<td class="ia-table-cell ia-profile-cell" style="width:'+l+'%">',h[h.length]=d._getProfileSvg(g,b,j),h[h.length]="</td>";else if("performance"==j.id||-1!=j.id.indexOf("health"))h[h.length]=d._getPerformanceSvg(g,b,j);else if(-1!=j.id.indexOf("symbol(")){k="",void 0!=j.textValue&&(k=g[j.textValue+"_formatted"],"indicatorName"==j.textValue?k=d.displayDatesInProfile&&b.date?b.name+" ("+b.date+")":b.name:"name"==j.textValue&&(k=g.name));var m=g[j.symbolValue];void 0!=d.calculatedsignificance&&void 0!=g[d.calculatedsignificance]&&(m=g[d.calculatedsignificance]);var n="";if(void 0!=m)for(var o=0;o<d.symbols.length;o++){var p=d.symbols[o];if(p.value==m){n+="<svg style='overflow:hidden;width:"+p.size+"px;height:"+p.size+"px;' preserveAspectRatio='none'>",n+="<path d='"+ia.SvgShape.draw(p.shape,p.size/2,p.size/2,p.size)+"' fill='"+p.color+"'><title>"+p.label+"</title></path>",n+="</svg>";break}}h[h.length]='<td class="ia-table-cell ia-symbol-cell" style="width:'+l+"%;vertical-align:middle;text-align:"+j.symbolAlign+'">',"right"==j.symbolAlign?(h[h.length]=k+"&nbsp;",h[h.length]=n):"left"==j.symbolAlign?(h[h.length]=n,h[h.length]="&nbsp;"+k):h[h.length]=n,h[h.length]="</td>"}else"value"==j.id?(m="categoric"==b.type?"ia-table-cell-categoric":"ia-table-cell-numeric",h[h.length]=void 0!=k?'<td class="ia-table-cell '+m+'" style="width:'+l+'%" title="'+k+'">'+k+"</td>":'<td class="ia-table-cell '+m+'" style="width:'+l+'%"></td>'):"indicatorName"!=j.id&&"name"!=j.id&&(m="categoric"==g[j.id+"_type"]?"ia-table-cell-categoric":"ia-table-cell-numeric",void 0!=k?h[h.length]='<td class="ia-table-cell '+m+'" style="width:'+l+'%" title="'+k+'">'+k+"</td>":(k=b[j.formattedId],h[h.length]=void 0!=k?'<td class="ia-table-cell '+m+'" style="width:'+l+'%" title="'+k+'">'+k+"</td>":'<td class="ia-table-cell '+m+'" style="width:'+l+'%"></td>'))}h[h.length]="</tr>"})}),h[h.length]="</tbody>",d.$table.append(h.join(""))}})},ia.Profile.prototype.onNotesClick=function(a,b){window.open(b,"_blank")},ia.Profile.prototype._getProfileSvg=function(a,b,c){var d,e,f=[];if(void 0!=this.bar.comparisonId){var g=b.comparison[this.bar.comparisonId];if(void 0!=g){var g=g[this.bar.data],h=a[this.bar.data];ia.isNumber(h)&&ia.isNumber(g)&&(d=100*((h-g)/g),e=this.formatter.format(d,this.precision))}}else d=a[this.bar.data],e=a[this.bar.data+"_formatted"];if(g=a[this.bar.symbolValue],h=this.bar.maxValue-this.bar.minValue,f[f.length]="<div style='position:relative'>",ia.isNumber(d)){var i,j;if(a.isComparison&&this.comparisonThematic){var k=this.comparisonThematic.getClass(a.id);void 0!=k&&(j=k.color)}if(void 0!=j)i=j;else if(this.colorPalette)j=this._nonComparisonIds.length,i=this.colorPalette.getColors(j),j=this._nonComparisonIds.indexOf(a.id),i=i[j];else if(void 0!=g)for(j=this.symbols.length,k=0;j>k;k++){var l=this.symbols[k];if(l.value==g){i=l.color;break}}else i=this.bar.color;k=Math.abs(d),j=this.bar.height,g=0,0>d&&(g=d),l=j/2*-1,"bar"==this.bar.shape||void 0==this.bar.shape?(f[f.length]="<svg style='overflow:hidden;position:absolute;left:0px;top:50%;margin-top:"+l+"px;width:100%;height:"+j+"px' preserveAspectRatio='none' viewBox='"+this.bar.minValue+" 0 "+h+" "+j+"'>",f[f.length]="<rect x='"+g+"' y='0' width='"+k+"' height='"+j+"' fill='"+i+"'><title>"+e+"</title></rect>",f[f.length]="</svg>"):(l={color:"#cccccc"},l.size=j,l.shape=ia.Shape.VERTICAL_LINE,f[f.length]=this._drawTarget(l,0,0,this.bar.minValue,this.bar.maxValue,h,c.canvasHeight),l={},l.color=i,l.size=j,l.shape=this.bar.shape,f[f.length]=this._drawTarget(l,d,e,this.bar.minValue,this.bar.maxValue,h,c.canvasHeight))}for(j=this.targets.length,k=0;j>k;k++){var m,n,l=this.targets[k];void 0!==l.comparison?(g=b.comparison[l.comparison],void 0!=g&&(g=g[l.data],ia.isNumber(g)&&(m=g,n=this.formatter.format(m)))):(m=a[l.data],n=a[l.data+"_formatted"]),void 0==m&&(m=b[l.data],n=b[l.data+"_formatted"]),void 0!=m&&(f[f.length]=this._drawTarget(l,m,l.label+" : "+n,this.bar.minValue,this.bar.maxValue,h,c.canvasHeight))}return f[f.length]="</div>",f.join("")},ia.Profile.prototype._getPerformanceSvg=function(a,b,c){var d,e=[];"performance"==c.id?d="ia-performance-cell":-1!=c.id.indexOf("health")&&(d="ia-health-cell");var f,g,h,i,j,k,l=100*c.width,m=a[this.bar.data],n=a[this.bar.data+"_formatted"],o=a[this.bar.breaksFlip];if(this.bar.breaksData){var p=a[this.bar.breaksData];if(void 0!=p){f=p.split(","),g=[],h=1/0,i=-(1/0),j=f.length;for(var q=0;j>q;q++)k=f[q],g.push(this.formatter.format(k)),h=Math.min(h,k),i=Math.max(i,k);j=this.formatter.format(h),k=this.formatter.format(i)}}void 0==f&&("value"==this.bar.data||void 0==this.bar.data?(h=b.minValue,i=b.maxValue,j=b.minValue_formatted,k=b.maxValue_formatted,f=[b.minValue,b.lowerQuartile,b.upperQuartile,b.maxValue],g=[b.minValue_formatted,b.lowerQuartile_formatted,b.upperQuartile_formatted,b.maxValue_formatted]):(h=b[this.bar.data+"_minValue"],i=b[this.bar.data+"_maxValue"],j=b[this.bar.data+"_minValue_formatted"],k=b[this.bar.data+"_maxValue_formatted"],f=[b[this.bar.data+"_minValue"],[this.bar.data+"_lowerQuartile"],b[this.bar.data+"_upperQuartile"],b[this.bar.data+"_maxValue"]],g=[b[this.bar.data+"_minValue_formatted"],b[this.bar.data+"_lowerQuartile_formatted"],b[this.bar.data+"_upperQuartile_formatted"],b[this.bar.data+"_maxValue_formatted"]])),f=f.map(function(a){return parseFloat(a)}),h=parseFloat(h),i=parseFloat(i);var r=i-h,p=void 0;if("ia-health-cell"==d){p=a[c.symbolValue],void 0!=this.calculatedsignificance&&void 0!=a[this.calculatedsignificance]&&(p=a[this.calculatedsignificance]);var s,t,u=a[c.areaValue],v=a[c.areaValue+"_formatted"];if(void 0!==c.comparisonFeature){if(r=b.comparison[c.comparisonFeature],void 0!=r){var w=r[c.nationalValue];ia.isNumber(w)&&(s=w,t=this.formatter.format(s))}}else s=a[c.nationalValue],t=a[c.nationalValue+"_formatted"];void 0==s&&("value"==this.bar.data||void 0==this.bar.data?(s=b.median,t=b.median_formatted):(s=b[this.bar.data+"_median"],t=b[this.bar.data+"_median_formatted"])),i=Math.max(Math.abs(i-s),Math.abs(s-h)),h=s-i,i=s+i,r=i-h}var x=!1;for(f[0]>f[1]&&(x=!0,f.reverse(),g.reverse(),
q=j,j=k,k=q),this.includeMinMaxColumns?(e[e.length]='<td class="ia-table-cell" style="text-align:right" style="width:'+.2*l+'%" title="'+j+'">'+j+"</td>",e[e.length]='<td class="ia-table-cell '+d+'" style="width:'+.6*l+'%;border-left-width:0px">'):e[e.length]='<td class="ia-table-cell '+d+'" style="width:'+l+'%">',j=c.canvasHeight/2*-1,e[e.length]="<div style='position:relative'>",e[e.length]="<svg style='overflow:hidden;position:absolute;left:0px;top:50%;margin-top:"+j+"px;width:100%;height:"+c.canvasHeight+"px' preserveAspectRatio='none' viewBox='"+h+" 0 "+r+" "+c.canvasHeight+"'>",j=this.breaks.length,q=0;j>q;q++)if(f.length>q+1){w=this.breaks[q],(1==o||"true"==o||"TRUE"==o||"True"==o)&&(w=this.breaks[j-q-1]);var y=f[q],z=q+1,A=Math.abs(f[z]-y);x&&(y=i-(y-h)-A),e[e.length]="<rect x='"+y+"' y='0' width='"+A+"' height='"+c.canvasHeight+"' fill='"+w.color+"'><title>"+(w.label+" : "+g[q]+" - "+g[z])+"</title></rect>"}if(ia.isNumber(m)){var B;a.isComparison&&this.comparisonThematic&&(o=this.comparisonThematic.getClass(a.id),void 0!=o)&&(B=o.color),void 0!=B?o=B:this.colorPalette?(j=this._nonComparisonIds.length,B=this.colorPalette.getColors(j),o=this._nonComparisonIds.indexOf(a.id),o=B[o]):o=this.bar.color,f=this.bar.height,B=(c.canvasHeight-f)/2,g=0,x&&(g=i+h-m),"bar"==this.bar.shape||void 0==this.bar.shape?(e[e.length]="<rect x='"+g+"' y='"+B+"' width='"+m+"' height='"+f+"' fill='"+o+"'><title>"+n+"</title></rect>",e[e.length]="</svg>"):(e[e.length]="</svg>",B={},B.color=o,B.size=f,B.shape=this.bar.shape,e[e.length]=this._drawTarget(B,m,n,h,i,r,c.canvasHeight))}else e[e.length]="</svg>";if("ia-health-cell"==d)if(B={color:"#999999",size:14},B.shape=ia.Shape.VERTICAL_LINE,e[e.length]=this._drawTarget(B,s,t,h,i,r,c.canvasHeight,x),void 0!=p){for(j=this.symbols.length,q=0;j>q;q++)if(d=this.symbols[q],d.value==p){e[e.length]=this._drawTarget(d,u,d.label+" : "+v,h,i,r,c.canvasHeight,x);break}}else d={},d.color=this.bar.color,d.size=14,d.shape=ia.Shape.DIAMOND,e[e.length]=this._drawTarget(d,u,v,h,i,r,c.canvasHeight,x);for(j=this.targets.length,q=0;j>q;q++){B=this.targets[q];var C,D;void 0!==B.comparison?(u=b.comparison[B.comparison],void 0!=u&&(w=u[B.data],ia.isNumber(w)&&(C=w,D=this.formatter.format(C)))):(C=a[B.data],D=a[B.data+"_formatted"]),void 0==C&&(C=b[B.data],D=b[B.data+"_formatted"]),void 0!=C&&(e[e.length]=this._drawTarget(B,C,B.label+" : "+D,h,i,r,c.canvasHeight,x))}return e[e.length]="</div></td>",this.includeMinMaxColumns&&(e[e.length]='<td class="ia-table-cell" style="text-align:left;border-left-width:0px" style="width:'+.2*l+'%" title="'+k+'">'+k+"</td>"),e.join("")},ia.Profile.prototype._drawTarget=function(a,b,c,d,e,f,g,h){return ia.isNumber(b)?(b=(b-d)/f*100,h&&(b=100-b),h=g/2,d=-1*h,e=[],e[e.length]="<svg style='overflow:hidden;position:absolute;left:"+b+"%;top:50%;margin-left:"+d+"px;margin-top:"+d+"px;width:"+g+"px;height:"+g+"px' preserveAspectRatio='none'>",e[e.length]="<path d='"+ia.SvgShape.draw(a.shape,h,h,a.size)+"' fill='"+a.color+"'></path>",e[e.length]="<rect fill-opacity='0' x='0' y='0' width='"+g+"' height='"+g+"'><title>"+c+"</title></rect>",e[e.length]="</svg>",e.join("")):""},ia.Profile.prototype._addMouseEvents=function(){var a=this;this.$table.delegate("td.ia-profile-theme-name-cell","click",function(){a._onThemeClick($j(this))}),this._useMouseClick&&this.$table.delegate("tr.indicator-row","click",function(b){("string"==typeof b.target.className||b.target.className instanceof String)&&-1==b.target.className.indexOf("ia-table-notes-icon")&&a._onIndicatorClick($j(this))})},ia.Profile.prototype._onThemeClick=function(a){var b=a.attr("id");if(a.hasClass("ia-profile-theme-expand")){var c=this._collapseIds.indexOf(b);-1!=c&&this._collapseIds.splice(c,1),a.removeClass("ia-profile-theme-expand").addClass("ia-profile-theme-collapse"),this.$table.find('tbody[id="'+b+'-children"]').show()}else this._collapseIds[this._collapseIds.length]=b,a.removeClass("ia-profile-theme-collapse").addClass("ia-profile-theme-expand"),this.$table.find('tbody[id="'+b+'-children"]').hide();this._size()},ia.Profile.prototype._onIndicatorClick=function(a){this.callbackFunction&&this.callbackFunction.call(null,a.data("linkid"))},ia.Profile.prototype.select=function(a){-1==this._featureIds.indexOf(a)&&this._featureIds.push(a),this._triggerRender()},ia.Profile.prototype.unselect=function(a){a=this._featureIds.indexOf(a),-1!=a&&this._featureIds.splice(a,1),this._triggerRender()},ia.Profile.prototype.clearSelection=function(){for(var a=this._nonComparisonIds.length,b=0;a>b;b++){var c=this._featureIds.indexOf(this._nonComparisonIds[b]);-1!=c&&this._featureIds.splice(c,1)}this._triggerRender()},ia.Profile.prototype._triggerRender=function(){this._renderTimeout||(this._renderTimeout=setTimeout(function(){this.render()}.bind(this),5))},ia.Profile.prototype.highlight=function(){},ia.Profile.prototype.clearHighlight=function(){},ia.ProfileLegend=function(a){ia.ProfileLegend.baseConstructor.call(this,a),this.container.addClass("ia-profile-legend"),this._scrollBox=new ia.ScrollBox(this.container),this.interactive=this.isLegendComponent=!1,this.legendClasses=[]},ia.extend(ia.DiscreteLegend,ia.ProfileLegend),ia.ProfileLegend.prototype.render=function(){this.renderLegend(this.legendClasses),this._scrollBox.refresh()},ia.FeatureCard=function(a){ia.FeatureCard.baseConstructor.call(this),this.id=a,this.displaySelectedDateOnly=!1,this.ignoreThemeIds=[],this.ignoreIndicatorIds=[],this.displayFeatureHeader=this.displayThemeHeader=!1,this.displayMode="All themes",this.dataOrder="Order data by feature",this._renderTimeout=null,this._featureIds=[],this.container=$j("<div id='"+a+"' class='ia-feature-card-scrollbox'>"),this._scrollBox=new ia.ScrollBox(this.container),this.$content=$j("<div>"),this.container.append(this.$content),this._textSubstitution=new ia.TextSubstitution,this._snippet=""},ia.extend(ia.EventDispatcher,ia.FeatureCard),ia.FeatureCard.prototype.noDataValue="",ia.FeatureCard.prototype.setSnippet=function(a,b){var c=this;""!=a&&void 0!=a?(c._snippet=a,-1==c._snippet.indexOf("&lt;")&&-1==c._snippet.indexOf("&gt;")&&-1==c._snippet.indexOf("<")&&-1==c._snippet.indexOf(">")?ia.File.load({url:a,dataType:"html",onSuccess:function(a){c._snippet=a,void 0!=b&&b.call(null)},onFail:function(){void 0!=b&&b.call(null)}}):void 0!=b&&b.call(null)):void 0!=b&&b.call(null)},ia.FeatureCard.prototype.render=function(){if(this._renderTimeout=null,""!=this._snippet){this.$content.empty(),this._textSubstitution.clearVariables();var a=!0;"Order data by feature"!=this.dataOrder&&(a=!1);var b=this._featureIds.concat().reverse();data=this.displaySelectedDateOnly?a?this.geography.getFeatureData(b,this.indicator.date):this.geography.getIndicatorData(b,this.indicator.date):a?this.geography.getFeatureData(b):this.geography.getIndicatorData(b),a?this._renderFeatureList(data):this._renderIndicatorList(data),this._scrollBox.refresh()}},ia.FeatureCard.prototype._renderFeatureList=function(a){var b=this;b._textSubstitution.setVariable("geog-id",a.id),b._textSubstitution.setVariable("geog-name",a.name);var c=[],d=-1;$j.each(a.features,function(a,e){b._textSubstitution.setVariable("feature-id",e.id),b._textSubstitution.setVariable("feature-name",e.name),b._textSubstitution.setVariable("feature-href",e.href),b._textSubstitution.setVariable("feature-index",a),$j.each(e.properties,function(a,c){b._textSubstitution.setVariable(c.name+"-value",c.value),b._textSubstitution.setVariable(c.name+"-formatted-value",c.formattedValue)}),c[++d]="<div class='ia-feature-card'>",b.displayFeatureHeader&&(c[++d]="<div id='"+e.id+"' class='ia-feature-card-header'>"+e.name+"</div>"),d=b._renderFeatureListTheme(c,d,e.themes),c[++d]="</div>",$j.each(e.properties,function(a,c){b._textSubstitution.setVariable(c.name+"-value",void 0),b._textSubstitution.setVariable(c.name+"-formatted-value",void 0)})}),this.$content.append(c.join("").replace(/(\r\n|\n|\r)/gm,""))},ia.FeatureCard.prototype._renderFeatureListTheme=function(a,b,c){var d=this;return $j.each(c,function(c,e){var f=!0;if("Selected theme only"==d.displayMode)d.indicator.theme.id!=e.id&&(f=!1);else for(var g=0;g<d.ignoreThemeIds.length;g++)if(e.id==d.ignoreThemeIds[g]){f=!1;break}if(f){if(d._textSubstitution.setVariable("theme-id",e.id),d._textSubstitution.setVariable("theme-name",e.name),d._textSubstitution.setVariable("theme-index",c),d.displayThemeHeader&&e.indicators.length>0)if("Selected indicator only"==d.displayMode){var h=!1,f=e.indicators;$j.each(f,function(a,b){d.indicator.id==b.id&&(h=!0)}),1==h&&(a[++b]="<div id='"+e.id+"' class='ia-feature-card-sub-header'>"+e.name+"</div>")}else a[++b]="<div id='"+e.id+"' class='ia-feature-card-sub-header'>"+e.name+"</div>";a[++b]="<div class='ia-feature-card-content'>";var i,f=e.indicators,j="",k=0,l=-1;$j.each(f,function(a,b){var c=!0;if("Selected indicator only"==d.displayMode)d.indicator.id!=b.id&&(c=!1);else for(var e=0;e<d.ignoreIndicatorIds.length;e++)if(b.id==d.ignoreIndicatorIds[e]){c=!1;break}c&&l++}),d._textSubstitution.setVariable("indicator-last-index",l),$j.each(f,function(c,e){var f=!0;if("Selected indicator only"==d.displayMode)d.indicator.id!=e.id&&(f=!1);else for(var g=0;g<d.ignoreIndicatorIds.length;g++)if(e.id==d.ignoreIndicatorIds[g]){f=!1;break}f&&(d._textSubstitution.setVariable("indicator-id",e.id),d._textSubstitution.setVariable("indicator-name",e.name),d._textSubstitution.setVariable("indicator-index",k),k++,d._textSubstitution.setVariable("indicator-type",e.type),d._textSubstitution.setVariable("indicator-href",e.href),d._textSubstitution.setVariable("indicator-formatted-value",e.formattedValue),d._textSubstitution.setVariable("indicator-date",e.date),e.id!=j&&(j=e.id,i=0),d._textSubstitution.setVariable("indicator-date-index",i),i++,"null"===e.value||null===e.value||"NaN"===e.value||""===e.value||"No Data"===e.value||void 0===e.value||e.value===d.noDataValue?d._textSubstitution.setVariable("indicator-value",""):d._textSubstitution.setVariable("indicator-value",e.value),$j.each(e.associates,function(a,b){"null"===b.value||null===b.value||"NaN"===b.value||""===b.value||"No Data"===b.value||void 0===b.value||b.value===d.noDataValue?d._textSubstitution.setVariable(b.name+"-value",""):d._textSubstitution.setVariable(b.name+"-value",b.value),d._textSubstitution.setVariable(b.name+"-formatted-value",b.formattedValue),d._textSubstitution.setVariable(b.name+"-type",b.type)}),$j.each(e.properties,function(a,b){d._textSubstitution.setVariable(b.name+"-value",b.value),d._textSubstitution.setVariable(b.name+"-formatted-value",b.formattedValue)}),e.lowerLimit&&(d._textSubstitution.setVariable("lower-limit-value",e.lowerLimit.value),d._textSubstitution.setVariable("lower-limit-formatted-value",e.lowerLimit.formattedValue)),e.upperLimit&&(d._textSubstitution.setVariable("upper-limit-value",e.upperLimit.value),d._textSubstitution.setVariable("upper-limit-formatted-value",e.upperLimit.formattedValue)),f=d._textSubstitution.formatMessage(d._snippet),a[++b]=f,$j.each(e.associates,function(a,b){d._textSubstitution.setVariable(b.name+"-value",void 0),d._textSubstitution.setVariable(b.name+"-formatted-value",void 0),d._textSubstitution.setVariable(b.name+"-type",void 0)}),$j.each(e.properties,function(a,b){d._textSubstitution.setVariable(b.name+"-value",void 0),d._textSubstitution.setVariable(b.name+"-formatted-value",void 0)}),e.lowerLimit&&(d._textSubstitution.setVariable("lower-limit-value",void 0),d._textSubstitution.setVariable("lower-limit-formatted-value",void 0)),e.upperLimit&&(d._textSubstitution.setVariable("upper-limit-value",void 0),d._textSubstitution.setVariable("upper-limit-formatted-value",void 0)))}),a[++b]="</div>"}void 0!=e.themes&&e.themes.length>0&&(b=d._renderFeatureListTheme(a,b,e.themes))}),b},ia.FeatureCard.prototype._renderIndicatorList=function(a){this._textSubstitution.setVariable("geog-id",a.id),this._textSubstitution.setVariable("geog-name",a.name);var b=[];this._renderIndicatorListTheme(b,-1,a.themes),this.$content.append(b.join("").replace(/(\r\n|\n|\r)/gm,""))},ia.FeatureCard.prototype._renderIndicatorListTheme=function(a,b,c){var d=this;return $j.each(c,function(c,e){var f=!0;if("Selected theme only"==d.displayMode)d.indicator.theme.id!=e.id&&(f=!1);else for(var g=0;g<d.ignoreThemeIds.length;g++)if(e.id==d.ignoreThemeIds[g]){f=!1;break}if(f){if(a[++b]="<div class='ia-feature-card'>",d._textSubstitution.setVariable("theme-id",e.id),d._textSubstitution.setVariable("theme-name",e.name),d._textSubstitution.setVariable("theme-index",c),d.displayThemeHeader&&e.indicators.length>0)if("Selected indicator only"==d.displayMode){var h=!1,f=e.indicators;$j.each(f,function(a,b){d.indicator.id==b.id&&(h=!0)}),1==h&&(a[++b]="<div id='"+e.id+"' class='ia-feature-card-header'>"+e.name+"</div>")}else a[++b]="<div id='"+e.id+"' class='ia-feature-card-header'>"+e.name+"</div>";a[++b]="<div class='ia-feature-card-content'>";var i,f=e.indicators,j="",k=0,l=-1;$j.each(f,function(a,b){var c=!0;if("Selected indicator only"==d.displayMode)d.indicator.id!=b.id&&(c=!1);else for(var e=0;e<d.ignoreIndicatorIds.length;e++)if(b.id==d.ignoreIndicatorIds[e]){c=!1;break}c&&l++}),d._textSubstitution.setVariable("indicator-last-index",l),$j.each(f,function(c,e){var f=!0;if("Selected indicator only"==d.displayMode)d.indicator.id!=e.id&&(f=!1);else for(var g=0;g<d.ignoreIndicatorIds.length;g++)if(e.id==d.ignoreIndicatorIds[g]){f=!1;break}f&&(d.displayFeatureHeader&&(a[++b]="<div id='"+e.id+"' class='ia-feature-card-sub-header'>"+e.name+"</div>"),d._textSubstitution.setVariable("indicator-id",e.id),d._textSubstitution.setVariable("indicator-name",e.name),d._textSubstitution.setVariable("indicator-index",k),k++,d._textSubstitution.setVariable("indicator-type",e.type),d._textSubstitution.setVariable("indicator-href",e.href),d._textSubstitution.setVariable("indicator-date",e.date),e.id!=j&&(j=e.id,i=0),d._textSubstitution.setVariable("indicator-date-index",i),i++,$j.each(e.properties,function(a,b){d._textSubstitution.setVariable(b.name+"-value",b.value),d._textSubstitution.setVariable(b.name+"-formatted-value",b.formattedValue)}),$j.each(e.features,function(c,e){d._textSubstitution.setVariable("feature-id",e.id),d._textSubstitution.setVariable("feature-name",e.name),d._textSubstitution.setVariable("feature-href",e.href),d._textSubstitution.setVariable("feature-index",c),d._textSubstitution.setVariable("indicator-formatted-value",e.formattedValue),"null"===e.value||null===e.value||"NaN"===e.value||""===e.value||"No Data"===e.value||void 0===e.value||e.value===d.noDataValue?d._textSubstitution.setVariable("indicator-value",""):d._textSubstitution.setVariable("indicator-value",e.value),$j.each(e.properties,function(a,b){d._textSubstitution.setVariable(b.name+"-value",b.value),d._textSubstitution.setVariable(b.name+"-formatted-value",b.formattedValue)}),$j.each(e.associates,function(a,b){"null"===b.value||null===b.value||"NaN"===b.value||""===b.value||"No Data"===b.value||void 0===b.value||b.value===d.noDataValue?d._textSubstitution.setVariable(b.name+"-value",""):d._textSubstitution.setVariable(b.name+"-value",b.value),d._textSubstitution.setVariable(b.name+"-formatted-value",b.formattedValue),d._textSubstitution.setVariable(b.name+"-type",b.type)}),e.lowerLimit&&(d._textSubstitution.setVariable("lower-limit-value",e.lowerLimit.value),d._textSubstitution.setVariable("lower-limit-formatted-value",e.lowerLimit.formattedValue)),e.upperLimit&&(d._textSubstitution.setVariable("upper-limit-value",e.upperLimit.value),d._textSubstitution.setVariable("upper-limit-formatted-value",e.upperLimit.formattedValue));var f=d._textSubstitution.formatMessage(d._snippet);a[++b]=f,$j.each(e.properties,function(a,b){d._textSubstitution.setVariable(b.name+"-value",void 0),d._textSubstitution.setVariable(b.name+"-formatted-value",void 0)}),$j.each(e.associates,function(a,b){d._textSubstitution.setVariable(b.name+"-value",void 0),d._textSubstitution.setVariable(b.name+"-formatted-value",void 0),d._textSubstitution.setVariable(b.name+"-type",void 0)}),e.lowerLimit&&(d._textSubstitution.setVariable("lower-limit-value",void 0),d._textSubstitution.setVariable("lower-limit-formatted-value",void 0)),e.upperLimit&&(d._textSubstitution.setVariable("upper-limit-value",void 0),d._textSubstitution.setVariable("upper-limit-formatted-value",void 0))}),$j.each(e.properties,function(a,b){d._textSubstitution.setVariable(b.name+"-value",void 0),d._textSubstitution.setVariable(b.name+"-formatted-value",void 0)}))}),a[++b]="</div></div>"}void 0!=e.themes&&e.themes.length>0&&(b=d._renderIndicatorListTheme(a,b,e.themes))}),b},ia.FeatureCard.prototype._triggerRender=function(){this._renderTimeout||(this._renderTimeout=setTimeout(function(){this.render()}.bind(this),5))},ia.FeatureCard.prototype.select=function(a){-1==this._featureIds.indexOf(a)&&this._featureIds.push(a),this._triggerRender()},ia.FeatureCard.prototype.unselect=function(a){a=this._featureIds.indexOf(a),-1!=a&&this._featureIds.splice(a,1),this._triggerRender()},ia.FeatureCard.prototype.clearSelection=function(){this._featureIds=[],this._triggerRender()},ia.FeatureCard.prototype.highlight=function(){},ia.FeatureCard.prototype.clearHighlight=function(){},ia.TimeControl=function(a,b,c){this.id=a,c&&(this._callbackFunction=c),this._dataGroup=b,this.delay=1.5,this._playing=!1,this._currentIndicatorId=this._currentGeographyId=this.$playBtn=void 0,this.container=$j("<div id='"+a+"-container' class='ia-time-control-scrollbox'>"),this._scrollBox=new ia.ScrollBox(this.container),this.$table=$j("<table>").addClass("ia-time-control-table"),this.container.append(this.$table);var d=this;this._dataGroup.addEventListener(ia.DataEvent.GEOG_CHANGED,function(a){d._stop(),d._currentIndicatorId=a.indicator.id,d._currentGeographyId=a.indicator.geography.id,d._render(a.indicator),void 0!=a.indicator.date&&(a=a.indicator.date.replace(/'/g,"#quote#").replace(/"/g,"#double-quote#"),d.$table.find("td.ia-time-control-date-btn[id='"+a+"-btn']").addClass("ia-time-control-date-btn-active"))}),this._dataGroup.addEventListener(ia.DataEvent.INDICATOR_CHANGED,function(a){if(a.indicator.geography.id!=d._currentGeographyId||d._currentIndicatorId!=a.indicator.id)d._stop(),d._currentIndicatorId=a.indicator.id,d._currentGeographyId=a.indicator.geography.id,d._render(a.indicator);else if(d._playing)var b=setTimeout(function(){if(clearTimeout(b),d._playing){var c=d._getDates(a.theme.getIndicatorDates(a.indicator.id)),e=c.indexOf(a.indicator.date)+1;e<c.length?d._dataGroup.setData(a.geography.id,a.indicator.id,c[e]):d._stop()}},1e3*d.delay);if(d.$table.find("td.ia-time-control-date-btn").removeClass("ia-time-control-date-btn-active"),void 0!=a.indicator.date){var c=a.indicator.date.replace(/'/g,"#quote#").replace(/"/g,"#double-quote#");d.$table.find("td.ia-time-control-date-btn[id='"+c+"-btn']").addClass("ia-time-control-date-btn-active")}})},ia.TimeControl.prototype._getDates=function(a){if(void 0==a)return[];if(void 0!=this.dropDates&&this.dropDates.length>0){var b=this;return a.filter(function(a){return b.dropDates.indexOf(a)<0})}return a},ia.TimeControl.prototype._play=function(){if(this._playing)this._stop();else{this._callbackFunction&&this._callbackFunction.call(null,!0),this._playing=!0,this.$playBtn.removeClass("ia-time-control-btn-play"),this.$playBtn.addClass("ia-time-control-btn-stop");var a=this._getDates(this._dataGroup.theme.getIndicatorDates(this._dataGroup.indicator.id)),b=a.indexOf(this._dataGroup.indicator.date)+1;b<a.length?this._dataGroup.setData(this._dataGroup.geography.id,this._dataGroup.indicator.id,a[b]):this._dataGroup.setData(this._dataGroup.geography.id,this._dataGroup.indicator.id,a[0])}},ia.TimeControl.prototype._stop=function(){this._callbackFunction&&this._callbackFunction.call(null,!1),this._playing=!1,this.$playBtn&&(this.$playBtn.removeClass("ia-time-control-btn-stop"),this.$playBtn.addClass("ia-time-control-btn-play"))},ia.TimeControl.prototype._back=function(){this._stop();var a=this._getDates(this._dataGroup.theme.getIndicatorDates(this._dataGroup.indicator.id)),b=a.indexOf(this._dataGroup.indicator.date)-1;b>-1?this._dataGroup.setData(this._dataGroup.geography.id,this._dataGroup.indicator.id,a[b]):this._dataGroup.setData(this._dataGroup.geography.id,this._dataGroup.indicator.id,a[a.length-1])},ia.TimeControl.prototype._next=function(){this._stop();var a=this._getDates(this._dataGroup.theme.getIndicatorDates(this._dataGroup.indicator.id)),b=a.indexOf(this._dataGroup.indicator.date)+1;b<a.length?this._dataGroup.setData(this._dataGroup.geography.id,this._dataGroup.indicator.id,a[b]):this._dataGroup.setData(this._dataGroup.geography.id,this._dataGroup.indicator.id,a[0])},ia.TimeControl.prototype.setData=function(a){this._stop(),this._currentIndicatorId=a.id,this._currentGeographyId=a.geography.id,this._render(a),this.$table.find("td.ia-time-control-date-btn").removeClass("ia-time-control-date-btn-active"),void 0!=a.date&&this.$table.find("td.ia-time-control-date-btn[id='"+a.date.replace(/'/g,"#quote#").replace(/"/g,"#double-quote#")+"-btn']").addClass("ia-time-control-date-btn-active")},ia.TimeControl.prototype._render=function(a){this.$table.empty();var b=this._getDates(a.theme.getIndicatorDates(a.id));if(b){var c=this;$tr=$j("<tr>"),this.$table.append($tr),this.$playBtn=$j("<td class='ia-list-item ia-time-control-btn ia-time-control-btn-play'>"),$tr.append(this.$playBtn),this.$playBtn.bind("click",function(a){a.stopPropagation(),c._play()});var d=$j("<td class='ia-list-item ia-time-control-btn ia-time-control-btn-back'>");for($tr.append(d),d.bind("click",function(a){a.stopPropagation(),c._back()}),d=$j("<td class='ia-list-item ia-time-control-btn ia-time-control-btn-forward'>"),$tr.append(d),d.bind("click",function(a){a.stopPropagation(),c._next()}),d=0;d<b.length;d++){var e=b[d],f=e.replace(/'/g,"#quote#").replace(/"/g,"#double-quote#");$dateBtn=$j("<td id='"+f+"-btn' class='ia-list-item ia-time-control-td ia-time-control-date-btn'>").html(e),$tr.append($dateBtn),function(){var b=a.geography.id,d=a.id,f=e;$dateBtn.bind("click",function(a){a.stopPropagation(),c._stop(),c._dataGroup.setData(b,d,f)})}()}}this._scrollBox.refresh()},ia.TextBox=function(a){this.container=$j("<div id='"+a+"' class='ia-textbox-scrollbox'>"),this._scrollBox=new ia.ScrollBox(this.container),this._textBox=$j("<div class='ia-textbox'>"),this.container.append(this._textBox)},ia.TextBox.prototype.setHtml=function(a){if(void 0!=a)if((ia.endsWith(a,".htm")||ia.endsWith(a,".html"))&&-1==a.indexOf("href=")){var b=this;this._textBox.load(a,function(){b._scrollBox.refresh()})}else this._textBox.html(a),this._scrollBox.refresh()},ia.AreaBreakdownPieComponent=function(a,b){ia.AreaBreakdownPieComponent.baseConstructor.call(this),this.id=a,this.tip="",this.layout=b,this._selectionIds=[],this._multiLayout=!0,this._data=void 0,this._isVisible=!0,this._chart2Defined=this._chart1Defined=!1,this.container=$j("<div id='"+a+"'class='ia-area-breakdown-pie-chart'>"),this._$pieContainer1=$j("<div style='display:inline-block;padding:8px;text-align:center'>").appendTo(this.container),this._$pieContainer2=$j("<div style='display:inline-block;padding:8px;text-align:center'>"),this.thematic=new ia.Thematic,this.thematic.setDataType(ia.Thematic.CATEGORIC),this.thematic.setDataField("value"),this._$chartTitle1=$j("<div>").html("").appendTo(this._$pieContainer1),this._$chartTitle2=$j("<div>").html("").appendTo(this._$pieContainer2),this._chart1=new ia.PieChart(this.id+"-pie-chart-1"),this._chart1.container.css("position","relative"),this._layer1=new ia.AdvancedPieLayer,this._layer1.thematic=this.thematic,this._layer1.setVisible(!0),this._layer1.interactive=!0,this._layer1.selectable=!1,this._chart1.addLayer(this._layer1),this._chart2=new ia.PieChart(this.id+"-pie-chart-2"),this._chart2.container.css("position","relative"),this._layer2=new ia.AdvancedPieLayer,this._layer2.thematic=this.thematic,this._layer2.setVisible(!0),this._layer2.interactive=!0,this._layer2.selectable=!1,this._chart2.addLayer(this._layer2);var c=new ia.InteractionGroup;c.addComponent(this._layer1),c.addComponent(this._layer2)},ia.extend(ia.EventDispatcher,ia.AreaBreakdownPieComponent),ia.AreaBreakdownPieComponent.prototype.build=function(a){"vertical"==this.layout?(this.container.append(this._$pieContainer2),this._multiLayout=!0,this._$pieContainer1.css({width:"100%",height:"50%"}),this._$pieContainer2.css({width:"100%",height:"50%"})):"horizontal"==this.layout?(this.container.append(this._$pieContainer2),this._multiLayout=!0,this._$pieContainer1.css({width:"50%",height:"100%"}),this._$pieContainer2.css({width:"50%",height:"100%"})):(this._$pieContainer2.detach(),this._multiLayout=!1,this._$pieContainer1.css({width:"100%",height:"100%"})),this._layer1.highlightColor=this.highlightColor,this._layer1.selectionColor=this.selectionColor,this._layer1.tip=this.tip,0==this._chart1Defined?(this._chart1Defined=!0,this._$pieContainer1.append(this._chart1.container),this._multiLayout||this._chart1.addEventListener(ia.Event.MAP_READY,function(){void 0!=a&&a.call(null)})):!this._multiLayout&&void 0!=a&&a.call(null),this._multiLayout&&(this._layer2.highlightColor=this.highlightColor,this._layer2.selectionColor=this.selectionColor,this._layer2.tip=this.tip,0==this._chart2Defined?(this._chart2Defined=!0,this._$pieContainer2.append(this._chart2.container),this._chart2.addEventListener(ia.Event.MAP_READY,function(){void 0!=a&&a.call(null)})):void 0!=a&&a.call(null))},ia.AreaBreakdownPieComponent.prototype.setData=function(a){this._data=a,this._layer1.setData(a),this._multiLayout&&this._layer2.setData(a)},ia.AreaBreakdownPieComponent.prototype.highlight=function(a){this._multiLayout&&1==this._selectionIds.length?(this._layer2.itemId=a,this._layer2.update(),this._layer2.render(),this._$chartTitle2.html(this._layer2.itemName)):0==this._selectionIds.length&&(this._layer1.itemId=a,this._layer1.update(),this._layer1.render(),this._$chartTitle1.html(this._layer1.itemName))},ia.AreaBreakdownPieComponent.prototype.clearHighlight=function(){this._multiLayout&&1==this._selectionIds.length?(this._$chartTitle2.html(this.title2),this._layer2.itemId=null,this._layer2.update(),this._layer2.render()):0==this._selectionIds.length&&(this._$chartTitle1.html(this.title1),this._layer1.itemId=null,this._layer1.update(),this._layer1.render())},ia.AreaBreakdownPieComponent.prototype.select=function(a){-1==this._selectionIds.indexOf(a)&&this._selectionIds.push(a),this._multiLayout&&this._selectionIds.length>1?(this._layer2.itemId=a,this._layer2.update(),this._layer2.render(),this._$chartTitle2.html(this._layer2.itemName)):(this._layer1.itemId=a,this._layer1.update(),this._layer1.render(),this._$chartTitle1.html(this._layer1.itemName))},ia.AreaBreakdownPieComponent.prototype.unselect=function(a){a=this._selectionIds.indexOf(a),-1!=a&&this._selectionIds.splice(a,1),this._multiLayout?0==this._selectionIds.length?(this._$chartTitle1.html(this.title1),this._layer1.itemId=null,this._layer1.update(),this._layer1.render()):1==this._selectionIds.length&&(this._$chartTitle2.html(this.title2),this._layer2.itemId=null,this._layer2.update(),this._layer2.render()):0==this._selectionIds.length&&(this._$chartTitle1.html(this.title1),this._layer1.itemId=null,this._layer1.update(),this._layer1.render())},ia.AreaBreakdownPieComponent.prototype.clearSelection=function(){this._selectionIds=[],this._layer1.itemId=null,this._layer1.update(),this._layer1.render(),this._$chartTitle1.html(this.title1),this._multiLayout&&(this._layer2.itemId=null,this._layer2.update(),this._layer2.render(),this._$chartTitle2.html(this.title2))},ia.AreaBreakdownPieComponent.prototype.render=function(){this._layer1.update(),this._layer1.render(),""==this._$chartTitle1.html()&&this._$chartTitle1.html(this.title1),this._multiLayout&&(this._layer2.update(),this._layer2.render(),""==this._$chartTitle2.html()&&this._$chartTitle2.html(this.title2))},ia.AreaBreakdownPieComponent.prototype.toggle=function(){this._isVisible?this.hide():this.show()},ia.AreaBreakdownPieComponent.prototype.hide=function(){this._isVisible&&(this._isVisible=!1,this.container.stop(),this.container.animate({opacity:0},function(){}))},ia.AreaBreakdownPieComponent.prototype.show=function(){this._isVisible||(this._isVisible=!0,this.container.stop(),this.container.animate({opacity:1},function(){}))},ia.ResponsiveMenu=function(){var a=this;this._menuIsDisplayed=!1,this.container=$j('<div class="ia-panel ia-flow-menu">').on("click",function(b){b.stopPropagation(),a.toggleMenu()}),$j('<div class="ia-list-item ia-flow-menu-icon"></div>').appendTo(this.container),this._$menuItems=$j('<div class="ia-flow-menu-items">').appendTo(this.container)},ia.ResponsiveMenu.prototype.render=function(a){this._$menuItems.empty();for(var b=a.getButtons(),c=0;c<b.length;c++){var d=b[c];d.visible()&&(d=a.config.getWidget(d.id),void 0!=d&&this.addMenuItem(a,d.text,d.href,d.target))}if((d=a.getWidget("menuBar"))&&d.visible()){var e,d=a.config.getWidget(d.id),b=d.getProperties();for(e in b)if(-1!=e.indexOf("menuItem")){var f=e.substring(8,e.length),c=d.getProperty("menuItem"+f),f=d.getProperty("menuFunc"+f);"javascript:iaToggleShare()"!=f&&c&&f&&this.addMenuItem(a,c,f,"_blank")}}},ia.ResponsiveMenu.prototype.toggleMenu=function(){this._menuIsDisplayed?this.hideMenu():this.showMenu()},ia.ResponsiveMenu.prototype.showMenu=function(){this._menuIsDisplayed=!0,this._$menuItems.slideDown()},ia.ResponsiveMenu.prototype.hideMenu=function(){this._menuIsDisplayed=!1,this._$menuItems.slideUp()},ia.ResponsiveMenu.prototype.addMenuItem=function(a,b,c,d){var e=this,f=$j('<div class="ia-list-item ia-flow-menu-item">'+b+"<div>").appendTo(this._$menuItems);c&&("function"==typeof c?f.on("click",function(a){a.stopPropagation(),c.call(null,a),e.hideMenu()}):function(){f.on("click",function(b){var f=$j(window).scrollTop(),g=a.container.scrollTop(),f=f+g+20;$j(".ia-popup-panel").css("top",f+"px"),b.stopPropagation(),ia.callFunction(c,d,b),e.hideMenu()})}())},ia.BoundingBox=function(a,b,c,d){this.setXMin(a||0),this.setYMin(b||0),this.setXMax(c||100),this.setYMax(d||100)},ia.BoundingBox.prototype.left=function(){return this._xMin},ia.BoundingBox.prototype.right=function(){return this._xMax},ia.BoundingBox.prototype.bottom=function(){return this._yMin},ia.BoundingBox.prototype.top=function(){return this._yMax},ia.BoundingBox.prototype.getXMin=function(){return this._xMin},ia.BoundingBox.prototype.setXMin=function(a){this._xMin=a,this._width=Math.abs(this._xMax-this._xMin),this._xCenter=this._xMin+this._width/2},ia.BoundingBox.prototype.getXMax=function(){return this._xMax},ia.BoundingBox.prototype.setXMax=function(a){this._xMax=a,this._width=Math.abs(this._xMax-this._xMin),this._xCenter=this._xMin+this._width/2},ia.BoundingBox.prototype.getXCenter=function(){return this._xCenter},ia.BoundingBox.prototype.setXCenter=function(a){this._xCenter=a,this._xMin=this._xCenter-this._width/2,this._xMax=this._xCenter+this._width/2},ia.BoundingBox.prototype.getWidth=function(){return this._width},ia.BoundingBox.prototype.setWidth=function(a){this._width=a,this._xMax=this._xMin+this._width,this._xCenter=this._xMin+this._width/2},ia.BoundingBox.prototype.getYMin=function(){return this._yMin},ia.BoundingBox.prototype.setYMin=function(a){this._yMin=a,this._height=Math.abs(this._yMax-this._yMin),this._yCenter=this._yMin+this._height/2},ia.BoundingBox.prototype.getYMax=function(){return this._yMax},ia.BoundingBox.prototype.setYMax=function(a){this._yMax=a,this._height=Math.abs(this._yMax-this._yMin),this._yCenter=this._yMin+this._height/2},ia.BoundingBox.prototype.getYCenter=function(){return this._yCenter},ia.BoundingBox.prototype.setYCenter=function(a){this._yCenter=a,this._yMin=this._yCenter-this._height/2,this._yMax=this._yCenter+this._height/2},ia.BoundingBox.prototype.getHeight=function(){return this._height},ia.BoundingBox.prototype.setHeight=function(a){this._height=a,this._yMax=this._yMin+this._height,this._yCenter=this._yMin+this._height/2;
},ia.BoundingBox.prototype.clone=function(){return new ia.BoundingBox(this._xMin,this._yMin,this._xMax,this._yMax)},ia.BoundingBox.prototype.equals=function(a){return a.getXMin()!=this._xMin?!1:a.getYMin()!=this._yMin?!1:a.getXMax()!=this._xMax?!1:a.getYMax()!=this._yMax?!1:!0},ia.BoundingBox.prototype.intersects=function(a){return a.getXMin()>this._xMax?!1:a.getXMax()<this._xMin?!1:a.getYMin()>this._yMax?!1:a.getYMax()<this._yMin?!1:!0},ia.BoundingBox.prototype.contains=function(a){return a.getXMin()<this._xMin?!1:a.getXMax()>this._xMax?!1:a.getYMin()<this._yMin?!1:a.getYMax()>this._yMax?!1:!0},ia.BoundingBox.prototype.addMargin=function(a){var b=this.clone(),a=a||.2,c=b.getWidth()*a;a*=b.getHeight();var d=b.getXCenter(),e=b.getYCenter();return b.setWidth(b.getWidth()+2*c),b.setHeight(b.getHeight()+2*a),b.setXCenter(d),b.setYCenter(e),b},ia.BoundingBox.prototype.toString=function(){return"[object ia.BoundingBox xMin='"+this._xMin+"' yMin='"+this._yMin+"' xMax='"+this._xMax+"' yMax='"+this._yMax+"']"},ia.BBoxEvent=function(a,b,c,d){ia.BBoxEvent.baseConstructor.call(this,a,b),this.bBox=c,this.oldBBox=d},ia.extend(ia.Event,ia.BBoxEvent),ia.BBoxEvent.BBOX_TRANSLATE=0,ia.BBoxEvent.BBOX_SCALE=1,ia.CartesianSpace=function(a,b,c,d){ia.CartesianSpace.baseConstructor.call(this),this.canvasX=a||0,this.canvasY=b||0,this.canvasWidth=c||0,this.canvasHeight=d||0,this.bBox=new ia.BoundingBox,this.oldBBox=new ia.BoundingBox,this._oldBBoxSet=!1,this.maxZoom=this.minZoom=-1,this.maintainAspectRatio=!1},ia.extend(ia.EventDispatcher,ia.CartesianSpace),ia.CartesianSpace.prototype.getBBox=function(){return this.bBox},ia.CartesianSpace.prototype.setBBox=function(a){this.oldBBox=this._oldBBoxSet?this.bBox.clone():a.clone(),this.bBox=a.clone(),this._oldBBoxSet=!0,this.originalBBox={xMin:this.bBox.getXMin(),yMin:this.bBox.getYMin(),xMax:this.bBox.getXMax(),yMax:this.bBox.getYMax()},this.commitChanges()},ia.CartesianSpace.prototype.getPixelPoint=function(a){return new ia.Point(this.getPixelX(a.x),this.getPixelY(a.y))},ia.CartesianSpace.prototype.getPixelRect=function(a){return new ia.Rectangle(this.getPixelX(a.getXMin()),this.getPixelY(a.getYMax()),this.getPixelWidth(a.getWidth()),this.getPixelHeight(a.getHeight()))},ia.CartesianSpace.prototype.getPixelX=function(a){return this.canvasX+this.getPixelWidth(a-this.bBox.getXMin())},ia.CartesianSpace.prototype.getPixelY=function(a){return this.canvasY+this.canvasHeight-this.getPixelHeight(a-this.bBox.getYMin())},ia.CartesianSpace.prototype.getPixelWidth=function(a){return 0==a?0:a/this.bBox.getWidth()*this.canvasWidth},ia.CartesianSpace.prototype.getPixelHeight=function(a){return 0==a?0:a/this.bBox.getHeight()*this.canvasHeight},ia.CartesianSpace.prototype.getDataPoint=function(a){return new ia.Point(this.getDataX(a.x),this.getDataY(a.y))},ia.CartesianSpace.prototype.getDataBBox=function(a){var b=this.getPixelX(a.left()),c=this.getPixelY(a.bottom()),d=b+this.getPixelWidth(a.width),a=c+this.getPixelHeight(a.height);return new ia.BoundingBox(b,c,d,a)},ia.CartesianSpace.prototype.getDataX=function(a){return this.bBox.getXMin()+this.getDataWidth(a)},ia.CartesianSpace.prototype.getDataY=function(a){return this.bBox.getYMin()+this.getDataHeight(this.canvasHeight-a)},ia.CartesianSpace.prototype.getDataWidth=function(a){return 0==a?0:a/this.canvasWidth*this.bBox.getWidth()},ia.CartesianSpace.prototype.getDataHeight=function(a){return 0==a?0:a/this.canvasHeight*this.bBox.getHeight()},ia.CartesianSpace.prototype.commitChanges=function(){this.maintainAspectRatio&&this.adjustBBox(this.bBox);var a=!0;if(-1!=this.minZoom&&Math.max(this.bBox.getWidth(),this.bBox.getHeight())>this.minZoom&&(a=!1),-1!=this.maxZoom&&Math.min(this.bBox.getWidth(),this.bBox.getHeight())<this.maxZoom&&(a=!1),a){var a=this.getPixelRect(this.oldBBox),b=this.getPixelRect(this.bBox),c=Math.round(b.height),d=Math.round(a.height);eventType=Math.round(b.width)==Math.round(a.width)&&c==d?ia.BBoxEvent.BBOX_TRANSLATE:ia.BBoxEvent.BBOX_SCALE}else this.bBox=this.oldBBox.clone(),this.maintainAspectRatio&&this.adjustBBox(this.bBox),eventType=ia.BBoxEvent.BBOX_SCALE;this.dispatchEvent(new ia.BBoxEvent(eventType,this,this.bBox,this.oldBBox))},ia.CartesianSpace.prototype.adjustBBox=function(a){var b,c,d=a.getHeight()/this.canvasHeight,e=a.getWidth()/this.canvasWidth;d>e?(e=a.getYMin(),c=a.getHeight(),b=this.canvasWidth/this.canvasHeight*c,d=a.getXMin()-(b-a.getWidth())/2):e>d?(d=a.getXMin(),b=a.getWidth(),c=this.canvasHeight/this.canvasWidth*b,e=a.getYMin()-(c-a.getHeight())/2):(d=a.getXMin(),e=a.getYMin(),b=a.getWidth(),c=a.getHeight()),a.setXMin(d),a.setYMin(e),a.setWidth(b),a.setHeight(c)},ia.CartesianSpace.prototype.adjustY=function(a){var b=a.getXMin(),c=a.getWidth(),d=this.canvasHeight/this.canvasWidth*c,e=a.getYMin()-(d-a.getHeight())/2;a.setXMin(b),a.setYMin(e),a.setWidth(c),a.setHeight(d)},ia.Rectangle=function(a,b,c,d){this.x=a||0,this.y=b||0,this.width=c||0,this.height=d||0},ia.Rectangle.prototype.left=function(){return this.x},ia.Rectangle.prototype.right=function(){return this.x+this.width},ia.Rectangle.prototype.bottom=function(){return this.y+this.height},ia.Rectangle.prototype.top=function(){return this.y},ia.Rectangle.prototype.clone=function(){return new ia.Rectangle(this.x,this.y,this.width,this.height)},ia.Rectangle.prototype.intersects=function(a,b){return b<this.top()?!1:b>this.bottom()?!1:a>this.right()?!1:a<this.left()?!1:!0},ia.Rectangle.prototype.intersectsLine=function(a,b){return this.lineIntersectsLine({x:this.left(),y:this.top()},{x:this.right(),y:this.top()},a,b)||this.lineIntersectsLine({x:this.right(),y:this.top()},{x:this.right(),y:this.bottom()},a,b)||this.lineIntersectsLine({x:this.right(),y:this.bottom()},{x:this.left(),y:this.bottom()},a,b)||this.lineIntersectsLine({x:this.left(),y:this.bottom()},{x:this.left(),y:this.top()},a,b)||this.intersects(a.x,a.y)&&this.intersects(b.x,b.y)},ia.Rectangle.prototype.lineIntersectsLine=function(a,b,c,d){var e=(d.x-c.x)*(a.y-c.y)-(d.y-c.y)*(a.x-c.x),f=(b.x-a.x)*(a.y-c.y)-(b.y-a.y)*(a.x-c.x),a=(d.y-c.y)*(b.x-a.x)-(d.x-c.x)*(b.y-a.y);return 0!=a?(e/=a,f/=a,e>=0&&1>=e&&f>=0&&1>=f?!0:!1):!1},ia.Rectangle.prototype.toString=function(){return"[object Rectangle x='"+this.x+"' y='"+this.y+"' width='"+this.width+"' height='"+this.height+"']"},ia.Point=function(a,b){this.x=a||0,this.y=b||0},ia.Point.prototype.subtract=function(a){return new ia.Point(this.x-a.x,this.y-a.y)},ia.Point.prototype.toString=function(){return"[object Point x='"+this.x+"' y='"+this.y+"']"},ia.ChartTip=function(a){this._container=a,this._tipContainer=$j("<svg>").addClass("ia-datatip").hide(),$j("body").append(this._tipContainer)},ia.ChartTip.prototype.position=function(a,b){var c=this._tipContainer.outerWidth(),d=this._tipContainer.outerHeight();if(void 0!=this._container&&(a+=this._container.offset().left,b+=this._container.offset().top),10>a)a=10;else{var e=$j(window).scrollLeft(),f=$j(window).width(),c=a+c-(e+f-10);c>0&&(a-=c)}10>b?b=10:(c=$j(window).scrollTop(),e=$j(window).height(),d=b+d-(c+e-10),d>0&&(b-=d)),this._tipContainer.css("left",a+"px").css("top",b+"px")},ia.ChartTip.prototype.text=function(a){this._tipContainer.html(a)},ia.ChartTip.prototype.getWidth=function(){return this._tipContainer.outerWidth()},ia.ChartTip.prototype.getHeight=function(){return this._tipContainer.outerHeight()},ia.ChartTip.prototype.show=function(){this._tipContainer.css("display","inline")},ia.ChartTip.prototype.hide=function(){this._tipContainer.css("display","none")},ia.CanvasBase=function(a){ia.CanvasBase.baseConstructor.call(this,0,0,100,100),this._touchStart=0,this._pinching=this._mouseOverMap=this._mouseDragged=this._dragging=this._mouseDown=!1,this._layers=[],this._mouseDownY=this._mouseDownX=0,this.id=a,this.isVisible=!0,this.mouseY=this.mouseX=0,this.animationMode=this.isDraggable=this.embeddedInGoogleMaps=!1,this.container=$j("<div id='"+a+"' class='ia-chart'>"),this.mapContainer=$j("<div id='mapContainer'>"),this.backgroundContainer=$j("<div id='backgroundContainer'>"),this.layerContainer=$j("<div id='layercontainer'>"),this.foregroundContainer=$j("<div id='foregroundContainer'>"),this.mapContainer.append(this.backgroundContainer),this.mapContainer.append(this.layerContainer),this.mapContainer.append(this.foregroundContainer),this.container.append(this.mapContainer),this.labelStyle=$j("<div class='ia-map-labels' style='visibility:hidden'>"),this.mapContainer.append(this.labelStyle),this.canvas=this._createCanvas(this.backgroundContainer),this.context=this.canvas.getContext("2d"),this.foregroundCanvas=this._createCanvas(this.foregroundContainer),this.foregroundContext=this.foregroundCanvas.getContext("2d"),this.datatip=new ia.ChartTip(this.foregroundContainer),this._addListeners();var b,c=!1,d=this;this.container.resize(function(){clearTimeout(b),b=setTimeout(function(){clearTimeout(b);var a=d.container.width(),e=d.container.height();d.foregroundContainer.width(a),d.foregroundContainer.height(e),d.canvas.width=a,d.canvas.height=e,d.foregroundCanvas.width=a,d.foregroundCanvas.height=e,d.canvasX=0,d.canvasY=0,d.canvasWidth=a,d.canvasHeight=e,a=new ia.Event(ia.Event.MAP_RESIZE,d),d.dispatchEvent(a),d.maintainAspectRatio&&void 0!=d.originalBBox&&(d.bBox.setXMin(d.originalBBox.xMin),d.bBox.setYMin(d.originalBBox.yMin),d.bBox.setXMax(d.originalBBox.xMax),d.bBox.setYMax(d.originalBBox.yMax)),d.commitChanges(),0==c&&(c=!0,a=new ia.Event(ia.Event.MAP_READY,d),d.dispatchEvent(a))},500)}.bind(this))},ia.extend(ia.CartesianSpace,ia.CanvasBase),ia.CanvasBase.prototype._createCanvas=function(a){var b=document.createElement("canvas");return b.width=a.width(),b.height=a.height(),$j(b).css({position:"absolute",left:0,top:0}),a.append($j(b)),b},ia.CanvasBase.prototype._addListeners=function(){this.mapContainer.on("touchstart.canvasbase touchmove.canvasbase touchend.canvasbase",this._touchEventHandler.bind(this)),this.mapContainer.on("mousemove.canvasbase mouseup.canvasbase mouseenter.canvasbase mouseleave.canvasbase mousedown.canvasbase click.canvasbase",this._mouseEventHandler.bind(this));var a=/Firefox/i.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel";document.addEventListener&&document.addEventListener(a,this._mouseEventHandler.bind(this),!1)},ia.CanvasBase.prototype._mouseEventHandler=function(a){var b=!0,c=$j("#widget-"+this.id);if(c&&"hidden"==c.css("visibility")&&(b=!1),this.isVisible&&b){var d;this.mouseX=a.pageX-this.container.offset().left,this.mouseY=a.pageY-this.container.offset().top,"mouseenter"==a.type?(d=ia.MapMouseEvent.MAP_MOUSE_OVER,this._dragging&&$j(document).off(".canvasbasedoc"),this._mouseOverMap=!0):"mouseleave"==a.type?(d=ia.MapMouseEvent.MAP_MOUSE_OUT,this._dragging&&$j(document).on("mousemove.canvasbasedoc mouseup.canvasbasedoc",this._mouseEventHandler.bind(this)),this._mouseOverMap=!1):"mousemove"==a.type?(this._mouseOverMap=!0,!this._mouseDown||this._mouseDownX==a.pageX&&this._mouseDownY==a.pageY?this._mouseOverMap&&(d=ia.MapMouseEvent.MAP_MOUSE_MOVE):(d=ia.MapMouseEvent.MAP_MOUSE_DRAG,this._dragging=!0)):"mouseup"==a.type?(this._dragging?(d=ia.MapMouseEvent.MAP_MOUSE_DRAG_UP,$j(document).off(".canvasbasedoc"),this._dragging=!1,this._mouseDragged=!0):this._mouseOverMap&&(d=ia.MapMouseEvent.MAP_MOUSE_UP),this._mouseDown=!1):"mousedown"==a.type?(d=ia.MapMouseEvent.MAP_MOUSE_DOWN,this._mouseDownX=a.pageX,this._mouseDownY=a.pageY,this._mouseDragged=!1,this._mouseDown=!0):"mousewheel"==a.type||"onmousewheel"==a.type||"DOMMouseScroll"==a.type?(this._mouseOverMap&&this.isDraggable&&a.preventDefault(),d=ia.MapMouseEvent.MAP_MOUSE_WHEEL):"click"==a.type&&(0==this._mouseDragged&&(d=ia.MapMouseEvent.MAP_MOUSE_CLICK),this._mouseDragged=this._mouseDown=this._dragging=!1),null!=d&&(b=this.getDataX(this.mouseX),c=this.getDataY(this.mouseY),this.dispatchEvent(new ia.MapMouseEvent(this,a,d,b,c,this.mouseX,this.mouseY,void 0,void 0,a.pageX,a.pageY)))}},ia.CanvasBase.prototype._touchEventHandler=function(a){if(this.isVisible){a.preventDefault();var b;!this.embeddedInGoogleMaps&&this.isDraggable&&a.preventDefault();var c,d,e,f;if(a.originalEvent.touches.length>1){var g=a.originalEvent.touches[0];f=a.originalEvent.touches[1],c=g.pageX-this.container.offset().left,d=g.pageY-this.container.offset().top,e=f.pageX-this.container.offset().left,f=f.pageY-this.container.offset().top,this.isDraggable&&this._dragging&&(b=ia.MapMouseEvent.MAP_MOUSE_DRAG_UP,this._DispatchMapMouseEvent(a,b,g,c,d,e,f)),this._dragging=!1,this._pinching=!0,"touchstart"==a.type?b=ia.MapMouseEvent.MAP_PINCH_DOWN:"touchmove"==a.type&&(b=ia.MapMouseEvent.MAP_PINCH_MOVE)}else g=a.originalEvent.changedTouches[0],c=g.pageX-this.container.offset().left,d=g.pageY-this.container.offset().top,f=e=null,"touchstart"==a.type?(this._touchStart=(new Date).getTime(),b=ia.MapMouseEvent.MAP_MOUSE_DOWN):"touchmove"==a.type?this.isDraggable?(b=ia.MapMouseEvent.MAP_MOUSE_DRAG,this._pinching=!1,this._dragging=!0):b=ia.MapMouseEvent.MAP_MOUSE_MOVE:"touchend"==a.type&&(b=(new Date).getTime()-this._touchStart,b=this._pinching?ia.MapMouseEvent.MAP_PINCH_UP:this._dragging?this.isDraggable?ia.MapMouseEvent.MAP_MOUSE_DRAG_UP:ia.MapMouseEvent.MAP_MOUSE_UP:500>b?ia.MapMouseEvent.MAP_MOUSE_CLICK:ia.MapMouseEvent.MAP_MOUSE_UP,this._dragging=this._pinching=!1);this._DispatchMapMouseEvent(a,b,g,c,d,e,f),1==a.originalEvent.touches.length&&"touchend"==a.type&&(b=ia.MapMouseEvent.MAP_MOUSE_DOWN,g=a.originalEvent.touches[0],c=g.pageX-this.container.offset().left,d=g.pageY-this.container.offset().top,this.isDraggable&&(this._dragging=!0),this._DispatchMapMouseEvent(a,b,g,c,d,null,null))}},ia.CanvasBase.prototype._DispatchMapMouseEvent=function(a,b,c,d,e,f,g){if(null!=b){if(null!=f){var h=Math.min(e,g),i=Math.max(e,g);this.mouseX=(Math.min(d,f)+Math.max(d,f))/2,this.mouseY=(h+i)/2}else this.mouseX=d,this.mouseY=e;h=this.getDataX(this.mouseX),i=this.getDataY(this.mouseY),this.dispatchEvent(new ia.MapMouseEvent(this,a,b,h,i,d,e,f,g,c.pageX,c.pageX))}},ia.CanvasBase.prototype.mouseCoords=function(){var a=this.getDataX(this.mouseX),b=this.getDataY(this.mouseY);return new ia.Point(a,b)},ia.CanvasBase.prototype.setCopyright=function(a){this._copyright=a},ia.CanvasBase.prototype.addLogo=function(a){this._logo=new Image,this._logo.src=ia.getDomainSafeUrl(a)},ia.CanvasBase.prototype.exportData=function(a){for(var b=0;b<this._layers.length;b++){var c=this._layers[b];c.canvas&&c.exportable&&(this.context.drawImage(c.canvas,0,0),c.selectionCanvas&&this.context.drawImage(c.selectionCanvas,0,0),c.labelCanvas&&this.context.drawImage(c.labelCanvas,0,0))}if(void 0!=this._logo&&a&&(c=this._logo.width,this.context.drawImage(this._logo,this.canvas.width-c,this.canvas.height-this._logo.height)),void 0!=this._copyright&&""!=this._copyright){var c="Verdana",d="#AAAAAA",b=10,e=$j("#map-copyright");e.length&&(e.css("font-family")&&(c=e.css("font-family")),e.css("color")&&(d=ia.Color.toHex(e.css("color"))),e.css("font-size")&&(b=e.css("font-size"),b.indexOf("px")>-1&&(b=b.substring(0,b.indexOf("px"))),b=ia.parseInt(b))),this.context.font=""+b+"px "+c,this.context.fillStyle=d,c=this.canvas.width-10,void 0!=this._logo&&a&&(c-=this._logo.width),this._wrapText(this._copyright,5,this.canvas.height-5,c,b+2,"bottom")}return a=this.canvas.toDataURL("image/png"),this.clear(),this.render(),a},ia.CanvasBase.prototype._wrapText=function(a,b,c,d,e,f){var a=a.split(" "),g="";if("middle"==f||"bottom"==f){for(var h=0,i=0;i<a.length;i++){var j,k=a[i];j=0==i?k:g+" "+k;var l=this.context.measureText(j),l=l.width;0!=i&&l>d?(g=k,h++):g=j}h++,h*=e,"middle"==f?c=c-h/2+e/2:"bottom"==f&&(c=c-h+e)}for(i=0;i<a.length;i++)k=a[i],j=0==i?k:g+" "+k,l=this.context.measureText(j),l=l.width,0!=i&&l>d?(this.context.fillText(g,b,c),g=k,c+=e):g=j;this.context.fillText(g,b,c)},ia.CanvasBase.prototype.render=function(){this.datatip.hide();for(var a=0;a<this._layers.length;a++)this._layers[a].render()},ia.CanvasBase.prototype.clear=function(){this.context.clearRect(0,0,this.canvas.width,this.canvas.height);for(var a=0;a<this._layers.length;a++)this._layers[a].clear()},ia.CanvasBase.prototype.clearForeground=function(){this.foregroundContext.clearRect(0,0,this.foregroundCanvas.width,this.foregroundCanvas.height)},ia.CanvasBase.prototype.addLayer=function(a){this._layers.push(a),a.setMap(this,this.layerContainer)},ia.CanvasBase.prototype.getLayers=function(){return this._layers},ia.CanvasBase.prototype.removeLayers=function(){for(var a=0;a<this._layers.length;a++){var b=this._layers[a];b.removeCanvases(),this.removeListener(b)}this._layers=[]},ia.CanvasBase.prototype.getLayer=function(a){for(var b=0;b<this._layers.length;b++){var c=this._layers[b];if(c.id==a)return c}},ia.CanvasBase.prototype.startDrag=function(){this._dragging=!0},ia.CanvasBase.prototype.endDrag=function(){$j(document).off(".canvasbasedoc"),this._dragging=!1,this._mouseDragged=!0,this._mouseDown=!1},ia.CanvasBase.prototype.toggle=function(){this.isVisible?this.hide():this.show()},ia.CanvasBase.prototype.hide=function(){if(this.isVisible){var a=this;a.isVisible=!1,a.container.stop(),a.container.animate({opacity:0},function(){a.clear()})}},ia.CanvasBase.prototype.show=function(){this.isVisible||(this.isVisible=!0,this.container.stop(),this.container.animate({opacity:1},function(){}))},ia.ChartBase=function(a){ia.ChartBase.baseConstructor.call(this,a),this.itemStyle=$j("<div class='ia-chart-items' style='visibility:hidden'>"),this.mapContainer.append(this.itemStyle),this.orientation="vertical",this.showXAxisLabels=!0,this.xAxisTitle=void 0,this.showYAxisLabels=!0,this.yAxisTitle=void 0,this.showRightBorder=this.showLeftBorder=this.showTopBorder=this.showBottomBorder=this.showBox=!1,this.showYAxisGrid=this.showXAxisGrid=!0,this.useTightLabels=this.showYAxisTickMarks=this.showXAxisTickMarks=this.centerYAxisLabels=this.centerXAxisLabels=!1,this.formatter=new ia.Formatter,this.wrapXAxisLabels=!1;var b=this,c=!1;b.addEventListener(ia.Event.MAP_READY,function(){c=!0}),b.addEventListener(ia.BBoxEvent.BBOX_TRANSLATE,function(){c&&b.render()}),b.addEventListener(ia.BBoxEvent.BBOX_SCALE,function(){c&&b.render()})},ia.extend(ia.CanvasBase,ia.ChartBase),ia.ChartBase.prototype.renderAxes=function(a,b,c,d){if(ia.isNumber(a)&&ia.isNumber(b)&&ia.isNumber(c)&&ia.isNumber(d)&&this.canvas.width>0&&this.canvas.height>0){var e="Verdana",f="#AAAAAA",g=10,h=g/3,i="#E5E5E5";this.container.css("font-family")&&(e=this.container.css("font-family")),this.container.css("color")&&(f=ia.Color.toHex(this.container.css("color"))),this.container.css("font-size")&&(g=this.container.css("font-size"),g.indexOf("px")>-1&&(g=g.substring(0,g.indexOf("px"))),g=ia.parseInt(g),h=g/3),this.container.css("borderRightColor")&&(i=ia.Color.toHex(this.container.css("borderRightColor"))),this.canvasY=this.canvasX=0,this.canvasWidth=this.canvas.width,this.canvasHeight=this.canvas.height,this.context.lineWidth=1,this.context.strokeStyle=i,this.context.font=""+g+"px "+e,this.context.fillStyle=f,g+=2;var i=f=20,j=10,e=10;if(this.showYAxisLabels){var k=this.canvasHeight-(e+j),l=this._getYAxisLabels(c,d,5,k,g);f+=this._getMaxLabelWidth(l,h),this.centerYAxisLabels||(j+=g/2,e+=g/2)}if(this.showXAxisLabels){var k=this.canvasWidth-(f+i),m=this._getXAxisLabels(a,b,5,k,h),l=g;if(this.wrapXAxisLabels)var n=k/m.length,l=this._getMaxLabelHeight(m,h,g,n);j=10+l,this.centerXAxisLabels||(n=this._getLabelWidth(m[0],h),n>f-20&&(f=n/2+20),n=this._getLabelWidth(m[m.length-1],h),i+=n/2)}if(void 0!=this.xAxisTitle&&(n=this.canvasWidth-(f+i),l=this._getLabelHeight(this.xAxisTitle,h,g,n),j=j+l-h),void 0!=this.yAxisTitle&&(n=this.canvasHeight-(j+e),l=this._getLabelHeight(this.yAxisTitle,h,g,n),f=f+l-h),k=this.canvasWidth-(f+i),l=0,this.showXAxisLabels){m=this._getXAxisLabels(a,b,5,k,h),l=g,this.wrapXAxisLabels&&(n=k/m.length,l=this._getMaxLabelHeight(m,h,g,n)),j=0,void 0!=this.xAxisTitle&&(n=this.canvasWidth-(f+i),j=this._getLabelHeight(this.xAxisTitle,h,g,n)),j=10+l+j,this.context.textAlign="center",this.context.textBaseline="top";var o,p,q,a=m.length,b=this.canvasHeight-j+h;for(this.centerXAxisLabels?(o=k/a,n=f+o/2,p=o,q=f):(o=k/(a-1),n=f,p=o,q=n),k=0;a>k;k++){var r=m[k];if(1==this.isPyramidChart&&-1!=r.indexOf("-")&&(r=r.substring(1)),this.wrapXAxisLabels?this._wrapText(r,n,b,o-2*h,g):this.context.fillText(r,n,b),this.showXAxisTickMarks){var r=n,s=Math.floor(this.canvasHeight-j)+.5,t=n,u=s+h;this.context.beginPath(),this.context.moveTo(r,s),this.context.lineTo(t,u),this.context.stroke()}this.showXAxisGrid&&(r=Math.floor(q)+.5,s=Math.floor(e)+.5,t=r,u=Math.floor(this.canvasHeight-j)+.5,this.context.beginPath(),this.context.moveTo(r,s),this.context.lineTo(t,u),this.context.stroke()),n+=o,q+=p}this.showXAxisGrid&&this.centerXAxisLabels&&(r=Math.floor(q)+.5,s=Math.floor(e)+.5,t=r,u=Math.floor(this.canvasHeight-j)+.5,this.context.beginPath(),this.context.moveTo(r,s),this.context.lineTo(t,u),this.context.stroke())}if(void 0!=this.xAxisTitle&&(n=this.canvasWidth-(f+i),this.showXAxisLabels||(j=this._getLabelHeight(this.xAxisTitle,h,g,n),j=10+j),this.context.textAlign="center",this.context.textBaseline="top",a=this.canvasHeight-j+(l+h),this._wrapText(this.xAxisTitle,f+n/2,a,n,g)),k=this.canvasHeight-(e+j),m=0,this.showYAxisLabels){for(l=this._getYAxisLabels(c,d,5,k,g),m=this._getMaxLabelWidth(l,h),this.context.textAlign="right",this.context.textBaseline="middle",a=l.length,n=f-h,this.centerYAxisLabels?(c=k/a,b=e+c/2,d=c,o=e):(c=k/(a-1),b=e,d=c,o=b),k=0;a>k;k++)r=l[k],this.context.fillText(r,n,b),this.showYAxisTickMarks&&(r=Math.floor(f)+.5,s=b,t=r-h,u=b,this.context.beginPath(),this.context.moveTo(r,s),this.context.lineTo(t,u),this.context.stroke()),this.showYAxisGrid&&(r=Math.floor(f)+.5,s=Math.floor(o)+.5,t=Math.floor(this.canvasWidth-i)+.5,u=s,this.context.beginPath(),this.context.moveTo(r,s),this.context.lineTo(t,u),this.context.stroke()),b+=c,o+=d;this.showYAxisGrid&&this.centerYAxisLabels&&(r=Math.floor(f)+.5,s=Math.floor(o)+.5,t=Math.floor(this.canvasWidth-i)+.5,u=s,this.context.beginPath(),this.context.moveTo(r,s),this.context.lineTo(t,u),this.context.stroke())}void 0!=this.yAxisTitle&&(n=this.canvasHeight-(j+e),l=this._getLabelHeight(this.yAxisTitle,h,g,n),a=e+n/2,h=f-m-l+h,this.context.save(),this.context.translate(h,a),this.context.rotate(-Math.PI/2),this.context.textAlign="center",this.context.textBaseline="top",this._wrapText(this.yAxisTitle,0,0,n,g),this.context.restore()),this.canvasX=f,this.canvasWidth-=f+i,this.canvasY=e,this.canvasHeight-=e+j,h=Math.floor(f)+.5,f=Math.floor(f+this.canvasWidth)+.5,c=Math.floor(e)+.5,e=Math.floor(e+this.canvasHeight)+.5,this.showBox&&(this.context.beginPath(),this.context.moveTo(h,c),this.context.lineTo(f,c),this.context.lineTo(f,e),this.context.lineTo(h,e),this.context.closePath(),this.context.stroke()),this.showBottomBorder&&(this.context.beginPath(),this.context.moveTo(h,e),this.context.lineTo(f,e),this.context.closePath(),this.context.stroke()),this.showTopBorder&&(this.context.beginPath(),this.context.moveTo(h,c),this.context.lineTo(f,c),this.context.closePath(),this.context.stroke()),this.showLeftBorder&&(this.context.beginPath(),this.context.moveTo(h,c),this.context.lineTo(h,e),this.context.closePath(),this.context.stroke()),this.showRightBorder&&(this.context.beginPath(),this.context.moveTo(f,c),this.context.lineTo(f,e),this.context.closePath(),this.context.stroke())}},ia.ChartBase.prototype._getLabelWidth=function(a,b){return this.context.measureText(a).width+2*b},ia.ChartBase.prototype._getMaxLabelWidth=function(a,b){for(var c=0,d=0;d<a.length;d++)c=Math.max(c,this._getLabelWidth(a[d],b));return c},ia.ChartBase.prototype._getLabelHeight=function(a,b,c,d){return this._getNoLines(a,d-2*b)*c+2*b},ia.ChartBase.prototype._getMaxLabelHeight=function(a,b,c,d){for(var e=0,f=0;f<a.length;f++)e=Math.max(e,this._getLabelHeight(a[f],b,c,d));return e},ia.ChartBase.prototype._getNoLines=function(a,b){for(var c=a.split(" "),d="",e=1,f=0;f<c.length;f++)d=d+c[f]+" ",this.context.measureText(d).width>b&&(d=c[f]+" ",e++);return e},ia.ChartBase.prototype._getXAxisLabels=function(a,b,c,d,e){return this.xAxisLabels?this._dropXLabels(this.xAxisLabels,d,e):this._calculateXAxisLabels(a,b,c,d,e)},ia.ChartBase.prototype._calculateXAxisLabels=function(a,b,c,d,e){for(var f,g=!0,h=c;g;){this.useTightLabels?(f=this._getLooseLabels(a,b,h),(f.values[0]!=a||f.values[f.values.length-1]!=b)&&(f=this._getTightLabels(a,b,h))):f=this._getLooseLabels(a,b,h);var i=f.labels;if(f=f.values,c=i.length,3>c)i=[this.formatter.format(a),this.formatter.format(b)],f=[a,b],g=!1;else if(3==c)g=!1;else{for(var j=0,k=0;c>k;k++){var l=this.context.measureText(i[k]).width+2*e;j+=l}j>d?h--:g=!1}}return a=this.getBBox(),a.setXMin(f[0]),a.setXMax(f[f.length-1]),i},ia.ChartBase.prototype._dropXLabels=function(a,b,c){for(var d=[],e=a.length,f=0;e>f;f++)for(var g=a[f].split(" "),h=g.length,i=0,j=0;h>j;j++){var k=g[j],l=this.context.measureText(k).width;l>i&&(i=l,d[f]=k)}for(e=d.concat(),g=!0;g;){for(g=!1,f=i=0;f<e.length;f++)h=e[f],""!=h&&i++;if(2>=i){for(f=0;f<d.length;f++)e[f]="";e[0]=d[0],e[e.length-1]=d[d.length-1]}else{for(i=b/i,f=0;f<e.length;f++)if(h=e[f],""!=h&&this.context.measureText(h).width+2*c>i){g=!0;break}if(g)for(f=i=0;f<e.length;f++)h=e[f],""!=h&&(i%2==0&&(e[f]=""),i++)}}for(f=0;f<d.length;f++)h=a[f],""!=e[f]&&(e[f]=h);return e},ia.ChartBase.prototype._getYAxisLabels=function(a,b,c,d,e){return this.yAxisLabels?(a=this.yAxisLabels.concat(),a=this._dropYLabels(a,d,e)):(a=this._calculateYAxisLabels(a,b,c,d,e).concat(),a.reverse()),a},ia.ChartBase.prototype._calculateYAxisLabels=function(a,b,c,d,e){for(var f,g=!0,h=c;g;){this.useTightLabels?(f=this._getLooseLabels(a,b,h),(f.values[0]!=a||f.values[f.values.length-1]!=b)&&(f=this._getTightLabels(a,b,h))):f=this._getLooseLabels(a,b,h);var i=f.labels;f=f.values,c=i.length,3>c?(i=[this.formatter.format(a),this.formatter.format(b)],f=[a,b],g=!1):3==c?g=!1:e>d/c?h--:g=!1}return a=this.getBBox(),a.setYMin(f[0]),a.setYMax(f[f.length-1]),i},ia.ChartBase.prototype._dropYLabels=function(a,b,c){for(var d=[],e=0;e<a.length;e++){var f=a[e];d[e]=f}for(var g=!0;g;){for(var h=0,e=0;e<d.length;e++)f=d[e],""!=f&&h++;if(2>=h){for(e=0;e<a.length;e++)d[e]="";d[0]=a[0],d[d.length-1]=a[a.length-1],g=!1}else{for(e=h=0;e<d.length;e++)f=d[e],""!=f&&(h+=c);if(h>b)for(e=h=0;e<d.length;e++)f=d[e],""!=f&&(h%2==0&&(d[e]=""),h++);else g=!1}}return d},ia.ChartBase.prototype.getAxisValues=function(a,b,c){var d=[];if(2>=c)d=[a,b];else for(var e=(b-a)/(c-1),f=0;c>f;f++)d[f]=f==c-1?b:a,a+=e;return d},ia.ChartBase.prototype._getLooseLabels=function(a,b,c){for(var c=ia.getNiceNum((b-a)/(c-1),!0),a=Math.floor(a/c)*c,b=Math.ceil(b/c)*c,d=Math.max(-1*Math.floor(ia.log10(c)),0),e=[],f=[];b+.5*c>a;a+=c)e[e.length]=ia.round(a,d),f[f.length]=this.formatter.format(ia.round(a,d));return{values:e,labels:f}},ia.ChartBase.prototype._getTightLabels=function(a,b,c){var d=(b-a)/(c-1),e=parseFloat(a),f=[];for(f.push(a),a=1;c-1>a;a++)e+=d,f.push(e);for(f.push(b),b=[],d=ia.getPrecision(f),a=0;c>a;a++)b.push(this.formatter.format(f[a],d));return{values:f,labels:b}},ia.BarChart=function(a){ia.BarChart.baseConstructor.call(this,a),this.limitsColor="#cccccc",this.limitsWidth=1,this.limitsContainer=$j("<div id='limitsContainer' style='display:none' class='ia-chart-limits'>"),this.container.append(this.limitsContainer),this.drawBarsFromZero=!1},ia.extend(ia.ChartBase,ia.BarChart),ia.BarChart.prototype.render=function(){this.clear(),this.limitsContainer.css("borderRightColor")&&(this.limitsColor=ia.Color.toHex(this.limitsContainer.css("borderRightColor"))),this.limitsContainer.css("borderRightWidth")&&(this.limitsWidth=this.limitsContainer.css("borderRightWidth"),this.limitsWidth.indexOf("px")>-1&&(this.limitsWidth=this.limitsWidth.substring(0,this.limitsWidth.indexOf("px"))),this.limitsWidth=parseFloat(this.limitsWidth));for(var a=1/0,b=-(1/0),c=this.getLayers(),d=0;d<c.length;d++){var e=c[d];e.update(),a=Math.min(a,e.minValue),b=Math.max(b,e.maxValue)}for(void 0!=this.fixedMinValue&&(a=this.fixedMinValue),void 0!=this.fixedMaxValue&&(b=this.fixedMaxValue),this.drawBarsFromZero&&(0>b&&(b=0),a>0&&(a=0)),a==b&&(0>b?b=0:a=0),(a==1/0||b==-(1/0))&&(a=0,b=100),a==b&&(b=a,a=b-1,b+=1),d=this.getBBox(),"vertical"==this.orientation?(this.showXAxisLabels=!1,this.showYAxisLabels=!0,this.showXAxisGrid=!1,this.showYAxisGrid=!0,this.renderAxes(d.getXMin(),d.getXMax(),a,b)):(this.showXAxisLabels=!0,this.showYAxisLabels=!1,this.showXAxisGrid=!0,this.showYAxisGrid=!1,this.renderAxes(a,b,d.getYMin(),d.getYMax())),d=0;d<c.length;d++)c[d].render()},ia.GridChart=function(a){ia.GridChart.baseConstructor.call(this,a)},ia.extend(ia.ChartBase,ia.GridChart),ia.GridChart.prototype.render=function(){this.clear();for(var a=this.getLayers(),b=0;b<a.length;b++)a[b].update();for(b=this.getBBox(),this.renderAxes(b.getXMin(),b.getXMax(),b.getYMin(),b.getYMax()),b=0;b<a.length;b++)a[b].render()},ia.PyramidChart=function(a){ia.PyramidChart.baseConstructor.call(this,a),this.drawBarsFromZero=!1,this.isPyramidChart=!0},ia.extend(ia.ChartBase,ia.PyramidChart),ia.PyramidChart.prototype.render=function(){this.clear();for(var a=1/0,b=-(1/0),c=this.getLayers(),d=0;d<c.length;d++){var e=c[d];e.update(this.date),a=Math.min(a,e.minValue),b=Math.max(b,e.maxValue)}for(void 0!=this.fixedMinValue&&(a=this.fixedMinValue),void 0!=this.fixedMaxValue&&(b=this.fixedMaxValue),this.drawBarsFromZero&&(0>b&&(b=0),a>0&&(a=0)),a==b&&(0>b?b=0:a=0),(a==1/0||b==-(1/0))&&(a=0,b=100),Math.abs(a)>b?b=Math.abs(a):a=-1*b,d=this.getBBox(),this.showXAxisGrid=this.showXAxisLabels=this.centerYAxisLabels=!0,this.showYAxisGrid=!1,this.renderAxes(a,b,d.getYMin(),d.getYMax()),d=0;d<c.length;d++)c[d].render()},ia.TimeChart=function(a){ia.TimeChart.baseConstructor.call(this,a),this.limitsColor="#cccccc",this.limitsWidth=1,this.limitsContainer=$j("<div id='timeLimitsContainer' style='display:none' class='ia-chart-limits'>"),this.container.append(this.limitsContainer)},ia.extend(ia.ChartBase,ia.TimeChart),ia.TimeChart.prototype.render=function(){this.clear(),this.limitsContainer.css("borderRightColor")&&(this.limitsColor=ia.Color.toHex(this.limitsContainer.css("borderRightColor"))),this.limitsContainer.css("borderRightWidth")&&(this.limitsWidth=this.limitsContainer.css("borderRightWidth"),this.limitsWidth.indexOf("px")>-1&&(this.limitsWidth=this.limitsWidth.substring(0,this.limitsWidth.indexOf("px"))),this.limitsWidth=parseFloat(this.limitsWidth));for(var a=1/0,b=-(1/0),c=this.getLayers(),d=0;d<c.length;d++){var e=c[d];e.update(),ia.isNumber(e.minValue)&&(a=Math.min(a,e.minValue)),ia.isNumber(e.maxValue)&&(b=Math.max(b,e.maxValue))}for(void 0!=this.fixedMinValue&&(a=this.fixedMinValue),void 0!=this.fixedMaxValue&&(b=this.fixedMaxValue),a==b&&(0>b?b=0:a=0),(a==1/0||b==-(1/0))&&(a=0,b=100),a==b&&(b=a,a=b-1,b+=1),d=this.getBBox(),"vertical"==this.orientation?(this.centerXAxisLabels=!0,this.showXAxisGrid=this.centerYAxisLabels=!1,this.showYAxisGrid=!0,this.renderAxes(d.getXMin(),d.getXMax(),a,b)):(this.centerXAxisLabels=!1,this.showXAxisGrid=this.centerYAxisLabels=!0,this.showYAxisGrid=!1,this.renderAxes(a,b,d.getYMin(),d.getYMax())),d=0;d<c.length;d++)c[d].render()},ia.PieChart=function(a){ia.PieChart.baseConstructor.call(this,a)},ia.extend(ia.ChartBase,ia.PieChart),ia.PieChart.prototype.render=function(){this.clear();for(var a=this.getLayers(),b=0;b<a.length;b++){var c=a[b];c.update(),c.render()}},ia.BoxChart=function(a){ia.BoxChart.baseConstructor.call(this,a)},ia.extend(ia.ChartBase,ia.BoxChart),ia.BoxChart.prototype.render=function(){this.clear();for(var a=1/0,b=-(1/0),c=this.getLayers(),d=0;d<c.length;d++){var e=c[d];e.update(),a=Math.min(a,e.minValue),b=Math.max(b,e.maxValue)}for(void 0!=this.fixedMinValue&&(a=this.fixedMinValue),void 0!=this.fixedMaxValue&&(b=this.fixedMaxValue),a==b&&(0>b?b=0:a=0),(a==1/0||b==-(1/0))&&(a=0,b=100),a==b&&(b=a,a=b-1,b+=1),d=this.getBBox(),"vertical"==this.orientation?(this.showXAxisLabels=!1,this.showYAxisLabels=!0,this.renderAxes(d.getXMin(),d.getXMax(),a,b)):(this.showXAxisLabels=!0,
this.showYAxisLabels=!1,this.renderAxes(a,b,d.getYMin(),d.getYMax())),d=0;d<c.length;d++)c[d].render()},ia.TimeBarChart=function(a){ia.TimeBarChart.baseConstructor.call(this,a),this.drawBarsFromZero=!1},ia.extend(ia.ChartBase,ia.TimeBarChart),ia.TimeBarChart.prototype.render=function(){this.clear();for(var a=1/0,b=-(1/0),c=this.getLayers(),d=0;d<c.length;d++){var e=c[d];e.update(),a=Math.min(a,e.minValue),b=Math.max(b,e.maxValue)}for(void 0!=this.fixedMinValue&&(a=this.fixedMinValue),void 0!=this.fixedMaxValue&&(b=this.fixedMaxValue),this.drawBarsFromZero&&(0>b&&(b=0),a>0&&(a=0)),a==b&&(0>b?b=0:a=0),(a==1/0||b==-(1/0))&&(a=0,b=100),a==b&&(b=a,a=b-1,b+=1),d=this.getBBox(),"vertical"==this.orientation?(this.showXAxisGrid=!1,this.centerXAxisLabels=this.showYAxisGrid=!0,this.centerYAxisLabels=!1,this.renderAxes(d.getXMin(),d.getXMax(),a,b)):(this.showXAxisGrid=!0,this.centerXAxisLabels=this.showYAxisGrid=!1,this.centerYAxisLabels=!0,this.renderAxes(a,b,d.getYMin(),d.getYMax())),d=0;d<c.length;d++)c[d].render()},ia.Plot=function(a){ia.Plot.baseConstructor.call(this,a)},ia.extend(ia.ChartBase,ia.Plot),ia.Plot.prototype.render=function(){this.clear();for(var a=1/0,b=-(1/0),c=1/0,d=-(1/0),e=this.getLayers(),f=0;f<e.length;f++){var g=e[f];g.update(),a=Math.min(a,g.xMinValue),b=Math.max(b,g.xMaxValue),c=Math.min(c,g.yMinValue),d=Math.max(d,g.yMaxValue)}for(void 0!=this.fixedMinValueX&&(a=this.fixedMinValueX),void 0!=this.fixedMaxValueX&&(b=this.fixedMaxValueX),void 0!=this.fixedMinValueY&&(c=this.fixedMinValueY),void 0!=this.fixedMaxValueY&&(d=this.fixedMaxValueY),a==b&&(0>b?b=0:a=0),c==d&&(0>d?d=0:c=0),(a==1/0||b==-(1/0))&&(a=0,b=100),(c==1/0||d==-(1/0))&&(c=0,d=100),this.renderAxes(a,b,c,d),f=0;f<e.length;f++)e[f].render()},ia.RadarChart=function(a){ia.RadarChart.baseConstructor.call(this,a),this.radarPadding=60,this.radarCenterY=this.radarCenterX=this.radarRadius=0,this.startAxisFromZero=!1,this.type="radar"},ia.extend(ia.ChartBase,ia.RadarChart),ia.RadarChart.prototype.render=function(){this.clear();for(var a=1/0,b=-(1/0),c=this.getLayers(),d=0;d<c.length;d++){var e=c[d];e.update(),a=Math.min(a,e.minValue),b=Math.max(b,e.maxValue)}for(void 0!=this.fixedMinValue&&(a=this.fixedMinValue),void 0!=this.fixedMaxValue&&(b=this.fixedMaxValue),this.startAxisFromZero&&(0>b&&(b=0),a>0&&(a=0)),a==b&&(0>b?b=0:a=0),(a==1/0||b==-(1/0))&&(a=0,b=100),a==b&&(b=a,a=b-1,b+=1),this.renderAxes(a,b),d=0;d<c.length;d++)c[d].render()},ia.RadarChart.prototype.renderAxes=function(a,b){if(ia.isNumber(a)&&ia.isNumber(b)&&this.canvas.width>0&&this.canvas.height>0&&this.xAxisLabels){var c="Verdana",d="#AAAAAA",e=10,f="#E5E5E5";this.container.css("font-family")&&(c=this.container.css("font-family")),this.container.css("color")&&(d=ia.Color.toHex(this.container.css("color"))),this.container.css("font-size")&&(e=this.container.css("font-size"),e.indexOf("px")>-1&&(e=e.substring(0,e.indexOf("px"))),e=ia.parseInt(e)),this.container.css("borderRightColor")&&(f=ia.Color.toHex(this.container.css("borderRightColor"))),this.radarRadius=Math.min(this.canvasWidth,this.canvasHeight)/2-this.radarPadding,this.radarCenterX=this.canvasWidth/2,this.radarCenterY=this.canvasHeight/2,this.context.lineWidth=1,this.context.strokeStyle=f,this.context.font=""+e+"px "+c,this.context.fillStyle=d;var c=e+2,e=this.radarRadius,g=this._getYAxisLabels(a,b,5,e,c+6);this.context.textAlign="right",this.context.textBaseline="middle";var h,i,j,d=g.length,k=this.radarCenterX-3;for(i=e/(d-1),j=h=this.radarCenterY-this.radarRadius,e=0;d>e;e++)f=g[e],this.context.textBaseline="top",this.context.fillText(f,k,h),f=this.radarCenterY-Math.floor(j),this.context.beginPath(),ia.Shape.drawCircle(this.context,this.radarCenterX,this.radarCenterY,2*f),this.context.stroke(),h+=i,j+=i;for(g=1.5*Math.PI,d=this.xAxisLabels.length,k=2*Math.PI*(1/d),e=0;d>e;e++){h=this.radarCenterX+this.radarRadius*Math.cos(g),i=this.radarCenterY+this.radarRadius*Math.sin(g),this.context.beginPath(),this.context.moveTo(this.radarCenterX,this.radarCenterY),this.context.lineTo(h,i),this.context.stroke(),f=this.xAxisLabels[e],j=this._getLabelWidth(f,3);var l;"rose"==this.type&&(h=this.radarCenterX+this.radarRadius*Math.cos(g+k/2),i=this.radarCenterY+this.radarRadius*Math.sin(g+k/2)),h<this.radarCenterX+2&&h>this.radarCenterX-2?(this.context.textAlign="center",l=this.canvas.width,i<this.radarCenterY?i-=3:i+=3):h>this.radarCenterX?(this.context.textAlign="left",h+=3,l=this.canvas.width-h):(this.context.textAlign="right",h-=3,l=h),this.context.textBaseline=i<this.radarCenterY+2&&i>this.radarCenterY-2?"middle":i<this.radarCenterY?"bottom":"top",l=Math.min(l,this.radarRadius),j>l?this._wrapText(f,h,i,l,c,this.context.textBaseline):this.context.fillText(f,h,i),g+=k}}},ia.StackedTimeChart=function(a){ia.StackedTimeChart.baseConstructor.call(this,a),this.drawBarsFromZero=!1},ia.extend(ia.ChartBase,ia.StackedTimeChart),ia.StackedTimeChart.prototype.render=function(){this.clear();for(var a=1/0,b=-(1/0),c=this.getLayers(),d=0;d<c.length;d++){var e=c[d];e.update(),1==e.getVisible()&&(a=Math.min(a,e.minValue),b=Math.max(b,e.maxValue))}for(b>100&&101>b&&(b=100),void 0!=this.fixedMinValue&&(a=this.fixedMinValue),void 0!=this.fixedMaxValue&&(b=this.fixedMaxValue),this.drawBarsFromZero&&(0>b&&(b=0),a>0&&(a=0)),a==b&&(0>b?b=0:a=0),(a==1/0||b==-(1/0))&&(a=0,b=100),a==b&&(b=a,a=b-1,b+=1),d=this.getBBox(),"vertical"==this.orientation?(this.showXAxisGrid=!1,this.centerXAxisLabels=this.showYAxisGrid=!0,this.centerYAxisLabels=!1,this.renderAxes(d.getXMin(),d.getXMax(),a,b)):(this.showXAxisGrid=!0,this.centerXAxisLabels=this.showYAxisGrid=!1,this.centerYAxisLabels=!0,this.renderAxes(a,b,d.getYMin(),d.getYMax())),d=0;d<c.length;d++)c[d].render()},ia.LayerBase=function(){ia.LayerBase.baseConstructor.call(this),this.isLoaded=this.showInLayerList=this._mapMouseEventListenersAdded=this._visible=!1,this.exportable=!0,this.highlightable=this.interactive=!1,this.selectable=!0,this.showLabels=!1,this.showDataTips=!0},ia.extend(ia.EventDispatcher,ia.LayerBase),ia.LayerBase.prototype.loadSource=function(){this.isLoaded=!0,this.dispatchEvent(new ia.Event(ia.Event.LAYER_READY,this))},ia.LayerBase.prototype.getVisible=function(){return this._visible},ia.LayerBase.prototype.setVisible=function(a){this._visible=a,this.map&&(this._visible?(this.addCanvases(),this.render()):this.removeCanvases()),this.dispatchEvent(new ia.Event(ia.Event.LAYER_VISIBLE_CHANGED,this))},ia.LayerBase.prototype.setMap=function(a,b){this.map=a;var c=this;this._canvasContainer=$j("<div>"),b.append(this._canvasContainer),this.addMapMouseEventListeners(),this._visible&&this.addCanvases(),a.addEventListener(ia.Event.MAP_RESIZE,function(){var a=c.map.container.width(),b=c.map.container.height();c.canvas&&(c.canvas.width=a,c.canvas.height=b),c.selectionCanvas&&(c.selectionCanvas.width=a,c.selectionCanvas.height=b),c.highlightCanvas&&(c.highlightCanvas.width=a,c.highlightCanvas.height=b),c.showLabels&&c.labelCanvas&&(c.labelCanvas.width=a,c.labelCanvas.height=b)},this)},ia.LayerBase.prototype.commitChanges=function(){this.addMapMouseEventListeners(),this.addCanvases()},ia.LayerBase.prototype.addCanvases=function(){var a=this.map.container.width(),b=this.map.container.height();void 0==this.canvas&&(this.canvas=this.createCanvas(this._canvasContainer),this.context=this.canvas.getContext("2d"),this.canvas.width=a,this.canvas.height=b),this.interactive||this.highlightable?(void 0==this.selectionCanvas&&this.addSelectionCanvas(),void 0==this.highlightCanvas&&this.addHighlightCanvas()):(this.removeHighlightCanvas(),this.removeSelectionCanvas()),this.showLabels&&void 0==this.labelCanvas?this.addLabelCanvas():this.removeLabelCanvas()},ia.LayerBase.prototype.addMapMouseEventListeners=function(){!this._mapMouseEventListenersAdded&(this.interactive||this.showDataTips)&&(this._mapMouseEventListenersAdded=!0,this.map.addEventListener(ia.MapMouseEvent.MAP_MOUSE_MOVE,this._mapEventHandler.bind(this),this),this.map.addEventListener(ia.MapMouseEvent.MAP_MOUSE_OVER,this._mapEventHandler.bind(this),this),this.map.addEventListener(ia.MapMouseEvent.MAP_MOUSE_OUT,this._mapEventHandler.bind(this),this),this.map.addEventListener(ia.MapMouseEvent.MAP_MOUSE_WHEEL_END,this._mapEventHandler.bind(this),this),this.selectable&&(this.map.addEventListener(ia.MapMouseEvent.MAP_MOUSE_CLICK,this._mapEventHandler.bind(this),this),this.map.addEventListener(ia.MapMouseEvent.MAP_MOUSE_DOWN,this._mapEventHandler.bind(this),this),this.map.addEventListener(ia.MapMouseEvent.MAP_MOUSE_UP,this._mapEventHandler.bind(this),this)))},ia.LayerBase.prototype.removeCanvases=function(){void 0!=this.canvas&&($j(this.canvas).remove(),this._heatmap=this.canvas=void 0),void 0!=this.selectionCanvas&&($j(this.selectionCanvas).remove(),this.selectionCanvas=void 0),void 0!=this.highlightCanvas&&($j(this.highlightCanvas).remove(),this.highlightCanvas=void 0),void 0!=this.labelCanvas&&($j(this.labelCanvas).remove(),this.labelCanvas=void 0)},ia.LayerBase.prototype.addSelectionCanvas=function(){this.selectionCanvas=this.createCanvas(this.map.foregroundContainer),this.selectionContext=this.selectionCanvas.getContext("2d"),this.selectionCanvas.width=this.map.container.width(),this.selectionCanvas.height=this.map.container.height()},ia.LayerBase.prototype.removeSelectionCanvas=function(){void 0!=this.selectionCanvas&&($j(this.selectionCanvas).remove(),this.selectionCanvas=void 0)},ia.LayerBase.prototype.addHighlightCanvas=function(){this.highlightCanvas=this.createCanvas(this.map.foregroundContainer),this.highlightContext=this.highlightCanvas.getContext("2d"),this.highlightCanvas.width=this.map.container.width(),this.highlightCanvas.height=this.map.container.height()},ia.LayerBase.prototype.removeHighlightCanvas=function(){void 0!=this.highlightCanvas&&($j(this.highlightCanvas).remove(),this.highlightCanvas=void 0)},ia.LayerBase.prototype.addLabelCanvas=function(){this.labelCanvas=this.createCanvas(this._canvasContainer),this.labelContext=this.labelCanvas.getContext("2d"),this.labelCanvas.width=this.map.container.width(),this.labelCanvas.height=this.map.container.height(),this._setLabelStyle()},ia.LayerBase.prototype.removeLabelCanvas=function(){void 0!=this.labelCanvas&&($j(this.labelCanvas).remove(),this.labelCanvas=void 0)},ia.LayerBase.prototype._mapEventHandler=function(){},ia.LayerBase.prototype.createCanvas=function(a){var b=document.createElement("canvas");return b.width=a.width(),b.height=a.height(),$j(b).css({position:"absolute",left:0,top:0}),a.append($j(b)),b},ia.LayerBase.prototype.render=function(){},ia.LayerBase.prototype.clear=function(){this.canvas&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height)},ia.ItemEvent=function(a,b,c,d,e,f,g,h,i){ia.ItemEvent.baseConstructor.call(this,a,b),this.item=b,this.x=d,this.y=e,this.dataX=f,this.dataY=g,this.pageX=h,this.pageY=i,this.isTouchEvent=c&&c.mouseEvent.originalEvent&&void 0!=c.mouseEvent.originalEvent.touches?!0:!1},ia.extend(ia.Event,ia.ItemEvent),ia.ItemEvent.NONE_ITEM_CLICK="noneItemClick",ia.ItemEvent.ITEM_CLICK="itemClick",ia.ItemEvent.ITEM_MOUSE_DOWN="itemMouseDown",ia.ItemEvent.ITEM_MOUSE_UP="itemMouseUp",ia.ItemEvent.ITEM_MOUSE_MOVE="itemMouseMove",ia.ItemEvent.ITEM_MOUSE_OVER="itemMouseOver",ia.ItemEvent.ITEM_MOUSE_OUT="itemMouseOut",ia.ItemLayer=function(){ia.ItemLayer.baseConstructor.call(this),this._data={},this._rollOverItem=void 0,this._redrawSelectionTimeout=null,this.items={},this.itemArray=[],this.doHitTest=!0,this.style={fillStyle:"#ffffff",strokeStyle:"#bbbbbb",lineWidth:"1",lineJoin:"round"},this.selectionColor="#ff0000",this.highlightColor="#00ff00",this.selectionIds=[],this.dataField="value",this.dataChanged=!1,this.tip=""},ia.extend(ia.LayerBase,ia.ItemLayer),ia.ItemLayer.SELECTED="selected",ia.ItemLayer.ROLLOVER_SELECTED="rollOverSelected",ia.ItemLayer.ROLLOVER="rollOver",ia.ItemLayer.UNSELECTED="unselected",ia.ItemLayer.prototype.getData=function(){return this._data},ia.ItemLayer.prototype.setData=function(a){this._data=a,this.dataChanged=!0},ia.ItemLayer.prototype._setLabelStyle=function(){var a="Verdana",b=10,c="normal",d="#ffffff",e="#333333";this.map.labelStyle&&(this.map.labelStyle.css("font-family")&&(a=this.map.labelStyle.css("font-family")),this.map.labelStyle.css("color")&&(d=ia.Color.toHex(this.map.labelStyle.css("color"))),this.map.labelStyle.css("font-weight")&&(c=this.map.labelStyle.css("font-weight")),this.map.labelStyle.css("font-size")&&(b=this.map.labelStyle.css("font-size"),b.indexOf("px")>-1&&(b=b.substring(0,b.indexOf("px"))),b=ia.parseInt(b)),this.map.labelStyle.css("borderRightColor")&&(e=ia.Color.toHex(this.map.labelStyle.css("borderRightColor")))),this.labelContext.font=c+" "+b+"px "+a,this.labelContext.lineWidth=2,this.labelContext.strokeStyle=e,this.labelContext.fillStyle=d},ia.ItemLayer.prototype.getItem=function(a){return this.items[a]},ia.ItemLayer.prototype.clearItems=function(){for(var a in this.items)delete this.items[a]},ia.ItemLayer.prototype._mapEventHandler=function(a){a.type==ia.MapMouseEvent.MAP_MOUSE_OVER?this.doHitTest=!0:a.type==ia.MapMouseEvent.MAP_MOUSE_OUT?(this._hitTest(a),this.doHitTest=!1):(this.doHitTest||a.isTouchEvent)&&this._hitTest(a)},ia.ItemLayer.prototype._hitTest=function(a){if((this.showDataTips||this.interactive)&&this.getVisible()){var b=a.type;if(b==ia.MapMouseEvent.MAP_MOUSE_MOVE||b==ia.MapMouseEvent.MAP_MOUSE_DOWN){for(var b=[],c=this.itemArray.length-1;c>=0;c--){var d=this.itemArray[c];1!=d.disabled&&this.hitItem(d,a)&&(b[b.length]=d)}b.length>0?(b[0].size&&b.sort(function(a,b){return a.size<b.size?-1:a.size>b.size?1:0}),d=b[0],this._rollOverItem&&d!=this._rollOverItem&&this._dispatchItemEvent(a,!1,this._rollOverItem),this._rollOverItem=d,this._dispatchItemEvent(a,!0,this._rollOverItem)):this._rollOverItem&&(this._dispatchItemEvent(a,!1,this._rollOverItem),this._rollOverItem=null)}else null!=this._rollOverItem?this._dispatchItemEvent(a,!0,this._rollOverItem):b==ia.MapMouseEvent.MAP_MOUSE_CLICK&&(ia.IS_TOUCH_DEVICE||this.dispatchEvent(new ia.ItemEvent(ia.ItemEvent.NONE_ITEM_CLICK,{parent:this},a)))}},ia.ItemLayer.prototype.hitItem=function(){return!1},ia.ItemLayer.prototype._dispatchItemEvent=function(a,b,c){var d,e=c.state,f=a.type;b?f==ia.MapMouseEvent.MAP_MOUSE_MOVE?d=e==ia.ItemLayer.ROLLOVER||e==ia.ItemLayer.ROLLOVER_SELECTED?ia.ItemEvent.ITEM_MOUSE_MOVE:ia.ItemEvent.ITEM_MOUSE_OVER:f==ia.MapMouseEvent.MAP_MOUSE_CLICK?d=ia.ItemEvent.ITEM_CLICK:f==ia.MapMouseEvent.MAP_MOUSE_UP?d=ia.ItemEvent.ITEM_MOUSE_UP:f==ia.MapMouseEvent.MAP_MOUSE_DOWN?d=ia.ItemEvent.ITEM_MOUSE_DOWN:f==ia.MapMouseEvent.MAP_MOUSE_OUT?e==ia.ItemLayer.ROLLOVER?d=ia.ItemEvent.ITEM_MOUSE_OUT:e==ia.ItemLayer.ROLLOVER_SELECTED&&(d=ia.ItemEvent.ITEM_MOUSE_OUT):f==ia.MapMouseEvent.MAP_MOUSE_WHEEL_END&&(d=ia.ItemEvent.ITEM_MOUSE_OVER):f!=ia.MapMouseEvent.MAP_MOUSE_MOVE||e!=ia.ItemLayer.ROLLOVER&&e!=ia.ItemLayer.ROLLOVER_SELECTED||(d=ia.ItemEvent.ITEM_MOUSE_OUT),d==ia.ItemEvent.ITEM_MOUSE_OVER?e==ia.ItemLayer.UNSELECTED?c.state=ia.ItemLayer.ROLLOVER:e==ia.ItemLayer.SELECTED&&(c.state=ia.ItemLayer.ROLLOVER_SELECTED):d==ia.ItemEvent.ITEM_CLICK?c.state=e==ia.ItemLayer.ROLLOVER_SELECTED||e==ia.ItemLayer.SELECTED?ia.ItemLayer.UNSELECTED:ia.ItemLayer.ROLLOVER_SELECTED:d==ia.ItemEvent.ITEM_MOUSE_OUT&&(e==ia.ItemLayer.ROLLOVER?c.state=ia.ItemLayer.UNSELECTED:e==ia.ItemLayer.ROLLOVER_SELECTED&&(c.state=ia.ItemLayer.SELECTED)),a=new ia.ItemEvent(d,c,a,a.x,a.y,a.dataX,a.dataY,a.pageX,a.pageY),(d==ia.ItemEvent.ITEM_CLICK&&this instanceof ia.TimeLayer==0&&this instanceof ia.TimeBarLayer==0&&this instanceof ia.TimeBoxLayer==0&&this instanceof ia.StackedBarLayer==0&&this instanceof ia.StackedFeaturesLayer==0&&this instanceof ia.StackedTimeLayer==0&&this instanceof ia.LineLayer==0&&this instanceof ia.ComparisonTimeLayer==0&&this instanceof ia.ComparisonLineLayer==0&&this instanceof ia.ComparisonTimeBarLayer==0||d!=ia.ItemEvent.ITEM_CLICK)&&(this._itemEventHandler(a),null!=d&&this.dispatchEvent(a))},ia.ItemLayer.prototype._itemEventHandler=function(a){var b=a.item;this.interactive&&(a.type==ia.ItemEvent.ITEM_MOUSE_OVER?(ia.showPointerCursor(),this.clearHighlight(),this.highlightItem(b,this.highlightContext)):a.type==ia.ItemEvent.ITEM_MOUSE_DOWN&&a.isTouchEvent&&(this.clearHighlight(),this.highlightItem(b,this.highlightContext)),a.type==ia.ItemEvent.ITEM_CLICK?(b.state==ia.ItemLayer.UNSELECTED?(this._removeFromSelection(b.id),this.renderSelection()):(this._addToSelection(b.id),this.selectItem(b)),this.clearHighlight()):a.type==ia.ItemEvent.ITEM_MOUSE_OUT?(ia.showDefaultCursor(),this.clearHighlight()):a.type==ia.ItemEvent.ITEM_MOUSE_UP?this.clearHighlight():a.type==ia.ItemEvent.NONE_ITEM_CLICK&&this.clearSelection()),this.showDataTips&&(a.type==ia.ItemEvent.ITEM_MOUSE_OVER?(ia.showPointerCursor(),this.showTip(b,a)):a.type==ia.ItemEvent.ITEM_MOUSE_DOWN?a.isTouchEvent&&this.showTip(b,a):a.type==ia.ItemEvent.ITEM_MOUSE_MOVE?a.isTouchEvent||this.showTip(b,a):a.type==ia.ItemEvent.ITEM_MOUSE_OUT?(ia.showDefaultCursor(),a.isTouchEvent||this.hideTip()):a.type==ia.ItemEvent.ITEM_MOUSE_UP?this.hideTip():a.type==ia.ItemEvent.ITEM_CLICK&&this.hideTip())},ia.ItemLayer.prototype.tipFunction=function(a){return a.name},ia.ItemLayer.prototype.showTip=function(){},ia.ItemLayer.prototype.hideTip=function(){this.map.datatip.hide()},ia.ItemLayer.prototype._removeFromSelection=function(a){a=this.selectionIds.indexOf(a),-1!=a&&this.selectionIds.splice(a,1)},ia.ItemLayer.prototype._addToSelection=function(a){-1==this.selectionIds.indexOf(a)&&this.selectionIds.push(a)},ia.ItemLayer.prototype.isSelected=function(a){return-1!=this.selectionIds.indexOf(a)?!0:!1},ia.ItemLayer.prototype.selectAll=function(){this.clearSelection();for(var a in this.items)this.select(a)},ia.ItemLayer.prototype.select=function(a){var b=this.getItem(a);b&&(b.state=ia.ItemLayer.SELECTED,this._addToSelection(a),this.selectItem(b))},ia.ItemLayer.prototype.unselect=function(a){var b=this.getItem(a);b&&(b.state=ia.ItemLayer.UNSELECTED,this._removeFromSelection(a),this._triggerRenderSelection())},ia.ItemLayer.prototype.clearSelection=function(){this.selectionIds=[];for(var a in this.items){var b=this.items[a];b&&(b.state=ia.ItemLayer.UNSELECTED)}this._clearSelectionGraphics()},ia.ItemLayer.prototype._triggerRenderSelection=function(){this._redrawSelectionTimeout||(this._redrawSelectionTimeout=setTimeout(function(){this.renderSelection()}.bind(this),5))},ia.ItemLayer.prototype.renderSelection=function(){this._redrawSelectionTimeout=null,this._clearSelectionGraphics();for(var a=this.selectionIds.length,b=0;a>b;b++){var c=this.items[this.selectionIds[b]];c&&this.selectItem(c)}},ia.ItemLayer.prototype.selectItem=function(){},ia.ItemLayer.prototype.highlight=function(a){(a=this.getItem(a))&&this.highlightItem(a)},ia.ItemLayer.prototype.clearHighlight=function(){this._clearHighlightGraphics()},ia.ItemLayer.prototype.highlightItem=function(){},ia.ItemLayer.prototype.clear=function(){this.hideTip(),this._rollOverItem=null,this._clearHighlightGraphics(),this._clearSelectionGraphics(),this._clearLayerGraphics(),this._clearLabelGraphics()},ia.ItemLayer.prototype._clearCanvas=function(a,b){a&&b.clearRect(0,0,a.width,a.height)},ia.ItemLayer.prototype._clearHighlightGraphics=function(){(this.showDataTips||this.interactive||this.highlightable)&&this._clearCanvas(this.highlightCanvas,this.highlightContext)},ia.ItemLayer.prototype._clearSelectionGraphics=function(){(this.showDataTips||this.interactive||this.highlightable)&&this._clearCanvas(this.selectionCanvas,this.selectionContext)},ia.ItemLayer.prototype._clearLabelGraphics=function(){this.showLabels&&this.labelCanvas&&(this._clearCanvas(this.labelCanvas,this.labelContext),this._setLabelStyle())},ia.ItemLayer.prototype._clearLayerGraphics=function(){this._clearCanvas(this.canvas,this.context)},ia.TimeLayer=function(){ia.TimeLayer.baseConstructor.call(this),this.style={fillStyle:"#ffffff",strokeStyle:"#ff0000",lineWidth:"2",lineJoin:"round"},this.dropDates=[],this.selectedDate="",this.drawLinesThroughMissingValues=!0,this.highlightSelectedDate=this.matchAxisToSelectedData=!1,this.dashWidth=12,this.gapWidthAsProportionOfDashWidth=.3,this.dashedLineThicknessAsProportionOfSolidLine=.6,this.associateNames={},this.dataFields=[],this.thematic=new ia.Thematic,this.thematic.setDataType(ia.Thematic.CATEGORIC),this.thematic.setDataField("value"),this._highlightMode=!1},ia.extend(ia.ItemLayer,ia.TimeLayer),ia.TimeLayer.prototype.markerSize=7,ia.TimeLayer.prototype.update=function(){if(this.dataFields.length>0)this.update_multi();else if(this.map&&this.dataChanged){var a=this.getData();if(this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0),a.dates){var b,c=this,d=a.dates.filter(function(a){return c.dropDates.indexOf(a)<0}),e=a[d[0]],f=d.length;for(b in e){var g=e[b],h={};h.id=g.id,h.name=g.name,h.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(h.id)&&(h.state=ia.ItemLayer.SELECTED),h.parent=this,h.layer=this,this.items[g.id]=h,this.itemArray.push(h),h.childItems=[];for(var i=0;f>i;i++){var j=d[i],g=a[j][b],k=g[this.dataField];if(ia.isNumber(k)){var l,m={};for(l in g)m[l]=g[l];m.id=b+"~"+j,m.name=j,m.shape=new ia.Rectangle,m.hitArea=new ia.Rectangle,m.value=k,m.formattedValue=g[this.dataField+"_formatted"],this.isComparison?(-1!=this.selectionIds.indexOf(h.id)&&(this.minValue=Math.min(this.minValue,k),this.maxValue=Math.max(this.maxValue,k),h.state=ia.ItemLayer.SELECTED),this.displayAll&&(this.minValue=Math.min(this.minValue,k),this.maxValue=Math.max(this.maxValue,k))):(0==this.matchAxisToSelectedData||1==this.matchAxisToSelectedData&&h.state==ia.ItemLayer.SELECTED)&&(this.minValue=Math.min(this.minValue,m.value),this.maxValue=Math.max(this.maxValue,m.value)),h.childItems[h.childItems.length]=m}else h.childItems[h.childItems.length]={name:j,value:void 0}}}}this.dataChanged=!1}},ia.TimeLayer.prototype.render=function(){if(this.dataFields.length>0)this.render_multi();else{this.clear();for(var a in this.style)this.context[a]=this.style[a],this.selectionContext[a]=this.style[a],this.highlightContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),this.selectionContext.strokeStyle=ia.Color.toRGBA(this.selectionColor),a=this.itemArray.length;for(var b=0;a>b;b++)for(var c=this.itemArray[b],d=c.childItems.length,e=0;d>e;e++){var f=c.childItems[e];void 0!=f.value&&this._setItemShape(f,e,d)}if(this.highlightSelectedDate&&(a=this.getData(),a.dates)){this.context.fillStyle=ia.Color.toRGBA(this.selectionColor,.07),this.context.lineWidth=0;var g=this,b=a.dates.filter(function(a){return g.dropDates.indexOf(a)<0}),c=b.indexOf(this.selectedDate);-1!=c&&("vertical"==this.map.orientation?(a=this.map.canvasX+c/b.length*this.map.canvasWidth,c=this.map.canvasY,d=this.map.canvasWidth/b.length,b=this.map.canvasHeight):(a=this.map.canvasX,c=this.map.canvasY+c/b.length*this.map.canvasHeight,d=this.map.canvasWidth,b=this.map.canvasHeight/b.length),this.context.beginPath(),this.context.rect(a,c,d,b),this.context.fill())}this.renderSelection()}},ia.TimeLayer.prototype._setItemShape=function(a,b,c){if("vertical"==this.map.orientation){var d=this.map.canvasX,e=this.map.canvasWidth;if(this.map.centerXAxisLabels)var f=this.map.canvasWidth/(2*c),d=this.map.canvasX+f,e=this.map.canvasWidth-2*f;d=1==c?d:d+b/(c-1)*e,b=this.map.getPixelY(a.value)}else e=this.map.canvasY,f=this.map.canvasHeight,this.map.centerYAxisLabels&&(f=this.map.canvasHeight/(2*c),e=this.map.canvasY+f,f=this.map.canvasHeight-2*f),d=this.map.getPixelX(a.value),b=1==c?e:e+b/(c-1)*f;e=c=this.markerSize,a.shape.x=d,a.shape.y=b,a.shape.width=c,a.shape.height=e,ia.IS_TOUCH_DEVICE?e=c=30:(c*=2,e*=2),a.hitArea.x=d-c/2,a.hitArea.y=b-e/2,a.hitArea.width=c,a.hitArea.height=e},ia.TimeLayer.prototype.selectItem=function(a){var b=this.selectionIds.length;if(this.colorPalette){var b=this.colorPalette.getColors(b),c=this.selectionIds.indexOf(a.id);this.selectionContext.strokeStyle=b[c]}this._highlightMode=!1,this._drawItem(a,this.selectionContext)},ia.TimeLayer.prototype.highlightItem=function(a){ia.IS_IE_TEN||(this.highlightContext.beginPath(),this.highlightContext.rect(this.map.canvasX,this.map.canvasY,this.map.canvasWidth,this.map.canvasHeight),this.highlightContext.clip()),this._highlightMode=!0,this._drawItem(a,this.highlightContext)},ia.TimeLayer.prototype._drawItem=function(a,b){if(this.dataFields.length>0)this._drawItem_multi(a,b);else{var c=!0,d=a.childItems.length;b.beginPath();for(var e=0;d>e;e++){var f=a.childItems[e];if(void 0!=f.value?(c?b.moveTo(f.shape.x,f.shape.y):b.lineTo(f.shape.x,f.shape.y),c=!1):1!=this.drawLinesThroughMissingValues&&(c=!0),this.map.animationMode&&f.name==this.selectedDate)break}for(b.stroke(),e=0;d>e&&(f=a.childItems[e],void 0!=f.value&&(b.beginPath(),ia.Shape.drawCircle(b,f.shape.x,f.shape.y,f.shape.width),b.fill(),b.stroke()),!this.map.animationMode||f.name!=this.selectedDate);e++);}},ia.TimeLayer.prototype.hitItem=function(a,b){if(this.isSelected(a.id))for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y))return!0}return!1},ia.TimeLayer.prototype.tipFunction=void 0,ia.TimeLayer.prototype.showTip=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y)){if(void 0!==this.tip&&-1!=this.tip.indexOf("${name} (${date}): ${value}")){var f,c=this.tip,c=c.split("${name}").join(a.name),c=c.split("${date}").join(e.name),c=c.split("${value}").join(e.formattedValue),c=void 0!=e.associateName?c.split("${associateName}").join(e.associateLabel):c.split("${associateName}").join(""),c=void 0!=e.associateLabel?c.split("${lineLabel}").join(e.associateLabel):c.split("${lineLabel}").join("");for(f in e)c=c.split("${"+f+"}").join(e[f+"_formatted"])}else c=void 0!=this.tipFunction?this.tipFunction(a,e):a.name+" : "+e.name+" : "+e.formattedValue;this.map.datatip.text(c),b.isTouchEvent?(f=b.x-this.map.datatip.getWidth()/2,e=b.y-(this.map.datatip.getHeight()+30)):(f=e.shape.x+e.shape.width/2-this.map.datatip.getWidth()/2,e=e.shape.y-e.shape.height/2-(this.map.datatip.getHeight()+5)),this.map.datatip.position(f,e),""!==c&&this.map.datatip.show();break}}},ia.TimeLayer.prototype.update_multi=function(){if(this.map&&this.dataChanged){var a=this.getData();if(this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0),a.dates){var b,c=this,d=a.dates.filter(function(a){return c.dropDates.indexOf(a)<0}),e=a[d[0]],f=d.length;for(b in e){var g=e[b],h={};h.id=g.id,h.name=g.name,h.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(h.id)&&(h.state=ia.ItemLayer.SELECTED),h.parent=this,h.layer=this,this.items[g.id]=h,this.itemArray.push(h),h.childItems=[];for(var i=0;i<this.dataFields.length;i++)for(var j=this.dataFields[i],k=0;f>k;k++){var l=d[k],g=a[l][b],m=g[j];if(ia.isNumber(m)){var n,o={};for(n in g)o[n]=g[n];o.id=b+"~"+l+"~"+j,o.name=l,"value"!==j&&(o.associateName=j,o.associateLabel=this.associateNames[j]||j);var p=this.thematic.categoricClassifier.getClass(j);p&&(o.color=p.color),o.date=l,o.shape=new ia.Rectangle,o.hitArea=new ia.Rectangle,o.value=m,o.formattedValue=g[j+"_formatted"],o.dataField=j,this.isComparison?(-1!=this.selectionIds.indexOf(h.id)&&(this.minValue=Math.min(this.minValue,m),this.maxValue=Math.max(this.maxValue,m),h.state=ia.ItemLayer.SELECTED),this.displayAll&&(this.minValue=Math.min(this.minValue,m),this.maxValue=Math.max(this.maxValue,m))):(0==this.matchAxisToSelectedData||1==this.matchAxisToSelectedData&&h.state==ia.ItemLayer.SELECTED)&&(this.minValue=Math.min(this.minValue,o.value),this.maxValue=Math.max(this.maxValue,o.value)),h.childItems[h.childItems.length]=o}else h.childItems[h.childItems.length]={name:l,value:void 0,dataField:j}}}}this.dataChanged=!1}},ia.TimeLayer.prototype.render_multi=function(){var a=this,b=this.getData().dates.filter(function(b){return a.dropDates.indexOf(b)<0});this.clear();for(var c in this.style)this.context[c]=this.style[c],this.selectionContext[c]=this.style[c],this.highlightContext[c]=this.style[c];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),this.selectionContext.strokeStyle=ia.Color.toRGBA(this.selectionColor);for(var d=this.itemArray.length,e=0;d>e;e++){var f=this.itemArray[e];c=0;for(var g=f.childItems.length,h=void 0,i=0;g>i;i++){var j=f.childItems[i];j.dataField!=h?(c=0,h=j.dataField):c++,void 0!=j.value&&this._setItemShape(j,c,b.length)}}this.highlightSelectedDate&&b&&b.length>0&&(this.context.fillStyle=ia.Color.toRGBA("#cccccc",.2),this.context.lineWidth=0,c=b.indexOf(this.selectedDate),-1!=c)&&("vertical"==this.map.orientation?(d=this.map.canvasX+c/b.length*this.map.canvasWidth,c=this.map.canvasY,e=this.map.canvasWidth/b.length,b=this.map.canvasHeight):(d=this.map.canvasX,c=this.map.canvasY+c/b.length*this.map.canvasHeight,e=this.map.canvasWidth,b=this.map.canvasHeight/b.length),this.context.beginPath(),this.context.rect(d,c,e,b),this.context.fill()),this.renderSelection()},ia.TimeLayer.prototype._drawItem_multi=function(a,b){if(a.childItems.length>0){var c=this.dashWidth;c+=c/(this.dataFields.length-1);var d,e,f=this.style.lineWidth,g=this,c=this.getData().dates.filter(function(a){return g.dropDates.indexOf(a)<0}).length,h=[],i=0;for(d=0,e=a.childItems.length;e>d;d+=c)h[i]=a.childItems.slice(d,d+c),i++;var j=-1,k=function(){if(j++,j<h.length){for(var a=h[j],c=0;c<a.length;c++){var d=a[c].color;if(void 0!=d)break}b.strokeStyle=d,g._highlightMode?g._drawLine_multi(a,b,5,.65*f,k):g._drawLine_multi(a,b,0,f,k)}};k()}},ia.TimeLayer.prototype._drawLine_multi=function(a,b,c,d,e){var f=a.length;if(f>0){var g,h,i=!0,j=c*this.gapWidthAsProportionOfDashWidth;for(b.beginPath(),b.lineWidth=d,d=0;f>d;d++){var k=a[d];if(void 0!=k.value?(i?b.moveTo(k.shape.x,k.shape.y):0!=c?b.dashedLine(g,h,k.shape.x,k.shape.y,c,j):b.lineTo(k.shape.x,k.shape.y),i=!1,g=k.shape.x,h=k.shape.y):1!=this.drawLinesThroughMissingValues&&(i=!0),this.map.animationMode&&k.date==this.selectedDate)break}for(b.stroke(),d=0;f>d&&(k=a[d],void 0!=k.value&&(b.beginPath(),ia.Shape.drawCircle(b,k.shape.x,k.shape.y,k.shape.width),b.fill(),b.stroke()),!this.map.animationMode||k.date!=this.selectedDate);d++);b.lineWidth=this.style.lineWidth,e.call(null)}},ia.TimeBoxLayer=function(){ia.TimeBoxLayer.baseConstructor.call(this)},ia.extend(ia.TimeLayer,ia.TimeBoxLayer),ia.TimeBoxLayer.prototype.update=function(){if(this.dataFields.length>0)this.update_multi();else if(this.map&&this.dataChanged){var a=this.getData();if(this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0),a.dates)for(var b=0;b<a.dates.length;b++){var c=a.dates[b],d=a.profiles[b];if(-1==this.dropDates.indexOf(c)){var e={};e.id=b+"_box",e.name=b+"_box",e.date=c,e.state=ia.ItemLayer.UNSELECTED,e.parent=this,e.layer=this,e.rect=new ia.Rectangle,e.hitArea=new ia.Rectangle,"value"==this.dataField?(e.lowerQuartile=d.lowerQuartile,e.upperQuartile=d.upperQuartile,e.median=d.median,e.minValue=d.minValue,e.maxValue=d.maxValue,e.ninetyFifth=d.ninetyFifth,e.fifth=d.fifth,e.lowerQuartile_formatted=d.lowerQuartile_formatted,e.upperQuartile_formatted=d.upperQuartile_formatted,e.median_formatted=d.median_formatted,e.minValue_formatted=d.minValue_formatted,e.maxValue_formatted=d.maxValue_formatted,e.ninetyFifth_formatted=d.ninetyFifth_formatted,e.fifth_formatted=d.fifth_formatted,e.range_formatted=d.range_formatted,e.interquartileRange_formatted=d.interquartileRange_formatted,e.range_95_5_formatted=d.range_95_5_formatted):(e.lowerQuartile=d[this.dataField+"_lowerQuartile"],e.upperQuartile=d[this.dataField+"_upperQuartile"],e.median=d[this.dataField+"_median"],e.minValue=d[this.dataField+"_minValue"],e.maxValue=d[this.dataField+"_maxValue"],e.ninetyFifth=d[this.dataField+"_ninetyFifth"],e.fifth=d[this.dataField+"_fifth"],e.lowerQuartile_formatted=d[this.dataField+"_lowerQuartile_formatted"],e.upperQuartile_formatted=d[this.dataField+"_upperQuartile_formatted"],e.median_formatted=d[this.dataField+"_median_formatted"],
e.minValue_formatted=d[this.dataField+"_minValue_formatted"],e.maxValue_formatted=d[this.dataField+"_maxValue_formatted"],e.ninetyFifth_formatted=d[this.dataField+"_ninetyFifth_formatted"],e.fifth_formatted=d[this.dataField+"_fifth_formatted"],e.range_formatted=d[this.dataField+"_range_formatted"],e.interquartileRange_formatted=d[this.dataField+"_interquartileRange_formatted"],e.range_95_5_formatted=d[this.dataField+"_range_95_5_formatted"]),this.minValue=Math.min(this.minValue,e.minValue),this.maxValue=Math.max(this.maxValue,e.maxValue),this.items[e.id]=e,this.itemArray.push(e)}}this.dataChanged=!1}},ia.TimeBoxLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.selectionContext[a]=this.style[a],this.highlightContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),this.selectionContext.strokeStyle=ia.Color.toRGBA(this.selectionColor),this.context.fillStyle=ia.Color.toRGBA(this.map.limitsColor,.5),this.context.strokeStyle=ia.Color.toRGBA(this.map.limitsColor,1),this.context.lineWidth=this.map.limitsWidth,ia.IS_IE_TEN||(this.context.beginPath(),this.context.rect(this.map.canvasX,this.map.canvasY,this.map.canvasWidth,this.map.canvasHeight),this.context.clip()),a=this.itemArray.length;for(var b=0;a>b;b++){var c=this.itemArray[b];this._setItemShape(c,b,a),this._renderItem(c)}},ia.TimeBoxLayer.prototype._setItemShape=function(a,b,c){if(a.boxSize=3*this.markerSize,ia.isNumber(a.median))if("vertical"==this.map.orientation){var d=this.map.canvasX,e=this.map.canvasWidth;this.map.centerXAxisLabels&&(e=this.map.canvasWidth/(2*c),d=this.map.canvasX+e,e=this.map.canvasWidth-2*e),a.px=0==b?d:d+b/(c-1)*e,a.rect.x=a.px-a.boxSize/2,a.rect.y=this.map.getPixelY(a.upperQuartile),a.rect.height=this.map.getPixelY(a.lowerQuartile)-a.rect.y,a.rect.width=a.boxSize,a.yMin=this.map.getPixelY(a.minValue),a.yMax=this.map.getPixelY(a.maxValue),a.yMedian=this.map.getPixelY(a.median),a.yNinetyFifth=this.map.getPixelY(a.ninetyFifth),a.yFifth=this.map.getPixelY(a.fifth),a.hitArea.x=a.rect.x,a.hitArea.y=this.map.canvasY,a.hitArea.width=a.rect.width,a.hitArea.height=this.map.canvasHeight}else d=this.map.canvasY,e=this.map.canvasHeight,this.map.centerYAxisLabels&&(e=this.map.canvasHeight/(2*c),d=this.map.canvasY+e,e=this.map.canvasHeight-2*e),a.py=0==b?d:d+b/(c-1)*e,a.rect.x=this.map.getPixelX(a.upperQuartile),a.rect.y=a.py-a.boxSize/2,a.rect.height=a.boxSize,a.rect.width=this.map.getPixelX(a.lowerQuartile)-a.rect.x,a.xMax=this.map.getPixelX(a.maxValue),a.xMin=this.map.getPixelX(a.minValue),a.xMedian=this.map.getPixelX(a.median),a.xNinetyFifth=this.map.getPixelX(a.ninetyFifth),a.xFifth=this.map.getPixelX(a.fifth),a.hitArea.x=this.map.canvasX,a.hitArea.y=a.rect.y,a.hitArea.width=this.map.canvasWidth,a.hitArea.height=a.rect.height},ia.TimeBoxLayer.prototype._renderItem=function(a){this._drawItem(a,this.context)},ia.TimeBoxLayer.prototype.selectItem=function(){},ia.TimeBoxLayer.prototype.highlightItem=function(){},ia.TimeBoxLayer.prototype._drawItem=function(a,b){"vertical"==this.map.orientation?(b.beginPath(),b.rect(a.rect.x,a.rect.y,a.rect.width,a.rect.height),b.fill(),b.beginPath(),b.moveTo(a.px,a.rect.y),b.lineTo(a.px,a.yMax),b.moveTo(a.px-a.boxSize/2,a.yMax),b.lineTo(a.px+a.boxSize/2,a.yMax),b.moveTo(a.px,a.rect.y+a.rect.height),b.lineTo(a.px,a.yMin),b.moveTo(a.px-a.boxSize/2,a.yMin),b.lineTo(a.px+a.boxSize/2,a.yMin),b.moveTo(a.px-a.boxSize/2,a.yMedian),b.lineTo(a.px+a.boxSize/2,a.yMedian),b.moveTo(a.px-a.boxSize/2,a.yNinetyFifth),b.lineTo(a.px+a.boxSize/2,a.yNinetyFifth),b.moveTo(a.px-a.boxSize/2,a.yFifth),b.lineTo(a.px+a.boxSize/2,a.yFifth)):(b.beginPath(),b.rect(a.rect.x,a.rect.y,a.rect.width,a.rect.height),b.fill(),b.beginPath(),b.moveTo(a.rect.x,a.py),b.lineTo(a.xMax,a.py),b.moveTo(a.xMax,a.py-a.boxSize/2),b.lineTo(a.xMax,a.py+a.boxSize/2),b.moveTo(a.rect.x+a.rect.width,a.py),b.lineTo(a.xMin,a.py),b.moveTo(a.xMin,a.py-a.boxSize/2),b.lineTo(a.xMin,a.py+a.boxSize/2),b.moveTo(a.xMedian,a.py-a.boxSize/2),b.lineTo(a.xMedian,a.py+a.boxSize/2),b.moveTo(a.xNinetyFifth,a.py-a.boxSize/2),b.lineTo(a.xNinetyFifth,a.py+a.boxSize/2),b.moveTo(a.xFifth,a.py-a.boxSize/2),b.lineTo(a.xFifth,a.py+a.boxSize/2)),b.stroke()},ia.TimeBoxLayer.prototype.hitItem=function(a,b){return a.hitArea.intersects(b.x,b.y)},ia.TimeBoxLayer.prototype.showTip=function(a,b){if(void 0!=this.tipFunction)this.map.datatip.text(this.tipFunction(a));else if(""!=this.tip){var c=this.tip,c=c.split("${date}").join(a.date),c=c.split("${lowerQuartile}").join(a.lowerQuartile_formatted),c=c.split("${upperQuartile}").join(a.upperQuartile_formatted),c=c.split("${median}").join(a.median_formatted),c=c.split("${minValue}").join(a.minValue_formatted),c=c.split("${maxValue}").join(a.maxValue_formatted),c=c.split("${ninetyFifth}").join(a.ninetyFifth_formatted),c=c.split("${fifth}").join(a.fifth_formatted),c=c.split("${range}").join(a.range_formatted),c=c.split("${interquartileRange}").join(a.interquartileRange_formatted),c=c.split("${range_95_5}").join(a.range_95_5_formatted);this.map.datatip.text(c)}else this.map.datatip.text(a.date);var d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):"vertical"==this.map.orientation?(c=a.rect.x+a.rect.width,d=a.median<0?a.rect.y+a.rect.height+5:a.rect.y-this.map.datatip.getHeight()-5):(c=a.median<0?a.rect.x-(this.map.datatip.getWidth()+5):a.rect.x+a.rect.width+5,d=a.rect.y+a.rect.height),this.map.datatip.position(c,d),this.map.datatip.show()},ia.BarLayer=function(){ia.BarLayer.baseConstructor.call(this),this._maxBarWidth=20,this._barSize=this._minBarWidthForStroke=10,this.sortDirection="ascending"},ia.extend(ia.ItemLayer,ia.BarLayer),ia.BarLayer.prototype.update=function(){if(this.map&&this.dataChanged){var a=this.getData();this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0);for(var b in a){var c=a[b],d=c[this.dataField];if(ia.isNumber(d)){this.minValue=Math.min(this.minValue,d),this.maxValue=Math.max(this.maxValue,d);var e={};e.id=c.id,e.name=c.name,e.color=c.color,e.value=d,e.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(e.id)&&(e.state=ia.ItemLayer.SELECTED),e.parent=this,e.layer=this,e.rect=new ia.Rectangle,e.hitArea=new ia.Rectangle,this.items[b]=e,this.itemArray.push(e),c.upperLimit&&c.lowerLimit&&ia.isNumber(c.upperLimit)&&ia.isNumber(c.lowerLimit)&&(e.upperLimit=c.upperLimit,e.lowerLimit=c.lowerLimit,this.maxValue=Math.max(this.maxValue,e.upperLimit),this.minValue=Math.min(this.minValue,e.lowerLimit))}}if(void 0!=this.sortDirection){var f;f="ascending"==this.sortDirection?1:-1,this.itemArray.sort(function(a,b){return parseFloat(a.value)<parseFloat(b.value)?-f:parseFloat(a.value)>parseFloat(b.value)?f:0})}this.dataChanged=!1}},ia.BarLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.selectionContext[a]=this.style[a],this.highlightContext[a]=this.style[a];this.selectionContext.strokeStyle=this.selectionColor,this.selectionContext.lineWidth=parseFloat(this.style.lineWidth)+1,this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1,a=this.itemArray.length,this._barSize="vertical"==this.map.orientation?this.map.canvasWidth/a:this.map.canvasHeight/a,this._barSize>=this._minBarWidthForStroke?(this.selectionContext.fillStyle="rgba(0, 0, 0, 0)",this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.3)):(this.selectionContext.fillStyle=ia.Color.toRGBA(this.selectionColor),this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor));for(var b=0;a>b;b++){var c=this.itemArray[b];this._setItemShape(c,b),this._renderItem(c)}for(this.context.strokeStyle=this.map.limitsColor,this.context.lineWidth=this.map.limitsWidth,this.context.beginPath(),b=0;a>b;b++)this._drawLimit(this.itemArray[b],this.context);this.context.stroke(),"vertical"==this.map.orientation?this.map.getBBox().getYMin()<0&&this.map.getBBox().getYMax()>0&&(this.context.lineWidth=.5,this.context.beginPath(),this.context.moveTo(this.map.canvasX,this.map.getPixelY(0)),this.context.lineTo(this.map.canvasX+this.map.canvasWidth,this.map.getPixelY(0)),this.context.stroke()):this.map.getBBox().getXMin()<0&&this.map.getBBox().getXMax()>0&&(this.context.lineWidth=.5,this.context.beginPath(),this.context.moveTo(this.map.getPixelX(0),this.map.canvasY),this.context.lineTo(this.map.getPixelX(0),this.map.canvasY+this.map.canvasHeight),this.context.stroke()),this.renderSelection()},ia.BarLayer.prototype._setItemShape=function(a,b){if("vertical"==this.map.orientation){var c,d,e=this.itemArray.length;this.map.getBBox().getYMin()<0?(c=a.value<0?this.map.getPixelY(0):this.map.getPixelY(a.value),d=this.map.getPixelHeight(Math.abs(a.value))):(c=this.map.getPixelY(a.value),d=this.map.getPixelHeight(Math.abs(a.value)-this.map.getBBox().getYMin())),a.value<this.map.getBBox().getYMin()&&(c=this.map.canvasY+this.map.canvasHeight,d-=this.map.getPixelHeight(Math.abs(a.value)-this.map.getBBox().getYMin())),a.value>this.map.getBBox().getYMax()&&(c=this.map.canvasY,d-=this.map.getPixelHeight(Math.abs(a.value)-this.map.getBBox().getYMax())),a.rect.y=c,a.rect.height=d,a.rect.x=this.map.canvasX+b/e*this.map.canvasWidth,a.rect.width=this.map.canvasWidth/e,a.hitArea.x=a.rect.x,a.hitArea.y=this.map.canvasY,a.hitArea.width=a.rect.width,a.hitArea.height=this.map.canvasHeight,a.upperLimit&&a.lowerLimit&&(a.ul={},a.ll={},a.ul.x=a.rect.x+a.rect.width/2,a.ul.y=this.map.getPixelY(a.upperLimit),a.ll.x=a.rect.x+a.rect.width/2,a.ll.y=this.map.getPixelY(a.lowerLimit)),a.rect.width>this._maxBarWidth?(a.rect.x+=(a.rect.width-this._maxBarWidth)/2,a.rect.width=this._maxBarWidth):a.rect.width<this._minBarWidthForStroke&&a.rect.width++}else e=this.itemArray.length,this.map.getBBox().getXMin()<0?(c=a.value<0?this.map.getPixelX(a.value):this.map.getPixelX(0),d=this.map.getPixelWidth(Math.abs(a.value))):(c=this.map.getPixelX(this.map.getBBox().getXMin()),d=this.map.getPixelWidth(Math.abs(a.value)-this.map.getBBox().getXMin())),a.value<this.map.getBBox().getXMin()&&(c=this.map.canvasX,d-=this.map.getPixelWidth(Math.abs(a.value)-Math.abs(this.map.getBBox().getXMin()))),a.value>this.map.getBBox().getXMax()&&(d-=this.map.getPixelWidth(Math.abs(a.value)-Math.abs(this.map.getBBox().getXMax()))),a.rect.x=c,a.rect.width=d,a.rect.y=this.map.canvasY+b/e*this.map.canvasHeight,a.rect.height=this.map.canvasHeight/e,a.hitArea.x=this.map.canvasX,a.hitArea.y=a.rect.y,a.hitArea.width=this.map.canvasWidth,a.hitArea.height=a.rect.height,a.upperLimit&&a.lowerLimit&&(a.ul={},a.ll={},a.ul.x=this.map.getPixelX(a.upperLimit),a.ul.y=a.rect.y+a.rect.height/2,a.ll.x=this.map.getPixelX(a.lowerLimit),a.ll.y=a.rect.y+a.rect.height/2),a.rect.height>this._maxBarWidth?(a.rect.y+=(a.rect.height-this._maxBarWidth)/2,a.rect.height=this._maxBarWidth):a.rect.height<this._minBarWidthForStroke&&a.rect.height++},ia.BarLayer.prototype._renderItem=function(a){this.context.fillStyle=a.color,this._drawItem(a,this.context)},ia.BarLayer.prototype.selectItem=function(a){this._drawItem(a,this.selectionContext)},ia.BarLayer.prototype.highlightItem=function(a){this._drawItem(a,this.highlightContext)},ia.BarLayer.prototype._drawItem=function(a,b){b.beginPath(),b.rect(a.rect.x,a.rect.y,a.rect.width,a.rect.height),b.fill(),this._barSize>=this._minBarWidthForStroke&&b.stroke()},ia.BarLayer.prototype._drawLimit=function(a,b){a.ul&&a.ll&&(b.moveTo(a.ul.x,a.ul.y),b.lineTo(a.ll.x,a.ll.y),this._barSize>=this._minBarWidthForStroke&&("vertical"==this.map.orientation?(b.moveTo(a.rect.x,a.ul.y),b.lineTo(a.rect.x+a.rect.width,a.ul.y),b.moveTo(a.rect.x,a.ll.y),b.lineTo(a.rect.x+a.rect.width,a.ll.y)):(b.moveTo(a.ul.x,a.rect.y),b.lineTo(a.ul.x,a.rect.y+a.rect.height),b.moveTo(a.ll.x,a.rect.y),b.lineTo(a.ll.x,a.rect.y+a.rect.height))))},ia.BarLayer.prototype.hitItem=function(a,b){return a.hitArea.intersects(b.x,b.y)},ia.BarLayer.prototype.showTip=function(a,b){this.map.datatip.text(this.tipFunction(a));var c,d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):"vertical"==this.map.orientation?(c=a.rect.x+a.rect.width/2-this.map.datatip.getWidth()/2,d=a.value<0?a.rect.y+a.rect.height+5:a.rect.y-this.map.datatip.getHeight()-5):(c=a.value<0?a.rect.x-(this.map.datatip.getWidth()+5):a.rect.x+a.rect.width+5,d=a.rect.y+a.rect.height/2-this.map.datatip.getHeight()/2),this.map.datatip.position(c,d),this.map.datatip.show()},ia.GridLayer=function(){ia.GridLayer.baseConstructor.call(this),this._noRows=7,this._noCols=53},ia.extend(ia.ItemLayer,ia.GridLayer),ia.GridLayer.prototype.update=function(){if(this.map&&this.dataChanged){var a=this.getData();ia.log(a);var b,c=[];for(b in a)c[c.length]=a[b];for(c.sort(function(a,b){return a.id-b.id}),this.itemArray=[],this.clearItems(),a=0;a<c.length;a++){var d=c[a];b=d.id;var e=d[this.dataField],f={};f.id=d.id,f.name=d.name,f.color=d.color,f.value=e,f.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(f.id)&&(f.state=ia.ItemLayer.SELECTED),f.parent=this,f.layer=this,f.rect=new ia.Rectangle,f.hitArea=new ia.Rectangle,this.items[b]=f,this.itemArray.push(f)}this.dataChanged=!1}},ia.GridLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.selectionContext[a]=this.style[a],this.highlightContext[a]=this.style[a];this.selectionContext.strokeStyle=this.selectionColor,this.selectionContext.lineWidth=parseFloat(this.style.lineWidth)+1,this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1,this.selectionContext.fillStyle="rgba(0, 0, 0, 0)",this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.3);for(var b=a=this.context.lineWidth=0,c=this.itemArray.length,d=0;c>d;d++){var e=this.itemArray[d];this._setItemShape(e,a,b),this._renderItem(e),a==this._noRows-1?(a=0,b++):a++}this.renderSelection()},ia.GridLayer.prototype._setItemShape=function(a,b,c){var d=this.map.canvasWidth/this._noCols,c=this.map.canvasX+c*d,e=this.map.canvasHeight/this._noRows,b=this.map.canvasY+b*e;a.rect.width=d,a.rect.height=e,a.rect.x=c,a.rect.y=b,a.hitArea.x=a.rect.x,a.hitArea.y=a.rect.y,a.hitArea.width=a.rect.width,a.hitArea.height=a.rect.height},ia.GridLayer.prototype._renderItem=function(a){this.context.fillStyle=a.color,this._drawItem(a,this.context)},ia.GridLayer.prototype.selectItem=function(a){this._drawItem(a,this.selectionContext)},ia.GridLayer.prototype.highlightItem=function(a){this._drawItem(a,this.highlightContext)},ia.GridLayer.prototype._drawItem=function(a,b){b.beginPath(),b.rect(a.rect.x,a.rect.y,a.rect.width,a.rect.height),b.fill(),b.stroke()},ia.GridLayer.prototype.hitItem=function(a,b){return a.hitArea.intersects(b.x,b.y)},ia.GridLayer.prototype.showTip=function(a,b){this.map.datatip.text(this.tipFunction(a));var c,d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):(c=a.rect.x+a.rect.width/2-this.map.datatip.getWidth()/2,d=a.rect.y-this.map.datatip.getHeight()-5),this.map.datatip.position(c,d),this.map.datatip.show()},ia.PyramidLayer=function(){ia.PyramidLayer.baseConstructor.call(this),this._maxBarWidth=20,this._barSize=this._minBarWidthForStroke=10,this.sortDirection="ascending",this.gender="male"},ia.extend(ia.ItemLayer,ia.PyramidLayer),ia.PyramidLayer.prototype.update=function(a){if(this.map){var b=this.getData();this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0);for(var c=0;c<b.length;c++){var d=b[c],e=d.features[0];if(e){var f=e[this.dataField];if(ia.isNumber(f)&&("male"==this.gender&&(f*=-1),this.minValue=Math.min(this.minValue,f),this.maxValue=Math.max(this.maxValue,f)),void 0==a||d.date==a){var g={};g.id=e.id,g.name=e.name,g.ageGroup=d.name,g.value=ia.isNumber(f)?f:0,g.formattedValue=e[this.dataField+"_formatted"],g.parent=this,g.layer=this,g.state=ia.ItemLayer.UNSELECTED,g.rect=new ia.Rectangle,g.hitArea=new ia.Rectangle,this.items[g.id]=g,this.itemArray.push(g)}}}this.itemArray.reverse()}},ia.PyramidLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1,a=this.itemArray.length,this._barSize=this.map.canvasHeight/a,this.highlightContext.fillStyle=this._barSize>=this._minBarWidthForStroke?ia.Color.toRGBA(this.highlightColor,.3):ia.Color.toRGBA(this.highlightColor);for(var b=0;a>b;b++){var c=this.itemArray[b];this._setItemShape(c,b),this._renderItem(c)}},ia.PyramidLayer.prototype._setItemShape=function(a,b){var c,d,e=this.itemArray.length;this.map.getBBox().getXMin()<0?(c=a.value<0?this.map.getPixelX(a.value):this.map.getPixelX(0),d=this.map.getPixelWidth(Math.abs(a.value))):(c=this.map.getPixelX(this.map.getBBox().getXMin()),d=this.map.getPixelWidth(Math.abs(a.value)-this.map.getBBox().getXMin())),a.value<this.map.getBBox().getXMin()&&(c=this.map.canvasX,d-=this.map.getPixelWidth(Math.abs(a.value)-Math.abs(this.map.getBBox().getXMin()))),a.value>this.map.getBBox().getXMax()&&(d-=this.map.getPixelWidth(Math.abs(a.value)-Math.abs(this.map.getBBox().getXMax()))),a.rect.x=c,a.rect.width=d,a.rect.y=this.map.canvasY+b/e*this.map.canvasHeight,a.rect.height=this.map.canvasHeight/e,a.hitArea.x="male"==this.gender?this.map.canvasX:a.rect.x,a.hitArea.y=a.rect.y,a.hitArea.width=this.map.canvasWidth/2,a.hitArea.height=a.rect.height,a.rect.height<this._minBarWidthForStroke&&a.rect.height++},ia.PyramidLayer.prototype._renderItem=function(a){this._drawItem(a,this.context)},ia.PyramidLayer.prototype.highlightItem=function(a){this._drawItem(a,this.highlightContext)},ia.PyramidLayer.prototype._drawItem=function(a,b){b.beginPath(),b.rect(a.rect.x,a.rect.y,a.rect.width,a.rect.height),b.fill(),this._barSize>=this._minBarWidthForStroke&&b.stroke()},ia.PyramidLayer.prototype.hitItem=function(a,b){return a.hitArea.intersects(b.x,b.y)},ia.PyramidLayer.prototype.showTip=function(a,b){if(""!=this.tip){var c=this.tip,c=c.split("${name}").join(a.name),c=c.split("${ageGroup}").join(a.ageGroup),c=c.split("${value}").join(a.formattedValue);this.map.datatip.text(c)}else this.map.datatip.text(a.name+" <br/> "+a.ageGroup+" <br/> "+a.formattedValue);var d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):(c=a.value<0?a.rect.x-(this.map.datatip.getWidth()+5):a.rect.x+a.rect.width+5,d=a.rect.y+a.rect.height/2-this.map.datatip.getHeight()/2),this.map.datatip.position(c,d),this.map.datatip.show()},ia.CountLayer=function(){ia.CountLayer.baseConstructor.call(this),this.isLegendComponent=!0},ia.extend(ia.BarLayer,ia.CountLayer),ia.CountLayer.prototype.update=function(){if(this.map&&this.dataChanged){this.getData(),this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0);for(var a=this.thematic.getClasses(),b=0;b<a.length;b++){var c=a[b],d={};d.id=c.index,d.legendClass=c,d.color=c.color,d.value=c.items.length,d.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(d.id)&&(d.state=ia.ItemLayer.SELECTED),d.parent=this,d.layer=this,d.label=c.getLabel()+" : "+d.value,d.rect=new ia.Rectangle,d.hitArea=new ia.Rectangle,this.items[d.id]=d,this.itemArray.push(d),this.minValue=Math.min(this.minValue,d.value),this.maxValue=Math.max(this.maxValue,d.value)}if(void 0!=this.sortDirection){var e;e="ascending"==this.sortDirection?1:-1,this.itemArray.sort(function(a,b){return a.value<b.value?-e:a.value>b.value?e:0})}this.dataChanged=!1}},ia.CountLayer.prototype.showTip=function(a,b){this.map.datatip.text(a.label);var c,d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):"vertical"==this.map.orientation?(c=a.rect.x+a.rect.width/2-this.map.datatip.getWidth()/2,d=a.value<0?a.rect.y+a.rect.height+5:a.rect.y-this.map.datatip.getHeight()-5):(c=a.value<0?a.rect.x-(this.map.datatip.getWidth()+5):a.rect.x+a.rect.width+5,d=a.rect.y+a.rect.height/2-this.map.datatip.getHeight()/2),this.map.datatip.position(c,d),this.map.datatip.show()},ia.PieLayer=function(){ia.PieLayer.baseConstructor.call(this),this._piePadding=10,this._pieCenterY=this._pieCenterX=this._pieRadius=this._pieTotal=0,this.isLegendComponent=!0},ia.extend(ia.ItemLayer,ia.PieLayer),ia.PieLayer.prototype.update=function(){this.itemArray=[],this.clearItems();for(var a=this.thematic.getClasses(),b=0;b<a.length;b++){var c=a[b],d={};d.id=c.index,d.legendClass=c,d.color=c.color,d.value=c.items.length,d.formattedValue=c.items.length,d.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(d.id)&&(d.state=ia.ItemLayer.SELECTED),d.parent=this,d.layer=this,this.items[d.id]=d,this.itemArray.push(d)}},ia.PieLayer.prototype.render=function(){this.clear(),this._pieRadius=Math.min(this.map.canvasWidth,this.map.canvasHeight)/2-this._piePadding,this._pieCenterX=this.map.canvasWidth/2,this._pieCenterY=this.map.canvasHeight/2;for(var a in this.style)this.context[a]=this.style[a],this.selectionContext[a]=this.style[a],this.highlightContext[a]=this.style[a];this.selectionContext.fillStyle="rgba(0, 0, 0, 0)",this.selectionContext.strokeStyle=this.selectionColor,this.selectionContext.lineWidth=parseFloat(this.style.lineWidth)+1,this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.3),this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1,a=1.5*Math.PI;var b=0,c=this.itemArray.length;if(0==c)this.context.beginPath(),ia.Shape.drawCircle(this.context,this._pieCenterX,this._pieCenterY,2*this._pieRadius),this.context.stroke();else{for(var d=this._pieTotal=0;c>d;d++){var e=this.itemArray[d],b=parseFloat(e.value);b>0&&(this._pieTotal+=b)}for(d=0;c>d;d++)if(e=this.itemArray[d],b=parseFloat(e.value),b>0){var f=ia.round(b/this._pieTotal*100,2);if(""!=this.tip){var g=this.tip,g=g.split("${name}").join(e.legendClass.getLabel()),g=g.split("${value}").join(e.formattedValue),g=g.split("${percentage}").join(f);e.label=g}else e.label=e.legendClass.getLabel()+" : "+f+"%";b=a+2*Math.PI*(b/this._pieTotal),e.startAngle=a,e.endAngle=b,e.angleSize=b-a,a=b,this._renderItem(e)}this.renderSelection()}},ia.PieLayer.prototype._renderItem=function(a){this.context.fillStyle=a.color,this._drawItem(a,this.context)},ia.PieLayer.prototype.selectItem=function(a){this._drawItem(a,this.selectionContext)},ia.PieLayer.prototype.highlightItem=function(a){this._drawItem(a,this.highlightContext)},ia.PieLayer.prototype._drawItem=function(a,b){this._pieRadius>0&&(b.beginPath(),b.moveTo(this._pieCenterX,this._pieCenterY),b.arc(this._pieCenterX,this._pieCenterY,this._pieRadius,a.startAngle,a.endAngle,!1),b.lineTo(this._pieCenterX,this._pieCenterY),b.fill(),b.stroke())},ia.PieLayer.prototype.hitItem=function(a,b){return this._pointInSlice(a,b.x,b.y)},ia.PieLayer.prototype._pointInSlice=function(a,b,c){var d=a.endAngle-a.startAngle,e=this._pieCenterX,f=this._pieCenterY;return this._pointInPoly([{x:e,y:f},{x:e+this._pieRadius*Math.cos(a.startAngle),y:f+this._pieRadius*Math.sin(a.startAngle)},{x:e+this._pieRadius*Math.cos(a.startAngle+d/4),y:f+this._pieRadius*Math.sin(a.startAngle+d/4)},{x:e+this._pieRadius*Math.cos(a.startAngle+d/2),y:f+this._pieRadius*Math.sin(a.startAngle+d/2)},{x:e+this._pieRadius*Math.cos(a.startAngle+d/1.5),y:f+this._pieRadius*Math.sin(a.startAngle+d/1.5)},{x:e+this._pieRadius*Math.cos(a.startAngle+d),y:f+this._pieRadius*Math.sin(a.startAngle+d)},{x:e,y:f}],b,c)},ia.PieLayer.prototype._pointInPoly=function(a,b,c){var d,e,f=0;for(d=0,e=a.length-1;d<a.length;e=d++)a[d].y>c!=a[e].y>c&&b<(a[e].x-a[d].x)*(c-a[d].y)/(a[e].y-a[d].y)+a[d].x&&(f=!f);return f},ia.PieLayer.prototype.showTip=function(a,b){this.map.datatip.text(a.label);var c,d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):(c=b.x/2,d=b.y-(this.map.datatip.getHeight()+5)),this.map.datatip.position(c,d),this.map.datatip.show()},ia.AdvancedPieLayer=function(){ia.AdvancedPieLayer.baseConstructor.call(this)},ia.extend(ia.PieLayer,ia.AdvancedPieLayer),ia.AdvancedPieLayer.prototype.update=function(){this.itemArray=[],this.clearItems();var a=this.getData();if(a&&this.itemId)if(a.dates)for(var b=a.dates.length,c=0;b>c;c++){var d=a.dates[c],e=a[d][this.itemId];if(e&&(this.itemName=e.name,d=this.thematic.getClass(d))){var f={};f.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(f.id)&&(f.state=ia.ItemLayer.SELECTED),f.parent=this,f.layer=this,f.id=d.index,f.legendClass=d,f.value=e.value,f.formattedValue=e.value_formatted,f.label=d.getLabel()+" : "+f.value,f.color=d.color,this.items[f.id]=f,this.itemArray.push(f)}}else if(e=a[this.itemId])for(this.itemName=e.name,a=this.thematic.getClasses(),c=0;c<a.length;c++)d=a[c],b=d.value,f={},f.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(f.id)&&(f.state=ia.ItemLayer.SELECTED),f.parent=this,f.layer=this,f.id=d.index,f.legendClass=d,f.value=e[b],f.formattedValue=e[b+"_formatted"],f.label=d.getLabel()+" : "+f.value,f.color=d.color,this.items[f.id]=f,this.itemArray.push(f)},ia.BoxLayer=function(){ia.BoxLayer.baseConstructor.call(this),this._maxBarWidth=20,this._minBarWidthForStroke=2,this._barSize=10,this.sortDirection="ascending"},ia.extend(ia.ItemLayer,ia.BoxLayer),ia.BoxLayer.prototype.update=function(){if(this.map&&this.dataChanged){var a=this.getData();this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0);for(var b in a){var c=a[b];if(ia.isNumber(c[this.medianField])){var d={};d.id=c.id,d.name=c.name,d.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(d.id)&&(d.state=ia.ItemLayer.SELECTED),d.parent=this,d.layer=this,d.color=c.color,d.rect=new ia.Rectangle,d.hitArea=new ia.Rectangle,this.items[b]=d,this.itemArray.push(d),d.median=c[this.medianField],d.largestObservation=c[this.largestObservationField],d.upperQuartile=c[this.upperQuartileField],d.lowerQuartile=c[this.lowerQuartileField],d.smallestObservation=c[this.smallestObservationField],this.maxValue=Math.max(this.maxValue,d.largestObservation),this.minValue=Math.min(this.minValue,d.smallestObservation)}}if(void 0!=this.sortDirection){var e;e="ascending"==this.sortDirection?1:-1,this.itemArray.sort(function(a,b){return a.median<b.median?-e:a.median>b.median?e:0})}this.dataChanged=!1}},ia.BoxLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.selectionContext[a]=this.style[a],this.highlightContext[a]=this.style[a];this.selectionContext.strokeStyle=this.selectionColor,this.selectionContext.lineWidth=parseFloat(this.style.lineWidth)+1,this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1,a=this.itemArray.length,this._barSize="vertical"==this.map.orientation?this.map.canvasWidth/a:this.map.canvasHeight/a,this._barSize>=this._minBarWidthForStroke?(this.selectionContext.fillStyle="rgba(0, 0, 0, 0)",this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.3)):(this.highlightContext.fillStyle=ia.Color.toRGBA(this.selectionColor),this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor));for(var b=0;a>b;b++){var c=this.itemArray[b];this._setItemShape(c,b),this._renderItem(c)}this.renderSelection()},ia.BoxLayer.prototype._setItemShape=function(a,b){if("vertical"==this.map.orientation){var c=this.itemArray.length;a.rect.y=this.map.getPixelY(a.upperQuartile),a.rect.height=this.map.getPixelY(a.lowerQuartile)-a.rect.y,a.rect.x=this.map.canvasX+b/c*this.map.canvasWidth,a.rect.width=this.map.canvasWidth/c,a.hitArea.x=a.rect.x,a.hitArea.y=this.map.canvasY,a.hitArea.width=a.rect.width,a.hitArea.height=this.map.canvasHeight,a.uq={},a.uq.x=a.rect.x+a.rect.width/2,a.uq.y=this.map.getPixelY(a.largestObservation),a.lq={},a.lq.x=a.rect.x+a.rect.width/2,a.lq.y=this.map.getPixelY(a.smallestObservation),a.m={},a.m.x=a.rect.x+a.rect.width/2,a.m.y=this.map.getPixelY(a.median),a.rect.width>this._maxBarWidth?(a.rect.x+=(a.rect.width-this._maxBarWidth)/2,a.rect.width=this._maxBarWidth):a.rect.width<this._minBarWidthForStroke&&a.rect.width++}else c=this.itemArray.length,a.rect.x=this.map.getPixelX(a.lowerQuartile),a.rect.width=this.map.getPixelX(a.upperQuartile)-a.rect.x,a.rect.y=this.map.canvasY+b/c*this.map.canvasHeight,a.rect.height=this.map.canvasHeight/c,a.hitArea.x=this.map.canvasX,a.hitArea.y=a.rect.y,a.hitArea.width=this.map.canvasWidth,a.hitArea.height=a.rect.height,a.uq={},a.uq.x=this.map.getPixelX(a.largestObservation),a.uq.y=a.rect.y+a.rect.height/2,a.lq={},a.lq.x=this.map.getPixelX(a.smallestObservation),a.lq.y=a.rect.y+a.rect.height/2,a.m={},a.m.x=this.map.getPixelX(a.median),a.m.y=a.rect.y+a.rect.height/2,a.rect.height>this._maxBarWidth?(a.rect.y+=(a.rect.height-this._maxBarWidth)/2,a.rect.height=this._maxBarWidth):a.rect.height<this._minBarWidthForStroke&&a.rect.height++},ia.BoxLayer.prototype._renderItem=function(a){this.context.fillStyle=a.color,this._drawItem(a,this.context)},ia.BoxLayer.prototype.selectItem=function(a){this._drawItem(a,this.selectionContext)},ia.BoxLayer.prototype.highlightItem=function(a){this._drawItem(a,this.highlightContext)},ia.BoxLayer.prototype._drawItem=function(a,b){b.beginPath(),b.moveTo(a.uq.x,a.uq.y),b.lineTo(a.lq.x,a.lq.y),"vertical"==this.map.orientation?(b.moveTo(a.rect.x,a.uq.y),b.lineTo(a.rect.x+a.rect.width,a.uq.y),b.moveTo(a.rect.x,a.lq.y),b.lineTo(a.rect.x+a.rect.width,a.lq.y)):(b.moveTo(a.uq.x,a.rect.y),b.lineTo(a.uq.x,a.rect.y+a.rect.height),b.moveTo(a.lq.x,a.rect.y),b.lineTo(a.lq.x,a.rect.y+a.rect.height)),b.stroke(),b.beginPath(),b.rect(a.rect.x,a.rect.y,a.rect.width,a.rect.height),b.fill(),this._barSize>=this._minBarWidthForStroke&&b.stroke(),b.beginPath(),"vertical"==this.map.orientation?(b.moveTo(a.rect.x,a.m.y),b.lineTo(a.rect.x+a.rect.width,a.m.y)):(b.moveTo(a.m.x,a.rect.y),b.lineTo(a.m.x,a.rect.y+a.rect.height)),b.stroke()},ia.BoxLayer.prototype.hitItem=function(a,b){return a.hitArea.intersects(b.x,b.y)},ia.BoxLayer.prototype.showTip=function(a,b){this.map.datatip.text(this.tipFunction(a));var c,d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):"vertical"==this.map.orientation?(c=a.rect.x+a.rect.width,d=a.median<0?a.rect.y+a.rect.height+5:a.rect.y-this.map.datatip.getHeight()-5):(c=a.median<0?a.rect.x-(this.map.datatip.getWidth()+5):a.rect.x+a.rect.width+5,d=a.rect.y+a.rect.height),this.map.datatip.position(c,d),this.map.datatip.show()},ia.TimeBarLayer=function(){ia.TimeBarLayer.baseConstructor.call(this),this._minBarWidthForStroke=10,this.dropDates=[],this._renderTimeout=null,this.selectedDate="",this.colorBarsByCategory=this.matchAxisToSelectedData=this.highlightSelectedDate=!1,this._numericDates=[],this.colorPalette=new ia.ColorPalette},ia.extend(ia.ItemLayer,ia.TimeBarLayer),ia.TimeBarLayer.prototype.update=function(){if(this.map&&this.dataChanged){var a=this.getData();if(this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0),a.dates){for(var b=this,c=[],d=0;d<a.type.length;d++){var e=a.dates[d];a.type[d]!=ia.Thematic.CATEGORIC&&c.push(e)}if(this._numericDates=c.filter(function(a){return b.dropDates.indexOf(a)<0}),this._numericDates.length>0){var f,c=a[this._numericDates[0]],g=this._numericDates.length;for(f in c){var h=c[f],i={};for(i.id=h.id,i.name=h.name,i.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(i.id)&&(i.state=ia.ItemLayer.SELECTED),i.parent=this,i.layer=this,this.isComparison&&(d=this.thematic.getClass(i.id))&&(i.color=d.color),this.items[h.id]=i,this.itemArray.push(i),i.childItems=[],d=0;g>d;d++){var e=this._numericDates[d],h=a[e][f],j=h[this.dataField];if(ia.isNumber(j)){var k,l={};for(k in h)l[k]=h[k];l.id=f+"~"+e,l.name=e,l.rect=new ia.Rectangle,l.hitArea=new ia.Rectangle,l.value=j,l.formattedValue=h[this.dataField+"_formatted"],this.isComparison?(-1!=this.selectionIds.indexOf(i.id)&&(this.minValue=Math.min(this.minValue,j),
this.maxValue=Math.max(this.maxValue,j),i.state=ia.ItemLayer.SELECTED),this.displayAll&&(this.minValue=Math.min(this.minValue,j),this.maxValue=Math.max(this.maxValue,j))):(0==this.matchAxisToSelectedData||1==this.matchAxisToSelectedData&&i.state==ia.ItemLayer.SELECTED)&&(this.minValue=Math.min(this.minValue,l.value),this.maxValue=Math.max(this.maxValue,l.value)),i.childItems[i.childItems.length]=l}else i.childItems[i.childItems.length]={name:e,value:void 0}}}}}this.dataChanged=!1}},ia.TimeBarLayer.prototype.render=function(){this._renderTimeout=null,this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a];if(this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.1),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1,this.getData(),this._numericDates.length>0){if(a=this._numericDates.length,this._maxBarWidth="vertical"==this.map.orientation?this.map.canvasWidth/a*.7:this.map.canvasHeight/a*.7,this._barSize=this._maxBarWidth/this.selectionIds.length,this.highlightSelectedDate){var b=this._numericDates,c=b.indexOf(this.selectedDate);if(-1!=c){this.context.fillStyle=ia.Color.toRGBA(this.selectionColor,.07),this.context.lineWidth=0;var d,e;"vertical"==this.map.orientation?(d=this.map.canvasX+c/b.length*this.map.canvasWidth,c=this.map.canvasY,e=this.map.canvasWidth/b.length,b=this.map.canvasHeight):(d=this.map.canvasX,c=this.map.canvasY+c/b.length*this.map.canvasHeight,e=this.map.canvasWidth,b=this.map.canvasHeight/b.length),this.context.beginPath(),this.context.rect(d,c,e,b),this.context.fill()}}var f=this.itemArray.length;for(d=0;f>d;d++)for(b=this.itemArray[d],c=b.childItems.length,e=0;c>e;e++){var g=b.childItems[e];void 0!=g.value&&this._setItemShape(g,e,c)}for(a=this.colorPalette.getColors(this.colorBarsByCategory?a:this.selectionIds.length),d=0;d<this.selectionIds.length;d++)if(b=this.items[this.selectionIds[d]]){for(this.colorBarsByCategory||(b.color=a[d]),c=b.childItems.length,e=0;c>e;e++)g=b.childItems[e],this.colorBarsByCategory&&(g.color=a[e]),void 0!=g.value&&this._setItemShape(g,e,c,d);this._renderItem(b)}}},ia.TimeBarLayer.prototype._setItemShape=function(a,b,c,d){if("vertical"==this.map.orientation){var e,f;this.map.getBBox().getYMin()<0?(e=a.value<0?this.map.getPixelY(0):this.map.getPixelY(a.value),f=this.map.getPixelHeight(Math.abs(a.value))):(e=this.map.getPixelY(a.value),f=this.map.getPixelHeight(Math.abs(a.value)-this.map.getBBox().getYMin())),a.value<this.map.getBBox().getYMin()&&(e=this.map.canvasY+this.map.canvasHeight,f-=this.map.getPixelHeight(Math.abs(a.value)-this.map.getBBox().getYMin())),a.value>this.map.getBBox().getYMax()&&(e=this.map.canvasY,f-=this.map.getPixelHeight(Math.abs(a.value)-this.map.getBBox().getYMax())),a.rect.y=e,a.rect.height=f,a.rect.width=this._barSize,e=(this.map.canvasWidth/c-this._maxBarWidth)/2,a.rect.x=this.map.canvasX+b/c*this.map.canvasWidth+e+d*a.rect.width,a.hitArea.x=a.rect.x,a.hitArea.y=this.map.canvasY,a.hitArea.width=a.rect.width,a.hitArea.height=this.map.canvasHeight,a.rect.width>this._maxBarWidth?(a.rect.x+=(a.rect.width-this._maxBarWidth)/2,a.rect.width=this._maxBarWidth):a.rect.width<this._minBarWidthForStroke&&a.rect.width++}else this.map.getBBox().getXMin()<0?(e=a.value<0?this.map.getPixelX(a.value):this.map.getPixelX(0),f=this.map.getPixelWidth(Math.abs(a.value))):(e=this.map.getPixelX(this.map.getBBox().getXMin()),f=this.map.getPixelWidth(Math.abs(a.value)-this.map.getBBox().getXMin())),a.value<this.map.getBBox().getXMin()&&(e=this.map.canvasX,f-=this.map.getPixelWidth(Math.abs(a.value)-Math.abs(this.map.getBBox().getXMin()))),a.value>this.map.getBBox().getXMax()&&(f-=this.map.getPixelWidth(Math.abs(a.value)-Math.abs(this.map.getBBox().getXMax()))),a.rect.x=e,a.rect.width=f,a.rect.height=this._barSize,e=(this.map.canvasHeight/c-this._maxBarWidth)/2,a.rect.y=this.map.canvasY+b/c*this.map.canvasHeight+e+d*a.rect.height,a.hitArea.x=this.map.canvasX,a.hitArea.y=a.rect.y,a.hitArea.width=this.map.canvasWidth,a.hitArea.height=a.rect.height,a.rect.height>this._maxBarWidth?(a.rect.y+=(a.rect.height-this._maxBarWidth)/2,a.rect.height=this._maxBarWidth):a.rect.height<this._minBarWidthForStroke&&a.rect.height++},ia.TimeBarLayer.prototype._renderItem=function(a){this.context.fillStyle=a.color,this._drawItem(a,this.context)},ia.TimeBarLayer.prototype.selectItem=function(){this._triggerRender()},ia.TimeBarLayer.prototype.unselect=function(a){var b=this.getItem(a);b&&(b.state=ia.ItemLayer.UNSELECTED,a=this.selectionIds.indexOf(a),-1!=a&&this.selectionIds.splice(a,1)),this._triggerRender()},ia.TimeBarLayer.prototype.clearSelection=function(){this.selectionIds=[];for(var a in this.items){var b=this.items[a];b&&(b.state=ia.ItemLayer.UNSELECTED)}this._triggerRender()},ia.TimeBarLayer.prototype._triggerRender=function(){if(!this._renderTimeout){var a=this;this._renderTimeout=setTimeout(function(){a.render()},5)}},ia.TimeBarLayer.prototype.highlightItem=function(a){for(var b=a.childItems.length,c=0;b>c;c++){var d=a.childItems[c];if(void 0!=d.value){var e=!1;if("vertical"==this.map.orientation){var f=this.map.canvasX+this.map.canvasWidth/b*c,g=this.map.canvasX+this.map.canvasWidth/b*(c+1),h=d.rect.y;d.value<0&&(h+=d.rect.height);var i=h;d.value>=this.map.getBBox().getYMin()&&d.value<=this.map.getBBox().getYMax()&&(e=!0)}else f=d.rect.x+d.rect.width,d.value<0&&(f-=d.rect.width),g=f,h=this.map.canvasY+this.map.canvasHeight/b*c,i=this.map.canvasY+this.map.canvasHeight/b*(c+1),d.value>=this.map.getBBox().getXMin()&&d.value<=this.map.getBBox().getXMax()&&(e=!0);e&&(this.highlightContext.beginPath(),this.highlightContext.moveTo(f,h),this.highlightContext.lineTo(g,i),this.highlightContext.stroke()),this.highlightContext.beginPath(),"vertical"==this.map.orientation?this.highlightContext.rect(f,d.rect.y,g-f,d.rect.height):this.highlightContext.rect(d.rect.x,h,d.rect.width,i-h),this.highlightContext.fill()}}},ia.TimeBarLayer.prototype._drawItem=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&(this.colorBarsByCategory&&(b.fillStyle=e.color),b.beginPath(),b.rect(e.rect.x,e.rect.y,e.rect.width,e.rect.height),b.fill(),this.map.animationMode&&e.name==this.selectedDate))break}},ia.TimeBarLayer.prototype.hitItem=function(a,b){if(this.isSelected(a.id))for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y))return!0}return!1},ia.TimeBarLayer.prototype.tipFunction=void 0,ia.TimeBarLayer.prototype.showTip=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y)){if(void 0!==this.tip&&-1!=this.tip.indexOf("${name} (${date}): ${value}")||void 0!==this.tip&&-1!=this.tip.indexOf("${name}: ${value}")){var f,c=this.tip,c=c.split("${name}").join(a.name),c=c.split("${date}").join(e.name),c=c.split("${value}").join(e.formattedValue);for(f in e)c=c.split("${"+f+"}").join(e[f+"_formatted"])}else c=void 0!=this.tipFunction?this.tipFunction(a,e):a.name+" : "+e.name+" : "+e.formattedValue;this.map.datatip.text(c),b.isTouchEvent?(f=b.x-this.map.datatip.getWidth()/2,e=b.y-(this.map.datatip.getHeight()+30)):"vertical"==this.map.orientation?(f=e.rect.x+e.rect.width/2-this.map.datatip.getWidth()/2,e=e.value<0?e.rect.y+e.rect.height+5:e.rect.y-this.map.datatip.getHeight()-5):(f=e.value<0?e.rect.x-(this.map.datatip.getWidth()+5):e.rect.x+e.rect.width+5,e=e.rect.y+e.rect.height/2-this.map.datatip.getHeight()/2),this.map.datatip.position(f,e),""!==c&&this.map.datatip.show();break}}},ia.PlotLayer=function(){ia.PlotLayer.baseConstructor.call(this),this._xData={},this._yData={},this.style={fillStyle:"#ffffff",strokeStyle:"#888888",lineWidth:"2",lineJoin:"round"},this.yDataField=this.xDataField="value",this.correlationInfo={},this.showCorrelationLine=!1,this.pointSize=6},ia.extend(ia.ItemLayer,ia.PlotLayer),ia.PlotLayer.prototype.getXData=function(){return this._xData},ia.PlotLayer.prototype.setXData=function(a){this._xData=a,this.dataChanged=!0},ia.PlotLayer.prototype.getYData=function(){return this._yData},ia.PlotLayer.prototype.setYData=function(a){this._yData=a,this.dataChanged=!0},ia.PlotLayer.prototype.getColorData=function(){return this._colorData},ia.PlotLayer.prototype.setColorData=function(a){this._colorData=a,this.dataChanged=!0},ia.PlotLayer.prototype.getSizeData=function(){return this._sizeData},ia.PlotLayer.prototype.setSizeData=function(a){this._sizeData=a,this.dataChanged=!0},ia.PlotLayer.prototype.update=function(){if(this.map&&this.dataChanged){this.itemArray=[],this.clearItems(),this.xMinValue=1/0,this.xMaxValue=-(1/0),this.yMinValue=1/0,this.yMaxValue=-(1/0);var a,b=0,c=0,d=0,e=0,f=0,g=d=d=0,h=0;for(a in this._xData){var d=this._xData[a],i=d[this.xDataField],j=this._yData[a][this.yDataField];if(ia.isNumber(i)&&ia.isNumber(j)){var i=parseFloat(i),j=parseFloat(j),k={};k.id=d.id,k.name=d.name,k.xValue=i,k.yValue=j,k.color=void 0!=this._colorData?this._colorData[a].color:d.color,k.symbolSize=void 0!=this._sizeData?this._sizeData[a].symbolSize:this.pointSize,k.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(k.id)&&(k.state=ia.ItemLayer.SELECTED),k.parent=this,k.layer=this,k.shape=new ia.Rectangle,k.hitArea=new ia.Rectangle,this.items[a]=k,this.itemArray.push(k),d=i*i,b+=i,c+=d,d=j*j,e+=j,f+=d,d=i*j,g+=d,h++,this.isComparison?(-1!=this.selectionIds.indexOf(k.id)&&(this.xMinValue=Math.min(this.xMinValue,i),this.xMaxValue=Math.max(this.xMaxValue,i),this.yMinValue=Math.min(this.yMinValue,j),this.yMaxValue=Math.max(this.yMaxValue,j),k.state=ia.ItemLayer.SELECTED),this.displayAll&&(this.xMinValue=Math.min(this.xMinValue,i),this.xMaxValue=Math.max(this.xMaxValue,i),this.yMinValue=Math.min(this.yMinValue,j),this.yMaxValue=Math.max(this.yMaxValue,j))):(this.xMinValue=Math.min(this.xMinValue,i),this.xMaxValue=Math.max(this.xMaxValue,i),this.yMinValue=Math.min(this.yMinValue,j),this.yMaxValue=Math.max(this.yMaxValue,j))}}f=(g/h-b*(e/Math.pow(h,2)))/Math.sqrt((c/h-Math.pow(b/h,2))*(f/h-Math.pow(e/h,2))),a=(b*e-h*g)/(Math.pow(b,2)-h*c),b=(b*g-e*c)/(Math.pow(b,2)-h*c),this.correlationInfo.correlationCoeff=f,this.correlationInfo.rSquare=Math.pow(f,2),this.correlationInfo.gradient=a,this.correlationInfo.intercept=b,void 0!=this._sizeData&&this.itemArray.sort(function(a,b){return a.symbolSize<b.symbolSize?1:a.symbolSize>b.symbolSize?-1:0}),this.dataChanged=!1}},ia.PlotLayer.prototype.render=function(){if(this.clear(),this.showCorrelationLine){this.context.save(),this.context.rect(this.map.canvasX,this.map.canvasY,this.map.canvasWidth,this.map.canvasHeight),this.context.clip(),this.context.strokeStyle=ia.Color.toRGBA(this.selectionColor,.3),this.context.lineWidth=2;var a=this.map.getPixelX(this.map.getBBox().getXMin()),b=this.map.getPixelX(this.map.getBBox().getXMax()),c=this.map.getPixelY(this.map.getBBox().getXMin()*this.correlationInfo.gradient+this.correlationInfo.intercept),d=this.map.getPixelY(this.map.getBBox().getXMax()*this.correlationInfo.gradient+this.correlationInfo.intercept);this.context.beginPath(),this.context.moveTo(a,c),this.context.lineTo(b,d),this.context.stroke(),this.context.restore()}for(var e in this.style)this.context[e]=this.style[e],this.selectionContext[e]=this.style[e],this.highlightContext[e]=this.style[e];for(this.highlightContext.strokeStyle=this.highlightColor,this.selectionContext.strokeStyle=this.selectionColor,this.highlightContext.fillStyle="rgba(0, 0, 0, 0)",this.selectionContext.fillStyle="rgba(0, 0, 0, 0)",a=this.itemArray.length,b=0;a>b;b++)c=this.itemArray[b],this._setItemShape(c),this._renderItem(c);this.renderSelection()},ia.PlotLayer.prototype._setItemShape=function(a){var b=this.map.getPixelX(a.xValue),c=this.map.getPixelY(a.yValue),d=a.symbolSize,e=a.symbolSize;a.shape.x=b,a.shape.y=c,a.shape.width=d,a.shape.height=e,d=Math.max(15,d),e=Math.max(15,e),ia.IS_TOUCH_DEVICE&&(d=Math.max(30,d),e=Math.max(30,e)),a.hitArea.x=b-d/2,a.hitArea.y=c-e/2,a.hitArea.width=d,a.hitArea.height=e},ia.PlotLayer.prototype._renderItem=function(a){void 0!=this._colorData&&(this.context.fillStyle=a.color,this.context.strokeStyle="#CCCCCC",this.context.lineWidth=1),this._drawItem(a,this.context,a.symbolSize)},ia.PlotLayer.prototype.selectItem=function(a){this._drawItem(a,this.selectionContext,a.symbolSize)},ia.PlotLayer.prototype.highlightItem=function(a){if(a.xValue>=this.map.getBBox().getXMin()&&a.xValue<=this.map.getBBox().getXMax()&&a.yValue>=this.map.getBBox().getYMin()&&a.yValue<=this.map.getBBox().getYMax()){this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.3);var b=this.map.getPixelX(this.map.getBBox().getXMin()),c=this.map.getPixelX(this.map.getBBox().getXMax()),d=this.map.getPixelY(this.map.getBBox().getYMin()),e=this.map.getPixelY(this.map.getBBox().getYMax());this.highlightContext.beginPath(),this.highlightContext.moveTo(a.shape.x,d),this.highlightContext.lineTo(a.shape.x,e),this.highlightContext.moveTo(b,a.shape.y),this.highlightContext.lineTo(c,a.shape.y),this.highlightContext.stroke(),this.highlightContext.strokeStyle=this.highlightColor,this._drawItem(a,this.highlightContext,a.symbolSize)}},ia.PlotLayer.prototype._drawItem=function(a,b,c){a.xValue>=this.map.getBBox().getXMin()&&a.xValue<=this.map.getBBox().getXMax()&&a.yValue>=this.map.getBBox().getYMin()&&a.yValue<=this.map.getBBox().getYMax()&&(b.beginPath(),ia.Shape.drawCircle(b,a.shape.x,a.shape.y,c),b.fill(),b.stroke())},ia.PlotLayer.prototype.hitItem=function(a,b){return a.hitArea.intersects(b.x,b.y)?!0:!1},ia.PlotLayer.prototype.showTip=function(a,b){this.map.datatip.text(this.tipFunction(a));var c,d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):(c=a.shape.x+a.shape.width/2,d=a.shape.y-a.shape.height/2-this.map.datatip.getHeight()),this.map.datatip.position(c,d),this.map.datatip.show()},ia.PlotLayer.prototype._getCorrelation=function(){var a,b=0,c=0,d=0,e=0,f=0,g=d=0,h=0,i=0;for(a in xData){var g=xData[a][xDataField],j=yData[a][yDataField];ia.isNumber(g)&&ia.isNumber(j)&&(d=g*g,b+=g,c+=d,d=j*j,e+=j,f+=d,g*=j,h+=g,i++)}return f=(h/i-b*(e/Math.pow(i,2)))/Math.sqrt((c/i-Math.pow(b/i,2))*(f/i-Math.pow(e/i,2))),f=Math.round(100*f)/100,a=(b*e-i*h)/(Math.pow(b,2)-i*c),b=(b*h-e*c)/(Math.pow(b,2)-i*c),b=Math.round(100*b)/100,c={},c.correlationCoeff=f,c.rSquare=Math.pow(f,2),c.gradient=a,c.intercept=b,ia.log("[coefficient="+c.correlationCoeff+",rSquare="+c.rSquare+",gradient="+c.gradient+",intercept="+c.intercept+"]"),c},ia.LineLayer=function(){ia.LineLayer.baseConstructor.call(this),this._xData=[],this._yData=[],this.style={fillStyle:"#ffffff",strokeStyle:"#888888",lineWidth:"2",lineJoin:"round"},this.connectMissingValues=!1},ia.extend(ia.ItemLayer,ia.LineLayer),ia.LineLayer.prototype.getXData=function(){return this._xData},ia.LineLayer.prototype.setXData=function(a){this._xData=a,this.dataChanged=!0},ia.LineLayer.prototype.getYData=function(){return this._yData},ia.LineLayer.prototype.setYData=function(a){this._yData=a,this.dataChanged=!0},ia.LineLayer.prototype.update=function(){if(this.map&&this.dataChanged){this.itemArray=[],this.clearItems(),this.xMinValue=1/0,this.xMaxValue=-(1/0),this.yMinValue=1/0,this.yMaxValue=-(1/0);var a={id:"myLineId",name:"myLineName"};a.state=ia.ItemLayer.UNSELECTED,a.parent=this,a.layer=this,this.items[a.id]=a,this.itemArray.push(a),this.dataChanged=!1}},ia.LineLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),a=this.itemArray.length;for(var b=0;a>b;b++)this._renderItem(this.itemArray[b])},ia.LineLayer.prototype.highlightItem=function(a){ia.IS_IE_TEN||(this.highlightContext.beginPath(),this.highlightContext.rect(this.map.canvasX,this.map.canvasY,this.map.canvasWidth,this.map.canvasHeight),this.highlightContext.clip()),this._drawItem(a,this.highlightContext)},ia.LineLayer.prototype._renderItem=function(a){ia.IS_IE_TEN||(this.context.beginPath(),this.context.rect(this.map.canvasX,this.map.canvasY,this.map.canvasWidth,this.map.canvasHeight),this.context.clip()),this._drawItem(a,this.context)},ia.LineLayer.prototype._drawItem=function(a,b){b.beginPath();for(var c=this._xData.length,d=!1,e=0;c>e;e++){var f=this._xData[e],g=this._yData[e];ia.isNumber(f)&&ia.isNumber(g)&&(f=this.map.getPixelX(f),g=this.map.getPixelY(g),0==d?(d=!0,b.moveTo(f,g)):b.lineTo(f,g))}b.stroke()},ia.LineLayer.prototype.hitItem=function(a,b){return this._pointInLine(b.x,b.y)},ia.LineLayer.prototype._pointInLine=function(a,b){for(var c=new ia.Rectangle(a-4,b-4,8,8),d=this._xData.length,e=0;d-1>e;e++){var f=this.map.getPixelX(this._xData[e]),g=this.map.getPixelY(this._yData[e]),h=this.map.getPixelX(this._xData[e+1]),i=this.map.getPixelY(this._yData[e+1]);if(c.intersectsLine({x:f,y:g},{x:h,y:i}))return!0}return!1},ia.LineLayer.prototype.showTip=function(a,b){this.map.datatip.text(this.tipFunction(a));var c,d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):(c=b.x+10,d=b.y-this.map.datatip.getHeight()),this.map.datatip.position(c,d),this.map.datatip.show()},ia.StackedTimeLayer=function(){ia.StackedTimeLayer.baseConstructor.call(this),this._minBarWidthForStroke=10,this.dropDates=[],this._renderTimeout=null,this.selectedDate="",this.matchAxisToSelectedData=this.highlightSelectedDate=!1},ia.extend(ia.ItemLayer,ia.StackedTimeLayer),ia.StackedTimeLayer.prototype.update=function(){if(this.map&&this.dataChanged){var a=this.getData();if(this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0),a.dates){var b,c=this,d=a.dates.filter(function(a){return c.dropDates.indexOf(a)<0}),e=a[d[0]],f=d.length;for(b in e){var g=e[b],h={};h.id=g.id,h.name=g.name,h.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(h.id)&&(h.state=ia.ItemLayer.SELECTED),h.parent=this,h.layer=this,this.items[g.id]=h,this.itemArray.push(h),h.childItems=[];for(var i=0;f>i;i++){for(var j=0,k=d[i],g=a[k][b],l=0;l<this.dataFields.length;l++){var m=this.dataFields[l],n=g[m],o={};if(o.id=b+"~"+k,o.name=m,o.date=k,o.rect=new ia.Rectangle,o.hitArea=new ia.Rectangle,o.dateIndex=i,o.stackIndex=l,this.legendClasses)for(var p=0;p<this.legendClasses.length;p++){var q=this.legendClasses[p];if(q.value==m){o.name=q.getLabel(),o.color=q.color;break}}o.value=ia.isNumber(n)&&n>=0?parseFloat(n):0,o.formattedValue=g[m+"_formatted"],h.childItems[h.childItems.length]=o,j+=parseFloat(o.value)}0!=j&&(this.isComparison?(-1!=this.selectionIds.indexOf(h.id)&&(this.maxValue=Math.max(this.maxValue,j),h.state=ia.ItemLayer.SELECTED),this.displayAll&&(this.maxValue=Math.max(this.maxValue,j))):(0==this.matchAxisToSelectedData||1==this.matchAxisToSelectedData&&h.state==ia.ItemLayer.SELECTED)&&(this.maxValue=Math.max(this.maxValue,j)))}}}this.dataChanged=!1}},ia.StackedTimeLayer.prototype.render=function(){this._renderTimeout=null,this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a];if(this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.1),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1,a=this.getData(),a.dates){var b=this,c=a.dates.filter(function(a){return b.dropDates.indexOf(a)<0});if(a=c.length,this._maxBarWidth="vertical"==this.map.orientation?this.map.canvasWidth/a*.7:this.map.canvasHeight/a*.7,this._barSize=this._maxBarWidth/this.selectionIds.length,this.highlightSelectedDate){var d=c.indexOf(this.selectedDate);if(-1!=d){this.context.fillStyle=ia.Color.toRGBA(this.selectionColor,.07),this.context.lineWidth=0;var e,f;"vertical"==this.map.orientation?(e=this.map.canvasX+d/c.length*this.map.canvasWidth,d=this.map.canvasY,f=this.map.canvasWidth/c.length,c=this.map.canvasHeight):(e=this.map.canvasX,d=this.map.canvasY+d/c.length*this.map.canvasHeight,f=this.map.canvasWidth,c=this.map.canvasHeight/c.length),this.context.beginPath(),this.context.rect(e,d,f,c),this.context.fill()}}var g=this.itemArray.length;for(e=0;g>e;e++)for(c=this.itemArray[e],d=c.childItems.length,f=0;d>f;f++){var h=c.childItems[f];void 0!=h.value&&this._setItemShape(h)}for(g=this.selectionIds.length,e=0;g>e;e++)if(c=this.items[this.selectionIds[e]]){for(d=c.childItems.length,f=0;d>f;f++)h=c.childItems[f],void 0!=h.value&&this._setItemShape(h,e,a);this._renderItem(c)}}},ia.StackedTimeLayer.prototype._setItemShape=function(a,b,c){if("vertical"==this.map.orientation)if(0==a.stackIndex?this._stackValue=a.value:this._stackValue+=a.value,this._stackValue-a.value>=this.map.getBBox().getYMax())a.rect.x=0,a.rect.y=0,a.rect.width=0,a.rect.height=0,a.hitArea.x=0,a.hitArea.y=0,a.hitArea.width=0,a.hitArea.height=0;else{var d=this.map.getPixelY(this._stackValue),e=this.map.getPixelHeight(a.value);this._stackValue>this.map.getBBox().getYMax()&&(d=this.map.canvasY,e-=this.map.getPixelHeight(this._stackValue-this.map.getBBox().getYMax())),a.rect.y=d,a.rect.height=e,a.rect.width=this._barSize,d=(this.map.canvasWidth/c-this._maxBarWidth)/2,a.rect.x=this.map.canvasX+a.dateIndex/c*this.map.canvasWidth+d+b*a.rect.width,a.rect.width>this._maxBarWidth?(a.rect.x+=(a.rect.width-this._maxBarWidth)/2,a.rect.width=this._maxBarWidth):a.rect.width<this._minBarWidthForStroke&&a.rect.width++,a.hitArea.x=a.rect.x,a.hitArea.y=a.rect.y,a.hitArea.width=a.rect.width,a.hitArea.height=a.rect.height}else 0==a.stackIndex&&(this._stackValue=0),this._stackValue>=this.map.getBBox().getXMax()?(a.rect.x=0,a.rect.y=0,a.rect.width=0,a.rect.height=0,a.hitArea.x=0,a.hitArea.y=0,a.hitArea.width=0,a.hitArea.height=0):(d=this.map.getPixelX(this._stackValue),e=this.map.getPixelWidth(a.value),this._stackValue+a.value>this.map.getBBox().getXMax()&&(e-=this.map.getPixelWidth(this._stackValue+a.value-this.map.getBBox().getXMax())),a.rect.x=d,a.rect.width=e,a.rect.height=this._barSize,d=(this.map.canvasHeight/c-this._maxBarWidth)/2,a.rect.y=this.map.canvasY+a.dateIndex/c*this.map.canvasHeight+d+b*a.rect.height,a.rect.height>this._maxBarWidth?(a.rect.y+=(a.rect.height-this._maxBarWidth)/2,a.rect.height=this._maxBarWidth):a.rect.height<this._minBarWidthForStroke&&a.rect.height++,a.hitArea.x=a.rect.x,a.hitArea.y=a.rect.y,a.hitArea.width=a.rect.width,a.hitArea.height=a.rect.height,this._stackValue+=a.value)},ia.StackedTimeLayer.prototype._renderItem=function(a){this._drawItem(a,this.context)},ia.StackedTimeLayer.prototype.selectItem=function(){this._triggerRender()},ia.StackedTimeLayer.prototype.unselect=function(a){var b=this.getItem(a);b&&(b.state=ia.ItemLayer.UNSELECTED,a=this.selectionIds.indexOf(a),-1!=a&&this.selectionIds.splice(a,1)),this._triggerRender()},ia.StackedTimeLayer.prototype.clearSelection=function(){this.selectionIds=[];for(var a in this.items){var b=this.items[a];b&&(b.state=ia.ItemLayer.UNSELECTED)}this._triggerRender()},ia.StackedTimeLayer.prototype._triggerRender=function(){if(!this._renderTimeout){var a=this;this._renderTimeout=setTimeout(function(){a.render()},5)}},ia.StackedTimeLayer.prototype.highlightItem=function(a){for(var b=a.childItems.length,c=0,d=0;b>d;d++){var e=a.childItems[d];if(void 0!=e.value&&0!=e.value&&(this.highlightContext.fillStyle=e.color,this.highlightContext.beginPath(),this.highlightContext.rect(e.rect.x,e.rect.y,e.rect.width,e.rect.height),this.highlightContext.stroke(),this.map.animationMode&&e.date==this.selectedDate&&c++,c==this.dataFields.length))break}},ia.StackedTimeLayer.prototype._drawItem=function(a,b){for(var c=a.childItems.length,d=0,e=0;c>e;e++){var f=a.childItems[e];if(void 0!=f.value&&0!=f.value&&(b.fillStyle=f.color,b.beginPath(),b.rect(f.rect.x,f.rect.y,f.rect.width,f.rect.height),b.fill(),this.map.animationMode&&f.date==this.selectedDate&&d++,d==this.dataFields.length))break}},ia.StackedTimeLayer.prototype.hitItem=function(a,b){if(this.isSelected(a.id))for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y))return!0}return!1},ia.StackedTimeLayer.prototype.showTip=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y)){void 0!==this.tip&&-1!=this.tip.indexOf("${feature-name} (${date}) <br/> ${associate-name}: ${value}")?(c=this.tip,c=c.split("${feature-name}").join(a.name),c=c.split("${date}").join(e.date),c=c.split("${associate-name}").join(e.name),c=c.split("${value}").join(e.formattedValue)):c=void 0!=this.tipFunction?this.tipFunction(a,e):a.name+" ("+e.date+") <br/> "+e.name+" : "+e.formattedValue,this.map.datatip.text(c),b.isTouchEvent?(d=b.x-this.map.datatip.getWidth()/2,e=b.y-(this.map.datatip.getHeight()+30)):"vertical"==this.map.orientation?(d=e.rect.x+e.rect.width/2-this.map.datatip.getWidth()/2,e=e.value<0?e.rect.y+e.rect.height+5:e.rect.y-this.map.datatip.getHeight()-5):(d=e.value<0?e.rect.x-(this.map.datatip.getWidth()+5):e.rect.x+e.rect.width+5,e=e.rect.y+e.rect.height/2-this.map.datatip.getHeight()/2),this.map.datatip.position(d,e),""!==c&&this.map.datatip.show();break}}},ia.StackedBarLayer=function(){ia.StackedBarLayer.baseConstructor.call(this),this._minBarWidthForStroke=10,this._renderTimeout=null,this.matchAxisToSelectedData=!1},ia.extend(ia.ItemLayer,ia.StackedBarLayer),ia.StackedBarLayer.prototype.update=function(){if(this.map&&this.dataChanged){var a=this.getData();this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0);for(var b in a){var c=a[b],d={};d.id=c.id,d.name=c.name,d.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(d.id)&&(d.state=ia.ItemLayer.SELECTED),d.parent=this,d.layer=this,this.items[c.id]=d,this.itemArray.push(d),d.childItems=[];for(var e=0,f=0;f<this.dataFields.length;f++){var g=this.dataFields[f],h=c[g],i={};if(i.id=b+"~"+g,i.name=g,i.rect=new ia.Rectangle,i.hitArea=new ia.Rectangle,i.stackIndex=f,this.legendClasses)for(var j=0;j<this.legendClasses.length;j++){var k=this.legendClasses[j];if(k.value==g){i.name=k.getLabel(),i.color=k.color;break}}i.value=ia.isNumber(h)&&h>=0?parseFloat(h):0,i.formattedValue=c[g+"_formatted"],d.childItems[d.childItems.length]=i,e+=parseFloat(i.value)}0!=e&&(this.isComparison?(-1!=this.selectionIds.indexOf(d.id)&&(this.maxValue=Math.max(this.maxValue,e),d.state=ia.ItemLayer.SELECTED),this.displayAll&&(this.maxValue=Math.max(this.maxValue,e))):(0==this.matchAxisToSelectedData||1==this.matchAxisToSelectedData&&d.state==ia.ItemLayer.SELECTED)&&(this.maxValue=Math.max(this.maxValue,e)))}this.dataChanged=!1}},ia.StackedBarLayer.prototype.render=function(){this._renderTimeout=null,this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.1),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1,a=this.selectionIds.length,this._barSize=this._maxBarWidth="vertical"==this.map.orientation?this.map.canvasWidth/a*.7:this.map.canvasHeight/a*.7;for(var b=this.itemArray.length,c=0;b>c;c++)for(var d=this.itemArray[c],e=d.childItems.length,f=0;e>f;f++){var g=d.childItems[f];void 0!=g.value&&this._setItemShape(g)}for(c=0;a>c;c++)if(d=this.items[this.selectionIds[c]]){for(e=d.childItems.length,f=0;e>f;f++)g=d.childItems[f],void 0!=g.value&&this._setItemShape(g,c,a);this._renderItem(d)}},ia.StackedBarLayer.prototype._setItemShape=function(a,b,c){if("vertical"==this.map.orientation)if(0==a.stackIndex?this._stackValue=a.value:this._stackValue+=a.value,this._stackValue-a.value>=this.map.getBBox().getYMax())a.rect.x=0,a.rect.y=0,a.rect.width=0,a.rect.height=0,a.hitArea.x=0,a.hitArea.y=0,a.hitArea.width=0,a.hitArea.height=0;else{var d=this.map.getPixelY(this._stackValue),e=this.map.getPixelHeight(a.value);this._stackValue>this.map.getBBox().getYMax()&&(d=this.map.canvasY,e-=this.map.getPixelHeight(this._stackValue-this.map.getBBox().getYMax())),a.rect.y=d,a.rect.height=e,a.rect.width=this._barSize,c=this.map.canvasWidth/c,a.rect.x=this.map.canvasX+b*c+(c-a.rect.width)/2,a.rect.width>this._maxBarWidth?(a.rect.x+=(a.rect.width-this._maxBarWidth)/2,a.rect.width=this._maxBarWidth):a.rect.width<this._minBarWidthForStroke&&a.rect.width++,a.hitArea.x=a.rect.x,a.hitArea.y=a.rect.y,a.hitArea.width=a.rect.width,a.hitArea.height=a.rect.height}else 0==a.stackIndex&&(this._stackValue=0),this._stackValue>=this.map.getBBox().getXMax()?(a.rect.x=0,a.rect.y=0,a.rect.width=0,a.rect.height=0,a.hitArea.x=0,a.hitArea.y=0,a.hitArea.width=0,a.hitArea.height=0):(d=this.map.getPixelX(this._stackValue),e=this.map.getPixelWidth(a.value),this._stackValue+a.value>this.map.getBBox().getXMax()&&(e-=this.map.getPixelWidth(this._stackValue+a.value-this.map.getBBox().getXMax())),a.rect.x=d,a.rect.width=e,a.rect.height=this._barSize,c=this.map.canvasHeight/c,a.rect.y=this.map.canvasY+b*c+(c-a.rect.height)/2,a.rect.height>this._maxBarWidth?(a.rect.y+=(a.rect.height-this._maxBarWidth)/2,a.rect.height=this._maxBarWidth):a.rect.height<this._minBarWidthForStroke&&a.rect.height++,a.hitArea.x=a.rect.x,a.hitArea.y=a.rect.y,a.hitArea.width=a.rect.width,a.hitArea.height=a.rect.height,this._stackValue+=a.value)},ia.StackedBarLayer.prototype._renderItem=function(a){this._drawItem(a,this.context)},ia.StackedBarLayer.prototype.selectItem=function(){this._triggerRender()},ia.StackedBarLayer.prototype.unselect=function(a){var b=this.getItem(a);b&&(b.state=ia.ItemLayer.UNSELECTED,a=this.selectionIds.indexOf(a),-1!=a&&this.selectionIds.splice(a,1)),this._triggerRender()},ia.StackedBarLayer.prototype.clearSelection=function(){this.selectionIds=[];for(var a in this.items){var b=this.items[a];b&&(b.state=ia.ItemLayer.UNSELECTED)}this._triggerRender()},ia.StackedBarLayer.prototype._triggerRender=function(){if(!this._renderTimeout){var a=this;this._renderTimeout=setTimeout(function(){a.render()},5)}},ia.StackedBarLayer.prototype.highlightItem=function(a){for(var b=a.childItems.length,c=0;b>c;c++){var d=a.childItems[c];void 0!=d.value&&0!=d.value&&(this.highlightContext.fillStyle=d.color,this.highlightContext.beginPath(),this.highlightContext.rect(d.rect.x,d.rect.y,d.rect.width,d.rect.height),this.highlightContext.stroke())}},ia.StackedBarLayer.prototype._drawItem=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];void 0!=e.value&&0!=e.value&&(b.fillStyle=e.color,b.beginPath(),b.rect(e.rect.x,e.rect.y,e.rect.width,e.rect.height),b.fill())}},ia.StackedBarLayer.prototype.hitItem=function(a,b){if(this.isSelected(a.id))for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y))return!0}return!1},ia.StackedBarLayer.prototype.showTip=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y)){void 0!==this.tip&&-1!=this.tip.indexOf("${feature-name} (${date}) <br/> ${associate-name}: ${value}")?(c=this.tip,c=c.split("${feature-name}").join(a.name),c=c.split("${date}").join(e.date),c=c.split("${associate-name}").join(e.name),c=c.split("${value}").join(e.formattedValue)):c=void 0!=this.tipFunction?this.tipFunction(a,e):a.name+" ("+e.date+") <br/> "+e.name+" : "+e.formattedValue,this.map.datatip.text(c),b.isTouchEvent?(d=b.x-this.map.datatip.getWidth()/2,e=b.y-(this.map.datatip.getHeight()+30)):"vertical"==this.map.orientation?(d=e.rect.x+e.rect.width/2-this.map.datatip.getWidth()/2,e=e.value<0?e.rect.y+e.rect.height+5:e.rect.y-this.map.datatip.getHeight()-5):(d=e.value<0?e.rect.x-(this.map.datatip.getWidth()+5):e.rect.x+e.rect.width+5,e=e.rect.y+e.rect.height/2-this.map.datatip.getHeight()/2),this.map.datatip.position(d,e),""!==c&&this.map.datatip.show();break}}},ia.StackedFeaturesLayer=function(){ia.StackedFeaturesLayer.baseConstructor.call(this),this._minBarWidthForStroke=10,this.dropDates=[],this._renderTimeout=null,this.selectedDate="",
this.highlightSelectedDate=!1,this._numericDates=[],this.colorPalette=new ia.ColorPalette,this._stackValues=[]},ia.extend(ia.ItemLayer,ia.StackedFeaturesLayer),ia.StackedFeaturesLayer.prototype.update=function(){if(this.map&&this.dataChanged){var a=this.getData();if(this.itemArray=[],this.clearItems(),this._stackValues=[],this.minValue=0,this.maxValue=100,a.dates){for(var b=this,c=[],d=0;d<a.type.length;d++){var e=a.dates[d];a.type[d]!=ia.Thematic.CATEGORIC&&c.push(e)}if(this._numericDates=c.filter(function(a){return b.dropDates.indexOf(a)<0}),this._numericDates.length>0){var f,c=a[this._numericDates[0]],g=this._numericDates.length;for(f in c){var h=c[f],i={};for(i.id=h.id,i.name=h.name,i.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(i.id)&&(i.state=ia.ItemLayer.SELECTED),i.parent=this,i.layer=this,this.items[h.id]=i,this.itemArray.push(i),i.childItems=[],d=0;g>d;d++){var e=this._numericDates[d],h=a[e][f],j=h[this.dataField];if(ia.isNumber(j)){var k,l={};for(k in h)l[k]=h[k];l.id=f+"~"+e,l.name=e,l.rect=new ia.Rectangle,l.hitArea=new ia.Rectangle,l.value=j,l.formattedValue=h[this.dataField+"_formatted"],l.dateIndex=d,i.state==ia.ItemLayer.SELECTED&&(e=this._stackValues[d],void 0!=e?e+=l.value:e=l.value,this._stackValues[d]=e,this.maxValue=Math.max.apply(Math,this._stackValues)),i.childItems[i.childItems.length]=l}else i.childItems[i.childItems.length]={name:e,value:void 0}}}}}this.dataChanged=!1}},ia.StackedFeaturesLayer.prototype.render=function(){this._renderTimeout=null,this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a];if(this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.1),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1,this.getData(),this._numericDates.length>0){if(a=this._numericDates.length,this._barSize=this._maxBarWidth="vertical"==this.map.orientation?this.map.canvasWidth/a*.7:this.map.canvasHeight/a*.7,this.highlightSelectedDate){var b=this._numericDates,c=b.indexOf(this.selectedDate);if(-1!=c){this.context.fillStyle=ia.Color.toRGBA(this.selectionColor,.07),this.context.lineWidth=0;var d;"vertical"==this.map.orientation?(a=this.map.canvasX+c/b.length*this.map.canvasWidth,c=this.map.canvasY,d=this.map.canvasWidth/b.length,b=this.map.canvasHeight):(a=this.map.canvasX,c=this.map.canvasY+c/b.length*this.map.canvasHeight,d=this.map.canvasWidth,b=this.map.canvasHeight/b.length),this.context.beginPath(),this.context.rect(a,c,d,b),this.context.fill()}}for(this._stackValues=[],a=this.selectionIds.length,b=this.colorPalette.getColors(a),c=0;a>c;c++)if(d=this.items[this.selectionIds[c]]){d.color=b[c];for(var e=d.childItems.length,f=0;e>f;f++){var g=d.childItems[f];void 0!=g.value&&this._setItemShape(g,f,e)}this._renderItem(d)}}},ia.StackedFeaturesLayer.prototype._setItemShape=function(a,b,c){if("vertical"==this.map.orientation){var d=this._stackValues[b];if(void 0!=d?d+=a.value:d=a.value,this._stackValues[b]=d,d-a.value>=this.map.getBBox().getYMax())a.rect.x=0,a.rect.y=0,a.rect.width=0,a.rect.height=0,a.hitArea.x=0,a.hitArea.y=0,a.hitArea.width=0,a.hitArea.height=0;else{var e=this.map.getPixelY(d),f=this.map.getPixelHeight(a.value);d>this.map.getBBox().getYMax()&&(e=this.map.canvasY,f-=this.map.getPixelHeight(d-this.map.getBBox().getYMax())),a.rect.y=e,a.rect.height=f,a.rect.width=this._barSize,c=this.map.canvasWidth/c,a.rect.x=this.map.canvasX+b*c+(c-a.rect.width)/2,a.rect.width>this._maxBarWidth?(a.rect.x+=(a.rect.width-this._maxBarWidth)/2,a.rect.width=this._maxBarWidth):a.rect.width<this._minBarWidthForStroke&&a.rect.width++,a.hitArea.x=a.rect.x,a.hitArea.y=a.rect.y,a.hitArea.width=a.rect.width,a.hitArea.height=a.rect.height}}else d=this._stackValues[b],void 0==d&&(d=0),d>=this.map.getBBox().getXMax()?(a.rect.x=0,a.rect.y=0,a.rect.width=0,a.rect.height=0,a.hitArea.x=0,a.hitArea.y=0,a.hitArea.width=0,a.hitArea.height=0):(e=this.map.getPixelX(d),f=this.map.getPixelWidth(a.value),d+a.value>this.map.getBBox().getXMax()&&(f-=this.map.getPixelWidth(d+a.value-this.map.getBBox().getXMax())),a.rect.x=e,a.rect.width=f,a.rect.height=this._barSize,c=this.map.canvasHeight/c,a.rect.y=this.map.canvasY+b*c+(c-a.rect.height)/2,a.rect.height>this._maxBarWidth?(a.rect.y+=(a.rect.height-this._maxBarWidth)/2,a.rect.height=this._maxBarWidth):a.rect.height<this._minBarWidthForStroke&&a.rect.height++,a.hitArea.x=a.rect.x,a.hitArea.y=a.rect.y,a.hitArea.width=a.rect.width,a.hitArea.height=a.rect.height,this._stackValues[b]=d+a.value)},ia.StackedFeaturesLayer.prototype._renderItem=function(a){this.context.fillStyle=a.color,this._drawItem(a,this.context)},ia.StackedFeaturesLayer.prototype.selectItem=function(){this._triggerRender()},ia.StackedFeaturesLayer.prototype.unselect=function(a){var b=this.getItem(a);b&&(b.state=ia.ItemLayer.UNSELECTED,a=this.selectionIds.indexOf(a),-1!=a&&this.selectionIds.splice(a,1)),this._triggerRender()},ia.StackedFeaturesLayer.prototype.clearSelection=function(){this.selectionIds=[];for(var a in this.items){var b=this.items[a];b&&(b.state=ia.ItemLayer.UNSELECTED)}this._triggerRender()},ia.StackedFeaturesLayer.prototype._triggerRender=function(){if(!this._renderTimeout){var a=this;this._renderTimeout=setTimeout(function(){a.render()},5)}},ia.StackedFeaturesLayer.prototype.highlightItem=function(a){for(var b=a.childItems.length,c=0;b>c;c++){var d=a.childItems[c];if(void 0!=d.value&&0!=d.value&&(this.highlightContext.fillStyle=d.color,this.highlightContext.beginPath(),this.highlightContext.rect(d.rect.x,d.rect.y,d.rect.width,d.rect.height),this.highlightContext.stroke(),this.map.animationMode&&d.name==this.selectedDate))break}},ia.StackedFeaturesLayer.prototype._drawItem=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&0!=e.value&&(b.fillStyle=e.color,b.beginPath(),b.rect(e.rect.x,e.rect.y,e.rect.width,e.rect.height),b.fill(),this.map.animationMode&&e.name==this.selectedDate))break}},ia.StackedFeaturesLayer.prototype.hitItem=function(a,b){if(this.isSelected(a.id))for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y))return!0}return!1},ia.StackedFeaturesLayer.prototype.showTip=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y)){if(void 0!==this.tip&&-1!=this.tip.indexOf("${name} (${date}): ${value}")||void 0!==this.tip&&-1!=this.tip.indexOf("${name}: ${value}")){var f,c=this.tip,c=c.split("${name}").join(a.name),c=c.split("${date}").join(e.name),c=c.split("${value}").join(e.formattedValue);for(f in e)c=c.split("${"+f+"}").join(e[f+"_formatted"])}else c=void 0!=this.tipFunction?this.tipFunction(a,e):a.name+" : "+e.name+" : "+e.formattedValue;this.map.datatip.text(c),b.isTouchEvent?(f=b.x-this.map.datatip.getWidth()/2,e=b.y-(this.map.datatip.getHeight()+30)):"vertical"==this.map.orientation?(f=e.rect.x+e.rect.width/2-this.map.datatip.getWidth()/2,e=e.value<0?e.rect.y+e.rect.height+5:e.rect.y-this.map.datatip.getHeight()-5):(f=e.value<0?e.rect.x-(this.map.datatip.getWidth()+5):e.rect.x+e.rect.width+5,e=e.rect.y+e.rect.height/2-this.map.datatip.getHeight()/2),this.map.datatip.position(f,e),""!==c&&this.map.datatip.show();break}}},ia.ComparisonLineLayer=function(){ia.ComparisonLineLayer.baseConstructor.call(this),this.style={fillStyle:"#ffffff",strokeStyle:"#ff0000",lineWidth:"2",lineJoin:"round"},this.displayAll=!1},ia.extend(ia.ItemLayer,ia.ComparisonLineLayer),ia.ComparisonLineLayer.prototype.update=function(){if(this.map&&this.dataChanged){var a=this.getData();this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0);for(var b in a){var c=a[b],d=c[this.dataField];if(ia.isNumber(d)){var e={};e.id=c.id,e.name=c.name,e.color=c.color,e.value=c[this.dataField],e.shape=new ia.Rectangle,e.hitArea=new ia.Rectangle,e.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(e.id)&&(this.minValue=Math.min(this.minValue,d),this.maxValue=Math.max(this.maxValue,d),e.state=ia.ItemLayer.SELECTED),this.displayAll&&(this.minValue=Math.min(this.minValue,d),this.maxValue=Math.max(this.maxValue,d)),e.parent=this,e.layer=this,this.items[b]=e,this.itemArray.push(e)}}this.dataChanged=!1}},ia.ComparisonLineLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a],this.selectionContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),a=this.itemArray.length;for(var b=0;a>b;b++){var c=this.itemArray[b];this._setItemShape(c),this.displayAll&&this._renderItem(c)}this.displayAll||this.renderSelection()},ia.ComparisonLineLayer.prototype._setItemShape=function(a){"vertical"==this.map.orientation?(a.shape.x=this.map.canvasX,a.shape.y=this.map.getPixelY(a.value),a.shape.width=this.map.canvasWidth,a.shape.height=0,a.hitArea.x=a.shape.x,a.hitArea.y=a.shape.y-1,a.hitArea.width=a.shape.width,a.hitArea.height=2):(a.shape.x=this.map.getPixelX(a.value),a.shape.y=this.map.canvasY,a.shape.width=0,a.shape.height=this.map.canvasHeight,a.hitArea.x=a.shape.x-1,a.hitArea.y=a.shape.y,a.hitArea.width=2,a.hitArea.height=a.shape.height)},ia.ComparisonLineLayer.prototype.clearSelection=function(){},ia.ComparisonLineLayer.prototype._renderItem=function(a){this.context.strokeStyle=a.color,this._drawItem(a,this.context)},ia.ComparisonLineLayer.prototype.selectItem=function(a){this.selectionContext.strokeStyle=a.color,this._drawItem(a,this.selectionContext)},ia.ComparisonLineLayer.prototype.highlightItem=function(a){ia.IS_IE_TEN||(this.highlightContext.beginPath(),this.highlightContext.rect(this.map.canvasX,this.map.canvasY,this.map.canvasWidth,this.map.canvasHeight),this.highlightContext.clip()),this._drawItem(a,this.highlightContext)},ia.ComparisonLineLayer.prototype._drawItem=function(a,b){b.beginPath(),"vertical"==this.map.orientation?(b.moveTo(a.shape.x,a.shape.y),b.lineTo(a.shape.x+a.shape.width,a.shape.y)):(b.moveTo(a.shape.x,a.shape.y),b.lineTo(a.shape.x,a.shape.y+a.shape.height)),b.stroke()},ia.ComparisonLineLayer.prototype.hitItem=function(a,b){return this.isSelected(a.id)||this.displayAll?a.hitArea.intersects(b.x,b.y):!1},ia.ComparisonLineLayer.prototype.showTip=function(a,b){this.map.datatip.text(this.tipFunction(a));var c,d;b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):"vertical"==this.map.orientation?(c=b.x-this.map.datatip.getWidth()/2,d=a.shape.y-this.map.datatip.getHeight()-5):(c=a.shape.x+a.shape.width+5,d=b.y-this.map.datatip.getHeight()/2),this.map.datatip.position(c,d),this.map.datatip.show()},ia.ComparisonTimeLayer=function(){ia.ComparisonTimeLayer.baseConstructor.call(this),this.isComparison=!0,this.displayAll=!1,this.selectedDate=""},ia.extend(ia.TimeLayer,ia.ComparisonTimeLayer),ia.ComparisonTimeLayer.prototype.render=function(){if(this.dataFields.length>0)this.render_multi();else{this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a],this.selectionContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),a=this.itemArray.length;for(var b=0;a>b;b++){for(var c=this.itemArray[b],d=c.childItems.length,e=0;d>e;e++){var f=c.childItems[e];void 0!=f.value&&this._setItemShape(f,e,d)}this.displayAll&&this._renderItem(c)}this.renderSelection()}},ia.ComparisonTimeLayer.prototype.clearSelection=function(){},ia.ComparisonTimeLayer.prototype._renderItem=function(a){if(this.thematic){var b=this.thematic.getClass(a.id);b&&(this.context.strokeStyle=b.color)}this._drawItem(a,this.context)},ia.ComparisonTimeLayer.prototype.selectItem=function(a){if(this.thematic){var b=this.thematic.getClass(a.id);b&&(this.selectionContext.strokeStyle=b.color)}this._highlightMode=!1,this._drawItem(a,this.selectionContext)},ia.ComparisonTimeLayer.prototype.hitItem=function(a,b){if(this.isSelected(a.id)||this.displayAll)for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y))return!0}return!1},ia.ComparisonTimeLayer.prototype.render_multi=function(){var a=this.getData();this.clear();for(var b in this.style)this.context[b]=this.style[b],this.highlightContext[b]=this.style[b],this.selectionContext[b]=this.style[b];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),b=this.itemArray.length;for(var c=0;b>c;c++){for(var d,e=this.itemArray[c],f=0,g=e.childItems.length,h=0;g>h;h++){var i=e.childItems[h];i.dataField!=d?(f=0,d=i.dataField):f++,void 0!=i.value&&this._setItemShape(i,f,a.dates.length)}this.displayAll&&this._renderItem(e)}this.renderSelection()},ia.ComparisonTimeBarLayer=function(){ia.ComparisonTimeBarLayer.baseConstructor.call(this),this.isComparison=!0,this.displayAll=!1,this.selectedDate=""},ia.extend(ia.TimeBarLayer,ia.ComparisonTimeBarLayer),ia.ComparisonTimeBarLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a],this.selectionContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.1),this.highlightContext.lineWidth=parseFloat(this.style.lineWidth)+1.5,this.selectionContext.lineWidth=parseFloat(this.style.lineWidth)+1.5,this.context.lineWidth=parseFloat(this.style.lineWidth)+1.5,a=this.itemArray.length;for(var b=0;a>b;b++){for(var c=this.itemArray[b],d=c.childItems.length,e=0;d>e;e++){var f=c.childItems[e];void 0!=f.value&&this._setItemShape(f,e,d)}this.displayAll&&this._renderItem(c)}this.renderSelection()},ia.ComparisonTimeBarLayer.prototype._setItemShape=function(a,b,c){var d=4;if(ia.IS_TOUCH_DEVICE&&(d=8),"vertical"==this.map.orientation){var e,f;this.map.getBBox().getYMin()<0?(e=a.value<0?this.map.getPixelY(0):this.map.getPixelY(a.value),f=this.map.getPixelHeight(Math.abs(a.value))):(e=this.map.getPixelY(a.value),f=this.map.getPixelHeight(Math.abs(a.value)-this.map.getBBox().getYMin())),a.value<this.map.getBBox().getYMin()&&(e=this.map.canvasY+this.map.canvasHeight,f-=this.map.getPixelHeight(Math.abs(a.value)-this.map.getBBox().getYMin())),a.value>this.map.getBBox().getYMax()&&(e=this.map.canvasY,f-=this.map.getPixelHeight(Math.abs(a.value)-this.map.getBBox().getYMax()));var g=this.map.canvasWidth/c,b=this.map.canvasX+g*b;a.rect.y=e,a.rect.height=f,a.rect.width=g,a.rect.x=b,a.hitArea.x=a.rect.x,a.hitArea.y=a.value>0?e-d:e+f-d,a.hitArea.width=a.rect.width,a.hitArea.height=2*d}else this.map.getBBox().getXMin()<0?(e=a.value<0?this.map.getPixelX(a.value):this.map.getPixelX(0),g=this.map.getPixelWidth(Math.abs(a.value))):(e=this.map.getPixelX(this.map.getBBox().getXMin()),g=this.map.getPixelWidth(Math.abs(a.value)-this.map.getBBox().getXMin())),a.value<this.map.getBBox().getXMin()&&(e=this.map.canvasX,g-=this.map.getPixelWidth(Math.abs(a.value)-Math.abs(this.map.getBBox().getXMin()))),a.value>this.map.getBBox().getXMax()&&(g-=this.map.getPixelWidth(Math.abs(a.value)-Math.abs(this.map.getBBox().getXMax()))),f=this.map.canvasHeight/c,b=this.map.canvasY+f*b,a.rect.x=e,a.rect.width=g,a.rect.height=f,a.rect.y=b,a.hitArea.x=a.value<0?e-d:e+g-d,a.hitArea.y=a.rect.y,a.hitArea.width=2*d,a.hitArea.height=a.rect.height},ia.ComparisonTimeBarLayer.prototype.clearSelection=function(){},ia.ComparisonTimeBarLayer.prototype._renderItem=function(a){this.context.strokeStyle=a.color,this._drawItem(a,this.context)},ia.ComparisonTimeBarLayer.prototype.selectItem=function(a){this.selectionContext.strokeStyle=a.color,this._drawItem(a,this.selectionContext)},ia.ComparisonTimeBarLayer.prototype.highlightItem=function(a){this.highlightContext.strokeStyle=ia.Color.toRGBA(a.color,.8),this.highlightContext.fillStyle=ia.Color.toRGBA(a.color,.1);for(var b=a.childItems.length,c=0;b>c;c++){var d=a.childItems[c];if(void 0!=d.value){var e=!1;if("vertical"==this.map.orientation){var f=this.map.canvasX+this.map.canvasWidth/b*c,g=this.map.canvasX+this.map.canvasWidth/b*(c+1),h=d.rect.y;d.value<0&&(h+=d.rect.height);var i=h;d.value>=this.map.getBBox().getYMin()&&d.value<=this.map.getBBox().getYMax()&&(e=!0)}else f=d.rect.x+d.rect.width,d.value<0&&(f-=d.rect.width),g=f,h=this.map.canvasY+this.map.canvasHeight/b*c,i=this.map.canvasY+this.map.canvasHeight/b*(c+1),d.value>=this.map.getBBox().getXMin()&&d.value<=this.map.getBBox().getXMax()&&(e=!0);e&&(this.highlightContext.beginPath(),this.highlightContext.moveTo(f,h),this.highlightContext.lineTo(g,i),this.highlightContext.stroke()),this.highlightContext.beginPath(),"vertical"==this.map.orientation?this.highlightContext.rect(f,d.rect.y,g-f,d.rect.height):this.highlightContext.rect(d.rect.x,h,d.rect.width,i-h),this.highlightContext.fill()}}},ia.ComparisonTimeBarLayer.prototype._drawItem=function(a,b){var c=a.childItems.length;b.beginPath();for(var d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value){if("vertical"==this.map.orientation){var f=e.rect.x,g=e.rect.x+e.rect.width,h=e.rect.y;e.value<0&&(h+=e.rect.height);var i=h}else f=e.rect.x+e.rect.width,e.value<0&&(f-=e.rect.width),g=f,h=e.rect.y,i=e.rect.y+e.rect.height;if(b.moveTo(f,h),b.lineTo(g,i),this.map.animationMode&&e.name==this.selectedDate)break}}b.stroke()},ia.ComparisonTimeBarLayer.prototype.hitItem=function(a,b){if(this.isSelected(a.id)||this.displayAll)for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y))return!0}return!1},ia.ComparisonPlotLayer=function(){ia.ComparisonPlotLayer.baseConstructor.call(this),this.style={fillStyle:"#ffffff",strokeStyle:"#ff0000",lineWidth:"2",lineJoin:"round"},this.displayAll=!1,this.isComparison=!0},ia.extend(ia.PlotLayer,ia.ComparisonPlotLayer),ia.ComparisonPlotLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.selectionContext[a]=this.style[a],this.highlightContext[a]=this.style[a];this.highlightContext.strokeStyle=this.highlightColor,this.selectionContext.strokeStyle=this.selectionColor,a=this.itemArray.length;for(var b=0;a>b;b++){var c=this.itemArray[b];this._setItemShape(c),this.displayAll&&this._renderItem(c)}this.renderSelection()},ia.ComparisonPlotLayer.prototype._setItemShape=function(a){var b=this.map.getPixelX(a.xValue),c=this.map.getPixelY(a.yValue),d=a.symbolSize,e=a.symbolSize;a.shape.x=b,a.shape.y=c,a.shape.width=d,a.shape.height=e,d=Math.max(15,d),e=Math.max(15,e),ia.IS_TOUCH_DEVICE&&(d=Math.max(30,d),e=Math.max(30,e)),a.hitArea.x=b-d/2,a.hitArea.y=c-e/2,a.hitArea.width=d,a.hitArea.height=e},ia.ComparisonPlotLayer.prototype.clearSelection=function(){},ia.ComparisonPlotLayer.prototype._renderItem=function(a){this.context.fillStyle=a.color,this.context.strokeStyle="#CCCCCC",this._drawItem(a,this.context)},ia.ComparisonPlotLayer.prototype.selectItem=function(a){this.selectionContext.fillStyle=a.color,this.selectionContext.strokeStyle="#CCCCCC",this._drawItem(a,this.selectionContext)},ia.ComparisonPlotLayer.prototype.highlightItem=function(a){if(a.xValue>=this.map.getBBox().getXMin()&&a.xValue<=this.map.getBBox().getXMax()&&a.yValue>=this.map.getBBox().getYMin()&&a.yValue<=this.map.getBBox().getYMax()){this.highlightContext.strokeStyle=a.color;var b=this.map.getPixelX(this.map.getBBox().getXMin()),c=this.map.getPixelX(this.map.getBBox().getXMax()),d=this.map.getPixelY(this.map.getBBox().getYMin()),e=this.map.getPixelY(this.map.getBBox().getYMax());this.highlightContext.beginPath(),this.highlightContext.moveTo(a.shape.x,d),this.highlightContext.lineTo(a.shape.x,e),this.highlightContext.moveTo(b,a.shape.y),this.highlightContext.lineTo(c,a.shape.y),this.highlightContext.stroke(),this.highlightContext.fillStyle=a.color,this.highlightContext.strokeStyle="#CCCCCC",this._drawItem(a,this.highlightContext,a.symbolSize)}},ia.ComparisonPlotLayer.prototype._drawItem=function(a,b){b.beginPath(),ia.Shape.drawCircle(b,a.shape.x,a.shape.y,a.symbolSize),b.fill(),b.stroke()},ia.ComparisonPlotLayer.prototype.hitItem=function(a,b){return this.isSelected(a.id)||this.displayAll?a.hitArea.intersects(b.x,b.y):!1},ia.ComparisonPyramidLayer=function(){ia.ComparisonPyramidLayer.baseConstructor.call(this),this.style={fillStyle:"#ffffff",strokeStyle:"#ff0000",lineWidth:"2",lineJoin:"round"},this.sortDirection="ascending",this.gender="male",this.displayAll=!1},ia.extend(ia.ItemLayer,ia.ComparisonPyramidLayer),ia.ComparisonPyramidLayer.prototype.update=function(a){if(this.map){var b=this.getData();if(this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0),b[0])for(var c=b[0].features,d=0;d<c.length;d++){var e=c[d],f=0,g={};for(g.id=e.id,g.name=e.name,g.state=ia.ItemLayer.UNSELECTED,g.parent=this,g.layer=this,this.items[g.id]=g,this.itemArray.push(g),g.childItems=[],e=0;e<b.length;e++){var h=b[e],i=h.features[d];if(i){var j=i[this.dataField];if(ia.isNumber(j)&&("male"==this.gender&&(j*=-1),-1!=this.selectionIds.indexOf(g.id)&&(this.minValue=Math.min(this.minValue,j),this.maxValue=Math.max(this.maxValue,j),g.state=ia.ItemLayer.SELECTED),this.displayAll&&(this.minValue=Math.min(this.minValue,j),this.maxValue=Math.max(this.maxValue,j))),void 0==a||h.date==a){if(ia.isNumber(j)){var k={};k.id=g.id+"~"+h.name,k.name=h.name,k.ageGroup=h.name,k.shape=new ia.Rectangle,k.hitArea=new ia.Rectangle,k.value=j,k.index=f,k.formattedValue=i[this.dataField+"_formatted"],g.childItems[g.childItems.length]=k}f++}}}g.nChildItems=f,g.childItems.reverse()}}},ia.ComparisonPyramidLayer.prototype.clearSelection=function(){},ia.ComparisonPyramidLayer.prototype.render=function(){this.clear(),ia.IS_IE_TEN||(this.highlightContext.beginPath(),this.highlightContext.rect(this.map.canvasX,this.map.canvasY,this.map.canvasWidth,this.map.canvasHeight),this.highlightContext.clip());for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a],this.selectionContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),a=this.itemArray.length;for(var b=0;a>b;b++){for(var c=this.itemArray[b],d=c.childItems.length,e=0;d>e;e++){var f=c.childItems[e],g=c.nChildItems-1-f.index;void 0!=f&&this._setItemShape(f,g,c.nChildItems)}this.displayAll&&this._renderItem(c)}this.renderSelection()},ia.ComparisonPyramidLayer.prototype._setItemShape=function(a,b,c){var d=this.map.canvasHeight/c,c=this.map.getPixelX(a.value),b=this.map.canvasY+d/2+d*b,e=d=10;a.shape.x=c,a.shape.y=b,a.shape.width=d,a.shape.height=e,ia.IS_TOUCH_DEVICE&&(e=d=30),a.hitArea.x=c-d/2,a.hitArea.y=b-e/2,a.hitArea.width=d,a.hitArea.height=e},ia.ComparisonPyramidLayer.prototype._renderItem=function(a){if(this.thematic){var b=this.thematic.getClass(a.id);b&&(this.context.strokeStyle=b.color)}this._drawItem(a,this.context)},ia.ComparisonPyramidLayer.prototype.selectItem=function(a){if(this.thematic){var b=this.thematic.getClass(a.id);b&&(this.selectionContext.strokeStyle=b.color)}this._drawItem(a,this.selectionContext)},ia.ComparisonPyramidLayer.prototype.highlightItem=function(a){ia.IS_IE_TEN||(this.highlightContext.beginPath(),this.highlightContext.rect(this.map.canvasX,this.map.canvasY,this.map.canvasWidth,this.map.canvasHeight),this.highlightContext.clip()),this._drawItem(a,this.highlightContext,!0)},ia.ComparisonPyramidLayer.prototype._drawSpline=function(a,b){for(var c=[],d=a.childItems.length,e=0;d-2>e;e++)c=c.concat(this._getControlPoints(a.childItems[e].shape.x,a.childItems[e].shape.y,a.childItems[e+1].shape.x,a.childItems[e+1].shape.y,a.childItems[e+2].shape.x,a.childItems[e+2].shape.y,.3));for(e=1;d-2>e;e++)b.beginPath(),b.moveTo(a.childItems[e].shape.x,a.childItems[e].shape.y),b.bezierCurveTo(c[4*e-2],c[4*e-1],c[4*e],c[4*e+1],a.childItems[e+1].shape.x,a.childItems[e+1].shape.y),b.stroke();d>0&&(b.beginPath(),b.moveTo(a.childItems[0].shape.x,a.childItems[0].shape.y),b.quadraticCurveTo(c[0],c[1],a.childItems[1].shape.x,a.childItems[1].shape.y),b.stroke(),b.beginPath(),b.moveTo(a.childItems[d-1].shape.x,a.childItems[d-1].shape.y),b.quadraticCurveTo(c[4*d-10],c[4*d-9],a.childItems[d-2].shape.x,a.childItems[d-2].shape.y),b.stroke())},ia.ComparisonPyramidLayer.prototype._getControlPoints=function(a,b,c,d,e,f,g){var h=Math.sqrt(Math.pow(c-a,2)+Math.pow(d-b,2)),h=g*h/(h+Math.sqrt(Math.pow(e-c,2)+Math.pow(f-d,2)));return g-=h,[c+h*(a-e),d+h*(b-f),c-g*(a-e),d-g*(b-f)]},ia.ComparisonPyramidLayer.prototype._drawItem=function(a,b,c){if(this._drawSpline(a,b),1==c)for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];void 0!=e&&(b.beginPath(),ia.Shape.drawCircle(b,e.shape.x,e.shape.y,5),b.fill(),b.stroke())}},ia.ComparisonPyramidLayer.prototype.hitItem=function(a,b){if(this.isSelected(a.id)||this.displayAll)for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e&&e.hitArea.intersects(b.x,b.y))return!0}return!1},ia.ComparisonPyramidLayer.prototype.showTip=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e&&e.hitArea.intersects(b.x,b.y)){""!=this.tip?(c=this.tip,c=c.split("${name}").join(a.name),c=c.split("${ageGroup}").join(e.ageGroup),c=c.split("${value}").join(e.formattedValue),this.map.datatip.text(c)):this.map.datatip.text(a.name+" <br/> "+e.ageGroup+" <br/> "+e.formattedValue),b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,e=b.y-(this.map.datatip.getHeight()+30)):(c=e.value<0?e.shape.x-(this.map.datatip.getWidth()+5):e.shape.x+e.shape.width+5,e=e.shape.y+e.shape.height/2-this.map.datatip.getHeight()/2),this.map.datatip.position(c,e),this.map.datatip.show();break}}},ia.RadarLayer=function(){ia.RadarLayer.baseConstructor.call(this)},ia.extend(ia.TimeLayer,ia.RadarLayer),ia.RadarLayer.prototype.update=function(){if(this.map&&this.dataChanged){var a=this.getData();if(a&&(this.itemArray=[],this.clearItems(),this.minValue=1/0,this.maxValue=-(1/0),a.features))for(var b=0;b<a.features.length;b++){var c=a.features[b],d={};d.id=c.id,d.name=c.name,d.state=ia.ItemLayer.UNSELECTED,-1!=this.selectionIds.indexOf(d.id)&&(d.state=ia.ItemLayer.SELECTED),d.parent=this,d.layer=this,this.items[c.id]=d,this.itemArray.push(d),d.childItems=[];for(var e=0;e<c.themes.length;e++)for(var f=c.themes[e],g=0;g<f.indicators.length;g++){var h=f.indicators[g];if(h.date==this.selectedDate||void 0==this.selectedDate){var i=void 0;if("value"==this.dataField)i=h;else for(var j=0;j<h.associates.length;j++){var k=h.associates[j];if(k.name==this.dataField){i=k;break}}i&&"categoric"!=i.type&&(j=i.value,ia.isNumber(j)?(k={},k.id=h.id,k.name=h.name,k.themeName=f.name,k.shape=new ia.Rectangle,k.hitArea=new ia.Rectangle,k.value=j,k.formattedValue=i.formattedValue,this.isComparison?(-1!=this.selectionIds.indexOf(d.id)&&(this.minValue=Math.min(this.minValue,j),this.maxValue=Math.max(this.maxValue,j),d.state=ia.ItemLayer.SELECTED),this.displayAll&&(this.minValue=Math.min(this.minValue,j),this.maxValue=Math.max(this.maxValue,j))):(0==this.matchAxisToSelectedData||1==this.matchAxisToSelectedData&&d.state==ia.ItemLayer.SELECTED)&&(this.minValue=Math.min(this.minValue,k.value),this.maxValue=Math.max(this.maxValue,k.value)),d.childItems[d.childItems.length]=k):d.childItems[d.childItems.length]={name:h.name,value:void 0})}}}this.dataChanged=!1}},ia.RadarLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.selectionContext[a]=this.style[a],this.highlightContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),this.selectionContext.strokeStyle=ia.Color.toRGBA(this.selectionColor),a=this.itemArray.length;for(var b=0;a>b;b++)for(var c=this.itemArray[b],d=c.childItems.length,e=0;d>e;e++){var f=c.childItems[e];void 0!=f.value&&this._setItemShape(f,e,d)}this.renderSelection()},ia.RadarLayer.prototype._setItemShape=function(a,b,c){var d=this.map.getBBox(),c=2*Math.PI*(1/c),b=1.5*Math.PI+c*b,d=this.map.radarRadius*((a.value-d.getYMin())/(d.getYMax()-d.getYMin())),e=this.map.radarCenterX+d*Math.cos(b),f=this.map.radarCenterY+d*Math.sin(b),g=this.markerSize,h=this.markerSize;a.shape.startAngle=b,a.shape.endAngle=b+c,a.shape.radius=d,a.shape.x=e,a.shape.y=f,a.shape.width=g,a.shape.height=h,ia.IS_TOUCH_DEVICE?h=g=30:(g*=2,h*=2),g=Math.max(g,10),h=Math.max(h,10),a.hitArea.x=e-g/2,a.hitArea.y=f-h/2,a.hitArea.width=g,a.hitArea.height=h},ia.RadarLayer.prototype.highlightItem=function(a){ia.IS_IE_TEN||(this.highlightContext.beginPath(),ia.Shape.drawCircle(this.highlightContext,this.map.radarCenterX,this.map.radarCenterY,2*this.map.radarRadius),this.highlightContext.clip()),this._highlightMode=!0,this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.1),this._drawItem(a,this.highlightContext)},ia.RadarLayer.prototype.selectItem=function(a){ia.IS_IE_TEN||(this.selectionContext.beginPath(),ia.Shape.drawCircle(this.selectionContext,this.map.radarCenterX,this.map.radarCenterY,2*this.map.radarRadius),this.selectionContext.clip());var b=this.selectionIds.length;if(this.selectionContext.fillStyle=ia.Color.toRGBA(this.selectionColor,.2),this.colorPalette){var b=this.colorPalette.getColors(b),c=this.selectionIds.indexOf(a.id);this.selectionContext.strokeStyle=b[c],this.selectionContext.fillStyle=ia.Color.toRGBA(b[c],.2)}this._highlightMode=!1,this._drawItem(a,this.selectionContext)},ia.RadarLayer.prototype._drawItem=function(a,b){"radar"==this.map.type?this._drawLine(a,b):this._drawSegment(a,b)},ia.RadarLayer.prototype._drawLine=function(a,b){var c=!0,d=a.childItems.length;b.beginPath();for(var e=0;d>e;e++){var f=a.childItems[e];void 0!=f.value?(c?b.moveTo(f.shape.x,f.shape.y):b.lineTo(f.shape.x,f.shape.y),c=!1):1!=this.drawLinesThroughMissingValues&&(c=!0)}for(b.closePath(),b.fill(),b.stroke(),b.fillStyle=this.style.fillStyle,e=0;d>e;e++)f=a.childItems[e],void 0!=f.value&&(b.beginPath(),ia.Shape.drawCircle(b,f.shape.x,f.shape.y,f.shape.width),b.fill(),b.stroke())},ia.RadarLayer.prototype._drawSegment=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];void 0!=e.value&&(b.beginPath(),b.moveTo(this.map.radarCenterX,this.map.radarCenterY),b.lineTo(e.shape.x,e.shape.y),b.arc(this.map.radarCenterX,this.map.radarCenterY,e.shape.radius,e.shape.startAngle,e.shape.endAngle,!1),b.closePath(),b.fill(),b.beginPath(),b.arc(this.map.radarCenterX,this.map.radarCenterY,e.shape.radius,e.shape.startAngle,e.shape.endAngle,!1),b.stroke())}},ia.RadarLayer.prototype.hitItem=function(a,b){return this.isSelected(a.id)?"radar"==this.map.type?this._hitPoint(a,b):this._hitSegment(a,b):!1},ia.RadarLayer.prototype._hitPoint=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&e.hitArea.intersects(b.x,b.y))return!0}},ia.RadarLayer.prototype._hitSegment=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&this._pointInSlice(e,b.x,b.y))return!0}},ia.RadarLayer.prototype._pointInSlice=function(a,b,c){var d=a.shape.endAngle-a.shape.startAngle,e=this.map.radarCenterX,f=this.map.radarCenterY;return this._pointInPoly([{x:e,y:f},{x:e+a.shape.radius*Math.cos(a.shape.startAngle),y:f+a.shape.radius*Math.sin(a.shape.startAngle)},{x:e+a.shape.radius*Math.cos(a.shape.startAngle+d/4),y:f+a.shape.radius*Math.sin(a.shape.startAngle+d/4)},{x:e+a.shape.radius*Math.cos(a.shape.startAngle+d/2),y:f+a.shape.radius*Math.sin(a.shape.startAngle+d/2)},{x:e+a.shape.radius*Math.cos(a.shape.startAngle+d/1.5),y:f+a.shape.radius*Math.sin(a.shape.startAngle+d/1.5)},{x:e+a.shape.radius*Math.cos(a.shape.startAngle+d),y:f+a.shape.radius*Math.sin(a.shape.startAngle+d)},{x:e,y:f}],b,c)},ia.RadarLayer.prototype._pointInPoly=function(a,b,c){var d,e,f=0;for(d=0,e=a.length-1;d<a.length;e=d++)a[d].y>c!=a[e].y>c&&b<(a[e].x-a[d].x)*(c-a[d].y)/(a[e].y-a[d].y)+a[d].x&&(f=!f);return f},ia.RadarLayer.prototype.showTip=function(a,b){for(var c=a.childItems.length,d=0;c>d;d++){var e=a.childItems[d];if(void 0!=e.value&&("radar"==this.map.type&&e.hitArea.intersects(b.x,b.y)||"rose"==this.map.type&&this._pointInSlice(e,b.x,b.y))){
void 0!=this.tipFunction?this.map.datatip.text(this.tipFunction(a,e)):""!=this.tip?(c=this.tip,c=c.split("${featureName}").join(a.name),c=c.split("${themeName}").join(e.themeName),c=c.split("${indicatorName}").join(e.name),c=c.split("${value}").join(e.formattedValue),this.map.datatip.text(c)):this.map.datatip.text(a.name+" : "+e.name+" : "+e.formattedValue),b.isTouchEvent?(c=b.x-this.map.datatip.getWidth()/2,e=b.y-(this.map.datatip.getHeight()+30)):(c=e.shape.x+e.shape.width/2-this.map.datatip.getWidth()/2,e=e.shape.y-e.shape.height/2-(this.map.datatip.getHeight()+5)),this.map.datatip.position(c,e),this.map.datatip.show();break}}},ia.ComparisonRadarLayer=function(){ia.ComparisonRadarLayer.baseConstructor.call(this),this.isComparison=!0,this.displayAll=!1},ia.extend(ia.RadarLayer,ia.ComparisonRadarLayer),ia.ComparisonRadarLayer.prototype.render=function(){this.clear();for(var a in this.style)this.context[a]=this.style[a],this.highlightContext[a]=this.style[a],this.selectionContext[a]=this.style[a];this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor),this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,.1),a=this.itemArray.length;for(var b=0;a>b;b++){for(var c=this.itemArray[b],d=c.childItems.length,e=0;d>e;e++){var f=c.childItems[e];void 0!=f.value&&this._setItemShape(f,e,d)}this.displayAll&&this._renderItem(c)}this.renderSelection()},ia.ComparisonRadarLayer.prototype.clearSelection=function(){},ia.ComparisonRadarLayer.prototype._renderItem=function(a){if(this.thematic){var b=this.thematic.getClass(a.id);b&&(this.context.strokeStyle=b.color)}this._drawItem(a,this.context)},ia.ComparisonRadarLayer.prototype.selectItem=function(a){if(this.thematic){var b=this.thematic.getClass(a.id);b&&(this.selectionContext.strokeStyle=b.color,this.selectionContext.fillStyle=ia.Color.toRGBA(b.color,.2))}this._highlightMode=!1,this._drawItem(a,this.selectionContext)},ia.ComparisonRadarLayer.prototype.hitItem=function(a,b){return this.isSelected(a.id)||this.displayAll?"radar"==this.map.type?this._hitPoint(a,b):this._hitSegment(a,b):!1},ia.MapMouseEvent=function(a,b,c,d,e,f,g,h,i,j,k){ia.MapMouseEvent.baseConstructor.call(this,b,c,f,g,a),this.x2=h,this.y2=i,this.dataX=d,this.dataY=e,this.map=a,this.pageX=j,this.pageY=k,this.isTouchEvent=b&&b.originalEvent&&void 0!=b.originalEvent.touches?!0:!1},ia.extend(ia.MouseEvent,ia.MapMouseEvent),ia.MapMouseEvent.MAP_PINCH_DOWN="mapPinchDown",ia.MapMouseEvent.MAP_PINCH_MOVE="mapPinchMove",ia.MapMouseEvent.MAP_PINCH_UP="mapPinchUp",ia.MapMouseEvent.MAP_MOUSE_CLICK="mapMouseClick",ia.MapMouseEvent.MAP_MOUSE_DOWN="mapMouseDown",ia.MapMouseEvent.MAP_MOUSE_UP="mapMouseUp",ia.MapMouseEvent.MAP_MOUSE_MOVE="mapMouseMove",ia.MapMouseEvent.MAP_MOUSE_OVER="mapMouseOver",ia.MapMouseEvent.MAP_MOUSE_OUT="mapMouseOut",ia.MapMouseEvent.MAP_MOUSE_WHEEL="mapMouseWheel",ia.MapMouseEvent.MAP_MOUSE_WHEEL_END="mapMouseWheelEnd",ia.MapMouseEvent.MAP_MOUSE_DRAG="mapMouseDrag",ia.MapMouseEvent.MAP_MOUSE_DRAG_UP="mapMouseDragUp",ia.Map=function(a){ia.Map.baseConstructor.call(this,a),this._bitmapMode=!1,this._mouseDownPixels=this._mouseDownCoords=this._imageDataBBox=void 0,this._doZoom=this._doPan=!1,this._userDefinedRect=void 0,this._doZoomWheel=!1,this._pinchCentreY=this._pinchCentreX=this._pinchDistance=this._wheelTimeout=void 0,this.container.addClass("ia-map"),this.maintainAspectRatio=!0,this.controller=new ia.MapController(this),this.isDraggable=!0;var b=this;b.addEventListener(ia.Event.MAP_READY,function(){b.addEventListener(ia.BBoxEvent.BBOX_TRANSLATE,b._bBoxChangeHandler.bind(b)),b.addEventListener(ia.BBoxEvent.BBOX_SCALE,b._bBoxChangeHandler.bind(b))}),this.markerLayer=new ia.MarkerLayer,this.markerLayer.setMap(this,this.foregroundContainer),this.markerLayer.setVisible(!0)},ia.extend(ia.CanvasBase,ia.Map),ia.Map.prototype.useNavigation=function(a){a&&(this.addEventListener(ia.MapMouseEvent.MAP_MOUSE_MOVE,this._onMouseMove.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_MOUSE_DOWN,this._onMouseDown.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_MOUSE_DRAG,this._onMouseDrag.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_MOUSE_DRAG_UP,this._onMouseDragUp.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_MOUSE_UP,this._onMouseUp.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_MOUSE_OVER,this._onMouseOver.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_MOUSE_OUT,this._onMouseOut.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_MOUSE_WHEEL,this._onMouseWheel.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_PINCH_DOWN,this._onPinchDown.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_PINCH_MOVE,this._onPinchMove.bind(this)),this.addEventListener(ia.MapMouseEvent.MAP_PINCH_UP,this._onPinchUp.bind(this)))},ia.Map.prototype._bBoxChangeHandler=function(){this._bitmapMode?this._drawBitmap():this.render()},ia.Map.prototype.render=function(){this.mapContainer.css({"-moz-transform":"matrix(1, 0, 0, 1, 0, 0)","-webkit-transform":"matrix(1, 0, 0, 1, 0, 0)","-o-transform":"matrix(1, 0, 0, 1, 0, 0)",msTransform:"matrix(1, 0, 0, 1, 0, 0)",transform:"matrix(1, 0, 0, 1, 0, 0)"});for(var a=this.getLayers(),b=0;b<a.length;b++)a[b].render();this.markerLayer.render()},ia.Map.prototype._drawBitmap=function(){var a,b,c,d,e,f=this.getPixelRect(this._imageDataBBox);this._doPan?(b=a=0,d=c=1,e=f.x,f=f.y):(a=this.mouseX,b=this.mouseY,c=this._imageDataBBox.getWidth()/this.bBox.getWidth(),d=this._imageDataBBox.getHeight()/this.bBox.getHeight(),f=e=0),this.mapContainer.css({"transform-origin":a+"px "+b+"px",msTransformOrigin:a+"px "+b+"px","-moz-transform-origin":a+"px "+b+"px","-webkit-transform-origin":a+"px "+b+"px","-o-transform-origin":a+"px "+b+"px","-moz-transform":"matrix("+c+", 0, 0, "+d+", "+e+", "+f+")","-webkit-transform":"matrix("+c+", 0, 0, "+d+", "+e+", "+f+")","-o-transform":"matrix("+c+", 0, 0, "+d+", "+e+", "+f+")",msTransform:"matrix("+c+", 0, 0, "+d+", "+e+", "+f+")",transform:"matrix("+c+", 0, 0, "+d+", "+e+", "+f+")"})},ia.Map.prototype._initBitmap=function(){this._bitmapMode=!0,this._imageDataBBox=this.getBBox()},ia.Map.prototype._drawRect=function(a,b,c){for(var d in c)a[d]=c[d];a.beginPath(),a.rect(b.x,b.y,b.width,b.height),a.fill(),a.stroke()},ia.Map.prototype._drawBBox=function(a,b,c){b=this.getPixelRect(b),this._drawRect(a,b,c)},ia.Map.prototype.zoomToFeatureWithId=function(a,b){for(var c=b||this.getLayers(),d=0;d<c.length;d++){var e,f=c[d].items;for(e in f)if(e==a)return this.zoomToFeature(f[e]),!0}return!1},ia.Map.prototype.zoomToFeatureWithName=function(a,b){for(var c=b||this.getLayers(),d=0;d<c.length;d++){var e,f=c[d].items;for(e in f){var g=f[e];if(g.name==a)return this.zoomToFeature(g),!0}}return!1},ia.Map.prototype.zoomToFeature=function(a){if(a.bBox&&a.bBox.getXMin()!=1/0){var b=a.bBox.clone(),c=.2*b.getWidth(),d=.2*b.getHeight(),e=b.getXCenter(),f=b.getYCenter();b.setWidth(b.getWidth()+2*c),b.setHeight(b.getHeight()+2*d),b.setXCenter(e),b.setYCenter(f),-1!=this.maxZoom&&Math.min(b.getWidth(),b.getHeight())<this.maxZoom&&(e=b.getXCenter(),f=b.getYCenter(),b.setWidth(this.maxZoom),b.setHeight(this.maxZoom),b.setXCenter(e),b.setYCenter(f)),"point"==a.layer.geometry?this.controller.centerOnCoords(b.getXCenter(),b.getYCenter()):this.controller.zoomToBBox(b)}},ia.Map.prototype.zoomToFeatures=function(a,b){if(a.length>0)if(1==a.length)this.zoomToFeatureWithId(a[0],b);else{for(var c=1/0,d=1/0,e=-(1/0),f=-(1/0),g=b||this.getLayers(),h=0;h<g.length;h++){var i=g[h].items;if(void 0!=i)for(var j=0;j<a.length;j++){var k=i[a[j]];k&&k.bBox&&(c=k.bBox.getXMin()<c?k.bBox.getXMin():c,d=k.bBox.getYMin()<d?k.bBox.getYMin():d,e=k.bBox.getXMax()>e?k.bBox.getXMax():e,f=k.bBox.getYMax()>f?k.bBox.getYMax():f)}}c!=1/0&&d!=1/0&&e!=1/0&&f!=1/0&&(c=new ia.BoundingBox(c,d,e,f).addMargin(),-1!=this.maxZoom&&Math.min(c.getWidth(),c.getHeight())<this.maxZoom&&(cx=c.getXCenter(),cy=c.getYCenter(),c.setWidth(this.maxZoom),c.setHeight(this.maxZoom),c.setXCenter(cx),c.setYCenter(cy)),this.controller.zoomToBBox(c))}},ia.Map.prototype.centerOnFeature=function(a){for(var b=this.getLayers(),c=0;c<b.length;c++){var d,e=b[c].items;for(d in e)if(d==a)return a=e[d].bBox,this.controller.centerOnCoords(a.getXCenter(),a.getYCenter()),!0}return!1},ia.Map.prototype.zoomToLayer=function(a){this.controller.zoomToBBox(a.bBox.addMargin())},ia.Map.prototype._onMouseOver=function(){this._doZoomWheel=!0},ia.Map.prototype._onMouseOut=function(){this.datatip.hide(),this._doZoomWheel=!1},ia.Map.prototype._onMouseDown=function(){ia.disableTextSelection($j("body")),this._mouseDownCoords=this.mouseCoords(),this._mouseDownPixels=new ia.Point(this.mouseX,this.mouseY),this._doZoom=this._doPan=!1,this._doPan=!0},ia.Map.prototype._onMouseUp=function(){this._doZoom=this._doPan=!1,ia.enableTextSelection($j("body")),this._bitmapMode&&(this._pinchDistance=void 0,this._bitmapMode=!1,this.render())},ia.Map.prototype._onMouseMove=function(){},ia.Map.prototype._onMouseDrag=function(){var a=this.mouseCoords(),b=new ia.Point(this.mouseX,this.mouseY);if(this._doPan){var c=Math.abs(this._mouseDownPixels.x-b.x),b=Math.abs(this._mouseDownPixels.y-b.y);(c>10||b>10)&&this.datatip.hide(),0==this._bitmapMode&&this._initBitmap(),ia.showMoveCursor(),c=this._mouseDownCoords.subtract(a),this.controller.translate(c.x,c.y)}else if(this._doZoom){var a=Math.min(this._mouseDownPixels.x,b.x),d=Math.min(this._mouseDownPixels.y,b.y),c=Math.abs(this._mouseDownPixels.x-b.x),b=Math.abs(this._mouseDownPixels.y-b.y);this._userDefinedRect=new ia.Rectangle(a,d,c,b),this._drawRect(this.context,this._userDefinedRect,{fillStyle:"rgba(255,255,255,0.5)",strokeStyle:"#CCCCCC",lineWidth:"0.5"})}},ia.Map.prototype._onMouseDragUp=function(){var a=this.mouseCoords();this._pinchDistance=void 0,this._bitmapMode=!1,this._doZoom?this._userDefinedRect.width>5&&this._userDefinedRect.height>5&&this.controller.zoomToPointExtent(this._mouseDownCoords,a):this.render(),ia.showDefaultCursor(),this._doZoom=this._doPan=!1,ia.enableTextSelection($j("body"))},ia.Map.prototype._onPinchDown=function(a){this._doZoom=this._doPan=!1,a=this._getPinchInfo(a),this._pinchDistance=a.distance,this._pinchCentreX=a.centreX,this._pinchCentreY=a.centreY},ia.Map.prototype._onPinchMove=function(a){this.datatip.hide(),0==this._bitmapMode&&(this.datatip.hide(),this._initBitmap()),a=this._getPinchInfo(a),this.mouseX=this._pinchCentreX,this.mouseY=this._pinchCentreY,void 0!=this._pinchDistance&&this.controller.zoomOnCursor(this._pinchDistance/a.distance),this._pinchDistance=a.distance},ia.Map.prototype._onPinchUp=function(){this._pinchDistance=void 0,this._bitmapMode=!1,this.render()},ia.Map.prototype._getPinchInfo=function(a){var b=Math.min(a.x,a.x2),c=Math.min(a.y,a.y2),d=Math.max(a.x,a.x2),a=Math.max(a.y,a.y2),e=d-b,f=a-c;return{x1:b,y1:c,x2:d,y2:a,distanceX:e,distanceX:f,distance:Math.sqrt(Math.pow(e,2)+Math.pow(f,2)),centreX:(b+d)/2,centreY:(c+a)/2}},ia.Map.prototype._onMouseWheel=function(a){this._doZoomWheel&&(this.datatip.hide(),0==this._bitmapMode&&(this.datatip.hide(),this._initBitmap()),this.controller.zoomOnCursor(a.delta>0?1/1.4:1.4),clearTimeout(this._wheelTimeout),this._wheelTimeout=setTimeout(function(){clearTimeout(this._wheelTimeout),this._bitmapMode=!1,this.render(),this.dispatchEvent(new ia.MapMouseEvent(this,a,ia.MapMouseEvent.MAP_MOUSE_WHEEL_END,this.mouseX,this.mouseY))}.bind(this),250))},ia.GoogleMap=function(a,b,c,d,e,f,g){function h(){0==r&&(i()?l.controller.zoomFull():l.commitChanges())}function i(){var a=m.getProjection();if(void 0==a)return!1;var b=o.gMap.getBounds(),c=b.getNorthEast();return b.getSouthWest().lng()>=c.lng()?!0:a.getWorldWidth()<=o.container.width()?!0:!1}function j(){var a,b=o.gMap.getBounds();if(hw1=k(n),hw2=k(b),0==Math.floor(hw1.x))a=0;else if(0==Math.floor(hw1.y))a=0;else{a=hw2.x/hw1.x;var c=hw2.y/hw1.y;a=c>a?a:c,a=1>a?0:Math.floor(Math.log(a)/Math.log(2))}a>0&&q?o.gMap.setZoom(o.gMap.getZoom()+a):(a=b.getNorthEast(),b=b.getSouthWest(),b=p.project(b.lng(),b.lat(),!0),a=p.project(a.lng(),a.lat(),!0),o.bBox.setXMin(b.x),o.bBox.setYMin(b.y),o.bBox.setXMax(a.x),o.bBox.setYMax(a.y),o.commitChanges()),q=!1}function k(a){var b=m.getProjection(),c=b.fromLatLngToContainerPixel(a.getSouthWest()),a=b.fromLatLngToContainerPixel(a.getNorthEast());return new google.maps.Point(Math.abs(c.y-a.y),Math.abs(c.x-a.x))}ia.GoogleMap.baseConstructor.call(this);var l,m,n,o=this,p=new ia.GoogleMercatorProjection,q=!1,r=!1,s=-1,t=-1;this.addMapOverlay=function(a){function b(){this.setMap(o.gMap)}l=a,l.embeddedInGoogleMaps=!0,l.isDraggable=!1,l.addEventListener(ia.Event.MAP_RESIZE,h);var c=o.controller.defaultBBox,a=p.unproject(c.getXMin(),c.getYMin(),!0),c=p.unproject(c.getXMax(),c.getYMax(),!0),a=new google.maps.LatLng(a.latitude,a.longitude),c=new google.maps.LatLng(c.latitude,c.longitude);o.defaultBounds=new google.maps.LatLngBounds(a,c),b.prototype=new google.maps.OverlayView,b.prototype.onAdd=function(){this.getPanes().overlayImage.appendChild(l.container.get(0)),google.maps.event.addListener(o.gMap,"bounds_changed",j)},b.prototype.draw=function(){},b.prototype.onRemove=function(){l.container.parentNode.removeChild(l.container)},m=new b;var f=-1;google.maps.event.addListener(o.gMap,"zoom_changed",function(){var a=o.gMap.getZoom(),b=!0;-1!=d&&d>a&&(b=!1),-1!=e&&a>e&&(b=!1),a==f&&(b=!1),b&&(r=!0,-1!=f&&l.clear(),f=a)}),google.maps.event.addListener(o.gMap,"idle",function(){l.clear();var a=m.getProjection();if(void 0!=a){if(i()){var b=o.defaultBounds.getSouthWest(),c=o.defaultBounds.getNorthEast(),d=a.fromLatLngToDivPixel(b),c=a.fromLatLngToDivPixel(c),e=Math.abs(c.x-d.x),f=Math.abs(d.y-c.y),d=d.x,g=c.y;o.controller.defaultBBox.getWidth()>=4e7&&(e=a.getWorldWidth(),a=a.fromLatLngToContainerPixel(b).x,b=o.container.width()/2,a>b&&(d-=e)),l.container.css({left:d+"px",top:g+"px",width:e+"px",height:f+"px"})}else e=o.gMap.getBounds(),b=e.getSouthWest(),c=e.getNorthEast(),d=a.fromLatLngToDivPixel(b).x,g=a.fromLatLngToDivPixel(c).y,e=o.container.width(),f=o.container.height(),l.container.css({left:d+"px",top:g+"px",width:e+"px",height:f+"px"}),a=p.project(b.lng(),b.lat(),!0),b=p.project(c.lng(),c.lat(),!0),l.getBBox().setXMin(a.x),l.getBBox().setYMin(a.y),l.getBBox().setXMax(b.x),l.getBBox().setYMax(b.y);Math.round(e)==Math.round(s)&&Math.round(f)==Math.round(t)&&l.render(),s=e,t=f}r=!1}),google.maps.event.addListener(o.gMap,"dragstart",function(){l.startDrag()}),google.maps.event.addListener(o.gMap,"dragend",function(){l.endDrag()})};var u=google.maps.MapTypeId.ROADMAP;this.setMapType=function(a){"greyscale"==a?u=f:"off"==a?u=g:"normal"==a?u=google.maps.MapTypeId.ROADMAP:"satellite"==a?u=google.maps.MapTypeId.SATELLITE:"hybrid"==a?u=google.maps.MapTypeId.HYBRID:"physical"==a&&(u=google.maps.MapTypeId.TERRAIN)},this.setBBox=function(a){if(o.gMap){a.equals(o.controller.defaultBBox)&&(q=!0),a.getXMin()<-2e7&&(a.setXMin(-2e7),o.adjustY(a)),a.getXMax()>2e7&&(a.setXMax(2e7),o.adjustY(a));var b=p.unproject(a.getXMin(),a.getYMin(),!0),a=p.unproject(a.getXMax(),a.getYMax(),!0),b=new google.maps.LatLng(b.latitude,b.longitude),a=new google.maps.LatLng(a.latitude,a.longitude);n=new google.maps.LatLngBounds(b,a),o.gMap.fitBounds(n)}},this.zoomToFeatureWithId=function(a){for(var b=l.getLayers(),c=0;c<b.length;c++){var d,e=b[c].items;for(d in e)if(d==a)return o.zoomToFeature(e[d]),!0}return!1},this.zoomToFeatureWithName=function(a,b){for(var c=b||l.getLayers(),d=0;d<c.length;d++){var e,f=c[d].items;for(e in f){var g=f[e];if(g.name==a)return o.zoomToFeature(g),!0}}return!1},this.zoomToFeature=function(a){a.bBox&&a.bBox.getXMin()!=1/0&&o.controller.zoomToBBox(a.bBox)},this.zoomToFeatures=function(a,b){for(var c=1/0,d=1/0,e=-(1/0),f=-(1/0),g=b||this.getLayers(),h=0;h<g.length;h++)for(var i=g[h].items,j=0;j<a.length;j++){var k=i[a[j]];k&&k.bBox&&(c=k.bBox.getXMin()<c?k.bBox.getXMin():c,d=k.bBox.getYMin()<d?k.bBox.getYMin():d,e=k.bBox.getXMax()>e?k.bBox.getXMax():e,f=k.bBox.getYMax()>f?k.bBox.getYMax():f)}c!=1/0&&d!=1/0&&e!=1/0&&f!=1/0&&(c=new ia.BoundingBox(c,d,e,f),o.controller.zoomToBBox(c))},this.centerOnFeature=function(a){return this.zoomToFeature(a)},function(){o.id=a,o.apiKey=c,o.setMapType(b);var h=new google.maps.StyledMapType([{featureType:"all",stylers:[{saturation:-80}]}],{name:f}),i=new google.maps.StyledMapType([{stylers:[{visibility:"off"}]}],{name:g}),j={panControl:!1,zoomControl:!1,streetViewControl:!1,overviewMapControl:!0,disableDoubleClickZoom:!0,fullscreenControl:!1,mapTypeControlOptions:{mapTypeIds:[google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.HYBRID,google.maps.MapTypeId.TERRAIN,f,g]}};-1!=d&&(j.minZoom=d),-1!=e&&(j.maxZoom=e),o.container=$j("<div id='"+a+"' class='ia-map'>"),o.mapContainer=$j("<div id='"+a+"-map-container'>"),o.container.append(o.mapContainer),o.controller=new ia.MapController(o);var k;o.container.resize(function(){clearTimeout(k),k=setTimeout(function(){clearTimeout(k);var b=o.container.width(),c=o.container.height();(o.mapContainer.width()!=b||o.mapContainer.height()!=c)&&(o.mapContainer.width(b),o.mapContainer.height(c),o.canvasWidth=b,o.canvasHeight=c,o.commitChanges(),void 0==o.gMap&&(o.gMap=new google.maps.Map(document.getElementById(a+"-map-container"),j),o.gMap.mapTypes.set(f,h),o.gMap.mapTypes.set(g,i),o.gMap.setMapTypeId(u),b=new ia.Event(ia.Event.MAP_READY,o),o.dispatchEvent(b)),google.maps.event.trigger(o.gMap,"resize"))},500)})}()},ia.extend(ia.CartesianSpace,ia.GoogleMap),ia.MapController=function(a){this._map=a},ia.MapController.prototype.panN=function(){this.pan(0)},ia.MapController.prototype.panNE=function(){this.pan(45)},ia.MapController.prototype.panE=function(){this.pan(90)},ia.MapController.prototype.panSE=function(){this.pan(135)},ia.MapController.prototype.panS=function(){this.pan(180)},ia.MapController.prototype.panSW=function(){this.pan(225)},ia.MapController.prototype.panW=function(){this.pan(270)},ia.MapController.prototype.panNW=function(){this.pan(315)},ia.MapController.prototype.pan=function(a,b){null==b&&(b=.5);var c=Math.abs(b),c=a>=45&&135>=a||a>=225&&315>=a?this._map.getBBox().getWidth()*c:this._map.getBBox().getHeight()*c;this.panDistance(a,c)},ia.MapController.prototype.panDistance=function(a,b){if(a>=0&&360>=a){var c=a*(Math.PI/180);this.translate(Math.sin(c)*b,Math.cos(c)*b)}},ia.MapController.prototype.centerOnCursor=function(){this.centerOnPoint(this._map.mouseCoords())},ia.MapController.prototype.centerOnPoint=function(a){this.centerOnCoords(a.x,a.y)},ia.MapController.prototype.centerOnCoords=function(a,b){var c=this._map.getBBox().getXMin()+this._map.getBBox().getWidth()/2,d=this._map.getBBox().getYMin()+this._map.getBBox().getHeight()/2;this.translate(a-c,b-d)},ia.MapController.prototype.translate=function(a,b){var c=this._map.getBBox().getXMin()+a,d=this._map.getBBox().getYMin()+b,e=this._map.getBBox().getWidth(),f=this._map.getBBox().getHeight();this.resetBBox(c,d,e,f)},ia.MapController.prototype.zoomIn=function(){this.zoomOnCenter(.5)},ia.MapController.prototype.zoomOut=function(){this.zoomOnCenter(2)},ia.MapController.prototype.zoomOnCenter=function(a){null==a&&(a=.5);var b=this._map.getBBox().getXMin()+this._map.getBBox().getWidth()/2,c=this._map.getBBox().getYMin()+this._map.getBBox().getHeight()/2;this.zoomOnCoords(b,c,a)},ia.MapController.prototype.zoomInOnCursor=function(){this.zoomOnPoint(this._map.mouseCoords(),.5)},ia.MapController.prototype.zoomOutOnCursor=function(){this.zoomOnPoint(this._map.mouseCoords(),2)},ia.MapController.prototype.zoomOnCursor=function(a){null==a&&(a=.5),this.zoomOnPoint(this._map.mouseCoords(),a)},ia.MapController.prototype.zoomOnPoint=function(a,b){null==b&&(b=.5),this.zoomOnCoords(a.x,a.y,b)},ia.MapController.prototype.zoomOnCoords=function(a,b,c){null==c&&(c=.5);var d=Math.abs(c),c=this._map.getBBox().getWidth()*d;d*=this._map.getBBox().getHeight(),a-=(a-this._map.getBBox().getXMin())/this._map.getBBox().getWidth()*c,b-=(b-this._map.getBBox().getYMin())/this._map.getBBox().getHeight()*d,this.resetBBox(a,b,c,d)},ia.MapController.prototype.zoomToPointExtent=function(a,b){this.resetBBox(Math.min(a.x,b.x),Math.min(a.y,b.y),Math.abs(a.x-b.x),Math.abs(a.y-b.y))},ia.MapController.prototype.zoomToExtent=function(a){var b=this._map.getBBox().getXMin()+this._map.getBBox().getWidth()/2,c=this._map.getBBox().getYMin()+this._map.getBBox().getHeight()/2,d=a.width,a=a.height;this.resetBBox(b-d/2,c-a/2,d,a)},ia.MapController.prototype.changeBBox=function(a,b,c,d){a=this._map.getBBox().getXMin()+a,b=this._map.getBBox().getYMin()+b,c=this._map.getBBox().getXMax()+c,d=this._map.getBBox().getYMax()+d,this.resetBBox(a,b,c-a,d-b)},ia.MapController.prototype.zoomToRect=function(a){a.width>5&&a.height>5&&this.zoomToBBox(this.getDataBBox(a))},ia.MapController.prototype.zoomFull=function(){this.zoomToBBox(this.defaultBBox)},ia.MapController.prototype.zoomToBBox=function(a){a&&this._map.setBBox(a)},ia.MapController.prototype.resetBBox=function(a,b,c,d){this.zoomToBBox(new ia.BoundingBox(a,b,a+c,b+d))},ia.FeatureLayer=function(a){ia.FeatureLayer.baseConstructor.call(this),this.renderDisabledFeatures=!0,this.dataLabel="",this.minLabelExtent=-(1/0),this.maxLabelExtent=1/0,this.symbolSize=15,this.iconPath="",this.eval=!0,this.uid="",this.symbol=ia.Shape.CIRCLE,this.highlightOpacity=this.selectionOpacity=.3,this.labelFunction=void 0,this.labelPosition="top-right",this.displayLabelsOnly=!1,null!=a&&(this.source=a)},ia.extend(ia.ItemLayer,ia.FeatureLayer),ia.FeatureLayer.prototype.loadSource=function(a){var b=this;ia.File.load({url:b.source,dataType:"json",onSuccess:function(c){b.parseData(c),b.isLoaded=!0,b.render(),c=new ia.Event(ia.Event.LAYER_READY,b),b.dispatchEvent(c),void 0!=a&&a.call(null)}})},ia.FeatureLayer.prototype.parseData=function(a){this.items={},this.itemArray=[],void 0!=a.e&&(this.eval=!1),void 0!=a.uid&&(this.uid=a.uid);for(var b=a.boundingBox.split(" "),c=new ia.BoundingBox(parseFloat(b[0]),parseFloat(b[1]),parseFloat(b[2]),parseFloat(b[3])),b=c.getXMin(),d=c.getYMin(),e=c.getWidth(),c=c.getHeight(),f=parseFloat(a.pixelWidth),g=parseFloat(a.pixelHeight),h=1/0,i=1/0,j=-(1/0),k=-(1/0),l=a.features.length,m=0;l>m;m++){var n=a.features[m],o={};if(o.state=ia.ItemLayer.UNSELECTED,o.layer=this,o.id=n.d,o.name=n.n,o.parent=this,o.symbolSize=this.symbolSize,"line"==this.geometry&&(o.symbolSize=this.style.lineWidth),"polygon"==this.geometry||"line"==this.geometry){for(var p=1/0,q=1/0,r=-(1/0),s=-(1/0),t=n.p.length,u=[],v=0;t>v;v++){for(var w=n.p[v],x=w.length-1,y=[],z=0,A=0,B=0;x>B;B+=2){var C={};z+=w[B],A+=w[B+1],C.x=b+z/f*e,C.y=d+A/g*c,y.push(C),p=C.x<p?C.x:p,q=C.y<q?C.y:q,r=C.x>r?C.x:r,s=C.y>s?C.y:s}u.push(y)}o.shapes=u,n=this._getLargestItemShape(o),o.centerOfGravity=this._getCenterOfGravity(n)}else C={},C.x=b+n.p[0]/f*e,C.y=d+n.p[1]/g*c,p=C.x,q=C.y,r=C.x,s=C.y,o.shapes=[C];o.bBox=new ia.BoundingBox(p,q,r,s),o.size=Math.max(o.bBox.getWidth(),o.bBox.getHeight()),this.items[o.id]=o,this.itemArray.push(o),h=h>p?p:h,i=i>q?q:i,j=r>j?r:j,k=s>k?s:k}if(this.bBox=new ia.BoundingBox(h,i,j,k),""!=this.iconPath){var D=this;this.icon=new Image,this.icon.onload=function(){D.render()},this.icon.src=this.iconPath}},ia.FeatureLayer.prototype._getLargestItemShape=function(a){for(var b=a.shapes.length,c=0,d=a.shapes[0],e=0;b>e;e++){var f=a.shapes[e],g=this._getArea(f);g>c&&(c=g,d=f)}return d},ia.FeatureLayer.prototype._getArea=function(a){for(var b,c=0,d=a.length,e=d-1,f=0;d>f;e=f++)b=a[f],e=a[e],c+=b.x*e.y,c-=b.y*e.x;return c/=2},ia.FeatureLayer.prototype._getCenterOfGravity=function(a){var b,c=a.length,d=0,e=0;b=c-1;for(var f,g,h=0;c>h;b=h++)f=a[h],g=a[b],b=f.x*g.y-g.x*f.y,d+=(f.x+g.x)*b,e+=(f.y+g.y)*b;return b=6*this._getArea(a),{x:d/b,y:e/b}},ia.FeatureLayer.prototype.render=function(){this.map&&this.getVisible()&&this.isLoaded&&(this.clear(),this.draw())},ia.FeatureLayer.prototype.draw=function(){if(this.map&&this.getVisible()&&this.isLoaded){for(var a in this.style)this.context[a]=this.style[a],(this.interactive||this.highlightable)&&(this.selectionContext&&(this.selectionContext[a]=this.style[a]),this.highlightContext&&(this.highlightContext[a]=this.style[a]));(this.interactive||this.highlightable)&&(this.selectionContext&&(this.selectionContext.strokeStyle=this.selectionColor,this.selectionContext.fillStyle=ia.Color.toRGBA(this.selectionColor,this.selectionOpacity),this.selectionContext.lineWidth=Math.max(2,parseFloat(this.style.lineWidth)+1.5)),this.highlightContext&&(this.highlightContext.strokeStyle=ia.Color.toRGBA(this.highlightColor,.8),this.highlightContext.fillStyle=ia.Color.toRGBA(this.highlightColor,this.highlightOpacity),this.highlightContext.lineWidth=Math.max(2,parseFloat(this.style.lineWidth)+1.5))),a=this.getData();var b=this.map.getBBox(),c=!1,d=Math.min(b.getWidth(),b.getHeight()),e=Math.max(b.getWidth(),b.getHeight());for(d>=this.minLabelExtent&&e<=this.maxLabelExtent&&(c=!0),d=this.itemArray.length,e=0;d>e;e++){var f=this.itemArray[e];if(this.dataChanged){var g=a[f.id];if(g){f.name=g.name,f.disabled=!1;var h=ia.Color.a(this.style.fillStyle);g.color&&(f.color=ia.Color.toRGBA(g.color,h)),f.symbolSize=g.symbolSize}else f.disabled=!0,f.color=this.style.fillStyle,f.symbolSize=0}"point"!=this.geometry&&f.bBox&&f.bBox.intersects(b)&&(this.renderItem(f),this.showLabels&&c&&this.renderItemLabel(f))}"point"==this.geometry&&(this.thematic&&this.thematic.heatmap?this._drawHeatmap(a,b,c):this._drawPoints(a,b,c)),this.dataChanged&&(this.dataChanged=!1),this.renderSelection()}},ia.FeatureLayer.prototype._drawPoints=function(a,b,c){this.itemArray.sort(function(a,b){return a.symbolSize<b.symbolSize?1:a.symbolSize>b.symbolSize?-1:0});for(var a=this.itemArray.length,d=0;a>d;d++){var e=this.itemArray[d];e.bBox&&e.bBox.intersects(b)&&(e.symbolSize>0||this.displayLabelsOnly)&&(this.renderItem(e),this.showLabels&&c&&this.renderItemLabel(e))}},ia.FeatureLayer.prototype._drawHeatmap=function(a,b,c){if("undefined"!=typeof h337){void 0==this._heatmap&&(this._heatmap=h337.create({canvas:this.canvas}));var d=this.symbolSize/2,b=this.thematic.heatmapradius;void 0!=b&&ia.isNumber(b)&&(d=this.map.getPixelWidth(b),d=Math.max(d,1),d=Math.min(d,this.map.canvasWidth));for(var b=1/0,e=-(1/0),f=[],g=this.itemArray.length,h=0;g>h;h++){for(var i=this.itemArray[h],j=a[i.id],k=i.shapes.length,l=0;k>l;l++)if(void 0!=j){var m=i.shapes[l],n=this.map.getPixelX(m.x),m=this.map.getPixelY(m.y),o=j[this.dataField];ia.isNumber(o)&&(b=Math.min(b,o),e=Math.max(e,o),f.push({x:n,y:m,value:o,radius:d}))}this.showLabels&&c&&this.renderItemLabel(i)}for(a=this.thematic.numericClassifier.colorPalette.getColorList(),g=a.length,c={},h=0;g>h;h++)pos=h/(g-1),c[pos]=a[h];this._heatmap._renderer.setDimensions(this.map.canvasWidth,this.map.canvasHeight),this._heatmap.configure({gradient:c}),this._heatmap.setData({max:e,min:b,data:f})}},ia.FeatureLayer.prototype.selectItem=function(a){this._drawItem(a,this.selectionContext)},ia.FeatureLayer.prototype.highlightItem=function(a){this._drawItem(a,this.highlightContext)},ia.FeatureLayer.prototype.renderItem=function(a){(void 0==a||1!=this.renderDisabledFeatures)&&0!=a.disabled||this.displayLabelsOnly||(a.color&&(this.context.fillStyle=a.color,"line"==this.geometry)&&(this.context.strokeStyle=a.color),this._drawItem(a,this.context))},ia.FeatureLayer.prototype._drawItem=function(a,b){if(void 0!=a&&this.getVisible()&&b&&!this.displayLabelsOnly){b.beginPath();var c=a.shapes.length;if("polygon"==this.geometry)for(var d=0;c>d;d++){var e=a.shapes[d],f=e.length;b.moveTo(this.map.getPixelX(e[0].x),this.map.getPixelY(e[0].y));for(var g=1;f>g;g++)b.lineTo(this.map.getPixelX(e[g].x),this.map.getPixelY(e[g].y))}else if("point"==this.geometry)for(d=0;c>d;d++)e=a.shapes[d],f=this.map.getPixelX(e.x),e=this.map.getPixelY(e.y),this.thematic&&this.thematic.heatmap?ia.Shape.draw(this.symbol,b,f,e,15):void 0!=this.icon?b.drawImage(this.icon,f-this.icon.width/2,e-this.icon.height/2,this.icon.width,this.icon.height):"contextual-layer"==this.type?ia.Shape.draw(this.symbol,b,f,e,this.symbolSize):(a.symbolSize>0||this.displayLabelsOnly)&&ia.Shape.draw(this.symbol,b,f,e,a.symbolSize);else if("line"==this.geometry&&(a.symbolSize>0||this.displayLabelsOnly)){for(d=0;c>d;d++)for(e=a.shapes[d],f=e.length,b.moveTo(this.map.getPixelX(e[0].x),this.map.getPixelY(e[0].y)),g=1;f>g;g++)b.lineTo(this.map.getPixelX(e[g].x),this.map.getPixelY(e[g].y));b.lineWidth=a.symbolSize}"line"!=this.geometry&&b.fill(),b.stroke()}},ia.FeatureLayer.prototype.renderItemLabel=function(a){void 0==this.labelCanvas&&this.addLabelCanvas();var b=a.name;void 0!=this.labelFunction&&(b=this.labelFunction.call(null,a));var c,d;"polygon"==this.geometry?(a.centerOfGravity?(c=this.map.getPixelX(a.centerOfGravity.x),d=this.map.getPixelY(a.centerOfGravity.y)):(c=this.map.getPixelX(a.bBox.getXCenter()),d=this.map.getPixelY(a.bBox.getYCenter())),this.labelContext.textBaseline="middle",this.labelContext.textAlign="center"):(c=this.map.getPixelX(a.bBox.getXCenter()),d=this.map.getPixelY(a.bBox.getYCenter()),a=a.symbolSize,"contextual-layer"==this.type&&(a=this.symbolSize),this.icon&&(a=this.icon.width),-1!=this.labelPosition.indexOf("left")?(this.labelContext.textAlign="right",c-=a/2):-1!=this.labelPosition.indexOf("right")?(this.labelContext.textAlign="left",c+=a/2):this.labelContext.textAlign="center",-1!=this.labelPosition.indexOf("top")?(this.labelContext.textBaseline="bottom",d-=a/2):-1!=this.labelPosition.indexOf("bottom")?(this.labelContext.textBaseline="top",d+=a/2):this.labelContext.textBaseline="middle","left"==this.labelPosition&&(c-=5),"right"==this.labelPosition&&(c+=5)),this.labelContext.strokeText(b,c,d),this.labelContext.fillText(b,c,d)},ia.FeatureLayer.prototype.hitItem=function(a,b){var c=b.dataX,d=b.dataY;if("point"==this.geometry){for(var e,f=a.shapes,g=0;g<f.length;g++)if(e=f[g],e=this.thematic&&this.thematic.heatmap?this._pointInRect(15,15,e,c,d):""!=this.iconPath?this._pointInRect(this.icon.width,this.icon.height,e,c,d):this._pointInRect(a.symbolSize,a.symbolSize,e,c,d))return!0}else if("polygon"==this.geometry){if(a.bBox){if(c<a.bBox.left()||c>a.bBox.right())return!1;if(d>a.bBox.top()||d<a.bBox.bottom())return!1}for(f=a.shapes,g=0;g<f.length;g++)if(e=this._pointInPoly(f[g],c,d))return!0}else if("line"==this.geometry){if(a.bBox){if(c<a.bBox.left()||c>a.bBox.right())return!1;if(d>a.bBox.top()||d<a.bBox.bottom())return!1}for(c=a.shapes,g=0;g<c.length;g++)if(e=this._pointInLine(c[g],b.x,b.y))return!0}return!1},ia.FeatureLayer.prototype._pointInLine=function(a,b,c){for(var b=new ia.Rectangle(b-4,c-4,8,8),c=a.length,d=0;c-1>d;d++){var e=this.map.getPixelX(a[d].x),f=this.map.getPixelY(a[d].y),g=this.map.getPixelX(a[d+1].x),h=this.map.getPixelY(a[d+1].y);if(b.intersectsLine({x:e,y:f},{x:g,y:h}))return!0}return!1},ia.FeatureLayer.prototype._pointInPoly=function(a,b,c){var d,e,f=0;for(d=0,e=a.length-1;d<a.length;e=d++)a[d].y>c!=a[e].y>c&&b<(a[e].x-a[d].x)*(c-a[d].y)/(a[e].y-a[d].y)+a[d].x&&(f=!f);return f},ia.FeatureLayer.prototype._pointInRect=function(a,b,c,d,e){var f=c.x,c=c.y,a=this.map.getDataWidth(a),b=this.map.getDataHeight(b);return d>=f-a/2&&f+a/2>=d&&e>=c-b/2&&c+b/2>=e?!0:!1},ia.FeatureLayer.prototype.showTip=function(a,b){this.map.datatip.text(this.tipFunction(a));var c,d;ia.IS_TOUCH_DEVICE?(c=b.x-this.map.datatip.getWidth()/2,d=b.y-(this.map.datatip.getHeight()+30)):"point"==this.geometry?(c=this.map.getPixelX(a.bBox.getXCenter())+a.symbolSize/2,d=this.map.getPixelY(a.bBox.getYCenter())-a.symbolSize/2-this.map.datatip.getHeight()):(c=b.x+10,d=b.y-this.map.datatip.getHeight()),this.map.datatip.position(c,d),this.map.datatip.show()},ia.ImageLayer=function(){ia.ImageLayer.baseConstructor.call(this,""),$j.support.cors=!0,this.version=this.srs=this.layers=this.params=this.url="",this.opacity=1,this._items=[]},ia.extend(ia.LayerBase,ia.ImageLayer),ia.ImageLayer.prototype._items=[],ia.ImageLayer.prototype._renderTimeout=void 0,ia.ImageLayer.prototype.render=function(){var a=this;a.map&&a.getVisible()&&(a.clear(),a.draw(a.context),clearTimeout(this._renderTimeout),
this._renderTimeout=setTimeout(function(){var b=a.map.getBBox(),c=!0;if(a._items.length>0){var d=a._items[a._items.length-1];b.equals(d.bbox)&&(c=!1)}if(c){for(;a._items.length>10;)a._items.shift();d={},d.img=new Image,d.bbox=b.clone(),d.img.onload=function(){a._items[a._items.length]=d,a.clear(),a.draw(a.context)},a.exportable?(b=new XMLHttpRequest,b.onload=function(){if(200==this.status){for(var a=new Uint8Array(this.response),b=a.length,c=Array(b);b--;)c[b]=String.fromCharCode(a[b]);a=c.join(""),a=window.btoa(a),d.img.src="data:image/png;base64,"+a}},b.onerror=function(){a.exportable=!1,a.render()},c=a.getUrl(d.bbox,a.map.canvasWidth,a.map.canvasHeight),b.open("GET",ia.getDomainSafeUrl(c),!0),b.responseType="arraybuffer",b.send()):(c=a.getUrl(d.bbox,a.map.canvasWidth,a.map.canvasHeight),d.img.src=ia.getDomainSafeUrl(c))}},100))},ia.ImageLayer.prototype.draw=function(a){try{if(this._items.length>0){var b=this._items[this._items.length-1],c=this.map.getPixelRect(b.bbox);a.save(),a.globalAlpha=this.opacity,a.drawImage(b.img,c.x,c.y,c.width,c.height),a.restore()}}catch(d){ia.log(d)}},ia.ImageLayer.prototype.getUrl=function(){},ia.TileLayer=function(a){ia.TileLayer.baseConstructor.call(this),this._tileCache=[],this.path="./",this.minExtent=-(1/0),this.maxExtent=1/0,null!=a&&(this.source=a)},ia.extend(ia.LayerBase,ia.TileLayer),ia.TileLayer.prototype.render=function(){if(this.map&&this.getVisible()&&this.isLoaded){this.clear();var a=this.map.getBBox(),a=Math.min(a.getWidth(),a.getHeight());if(a>this.minExtent&&a<this.maxExtent)for(var a=this.map.getBBox(),b=this._tileCache.length,c=0;b>c;c++){var d=this._tileCache[c];d.bBox.intersects(a)&&this._renderTile(d)}}},ia.TileLayer.prototype._renderTile=function(a){if(a.image){var b=this.map.getPixelRect(a.bBox);this.context.drawImage(a.image,b.x,b.y,b.width,b.height)}else{var c=this,d=new Image;d.onload=function(){a.image=d,c._renderTile(a)},d.src=a.path}},ia.TileLayer.prototype.loadSource=function(){var a=this;ia.File.load({url:a.source,dataType:"json",onSuccess:function(b){a.parseData(b),a.isLoaded=!0,a.render(),b=new ia.Event(ia.Event.LAYER_READY,a),a.dispatchEvent(b)}})},ia.TileLayer.prototype.parseData=function(a){-1==this.path.indexOf("/",this.path.length-1)&&(this.path+="/");var b=ia.File.getFileDirectory(this.source)+this.path,c=a.boundingBox.split(" "),d=new ia.BoundingBox(parseFloat(c[0]),parseFloat(c[1]),parseFloat(c[2]),parseFloat(c[3])),e=parseFloat(a.pixelWidth),f=parseFloat(a.pixelHeight),g=a.tileWidth/e*d.getWidth(),h=a.tileHeight/f*d.getHeight(),i=this;$j.each(a.tiles,function(c,j){var k=d.getXMin()+j.x/e*d.getWidth(),l=k+g,m=d.getYMax()-j.y/f*d.getHeight(),n=m-h,o={};o.id=j.id,o.bBox=new ia.BoundingBox(k,n,l,m),o.path=b+o.id+"."+a.tileExtension,i._tileCache[i._tileCache.length]=o})},ia.WebTileLayer=function(a){if(ia.WebTileLayer.baseConstructor.call(this),this._tileCache=[],this._noTiles=0,this._tileInfo={rows:256,cols:256,origin:{x:-20037508.342787,y:20037508.342787},lods:[{level:0,resolution:156543.033928,scale:591657527.591555},{level:1,resolution:78271.5169639999,scale:295828763.795777},{level:2,resolution:39135.7584820001,scale:147914381.897889},{level:3,resolution:19567.8792409999,scale:73957190.948944},{level:4,resolution:9783.93962049996,scale:36978595.474472},{level:5,resolution:4891.96981024998,scale:18489297.737236},{level:6,resolution:2445.98490512499,scale:9244648.868618},{level:7,resolution:1222.99245256249,scale:4622324.434309},{level:8,resolution:611.49622628138,scale:2311162.217155},{level:9,resolution:305.748113140558,scale:1155581.108577},{level:10,resolution:152.874056570411,scale:577790.554289},{level:11,resolution:76.4370282850732,scale:288895.277144},{level:12,resolution:38.2185141425366,scale:144447.638572},{level:13,resolution:19.1092570712683,scale:72223.819286},{level:14,resolution:9.55462853563415,scale:36111.909643},{level:15,resolution:4.77731426794937,scale:18055.954822},{level:16,resolution:2.38865713397468,scale:9027.977411},{level:17,resolution:1.19432856685505,scale:4513.988705},{level:18,resolution:.597164283559817,scale:2256.994353},{level:19,resolution:.298582141647617,scale:1128.497176}]},this._fullExtent={xmin:-20037507.067161843,ymin:-19971868.880408604,xmax:20037507.067161843,ymax:19971868.8804085},-1!=a.indexOf("MapServer")){var b=this;ia.FeatureServiceReader.getInfo(a,ia.accessToken,function(a,c){b.token=c,b._tileInfo=a.tileInfo,b._fullExtent=a.fullExtent,a.copyrightText&&(b.copyrightText=a.copyrightText),a.documentInfo.Author&&(b.author=a.documentInfo.Author),b.isLoaded=!0,b.render()})}else this.isLoaded=!0},ia.extend(ia.LayerBase,ia.WebTileLayer),ia.WebTileLayer.prototype._noTiles=0,ia.WebTileLayer.prototype._tileCache=[],ia.WebTileLayer.prototype._renderTimeout=void 0,ia.WebTileLayer.prototype.render=function(){var a=this;if(a.map&&a.getVisible()&&a.isLoaded){var b="file:"==window.location.protocol?"http:":window.location.protocol;a.clear(),a.draw(a.context),clearTimeout(a._renderTimeout),a._renderTimeout=setTimeout(function(){for(var c=a.map.getDataWidth(1),d=a._tileInfo.lods,e=d[0],f=Math.abs(c-e.resolution),g=0;g<d.length;g++){var h=Math.abs(c-d[g].resolution);f>h&&(f=h,e=d[g])}var c=e.resolution*a._tileInfo.rows,d=e.resolution*a._tileInfo.cols,f=a._tileInfo.origin,i=a.map.getBBox(),g=Math.max(i.getXMin(),a._fullExtent.xmin),h=Math.min(i.getYMax(),a._fullExtent.ymax),j=Math.min(i.getXMax(),a._fullExtent.xmax),i=Math.max(i.getYMin(),a._fullExtent.ymin),g=Math.floor((g-f.x)/c),h=Math.floor((f.y-h)/d),j=Math.floor((j-f.x)/c),i=Math.floor((f.y-i)/d);0>g&&(g=0),0>h&&(h=0),a._noTiles=(j+1-g)*(i+1-h);var k=0,l=[];for(-1!=a.url.indexOf("OpenStreetMap")?l=["a","b","c"]:-1!=a.url.indexOf("MapQuest")&&(l=["1","2","3","4"]),a._tileCache=[];j>=g;g++)for(var m=h;i>=m;m++){var n={},o=f.x+g*c,p=f.y-m*d,q=o+c,r=p-d;n.url=-1!=a.url.indexOf("OpenStreetMap")?b+"//"+l[k]+".tile.openstreetmap.org/"+e.level+"/"+g+"/"+m+".png":-1!=a.url.indexOf("MapQuestSat")?b+"//otile"+l[k]+".mqcdn.com/tiles/1.0.0/sat/"+e.level+"/"+g+"/"+m+".png":-1!=a.url.indexOf("MapQuestOsm")?b+"//otile"+l[k]+".mqcdn.com/tiles/1.0.0/osm/"+e.level+"/"+g+"/"+m+".png":a.url+"/tile/"+e.level+"/"+m+"/"+g,void 0!=a.token&&(n.url+="?token="+a.token),n.bBox=new ia.BoundingBox(o,r,q,p),a._loadTile(n),k++,k>=l.length&&(k=0)}},100)}},ia.WebTileLayer.prototype.draw=function(){for(var a=0;a<this._tileCache.length;a++)this._drawTile(this._tileCache[a])},ia.WebTileLayer.prototype._drawTile=function(a){if(a.img){this.context.save(),this.context.globalAlpha=this.opacity;var b=this.map.getPixelRect(a.bBox);this.context.drawImage(a.img,b.x,b.y,b.width,b.height),this.context.restore()}},ia.WebTileLayer.prototype._loadTile=function(a){var b=this,c=new Image;if(c.onload=function(){a.img=this,b._tileCache.push(a),b._drawTile(a),b._tileCache.length>=b._noTiles&&(b.clear(),b.draw(b.context))},b.exportable){var d=new XMLHttpRequest;d.onload=function(){if(200==this.status){for(var a=new Uint8Array(this.response),d=a.length,e=Array(d);d--;)e[d]=String.fromCharCode(a[d]);a=e.join(""),a=window.btoa(a),c.src="data:image/png;base64,"+a}else b._noTiles--,b._tileCache.length>=b._noTiles&&(b.clear(),b.draw(b.context))},d.onerror=function(){b.exportable=!1,b.render()},d.open("GET",ia.getDomainSafeUrl(a.url),!0),d.responseType="arraybuffer",d.send()}else c.src=ia.getDomainSafeUrl(a.url)},ia.AGSLayer=function(a){if(ia.AGSLayer.baseConstructor.call(this),-1!=a.indexOf("MapServer")){var b=this;ia.FeatureServiceReader.getInfo(a,ia.accessToken,function(a){a.copyrightText&&(b.copyrightText=a.copyrightText),a.documentInfo.Author&&(b.author=a.documentInfo.Author)})}},ia.extend(ia.ImageLayer,ia.AGSLayer),ia.AGSLayer.prototype.getUrl=function(a,b,c){var d=this.url;return-1==this.url.indexOf("?")&&(d+="?"),"&"!=this.url.charAt(this.url.length-1)&&"?"!=this.url.charAt(this.url.length-1)&&(d+="&"),d+="bbox="+a.getXMin()+","+a.getYMin()+","+a.getXMax()+","+a.getYMax(),this.params.toLowerCase().indexOf("f=")<0&&(d+="&f=image"),this.params.toLowerCase().indexOf("layers=")<0&&(d+="&layers="+this.layers),this.params.toLowerCase().indexOf("bboxsr=")<0&&(d+="&bboxSR="+this.srs),this.params.toLowerCase().indexOf("imagesr=")<0&&(d+="&imageSR="+this.srs),this.params.toLowerCase().indexOf("format=")<0&&(d+="&format=jpg"),this.params.toLowerCase().indexOf("size=")<0&&(d+="&size="+Math.round(b)+","+Math.round(c)),0!=this.params.indexOf("&")&&(d+="&"),d+=this.params},ia.FeatureServiceLayer=function(a){ia.FeatureServiceLayer.baseConstructor.call(this,a),this._firstRender=!0,this._renderQueue=this._rendering=!1,this._maxRecordCount=1/0,this.nameField=this.idField=this._objectIdField="",this.srs=102100,this.esriGeometryType=""},ia.extend(ia.FeatureLayer,ia.FeatureServiceLayer),ia.FeatureServiceLayer.prototype.loadSource=function(a){var b=this;b.eval=!1,ia.FeatureServiceReader.getInfo(b.source,ia.accessToken,function(c,d){if(b.token=d,b.esriGeometryType=c.geometryType,b._objectIdField=c.objectIdField,void 0==b._objectIdField)for(var e in c.fields)if("esriFieldTypeOID"==c.fields[e].type){b._objectIdField=c.fields[e].name;break}b._maxRecordCount=1/0,void 0!=c.maxRecordCount&&(b._maxRecordCount=ia.parseInt(c.maxRecordCount)),b.items={},b.itemArray=[],b.fieldNames=[];for(e in c.fields)b.fieldNames.push(c.fields[e].name);"line"==b.geometry&&(b.symbolSize=b.style.lineWidth),e=[],e[e.length]=b._objectIdField,b.idField!=b._objectIdField&&(e[e.length]=b.idField),b.nameField!=b._objectIdField&&b.nameField!=b.idField&&(e[e.length]=b.nameField),e=ia.FeatureServiceReader.buildQuery(b.source,e),void 0!=b.objectIds&&(e=e+"&objectIds="+b.objectIds),b._buildFeatures(e,function(){if(a&&a.call(null),0==b.isLoaded){b.isLoaded=!0,b.render();var c=new ia.Event(ia.Event.LAYER_READY,b);b.dispatchEvent(c)}})})},ia.FeatureServiceLayer.prototype._buildFeatures=function(a,b){var c=this;ia.FeatureServiceReader.sendQuery(a,c.token,function(a){for(var d=a.length,e=0;d>e;e++){var f=a[e],g={};g.objectId=String(f.attributes[c._objectIdField]),g.id=String(f.attributes[c.idField]),g.name=String(f.attributes[c.nameField]),g.parent=c,g.state=ia.ItemLayer.UNSELECTED,g.layer=c,g.symbolSize=c.symbolSize,g.shapes=[],0!=g.id.indexOf("#")&&(c.items[g.id]=g,c.itemArray.push(g))}b&&b.call(null)})},ia.FeatureServiceLayer.prototype.render=function(){this.map&&this.getVisible()&&this.isLoaded&&(0==this._rendering?(this._rendering=!0,this._updateItems(function(){this._rendering=!1,this._renderQueue&&(this._renderQueue=!1,this.render())}.bind(this))):(this._firstRender&&(this.clear(),this.draw()),this._renderQueue=!0))},ia.FeatureServiceLayer.prototype._updateItems=function(a){if(this.map&&this.getVisible()){var b=1/0,c=1/0,d=-(1/0),e=-(1/0);this.clear(),this.draw();var f=[];f[f.length]=this._objectIdField,this.idField!=this._objectIdField&&(f[f.length]=this.idField),this.nameField!=this._objectIdField&&this.nameField!=this.idField&&(f[f.length]=this.nameField);for(var g=this.map.getDataWidth(1),h=[],i=[],j=[],k=this.map.getBBox(),l=0,m=[],n=[],o=this.itemArray.length,p=0;o>p;p++){var q=this.itemArray[p];void 0==q.bBox?(n[n.length]=q,j[j.length]=q,m[m.length]=q.objectId,l++):q.bBox.intersects(k)&&(n[n.length]=q,j[j.length]=q,q.maxAllowableOffset>g)&&(m[m.length]=q.objectId,l++),void 0!=q.bBox&&(b=q.bBox.getXMin()<b?q.bBox.getXMin():b,c=q.bBox.getYMin()<c?q.bBox.getYMin():c,d=q.bBox.getXMax()>d?q.bBox.getXMax():d,e=q.bBox.getYMax()>e?q.bBox.getYMax():e),(l==this._maxRecordCount||p==o-1&&m.length>0)&&(h[h.length]=m,i[i.length]=n,l=0,m=[],n=[])}if(this.bBox=new ia.BoundingBox(b,c,d,e),h.length>0){var r=h.length,s=0,t=this,u=function(b){t._firstRender&&0==s&&t.clear(),t.parseData(b,g),t._firstRender&&t._renderItems(i[s]),s++,1==t._renderQueue?a.call(null):s==r?(t._firstRender||(t.clear(),t._renderItems(j)),t.renderSelection(),t._firstRender=!1,a.call(null)):ia.FeatureServiceReader.getFeatureGeometry(t.source,t.token,h[s],f,t.srs,g,u)};ia.FeatureServiceReader.getFeatureGeometry(t.source,t.token,h[s],f,t.srs,g,u)}else this.renderSelection(),a.call(null)}},ia.FeatureServiceLayer.prototype.parseData=function(a,b){var c=1/0,d=1/0,e=-(1/0),f=-(1/0),g="rings";"line"==this.geometry&&(g="paths");for(var h=a.length,i=0;h>i;i++){var j=a[i],k=this.items[String(j.attributes[this.idField])];if(k){if(k.maxAllowableOffset=b,"polygon"==this.geometry||"line"==this.geometry){var l=1/0,m=1/0,n=-(1/0),o=-(1/0);if(j.geometry){for(var p=j.geometry[g].length,q=[],r=0;p>r;r++){for(var s=j.geometry[g][r],t=s.length,u=[],v=0;t>v;v++){var w=s[v],x={};x.x=w[0],x.y=w[1],u.push(x),l=x.x<l?x.x:l,m=x.y<m?x.y:m,n=x.x>n?x.x:n,o=x.y>o?x.y:o}q.push(u)}k.shapes=q,j=this._getLargestItemShape(k),k.centerOfGravity=this._getCenterOfGravity(j)}}else if("esriGeometryPoint"==this.esriGeometryType)j.geometry&&(x={},x.x=j.geometry.x,x.y=j.geometry.y,l=x.x,m=x.y,n=x.x,o=x.y,k.shapes=[x]);else if(t=j.geometry.points.length,q=[],j.geometry){for(r=0;t>r;r++)w=j.geometry.points[r],x={},x.x=w[0],x.y=w[1],l=x.x,m=x.y,n=x.x,o=x.y,q.push(u);k.shapes=q}k.bBox=new ia.BoundingBox(l,m,n,o),c=c>l?l:c,d=d>m?m:d,e=n>e?n:e,f=o>f?o:f,k.size=Math.max(k.bBox.getWidth(),k.bBox.getHeight())}}if(this.bBox=new ia.BoundingBox(c,d,e,f),""!=this.iconPath){var y=this;this.icon=new Image,this.icon.onload=function(){y.render()},this.icon.src=this.iconPath}},ia.FeatureServiceLayer.prototype._renderItems=function(a){void 0==a&&(a=this.itemArray.concat());var b=this.map.getBBox(),c=!1,d=Math.min(b.getWidth(),b.getHeight()),b=Math.max(b.getWidth(),b.getHeight());for(d>=this.minLabelExtent&&b<=this.maxLabelExtent&&(c=!0),d=a.length,b=0;d>b;b++){var e=a[b];("point"!=this.geometry||"point"==this.geometry&&e.symbolSize>0||"point"==this.geometry&&this.displayLabelsOnly)&&(this.renderItem(e),this.showLabels&&c&&this.renderItemLabel(e))}},ia.GeoJsonLayer=function(a){ia.GeoJsonLayer.baseConstructor.call(this,a),this.idField="OBJECTID",this.nameField="NAME"},ia.extend(ia.FeatureLayer,ia.GeoJsonLayer),ia.GeoJsonLayer.prototype.parseData=function(a){void 0==a?a=this.data:this.data=a,this.items={},this.itemArray=[],this.fieldNames=[],this.eval=!1;for(var b=1/0,c=1/0,d=-(1/0),e=-(1/0),f=0;f<a.features.length;f++){var g=a.features[f];if(20>f)for(var h in g.properties)-1==this.fieldNames.indexOf(h)&&this.fieldNames.push(h);var i={};if(i.state=ia.FeatureLayer.UNSELECTED,i.layer=this,i.id=String(g.properties[this.idField]),i.name=String(g.properties[this.nameField]),void 0==g.properties[this.idField])for(h in g.properties){i.id=g.properties[h];break}if(void 0==g.properties[this.nameField])for(h in g.properties){i.name=g.properties[h];break}i.parent=this,i.symbolSize=this.symbolSize,i.shapes=[],"line"==this.geometry&&(i.symbolSize=this.style.lineWidth);var j=1/0,k=1/0,l=-(1/0),m=-(1/0);if("Point"==g.geometry.type){var n={};n.x=g.geometry.coordinates[0],n.y=g.geometry.coordinates[1],j=n.x,k=n.y,l=n.x,m=n.y,i.shapes=[n]}else if("LineString"==g.geometry.type||"MultiPoint"==g.geometry.type){for(var o=g.geometry.coordinates,p=[],q=0;q<o.length;q++){var r=o[q],n={};n.x=r[0],n.y=r[1],p.push(n),j=n.x<j?n.x:j,k=n.y<k?n.y:k,l=n.x>l?n.x:l,m=n.y>m?n.y:m}i.shapes.push(p)}else if("Polygon"==g.geometry.type||"MultiLineString"==g.geometry.type)for(var s=g.geometry.coordinates,q=0;q<s.length;q++){p=[],o=s[q],"Polygon"==g.geometry.type&&q>0&&o.reverse();for(var t=0;t<o.length;t++)r=o[t],n={},n.x=r[0],n.y=r[1],p.push(n),j=n.x<j?n.x:j,k=n.y<k?n.y:k,l=n.x>l?n.x:l,m=n.y>m?n.y:m;i.shapes.push(p)}else if("MultiPolygon"==g.geometry.type)for(var u=g.geometry.coordinates,v=0;v<u.length;v++)for(s=u[v],q=0;q<s.length;q++){for(p=[],o=s[q],q>0&&o.reverse(),t=0;t<o.length;t++)r=o[t],n={},n.x=r[0],n.y=r[1],p.push(n),j=n.x<j?n.x:j,k=n.y<k?n.y:k,l=n.x>l?n.x:l,m=n.y>m?n.y:m;i.shapes.push(p)}"Point"!=g.geometry.type&&(g=this._getLargestItemShape(i),i.centerOfGravity=this._getCenterOfGravity(g)),i.bBox=new ia.BoundingBox(j,k,l,m),i.size=Math.max(i.bBox.getWidth(),i.bBox.getHeight()),this.items[i.id]=i,this.itemArray.push(i),b=b>j?j:b,c=c>k?k:c,d=l>d?l:d,e=m>e?m:e}this.bBox=new ia.BoundingBox(b,c,d,e),""!=this.iconPath&&(this.icon=new Image,this.icon.onload=function(){},this.icon.src=this.iconPath)},ia.WMSLayer=function(){ia.WMSLayer.baseConstructor.call(this),this.requiresAxisSwitch=!1},ia.extend(ia.ImageLayer,ia.WMSLayer),ia.WMSLayer.prototype.getUrl=function(a,b,c){var d=this.url;return-1==this.url.indexOf("?")&&(d+="?"),"&"!=this.url.charAt(this.url.length-1)&&"?"!=this.url.charAt(this.url.length-1)&&(d+="&"),d+=1==this.requiresAxisSwitch?"request=GetMap&bbox="+a.getYMin()+","+a.getXMin()+","+a.getYMax()+","+a.getXMax():"request=GetMap&bbox="+a.getXMin()+","+a.getYMin()+","+a.getXMax()+","+a.getYMax(),this.params.toLowerCase().indexOf("layers=")<0&&(d+="&layers="+this.layers),this.params.toLowerCase().indexOf("srs=")<0&&(d+="&srs="+this.srs),this.params.toLowerCase().indexOf("crs=")<0&&(d+="&crs="+this.srs),this.params.toLowerCase().indexOf("width=")<0&&(d+="&width="+Math.round(b)),this.params.toLowerCase().indexOf("height=")<0&&(d+="&height="+Math.round(c)),this.params.toLowerCase().indexOf("version=")<0&&(d+="&version="+this.version),this.params.toLowerCase().indexOf("format=")<0&&(d+="&format=image/jpeg"),this.params.toLowerCase().indexOf("exceptions=")<0&&(d+="&exceptions=application/vnd.ogc.se_blank"),this.params.toLowerCase().indexOf("service=")<0&&(d+="&service=WMS"),this.params.toLowerCase().indexOf("styles=")<0&&(d+="&styles="),0!=this.params.indexOf("&")&&(d+="&"),d+=this.params},ia.MarkerLayer=function(){ia.MarkerLayer.baseConstructor.call(this),this._markers=[]},ia.extend(ia.LayerBase,ia.MarkerLayer),ia.MarkerLayer.prototype.addMarker=function(a,b,c){var d={};d.icon=a,d.x=b,d.y=c,this._markers[this._markers.length]=d},ia.MarkerLayer.prototype.clearMarkers=function(){this._markers=[],this.clear()},ia.MarkerLayer.prototype.render=function(){this.clear();for(var a=0;a<this._markers.length;a++){var b=this._markers[a],c=this.map.getPixelX(b.x)-b.icon.width/2,d=this.map.getPixelY(b.y)-b.icon.height;this.context.drawImage(b.icon,c,d)}},ia.GeoRSSLayer=function(a){ia.GeoRSSLayer.baseConstructor.call(this,a),this._mp=new ia.GoogleMercatorProjection,this._layerMinY=this._layerMinX=1/0,this._layerMaxY=this._layerMaxX=-(1/0),$j.support.cors=!0},ia.extend(ia.FeatureLayer,ia.GeoRSSLayer),ia.GeoRSSLayer.prototype.loadSource=function(){var a=this;$j.ajax({url:document.location.protocol+"//ajax.googleapis.com/ajax/services/feed/load?v=1.0&output=xml&num=10&callback=?&q="+encodeURIComponent(a.source),dataType:"json",success:function(b){a.parseData(b.responseData.xmlString),a.isLoaded=!0,a.render(),b=new ia.Event(ia.Event.LAYER_READY,a),a.dispatchEvent(b)}})},ia.GeoRSSLayer.prototype.parseData=function(a){a=$j(a),this.items={},this.itemArray=[];var b=this,c=a.find("item");$j.each(c,function(a,c){b._toFeature(c)}),c=a.find("atom\\:entry, entry"),$j.each(c,function(a,c){b._toFeature(c)}),this.bBox=new ia.BoundingBox(this._layerMinX,this._layerMinY,this._layerMaxX,this._layerMaxY),""!=this.iconPath&&(this.icon=new Image,this.icon.onload=function(){},this.icon.src=this.iconPath)},ia.GeoRSSLayer.prototype._toFeature=function(a){var b={};b.state=ia.ItemLayer.UNSELECTED,b.layer=this,b.id=$j(a).find("guid").text(),b.name=$j(a).find("title").text(),b.description=$j(a).find("description").text(),b.parent=this,b.symbolSize=this.symbolSize,a=this._toPoint(a),minX=a.x,minY=a.y,maxX=a.x,maxY=a.y,b.shapes=[a],b.bBox=new ia.BoundingBox(minX,minY,maxX,maxY),b.size=Math.max(b.bBox.getWidth(),b.bBox.getHeight()),this.items[b.id]=b,this.itemArray.push(b),this._layerMinX=minX<this._layerMinX?minX:this._layerMinX,this._layerMinY=minY<this._layerMinY?minY:this._layerMinY,this._layerMaxX=maxX>this._layerMaxX?maxX:this._layerMaxX,this._layerMaxY=maxY>this._layerMaxY?maxY:this._layerMaxY},ia.GeoRSSLayer.prototype._toPoint=function(a){var b={x:0,y:0},c=$j(a).find("geo\\:long, long"),d=$j(a).find("geo\\:lat, lat");return c.length>0&&d.length>0?(b.x=parseFloat($j(c).text()),b.y=parseFloat($j(d).text()),b=this._mp.project(b.x,b.y,!0)):(c=$j(a).find("georss\\:point, point"),c.length>0?(a=jQuery.trim($j(c).text()).split(" "),b.x=parseFloat(a[0]),b.y=parseFloat(a[1]),b=this._mp.project(b.x,b.y,!0)):(a=$j(a).find("gml\\:pos, pos"),a.length>0&&(a=jQuery.trim($j(a).text()).split(" "),b.x=parseFloat(a[0]),b.y=parseFloat(a[1]),b=this._mp.project(b.x,b.y,!0)),b))},ia.GoogleMercatorProjection=function(){this._originLon=this._originLat=0,this._ellipsoid={},this._ellipsoid.id="WGS_84",this._ellipsoid.semiMajorAxis=6378137,this._ellipsoid.inverseFlattening=298.257223563,this._checkEllipsoid()},ia.GoogleMercatorProjection.prototype._checkEllipsoid=function(){if(void 0==this._ellipsoid.semiMinorAxis&&(this._ellipsoid.semiMinorAxis=this._ellipsoid.semiMajorAxis-this._ellipsoid.semiMajorAxis/this._ellipsoid.inverseFlattening),void 0==this._ellipsoid.eccentricity){var a=(this._ellipsoid.semiMajorAxis-this._ellipsoid.semiMinorAxis)/this._ellipsoid.semiMajorAxis;this._ellipsoid.eccentricity=Math.sqrt(2*a-a*a)}},ia.GoogleMercatorProjection.prototype.project=function(a,b){var c={},d=Math.PI*(b/180),e=this._ellipsoid.semiMajorAxis;return c.x=e*(Math.PI*(a/180)-Math.PI*(this._originLon/180)),c.y=e*Math.log(Math.tan(Math.PI/4+d/2)),c},ia.GoogleMercatorProjection.prototype.unproject=function(a,b){var c={},d=this._ellipsoid.semiMajorAxis,e=Math.PI/2-2*Math.atan(Math.pow(Math.E,(0-b)/d));return c.longitude=180*(a/d+Math.PI*(this._originLon/180))/Math.PI,c.latitude=180*e/Math.PI,c},ia.ColorPalette=function(a){this._colors=[],this.id="",this.matchColorsToValues={},void 0!=a?this.setColorList(a):this.setColorList(ia.ColorPalette.CATEGORY_COLORS)},ia.ColorPalette.NUMERIC_COLORS=["#9EDAE5","#74a9cf","#023858"],ia.ColorPalette.CATEGORY_COLORS=["#B4371F","#FFBB78","#2CA02C","#98DF8A","#D62728","#FF9896","#9467BD","#C5B0D5","#8C564B","#C49C94","#E377C2","#F7B6D2","#7F7F7F","#C7C7C7","#BCBD22","#DBDB8D","#17BECF","#9EDAE5","#AEC7E8","#9EDAE5"],ia.ColorPalette.prototype.getColorList=function(){return this._colors},ia.ColorPalette.prototype.setColorList=function(a){this._colors=a},ia.ColorPalette.prototype.addColor=function(a){this._colors.push(a)},ia.ColorPalette.prototype.getColorAtIndex=function(a){return this._colors[a%this._colors.length]},ia.ColorPalette.prototype.setColorAtIndex=function(a,b){this._colors[a]=b},ia.ColorPalette.prototype.getMatchingColors=function(a){var b,c=a.length,d=Array(c),e=[];for(b in this.matchColorsToValues)e.push(ia.Color.toHex(this.matchColorsToValues[b]));for(var e=this.getColors(c,e),f=b=0;c>f;f++)void 0!=this.matchColorsToValues[a[f]]?d[f]=this.matchColorsToValues[a[f]]:e.length>b?(d[f]=e[b],b++):d[f]=ia.Color.getRandomColor();return d},ia.ColorPalette.prototype.getColors=function(a,b){for(var c,d=Array(a),b=void 0!==b?b.concat():[],e=this._colors.concat(ia.ColorPalette.CATEGORY_COLORS).filter(function(a){return-1===b.indexOf(ia.Color.toHex(a))}),f=0;a>f;f++)f<e.length?c=e[f]:(c=ia.Color.getRandomColor(),ia.ColorPalette.CATEGORY_COLORS[ia.ColorPalette.CATEGORY_COLORS.length]=c),d[f]=c;return d},ia.ColorPalette.prototype.getInterpolatedColors=function(a){if(1==a)return[this._colors[0]];if(2==a)return[this.getColor(0),this.getColor(1)];for(var b=Array(a),c=1/(a-1),d=0,e=0;a>e;e++)b[e]=0==e?this.getColor(0):e==a-1?this.getColor(1):this.getColor(d),d+=parseFloat(c);return b},ia.ColorPalette.prototype.getColor=function(a){var b=this._colors.length-1;if(0>=b||0>=a)return this._colors[0];if(a>=1)return this._colors[b];for(var c,d=1/b,e=0,f=0;b>f;f++){var g=e,h=g+d;if(a>=g&&h>=a){c=ia.Color.getInterpolatedColor(this._colors[f],this._colors[f+1],(a-g)/(h-g));break}e+=parseFloat(d)}return c},ia.SizePalette=function(a,b){this.maxSize=this.minSize=15,this.useSqrRoot=!1,null!=a&&(this.minSize=a),null!=b&&(this.maxSize=b)},ia.SizePalette.prototype.getInterpolatedSizes=function(a){var b=[];if(1==a)return[this.minSize];for(var c=0;a>c;c++)b.push(this.getSize(c/(a-1)));return b},ia.SizePalette.prototype.getSize=function(a){return null==a?this.minSize:(this.useSqrRoot&&(a=Math.sqrt(a)),this.minSize+a*(this.maxSize-this.minSize))},ia.BreaksCalculator=function(a){this._stats=new ia.Statistics,this._data=[],this._functions={},this.sdSize=1,this.errorMessage="Legend error defaulting to equal interval.",this.addFunction(ia.Thematic.CONTINUOUS,ia.Thematic.CONTINUOUS),this.addFunction(ia.Thematic.EQUAL_INTERVAL,ia.Thematic.EQUAL_INTERVAL),this.addFunction(ia.Thematic.QUANTILE,ia.Thematic.QUANTILE),this.addFunction(ia.Thematic.NATURAL,ia.Thematic.NATURAL),this.addFunction(ia.Thematic.STANDARD_DEVIATION,ia.Thematic.STANDARD_DEVIATION),void 0!=a&&this.setData(a)},ia.BreaksCalculator.prototype.addFunction=function(a,b){this._functions[a]=b},ia.BreaksCalculator.prototype.getStats=function(){return this._stats},ia.BreaksCalculator.prototype.getData=function(){return this._data},ia.BreaksCalculator.prototype.setData=function(a){this._data=a,this._stats.setData(a)},ia.BreaksCalculator.prototype.getBreaks=function(a,b){null==a&&(a=5),null==b&&(b="equalInterval");var c;try{if(0==this._stats.range&&"customClassifier"!=b)c=[this._stats.minValue];else{var d=this._functions[b];void 0!=d&&(c=d==ia.Thematic.CONTINUOUS?this.continuous(a):d==ia.Thematic.EQUAL_INTERVAL?this.equalIntervals(a):d==ia.Thematic.QUANTILE?this.quantiles(a):d==ia.Thematic.NATURAL?this.natural(a):d==ia.Thematic.STANDARD_DEVIATION?this.standardDeviation(a):d.call(null,a))}}catch(e){c=this.equalIntervals(a)}return c&&(c=c.filter(function(a,b,c){return b==c.indexOf(a)}).concat()),c},ia.BreaksCalculator.prototype.continuous=function(){return this._stats.range>0?this._stats.unique:null},ia.BreaksCalculator.prototype.equalIntervals=function(a){if(null==a&&(a=5),this._stats.range>0){var b=a+1,c=Array(b),d=this._stats.range/a;c[0]=this._stats.minValue;for(var e=1;a>e;e++)c[e]=parseFloat(this._stats.minValue)+e*d;return c[b-1]=this._stats.maxValue,c}return null},ia.BreaksCalculator.prototype.quantiles=function(a){null==a&&(a=5);for(var b=!1,c=this._quantileFunc(a,this._stats.sorted),d=c.length,e=0;d-1>e;e++)if(c[e]>=c[e+1]){b=!0;break}for(;b;)if(c=this._quantileFunc(a,this._stats.unique),d=c.length,1==d)b=!1;else for(e=0;d-1>e;e++){if(c[e]>=c[e+1]){a--,b=!0;break}b=!1}return c},ia.BreaksCalculator.prototype._quantileFunc=function(a,b){if(this._stats.range>0){this._stats.unique.length<a&&(a=this._stats.unique.length);var c=a+1,d=Array(c),e=1/a;d[0]=this._stats.minValue;for(var f=1;a>f;f++){var g=ia.round(e*f,2);d[f]=this._stats.getPercentile(g,b)}return d[c-1]=this._stats.maxValue,d}return null},ia.BreaksCalculator.prototype.natural=function(a){if(null==a&&(a=5),this._stats.range>0){var b=this._stats.unique.length;this._stats.unique.length<a&&(a=this._stats.unique.length);for(var c=Array(b+1),d=Array(b+1),e=1;b>=e;e++){c[e]=Array(a+1),d[e]=Array(a+1);for(var f=1;a>=f;f++)1==f?(c[e][f]=1,d[e][f]=0):d[e][f]=1/0}for(var g,h,i,j,k,l,e=2;b>=e;e++){j=i=h=g=0;for(var m=1;e>=m;m++)if(k=e-m+1,g=this._stats.unique[k-1],h++,i+=parseFloat(g),f=i/h,f*=f,g*=g,j+=parseFloat(g),g=j/h-f,l=k-1,0!=l)for(f=2;a>=f;f++)d[e][f]>=d[l][f-1]+g&&(c[e][f]=k,d[e][f]=d[l][f-1]+g);c[e][1]=1,d[e][1]=g}for(e=b,d=Array(a),d[a-1]=b-1,f=a;f>=2;f--)k=c[e][f]-2,d[f-2]=k,e=c[e][f]-1;for(a=[],a[0]=this._stats.minValue,e=0;e<=d.length-2;e++)a[a.length]=this._stats.unique[d[e]];return a[a.length]=this._stats.maxValue,a}return null},ia.BreaksCalculator.prototype.standardDeviation=function(){if(this._stats.range>0){var a,b=Array(5),c=Math.ceil(b.length/2),d=this._stats.mean,e=this._stats.standardDeviation*this.sdSize;b[0]=-(1/0);for(var f=1;5>=f;f++)a=f==c?d:d+e*(f-c),b[f]=a;return b[b.length]=1/0,b}return null},ia.Thematic=function(a){ia.Thematic.baseConstructor.call(this),this._data={},this._dataField="value",this._dataType="numeric",this._dataChanged=!0,this.colorField=void 0,this.symbol=ia.Shape.SQUARE,this.noDataValue="No Data",this.numericClassifier=new ia.NumericClassifier,this.categoricClassifier=new ia.CategoricClassifier,void 0!=a&&this.setData(a)},ia.extend(ia.EventDispatcher,ia.Thematic),ia.Thematic.CONTINUOUS="continuous",ia.Thematic.EQUAL_INTERVAL="equalInterval",ia.Thematic.QUANTILE="quantile",ia.Thematic.NATURAL="natural",ia.Thematic.STANDARD_DEVIATION="standardDeviation",ia.Thematic.NUMERIC="numeric",ia.Thematic.CATEGORIC="categoric",ia.Thematic.prototype.heatmap=!1,ia.Thematic.prototype.getData=function(){return this._data},ia.Thematic.prototype.setData=function(a){this._data=a,this._dataChanged=!0},ia.Thematic.prototype.getDataField=function(){return this._dataField},ia.Thematic.prototype.setDataField=function(a){this._dataField=a,this._dataChanged=!0},ia.Thematic.prototype.getDataType=function(){return this._dataType},ia.Thematic.prototype.setDataType=function(a){this._dataType=a,this._dataChanged=!0},ia.Thematic.prototype.getClasses=function(){return this.numericClassifier.getClasses().concat(this.categoricClassifier.getClasses())},ia.Thematic.prototype.getClass=function(a){return this._dataType==ia.Thematic.CATEGORIC?this.categoricClassifier.getClass(a):ia.isNumber(a)?this.numericClassifier.getClass(a):this.categoricClassifier.getClass(a)},ia.Thematic.prototype._updateTimeout=null,ia.Thematic.prototype.commitChanges=function(){this._commitChanges()},ia.Thematic.prototype._commitChanges=function(){if(this._updateTimeout=null,this._dataChanged){var a,b,c,d,e=[],f=[];for(d in this._data)a=this._data[d],b=a[this._dataField],c=a[this._dataField+"_formatted"],void 0!=this.colorField&&f.push(a[this.colorField]),this._dataType==ia.Thematic.CATEGORIC?f.push(b):ia.isNumber(b)?(b=void 0!==c?this.numericClassifier.formatter.unformat(c):b,e.push(b)):void 0==this.colorField&&f.push(b);this.numericClassifier.setData(e),this.categoricClassifier.setData(f)}this.categoricClassifier.noDataValue=this.noDataValue,this.numericClassifier.commitChanges(),this.categoricClassifier.commitChanges();for(var e=this.getClasses(),f=e.length,g=0;f>g;g++)c=e[g],c.symbol=this.symbol,c.index=g,c.getLabel()==this.noDataValue&&c.symbol!=ia.Shape.LINE&&c.symbol!=ia.Shape.SQUARE&&(c.size=0);if(void 0!=this.colorField)for(a=this.numericClassifier.getClasses(),g=0;g<a.length;g++)c=a[g],c.color="rgba(255, 255, 255, 0.5)";for(d in this._data){for(a=this._data[d],b=a[this._dataField],c=a[this._dataField+"_formatted"],b=void 0!==c?ia.isNumber(b)?this.numericClassifier.formatter.unformat(c):c:b,g=0;f>g;g++)if(c=e[g],c.contains(b)){a.color=c.color,a.symbolSize=c.size,a.legendClass=c,c.items.push(a);break}if(void 0!=this.colorField)for(var h=this.categoricClassifier.getClasses(),g=0;g<h.length;g++)c=h[g],c.contains(b)&&(a.color=c.color)}this.dispatchEvent(new ia.Event(ia.Event.THEME_CHANGED,this))},ia.NumericClassifier=function(a){this._breaks=[],this._classes=[],this._adjustedNoClasses=0,this._calculator=new ia.BreaksCalculator,this._data=[],this.formatter=new ia.Formatter,this.colorPalette=new ia.ColorPalette,this.sizePalette=new ia.SizePalette,this.classificationName=ia.Thematic.EQUAL_INTERVAL,this.labels=[],this.sdLabels=["> 2 SD below mean","1 - 2 SD below mean","0 - 1 SD below mean","0 - 1 SD above mean","1 - 2 SD above mean","> 2 SD above mean"],this.noClasses=5,this.minRule=ia.RangeClass.GREATER_THAN_OR_EQUAL_TO,this.maxRule=ia.RangeClass.LESS_THAN_OR_EQUAL_TO,void 0!=a&&this.setData(a)},ia.NumericClassifier.prototype.getData=function(){return this._data},ia.NumericClassifier.prototype.setData=function(a){this._data=a,this._calculator.setData(this._data)},ia.NumericClassifier.prototype.getBreaks=function(){return this._breaks},ia.NumericClassifier.prototype.getLabels=function(){for(var a=[],b=0;b<this._classes.length;b++)a[b]=this._classes[b].getLabel();return a},ia.NumericClassifier.prototype.getCalculator=function(){return this._calculator},ia.NumericClassifier.prototype.getClasses=function(){return this._classes},ia.NumericClassifier.prototype.commitChanges=function(){this.useEsriClassificationMethod?this._buildEsriClasses():this._buildClasses(),this._buildPalettes()},ia.NumericClassifier.prototype.getClass=function(a){for(var b=0;b<this._classes.length;b++){
var c=this._classes[b];if(c.contains(a))return c}return null},ia.NumericClassifier.prototype._buildEsriClasses=function(a){var b,c,d=!1;if(this._classes=[],this._breaks=this._calculator.getBreaks(this.noClasses,this.classificationName),null!=this._breaks)if(c=void 0!=a?a:void 0!=this.precision?this.precision:Math.max(ia.precision(this._breaks[0]),ia.precision(this._breaks[this._breaks.length-1])),a=this.classificationName==ia.Thematic.CONTINUOUS?this._breaks.length:1==this._breaks.length?1:this._breaks.length-1,1==this._breaks.length)b=new ia.NumberClass(this._breaks[0]),b.formatter=this.formatter,this._classes.push(b);else for(var e=0;a>e;e++)if(this.classificationName==ia.Thematic.CONTINUOUS)b=new ia.NumberClass(this._breaks[e]),b.formatter=this.formatter,this._classes.push(b);else{b=this.formatter.format(this._breaks[e],c);var f=this.formatter.format(this._breaks[e+1],c),g=this.formatter.unformat(b),h=this.formatter.unformat(f);0==e?g>this._breaks[e]&&(g=ia.roundDown(this._breaks[e],c),b=this.formatter.format(g,c)):e==a-1&&h<this._breaks[e+1]&&(h=ia.roundUp(this._breaks[e+1],c),f=this.formatter.format(h,c));var i=new ia.RangeClass(g,h);if(i.minRule=0==e?ia.RangeClass.GREATER_THAN_OR_EQUAL_TO:ia.RangeClass.GREATER_THAN,i.maxRule=ia.RangeClass.LESS_THAN_OR_EQUAL_TO,i.formatter=this.formatter,this._classes.push(i),this.labels.length>e)i.setLabel(this.labels[e]);else if(this.classificationName==ia.Thematic.STANDARD_DEVIATION&&this.sdLabels.length>e)i.setLabel(this.sdLabels[e]);else{if(g>h){d=!0;break}b==f?i.setLabel(b):0==e?i.setLabel(b+" - "+f):i.setLabel(" > "+b+" - "+f)}}else this._breaks=[],this._classes=[],a=0;this._adjustedNoClasses=a,d&&this._buildEsriClasses(c+1)},ia.NumericClassifier.prototype._buildClasses=function(a){var b,c,d=!1;if(this._classes=[],this._breaks=this._calculator.getBreaks(this.noClasses,this.classificationName),null!=this._breaks)if(c=void 0!=a?a:void 0!=this.precision?this.precision:ia.getPrecision(this._breaks),a=this.classificationName==ia.Thematic.CONTINUOUS?this._breaks.length:1==this._breaks.length?1:this._breaks.length-1,1==this._breaks.length)b=new ia.NumberClass(this._breaks[0]),b.formatter=this.formatter,this._classes.push(b);else for(var e=0;a>e;e++)if(this.classificationName==ia.Thematic.CONTINUOUS)b=new ia.NumberClass(this._breaks[e]),b.formatter=this.formatter,this._classes.push(b);else{var f=this._breaks[e],g=this._breaks[e+1];if(b=new ia.RangeClass(f,g),b.minRule=this.minRule,b.maxRule=this.maxRule,b.formatter=this.formatter,this._classes.push(b),this.labels.length>e)b.setLabel(this.labels[e]);else if(this.classificationName==ia.Thematic.STANDARD_DEVIATION&&this.sdLabels.length>e)b.setLabel(this.sdLabels[e]);else{if(f=this.formatter.format(f,c),g=this.formatter.format(g,c),this.minRule==ia.RangeClass.GREATER_THAN_OR_EQUAL_TO&&this.maxRule==ia.RangeClass.LESS_THAN_OR_EQUAL_TO&&0!=e&&(f=this.formatter.format(this._adjustBreak(f),c)),this.formatter.unformat(f)>this.formatter.unformat(g)){d=!0;break}f==g?b.setLabel(f):b.setLabel(f+" - "+g)}}else this._breaks=[],this._classes=[],a=0;this._adjustedNoClasses=a,d&&this._buildClasses(c+1)},ia.NumericClassifier.prototype._adjustBreak=function(a){var b=this.formatter.unformat(a);if(a.indexOf(this.formatter.decimalSeparatorTo)>-1){for(var a=a.length-a.toString().indexOf(this.formatter.decimalSeparatorTo)-1,c="0.",d=0;a>d;d++)c+=d==a-1?"1":"0";b=parseFloat(b)+parseFloat(c)}else b=parseFloat(b)+1;return b},ia.NumericClassifier.prototype._buildPalettes=function(){var a,b;if(this.classificationName==ia.Thematic.CONTINUOUS){var c=this._breaks.length,d=this._breaks[c-1]-this._breaks[0];a=[],this.sizePalette.useSqrRoot=!0,b=[];for(var e=0;c>e;e++){var f=(this._breaks[e]-this._breaks[0])/d;ia.isNumber(f)||(f=0),a.push(this.colorPalette.getColor(f)),b.push(this.sizePalette.getSize(f))}}else a=this.colorPalette.getInterpolatedColors(this._adjustedNoClasses),this.sizePalette.useSqrRoot=!1,b=this.sizePalette.getInterpolatedSizes(this._adjustedNoClasses);for(e=0;e<this._classes.length;e++)c=this._classes[e],c.color=a[e],c.size=b[e]},ia.CategoricClassifier=function(a){this._uniqueValues=[],this._classes=[],this._data=[],this.formatter=new ia.Formatter,this.colorPalette=new ia.ColorPalette,this.colorPalette.setColorList(ia.ColorPalette.CATEGORY_COLORS),this.symbolSize=10,this.noClasses=0,this.labels=[],this.breaks=[],this.uniqueValues=[],void 0!=a&&this.setData(a)},ia.CategoricClassifier.prototype.getData=function(){return this._data},ia.CategoricClassifier.prototype.setData=function(a){this._data=a,this._uniqueValues=this.breaks.length>0?this.breaks.concat():this._getUniqueValues(this._data)},ia.CategoricClassifier.prototype.getClasses=function(){return this._classes},ia.CategoricClassifier.prototype.commitChanges=function(){this._buildClasses(),this._buildPalettes();for(var a=0;a<this._classes.length;a++){var b=this._classes[a];void 0==this.colorPalette.matchColorsToValues[b.value]&&(this.colorPalette.matchColorsToValues[b.value]=b.color)}},ia.CategoricClassifier.prototype.getClass=function(a){for(var b=0;b<this._classes.length;b++){var c=this._classes[b];if(c.contains(a))return c}return null},ia.CategoricClassifier.prototype._getUniqueValues=function(a){var b=[];if(a.length>0){a=a.concat(),a.sort();for(var c,d=0,e=a.length,f=0;e>f;f++){var g=a[f];g!=c&&(b.push(g),d=0),c=g,d++}}return b},ia.CategoricClassifier.prototype._buildClasses=function(){this._classes=[],this.noClasses!=this._uniqueValues.length&&(this.noClasses=this._uniqueValues.length);for(var a=0,b=0;b<this.noClasses;b++){var c=new ia.CategoricClass(this._uniqueValues[b]);this.labels.length>a&&c.value!=this.noDataValue&&(c.setLabel(this.labels[a]),a++),c.formatter=this.formatter,this._classes.push(c)}},ia.CategoricClassifier.prototype._buildPalettes=function(){if(this._uniqueValues.length>0)for(var a=this.colorPalette.getMatchingColors(this._uniqueValues),b=0;b<this._classes.length;b++){var c=this._classes[b];c.color=a[b],c.size=this.symbolSize}},ia.LegendClass=function(a,b,c){this.formatter=new ia.Formatter,this.color="#FFFFFF",this.size=15,this.items=[],this.symbol=ia.Shape.SQUARE,this.index=0,null!=a&&(this.value=a),null!=b&&(this.color=b),null!=c&&(this.size=c)},ia.NumberClass=function(a,b,c){ia.NumberClass.baseConstructor.call(this,a,b,c),this._label=void 0},ia.extend(ia.LegendClass,ia.NumberClass),ia.NumberClass.prototype.getLabel=function(){return void 0!=this._label?this._label:this.formatter.format(this.value)},ia.NumberClass.prototype.setLabel=function(a){this._label=a},ia.NumberClass.prototype.contains=function(a){return parseFloat(a)==parseFloat(this.value)?!0:!1},ia.RangeClass=function(a,b,c,d){ia.RangeClass.baseConstructor.call(this,NaN,c,d),this._range=this._label=void 0,this.minValue=a,this.maxValue=b,this.minRule=ia.RangeClass.GREATER_THAN_OR_EQUAL_TO,this.maxRule=ia.RangeClass.LESS_THAN_OR_EQUAL_TO},ia.extend(ia.LegendClass,ia.RangeClass),ia.RangeClass.LESS_THAN="lessThan",ia.RangeClass.LESS_THAN_OR_EQUAL_TO="lessThanOrEqual",ia.RangeClass.GREATER_THAN="greaterThan",ia.RangeClass.GREATER_THAN_OR_EQUAL_TO="greaterThanOrEqual",ia.RangeClass.prototype.getLabel=function(){if(void 0!=this._label)return this._label;var a=this.formatter.format(this.minValue),b=this.formatter.format(this.maxValue);return a+" - "+b},ia.RangeClass.prototype.setLabel=function(a){this._label=a},ia.RangeClass.prototype.getRange=function(){return maxValue-minValue},ia.RangeClass.prototype.contains=function(a){if(ia.isNumber(a)){if(this.minRule==ia.RangeClass.GREATER_THAN){if(!(parseFloat(a)>this.minValue))return!1}else if(!(parseFloat(a)>=this.minValue))return!1;if(this.maxRule==ia.RangeClass.LESS_THAN){if(!(parseFloat(a)<this.maxValue))return!1}else if(!(parseFloat(a)<=this.maxValue))return!1;return!0}return!1},ia.CategoricClass=function(a,b,c){ia.CategoricClass.baseConstructor.call(this,a,b,c),this._label=void 0},ia.extend(ia.LegendClass,ia.CategoricClass),ia.CategoricClass.prototype.getLabel=function(){return void 0!=this._label?this._label:this.formatter.formatText(this.value)},ia.CategoricClass.prototype.setLabel=function(a){this._label=a},ia.CategoricClass.prototype.contains=function(a){return a==this.value?!0:!1},ia.ComponentFactory=function(a,b,c){for(this._config=a,this._report=b,this._componentGroups=c,this._dataGroups=[],this._factories={},a=0;a<this._componentGroups.length;a++){var d=c[a];this.buildInteractionGroups(b,d.dataGroup,d.interactionGroup,d.comparisonInteractionGroup),this._dataGroups[a]=d.dataGroup}},ia.ComponentFactory.prototype.update=function(a,b){var a=this._getParentComponentId(a),c=this._factories[a];void 0!=c?c.update(function(){b.call(null,a)}):b.call(null,a)},ia.ComponentFactory.prototype.render=function(a,b){var a=this._getParentComponentId(a),c=this._factories[a];void 0!=c?c.render(function(){b.call(null,a)}):b.call(null,a)},ia.ComponentFactory.registerRuntimeFactory=function(a,b){ia.ComponentFactory._runtimeFactories[a]=b},ia.ComponentFactory._runtimeFactories={},ia.ComponentFactory.prototype.build=function(a,b){var c=this,d=this._config.getComponent(a);if(d){var e=this._getSuffix(a),f=this._getType(a),g=e-1;if(""==e&&(g=0),e=this._componentGroups[g],void 0!=e){var h;"legend"==f?h=new ia.LegendFactory(d,this._report,e):"featureLegend"==f?h=new ia.FeatureLegendFactory(d,this._report,e):"areaBreakdownBarChart"==f?h=new ia.AreaBreakdownBarChartFactory(d,this._report,e):"areaBreakdownLineChart"==f?h=new ia.AreaBreakdownLineChartFactory(d,this._report,e):"areaBreakdownPieChart"==f?h=new ia.AreaBreakdownPieChartFactory(d,this._report,e):"barChart"==f?h=new ia.BarChartFactory(d,this._report,e):"gridChart"==f?h=new ia.GridChartFactory(d,this._report,e):"boxAndWhisker"==f?h=new ia.BoxAndWhiskerFactory(d,this._report,e):"timeSeries"==f?h=new ia.TimeSeriesFactory(d,this._report,e):"discreteTimeSeries"==f?h=new ia.DiscreteTimeSeriesFactory(d,this._report,e):"stackedTimeSeries"==f?h=new ia.StackedTimeSeriesFactory(d,this._report,e):"stackedFeaturesTimeSeries"==f?h=new ia.StackedFeaturesFactory(d,this._report,e):"stackedBarChart"==f?h=new ia.StackedBarFactory(d,this._report,e):"pyramidChart"==f?h=new ia.PyramidChartFactory(d,this._report,e):"timeControl"==f?h=new ia.TimeControlFactory(d,this._report,e):"featureCard"==f?h=new ia.FeatureCardFactory(d,this._report,e):"metadata"==f?h=new ia.MetadataFactory(d,this._report,e):"textbox"==f?h=new ia.TextBoxFactory(d,this._report,e):"statsbox"==f?h=new ia.StatsBoxFactory(d,this._report,e):"advancedPieChart"==f?h=new ia.AdvancedPieChartFactory(d,this._report,e):"pieChart"==f?h=new ia.PieChartFactory(d,this._report,e):"dataExplorer"==f?h=new ia.DataExplorerFactory(d,this._report,e):"geogExplorer"==f?h=new ia.GeogExplorerFactory(d,this._report,e):"filterExplorer"==f?h=new ia.FilterExplorerFactory(d,this._report,e):"menuBar"==f?h=new ia.MenuBarFactory(d,this._report,e):"spineChart"==f?h=new ia.AreaProfileFactory(d,this._report,e):"radarChart"==f?h=new ia.RadarFactory(d,this._report,e):"map"==f?h=new ia.MapFactory(d,this._report,e):"dimensionsExplorer"==f?h=new ia.DimensionsFactory(d,this._report,e):"dropdownExplorer"==f?h=new ia.DropdownExplorerFactory(d,this._report,e):"scatterPlot"==f?h=new ia.ScatterPlotFactory(d,this._report,this._dataGroups,e.interactionGroup,e.comparisonInteractionGroup):"table"==f?this._config.template==ia.DOUBLE_GEOG_REPORT||this._config.template==ia.DOUBLE_BASELAYER_REPORT?(g=this._dataGroups[g],h=new ia.DataTableFactory(d,this._report,[g],e.interactionGroup,e.comparisonInteractionGroup)):h=new ia.DataTableFactory(d,this._report,this._dataGroups,e.interactionGroup,e.comparisonInteractionGroup):"comparisonTable"==f?this._config.template==ia.DOUBLE_GEOG_REPORT||this._config.template==ia.DOUBLE_BASELAYER_REPORT?(g=this._dataGroups[g],h=new ia.ComparisonTableFactory(d,this._report,[g],e.interactionGroup,e.comparisonInteractionGroup)):h=new ia.ComparisonTableFactory(d,this._report,this._dataGroups,e.interactionGroup,e.comparisonInteractionGroup):f&&ia.ComponentFactory._runtimeFactories[f]&&(h=new ia.ComponentFactory._runtimeFactories[f](d,this._report,e)),void 0!=h?(this._factories[d.id]=h,"map"!=f||this._config.template!=ia.DOUBLE_BASELAYER_REPORT&&this._config.template!=ia.DOUBLE_BASELAYER_REPORT_NEW?h.build(function(){h.update(function(){h.render(function(){b.call(null,a)})})}):h.build(function(){h.update(function(){h.render(function(){factory2=new ia.MapFactory(void 0,c._report,c._componentGroups[1]),factory2.build(function(){factory2.update(function(){factory2.render(function(){b.call(null,a)})})})})})})):(h=this._factories[this._getParentComponentId(a)])?h.build(function(){h.update(function(){h.render(function(){b.call(null,a)})})}):b.call(null,a)}else b.call(null,a)}else b.call(null,a)},ia.ComponentFactory.prototype.buildComponents=function(a){function b(){f++,f==e?a.call(null):c.build(d[f].id,b)}var c=this,d=c._config.getComponents(),e=d.length,f=0;e>0?c.build(d[0].id,b):a.call(null)},ia.ComponentFactory.prototype.renderComponents=function(a){function b(){f++,f==e?a.call(null):c.render(d[f].id,b)}var c=this,d=c._config.getComponents(),e=d.length,f=0;e>0?c.render(d[0].id,b):a.call(null)},ia.ComponentFactory.prototype.updateComponents=function(a){function b(){f++,f==e?a.call(null):c.update(d[f].id,b)}var c=this,d=c._config.getComponents(),e=d.length,f=0;e>0?c.update(d[0].id,b):a.call(null)},ia.ComponentFactory.prototype._getParentComponentId=function(a){var b=a;return-1!=a.indexOf("areaBreakdownPieLegend")&&(b=a.replace("areaBreakdownPieLegend","areaBreakdownPieChart")),-1!=a.indexOf("pyramidLegend")&&(b=a.replace("pyramidLegend","pyramidChart")),-1!=a.indexOf("profileLegend")&&(b=a.replace("profileLegend","spineChart")),-1!=a.indexOf("stackedLegend")&&(b=void 0!=this._factories.stackedTimeSeries?a.replace("stackedLegend","stackedTimeSeries"):a.replace("stackedLegend","stackedBarChart")),b},ia.ComponentFactory.prototype._getSuffix=function(a){var b=a.slice(-1);return ia.isNumber(b)||(b=""),-1!=a.indexOf("_")&&(b=a.slice(-3).charAt(0),ia.isNumber(b)||(b="")),b},ia.ComponentFactory.prototype._getType=function(a){var b=a,c=a.slice(-1);return ia.isNumber(c)&&(b=b.substring(0,b.length-1)),-1!=a.indexOf("_")&&(b=a,c=a.slice(-3).charAt(0),b=ia.isNumber(c)?b.substring(0,b.length-3):b.substring(0,b.length-2)),b},ia.ChartFactory=function(a,b,c){var d=c.interactionGroup,e=c.dataGroup,f=c.comparisonInteractionGroup;this.buildChart=function(c,e,g){c.formatter=b.locale.formatter,b.addComponent(a.id,c),e&&(e.setVisible(!0),e.interactive=!0,c.addLayer(e),d.addComponent(e)),g&&(g.setVisible(!0),g.interactive=!0,c.addLayer(g),f.addComponent(g))},this.updateChart=function(c,d,f){var g=e.indicator;c.orientation=a.getProperty("orientation"),c.fixedMinValue=g.getProperty(a.getProperty("minChartValue")),c.fixedMaxValue=g.getProperty(a.getProperty("maxChartValue")),void 0!=c.fixedMinValue&&void 0!=c.fixedMaxValue?c.useTightLabels=!0:a.getProperty("useFixedValues")?(c.useTightLabels=!0,c.fixedMinValue=a.getProperty("fixedMinValue"),c.fixedMaxValue=a.getProperty("fixedMaxValue")):c.useTightLabels=a.getProperty("useTightLabels"),g=a.getProperty("xAxisTitle"),c.xAxisTitle=g?b.textSubstitution.formatMessage(g):void 0,g=a.getProperty("yAxisTitle"),c.yAxisTitle=g?b.textSubstitution.formatMessage(g):void 0,d&&(d.highlightColor=b.highlightColor,d.selectionColor=b.selectionColor,d.dataField=-1!=c.id.indexOf("timeSeries")?a.getProperty("data"):a.getProperty("data")||"value",d.tip=a.getProperty("tip"),void 0!=a.getProperty("matchAxisToSelectedData"))&&(d.matchAxisToSelectedData=a.getProperty("matchAxisToSelectedData")),f&&(f.highlightColor=b.highlightColor,f.selectionColor=b.selectionColor,f.dataField=a.getProperty("data")||"value",f.tip=a.getProperty("tip"),f.displayAll=a.getProperty("showComparison"),void 0!=a.getProperty("matchAxisToSelectedData"))&&(f.matchAxisToSelectedData=a.getProperty("matchAxisToSelectedData"))},this.build=function(b){void 0!=b&&b.call(null,a.id)},this.update=function(b){void 0!=b&&b.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.LegendFactory=function(a,b,c){function d(){var a=g.indicator.getProperty(b.config.getProperty("customBreaksKey"+g.suffix));if(1==g.thematic.heatmap)m.showLegendTypePanel=!1,m.showPalettePanel=!0,m.showSizePanel=!1;else if(a)m.showLegendTypePanel=!1,m.showLegendTools=!1,m.showPalettePanel=!0,m.showSizePanel=!1;else{a=b.config.getProperty("showLegendTypePanel"),void 0==a&&(a=!0);var c=b.config.getProperty("showLegendTools");void 0==c&&(c=!0);var d=b.config.getProperty("showPalettePanel");void 0==d&&(d=!0);var e=b.config.getProperty("showSizePanel");void 0==e&&(e=!0),m.showLegendTypePanel=a,m.showLegendTools=c,m.showPalettePanel=d,m.showSizePanel=e}m.render()}var e=this,f=c.interactionGroup,g=c.dataGroup;g.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){e.update(),e.render()}),g.addEventListener(ia.Event.THEMATIC_CHANGED,function(){e.update(),e.render()});var h=b.getWidget(a.id);h.settingsFunction=function(b){1==a.getProperty("showLegendEditorButton")&&d(),iaToggleCallout(a.id+"-callout",b)},h.exportFunction=function(a){iaExportPanel(h,a)};var i,j,k,l,m;this.build=function(c){h.content.empty(),i=new ia.DiscreteLegend(a.id+"-discrete"),(b.config.template==ia.SPINE_REPORT||b.config.template==ia.ELECTION_REPORT)&&(i.interactive=!1),i.thematic=g.thematic,f.addComponent(i),j=new ia.GradientLegend(a.id+"-gradient"),j.thematic=g.thematic,f.addComponent(j),k=new ia.LayerList(a.id),k.discreteLegend=i,k.gradientLegend=j,h.append(k.container),b.addComponent(a.id,k),l=new ia.CalloutBox(a.id+"-callout","left-right"),l.popup(!0),b.addCallout(l),m=new ia.LegendEditor(g.thematic,b.config,g.legendSettings),l.container.append(m.container),void 0!=c&&c.call(null,a.id)},this.update=function(c){i.highlightColor=b.highlightColor,i.selectionColor=b.selectionColor,j.highlightColor=b.highlightColor,j.selectionColor=b.selectionColor,1==a.getProperty("showLegendEditorButton")?(d(),h.hasSettings(!0)):h.hasSettings(!1),m.render(),k.mapData=g.mapData,i.style=g.mapData.baseLayer.style,void 0!=c&&c.call(null,a.id)},this.render=function(b){var c=g.indicator,d=g.thematic,e=c.getDataType(d.getDataField());k.render(),e!=ia.Thematic.CATEGORIC&&d.numericClassifier.classificationName==ia.Thematic.CONTINUOUS?(j.precision=c.precision,j.show(),j.render(),i.renderCategoric()):(j.hide(),i.render()),void 0!=b&&b.call(null,a.id)}},ia.FeatureLegendFactory=function(a,b,c){var d=this,e=c.interactionGroup,f=c.dataGroup;f.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){d.update(),d.render()});var g=b.getWidget(a.id);g.exportFunction=function(a){iaExportPanel(g,a)};var h;this.build=function(c){g.content.empty(),h=new ia.FeatureLegend(a.id),g.append(h.container),e.addComponent(h),b.addComponent(a.id,h),void 0!=c&&c.call(null,a.id)},this.update=function(c){h.highlightColor=b.highlightColor,h.selectionColor=b.selectionColor,a.getProperty("layout")&&(h.layout=a.getProperty("layout"));var d=a.getProperty("colorSchemeId");h.colorPalette=b.config.getMapPalette().getColorScheme(d),h.geography=f.geography,h.clearSelection(),void 0!=c&&c.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.AreaBreakdownBarChartFactory=function(a,b,c){ia.AreaBreakdownBarChartFactory.baseConstructor.call(this,a,b,c);var d=this,e=c.interactionGroup,f=c.dataGroup,c=c.comparisonInteractionGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()}),c.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){j.dataChanged=!0,d.render()});var g=b.getWidget(a.id);g.exportFunction=function(a){iaExportPanelWithChart(g,h,!1,a)};var h,i,j,k=[],l=function(){i.dataChanged=!0,d.render()};this.build=function(b){g.content.empty(),h=new ia.TimeBarChart(a.id),h.wrapXAxisLabels=!0,i=new ia.TimeBarLayer,i.tipFunction=function(b,c){return ia.breakdownTipFunction(b,c,a.id)},j=new ia.ComparisonTimeBarLayer,j.thematic=f.comparisonThematic,j.tipFunction=function(b,c){return ia.breakdownTipFunction(b,c,a.id)},d.buildChart(h,i,j),i.interactive=!1,h.addEventListener(ia.Event.MAP_READY,function(){void 0!=b&&b.call(null,a.id)}),g.append(h.container)},this.update=function(c){d.updateChart(h,i,j),h.drawBarsFromZero=a.getProperty("drawBarsFromZero"),a.getProperty("matchAxisToSelectedData")?e.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,l,this):e.removeListener(this);var g=!1;void 0!=a.getProperty("colorBarsByCategory")&&(g=a.getProperty("colorBarsByCategory")),i.colorBarsByCategory=g,b.config.getComponent("featureLegend"+f.suffix)&&!g?(g=b.config.getComponent("featureLegend"+f.suffix),g=g.getProperty("colorSchemeId"),i.colorPalette=b.config.getMapPalette().getColorScheme(g)):b.config.getComponent("featureLegend")&&!g?(g=b.config.getComponent("featureLegend"),g=g.getProperty("colorSchemeId"),i.colorPalette=b.config.getMapPalette().getColorScheme(g)):a.getProperty("colorSchemeId")&&(i.colorPalette=b.config.getMapPalette().getColorScheme(a.getProperty("colorSchemeId")));var m=f.theme,g=f.indicator;if(k=[],"associate"==a.getProperty("datasource")){var n=a.getProperty("ignoreAssociateIds"),o=g.getAssociates();if(n)for(m=0;m<o.length;m++){for(var p=o[m],q=!0,r=0;r<n.length;r++)if(p.id==n[r]){q=!1;break}q&&p.type!=ia.Thematic.CATEGORIC&&(k[k.length]=p.id)}else for(m=0;m<o.length;m++)p=o[m],p.type!=ia.Thematic.CATEGORIC&&(k[k.length]=p.id);if(n=g.getAssociateData(k),i.setData(n),n=g.getAssociateComparisonData(k),j.setData(n),g=a.getProperty("associateLabels"))for(m=n=0;m<k.length;m++)n<g.length&&(k[m]=g[n],n++)}else if(void 0!=g.date)for(n=m.getDataForDate(g.date),i.setData(n),n=m.getComparisonDataForDate(g.date),j.setData(n),n=m.getIndicators(),m=0;m<n.length;m++)o=n[m],o.date==g.date&&o.type!=ia.Thematic.CATEGORIC&&(k[k.length]=o.name);else for(n=m.getData(),i.setData(n),n=m.getComparisonData(),j.setData(n),n=m.getIndicators(),m=0;m<n.length;m++)o=n[m],o.type!=ia.Thematic.CATEGORIC&&(k[k.length]=o.name);k.length>0&&(h.orientation=a.getProperty("orientation"),"vertical"==h.orientation?(h.xAxisLabels=k,h.yAxisLabels=void 0):(h.xAxisLabels=void 0,h.yAxisLabels=k)),void 0!=c&&c.call(null,a.id)},this.render=function(b){k.length>0?(g.text(""),h.show(),h.render()):(h.hide(),g.text(a.getProperty("notAvailableText"))),b&&(b.call(null,a.id),b=void 0),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.AreaBreakdownBarChartFactory),ia.AreaBreakdownLineChartFactory=function(a,b,c){ia.AreaBreakdownLineChartFactory.baseConstructor.call(this,a,b,c);var d=this,e=c.interactionGroup,f=c.dataGroup,c=c.comparisonInteractionGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()}),c.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){j.dataChanged=!0,d.render()});var g=b.getWidget(a.id);g.exportFunction=function(a){iaExportPanelWithChart(g,h,!1,a)};var h,i,j,k=[],l=function(){i.dataChanged=!0,d.render()};this.build=function(b){g.content.empty(),h=new ia.TimeChart(a.id),h.wrapXAxisLabels=!0,i=new ia.TimeLayer,j=new ia.ComparisonTimeLayer,j.thematic=f.comparisonThematic,d.buildChart(h,i,j),h.addEventListener(ia.Event.MAP_READY,function(){void 0!=b&&b.call(null,a.id)}),g.append(h.container)},this.update=function(c){if(d.updateChart(h,i,j),a.getProperty("matchAxisToSelectedData")?e.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,l,this):e.removeListener(this),b.config.getComponent("featureLegend"+f.suffix)){var g=b.config.getComponent("featureLegend"+f.suffix),g=g.getProperty("colorSchemeId");i.colorPalette=b.config.getMapPalette().getColorScheme(g)}else b.config.getComponent("featureLegend")?(g=b.config.getComponent("featureLegend"),g=g.getProperty("colorSchemeId"),i.colorPalette=b.config.getMapPalette().getColorScheme(g)):a.getProperty("colorSchemeId")&&(i.colorPalette=b.config.getMapPalette().getColorScheme(a.getProperty("colorSchemeId")));var m=f.theme,g=f.indicator;if(k=[],"associate"==a.getProperty("datasource")){var n=a.getProperty("ignoreAssociateIds");if(n)for(var o=g.getAssociates(),m=0;m<o.length;m++){for(var p=o[m],q=!0,r=0;r<n.length;r++)if(p.id==n[r]){q=!1;break}q&&p.type!=ia.Thematic.CATEGORIC&&(k[k.length]=p.id)}else for(o=g.getAssociates(),m=0;m<o.length;m++)p=o[m],p.type!=ia.Thematic.CATEGORIC&&(k[k.length]=p.id);n=g.getAssociateData(k),i.setData(n),n=g.getAssociateComparisonData(k),j.setData(n),(g=a.getProperty("associateLabels"))&&(k=g)}else if(void 0!=g.date)for(n=m.getDataForDate(g.date),i.setData(n),n=m.getComparisonDataForDate(g.date),j.setData(n),n=m.getIndicators(),m=0;m<n.length;m++)o=n[m],o.date==g.date&&o.type!=ia.Thematic.CATEGORIC&&(k[k.length]=o.name);else for(n=m.getData(),i.setData(n),n=m.getComparisonData(),j.setData(n),n=m.getIndicators(),m=0;m<n.length;m++)o=n[m],o.type!=ia.Thematic.CATEGORIC&&(k[k.length]=o.name);k.length>0&&(h.orientation=a.getProperty("orientation"),"vertical"==h.orientation?(h.xAxisLabels=k,h.yAxisLabels=void 0):(h.xAxisLabels=void 0,h.yAxisLabels=k)),void 0!=c&&c.call(null,a.id)},this.render=function(b){k.length>0?(g.text(""),h.show(),h.render()):(h.hide(),g.text(a.getProperty("notAvailableText"))),b&&(b.call(null,a.id),b=void 0),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.AreaBreakdownLineChartFactory),ia.AreaBreakdownPieChartFactory=function(a,b,c){var d=this,e=c.interactionGroup,f=c.dataGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()});var g=b.getWidget(a.id);g.exportFunction=function(a){iaExportPanel(g,a)};var h,i,j,k=[];this.build=function(c){var d=b.config.getComponent("areaBreakdownPieLegend"+f.suffix);d&&void 0==i&&(i=new ia.DiscreteLegend(d.id),i.container.addClass("ia-profile-legend"),i.interactive=!1,j=b.getWidget(d.id),j.append(i.container),b.addComponent(d.id,i),j.exportFunction=function(a){iaExportPanel(j,a)}),void 0==h?(g.content.empty(),h=new ia.AreaBreakdownPieComponent(a.id,a.getProperty("layout")),h.tip=a.getProperty("tip"),h.title1=a.getProperty("title1"),h.title2=a.getProperty("title2"),h.build(function(){void 0!=c&&c.call(null,a.id)}),g.append(h.container),b.addComponent(a.id,h),e.addComponent(h)):void 0!=c&&c.call(null,a.id)},this.update=function(c){var d=b.config.getComponent("areaBreakdownPieLegend"+f.suffix);i&&d&&d.getProperty("layout")&&(i.layout=d.getProperty("layout")),h.highlightColor=b.highlightColor,h.selectionColor=b.selectionColor,h.layout=a.getProperty("layout"),h.tip=a.getProperty("tip"),h.title1=a.getProperty("title1"),h.title2=a.getProperty("title2"),h.thematic.categoricClassifier.colorPalette=b.config.getMapPalette().getColorScheme(a.getProperty("colorSchemeId"));var e=f.theme,g=f.indicator;if(k=[],d={},"associate"==a.getProperty("datasource")){h.setData(f.indicatorData);var j=a.getProperty("ignoreAssociateIds");if(j)for(g=g.getAssociates(),e=0;e<g.length;e++){for(var l=g[e],m=!0,n=0;n<j.length;n++)if(l.id==j[n]){m=!1;break}m&&l.type!=ia.Thematic.CATEGORIC&&(k[k.length]=l.id,d[l.id]={value:l.id})}else for(g=g.getAssociates(),e=0;e<g.length;e++)l=g[e],l.type!=ia.Thematic.CATEGORIC&&(d[l.id]={value:l.id},k[k.length]=l.id);(e=a.getProperty("associateLabels"))&&(h.thematic.categoricClassifier.labels=e)}else if(void 0!=g.date)for(j=e.getDataForDate(g.date),h.setData(j),j=e.getIndicators(),e=0;e<j.length;e++)l=j[e],l.date==g.date&&l.type!=ia.Thematic.CATEGORIC&&(d[l.name]={value:l.name},k[k.length]=l.name);else for(j=e.getData(),h.setData(j),j=e.getIndicators(),e=0;e<j.length;e++)l=j[e],l.type!=ia.Thematic.CATEGORIC&&(k[k.length]=l.name,d[l.name]={value:l.name});h.thematic.categoricClassifier.breaks=k,h.thematic.setData(d),h.thematic.commitChanges(),i&&(i.thematic=h.thematic),h.build(function(){void 0!=c&&c.call(null,a.id)})},this.render=function(b){k.length>0?(g.text(""),h.show(),h.render(),i&&(j.text(""),i.show(),i.render())):(h.hide(),g.text(a.getProperty("notAvailableText")),i&&(i.hide(),j.text(a.getProperty("notAvailableText")))),void 0!=b&&b.call(null,a.id)}},ia.BarChartFactory=function(a,b,c){ia.BarChartFactory.baseConstructor.call(this,a,b,c);var d=this,e=c.dataGroup,c=c.comparisonInteractionGroup;e.addEventListener(ia.Event.THEMATIC_CHANGED,function(){d.update(),d.render()}),c.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){d.update(),d.render()});var f=b.getWidget(a.id);f.exportFunction=function(a){g.isVisible?iaExportPanelWithChart(f,g,!1,a):j.isVisible&&iaExportPanelWithChart(f,j,!1,a)};var g,h,i,j,k;this.build=function(b){f.content.empty(),j=new ia.BarChart("countChart"+e.suffix),k=new ia.CountLayer,k.thematic=e.thematic,d.buildChart(j,k),g=new ia.BarChart(a.id),h=new ia.BarLayer,h.tipFunction=function(b){return ia.tipFunction(b,a.id)},i=new ia.ComparisonLineLayer,i.tipFunction=function(b){return ia.tipFunction(b,a.id)},d.buildChart(g,h,i);var c=0;g.addEventListener(ia.Event.MAP_READY,function(){void 0!=b&&(c++,2==c&&b.call(null,a.id))}),j.addEventListener(ia.Event.MAP_READY,function(){void 0!=b&&(c++,2==c&&b.call(null,a.id))}),f.append(g.container),f.append(j.container)},this.update=function(b){var c=e.indicator.getDataType(a.getProperty("data"));d.updateChart(j,k),j.drawBarsFromZero=a.getProperty("drawBarsFromZero"),k.sortDirection=a.getProperty("sortDirection"),d.updateChart(g,h,i),g.drawBarsFromZero=a.getProperty("drawBarsFromZero"),h.errorBarColor=a.getProperty("errorBarColor"),h.sortDirection=a.getProperty("sortDirection"),c==ia.Thematic.CATEGORIC?k.setData(e.indicatorData):(h.setData(e.indicatorData),i.setData(e.comparisonData)),void 0!=b&&b.call(null,a.id)},this.render=function(b){e.indicator.getDataType(h.dataField)==ia.Thematic.CATEGORIC?(g.hide(),f.text(""),j.container.css({visibility:"visible"}),j.show(),j.render()):(j.hide(),j.container.css({visibility:"hidden"}),f.text(""),g.show(),g.render()),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.BarChartFactory),ia.GridChartFactory=function(a,b,c){ia.GridChartFactory.baseConstructor.call(this,a,b,c);var d=this,e=c.dataGroup;e.addEventListener(ia.Event.THEMATIC_CHANGED,function(){d.update(),d.render()});var f=b.getWidget(a.id);f.exportFunction=function(a){g.isVisible&&iaExportPanelWithChart(f,chart,!1,a)};var g,h;this.build=function(b){f.content.empty(),g=new ia.GridChart(a.id),h=new ia.GridLayer,h.tipFunction=function(b){return ia.tipFunction(b,a.id)},d.buildChart(g,h),g.addEventListener(ia.Event.MAP_READY,function(){void 0!=b&&b.call(null,a.id)}),f.append(g.container)},this.update=function(b){d.updateChart(g,h),h.setData(e.indicatorData),void 0!=b&&b.call(null,a.id)},this.render=function(b){g.render(),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.GridChartFactory),ia.BoxAndWhiskerFactory=function(a,b,c){ia.BoxAndWhiskerFactory.baseConstructor.call(this,a,b,c);var d=this,e=c.dataGroup,c=c.comparisonInteractionGroup;e.addEventListener(ia.Event.THEMATIC_CHANGED,function(){d.update(),d.render()}),c.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){d.update(),d.render()});var f=b.getWidget(a.id);f.exportFunction=function(a){iaExportPanelWithChart(f,g,!1,a)};var g,h,i;this.build=function(b){f.content.empty(),g=new ia.BoxChart(a.id),h=new ia.BoxLayer,h.tipFunction=function(b){return ia.tipFunction(b,a.id)},i=new ia.ComparisonLineLayer,i.tipFunction=function(b){return ia.tipFunction(b,a.id)},d.buildChart(g,h,i),g.addEventListener(ia.Event.MAP_READY,function(){void 0!=b&&b.call(null,a.id)}),f.append(g.container)},this.update=function(b){d.updateChart(g,h,i),h.sortDirection=a.getProperty("sortDirection"),h.largestObservationField=a.getProperty("largestObservationField"),h.upperQuartileField=a.getProperty("upperQuartileField"),h.medianField=a.getProperty("medianField"),h.lowerQuartileField=a.getProperty("lowerQuartileField"),h.smallestObservationField=a.getProperty("smallestObservationField"),h.setData(e.indicatorData),i.setData(e.comparisonData),a.getProperty("showComparison")&&i.selectAll(),void 0!=b&&b.call(null,a.id)},this.render=function(b){var c=e.indicator.getDataType(h.dataField);c==ia.Thematic.CATEGORIC||0==c?(g.hide(),f.text(a.getProperty("notAvailableText"))):(g.show(),f.text(""),
g.render()),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.BoxAndWhiskerFactory),ia.TimeSeriesFactory=function(a,b,c){function d(){var c=g.theme.getIndicators(g.indicator.id);m=[];var d=b.config.getComponent("timeSeriesLineLegend"+g.suffix);n&&d&&d.getProperty("layout")&&(n.layout=d.getProperty("layout")),d=j.thematic.categoricClassifier,d.colorPalette=b.config.getMapPalette().getColorScheme(a.getProperty("colorSchemeId")),d.colorPalette.matchColorsToValues={};var e={},h=[];m=[],void 0!=j.dataField&&(m[m.length]=j.dataField,h[h.length]="value",e.value={value:"value"});var i=a.getProperty("ignoreAssociateIds");if(i)for(var k=0;k<c.length;k++)for(var o=c[k].getAssociates(),p=0;p<o.length;p++){for(var q=o[p],r=!0,s=0;s<i.length;s++)if(q.id==i[s]){r=!1;break}r&&q.type!=ia.Thematic.CATEGORIC&&(m[m.length]=q.id,void 0==e[q.id])&&(h[h.length]=q.id,e[q.id]={value:q.id})}else for(k=0;k<c.length;k++)for(o=c[k].getAssociates(),p=0;p<o.length;p++)q=o[p],q.type!=ia.Thematic.CATEGORIC&&void 0==e[q.id]&&(m[m.length]=q.id,h[h.length]=q.id,e[q.id]={value:q.id});if(j.dataFields=m,l.dataFields=m,c=a.getProperty("associateLabels"),void 0!=c){for(i={},p=0;p<m.length;p++)c.length>p&&(i[m[p]]=c[p]);j.associateNames=i,l.associateNames=i,d.labels=c}if(d.breaks=h,j.thematic.setData(e),j.thematic.commitChanges(),n){for(e=j.selectionColor,(b.config.getComponent("featureLegend"+g.suffix)||b.config.getComponent("featureLegend"))&&(e="single"==f.selectionMode?j.colorPalette.getColorAtIndex(0):j.highlightColor),h=[],p=0;p<m.length;p++)i=new ia.CategoricClass(m[p]),i.color=e,(k=d.getClass(m[p]))&&(i.color=k.color),i.size=j.style.lineWidth,i.symbol=ia.Shape.LINE,i.value=m[p],c&&c.length>p&&i.setLabel(c[p]),h[h.length]=i;n.legendClasses=h}}ia.TimeSeriesFactory.baseConstructor.call(this,a,b,c);var e=this,f=c.interactionGroup,g=c.dataGroup,c=c.comparisonInteractionGroup;g.addEventListener(ia.DataEvent.DATA_CHANGED,function(){e.update(),e.render()}),c.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){e.update(),e.render()});var h=b.getWidget(a.id);h.exportFunction=function(a){iaExportPanelWithChart(h,i,!1,a)};var i,j,k,l,m,n,o,p=function(){j.dataChanged=!0,e.render()};this.build=function(c){var d=b.config.getComponent("timeSeriesLineLegend"+g.suffix);d&&void 0==n&&(n=new ia.ProfileLegend(d.id),o=b.getWidget(d.id),o.append(n.container),b.addComponent(d.id,n),o.exportFunction=function(a){ia.getDataUrl(o.content,function(b){iaExportDataUrl(b,a)})}),h.content.empty(),i=new ia.TimeChart(a.id),i.wrapXAxisLabels=!0,j=new ia.TimeLayer,j.tipFunction=function(b,c){return ia.timeTipFunction(b,c,a.id)},1==a.getProperty("showBoxAndWhisker")&&(k=new ia.TimeBoxLayer,k.setVisible(!0),k.interactive=!0,i.addLayer(k)),l=new ia.ComparisonTimeLayer,l.thematic=g.comparisonThematic,l.tipFunction=function(b,c){return ia.timeTipFunction(b,c,a.id)},e.buildChart(i,j,l),i.addEventListener(ia.Event.MAP_READY,function(){void 0!=c&&c.call(null,a.id)}),h.append(i.container)},this.update=function(c){e.updateChart(i,j,l),k&&(k.highlightColor=j.highlightColor,k.selectionColor=j.selectionColor,k.dataField=j.dataField,k.matchAxisToSelectedData=j.matchAxisToSelectedData,k.tip=a.getProperty("boxAndWhiskerTip"));var h=g.theme,m=g.indicator,n=m.getDataType(j.dataField),h=h.getIndicatorDates(m.id);if(n!=ia.Thematic.CATEGORIC&&void 0!=h&&h.length>0){var o=a.getProperty("dropDates"),n=h.concat();void 0!=o&&o.length>0&&(n=h.filter(function(a){return o.indexOf(a)<0})),"vertical"==i.orientation?(i.xAxisLabels=n,i.yAxisLabels=void 0):(i.xAxisLabels=void 0,i.yAxisLabels=n),void 0!=o&&o.length>0&&(j.dropDates=o.concat(),l.dropDates=o.concat()),j.drawLinesThroughMissingValues=a.getProperty("drawLinesThroughMissingValues"),j.highlightSelectedDate=a.getProperty("highlightSelectedDate"),a.getProperty("matchAxisToSelectedData")?f.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,p,this):f.removeListener(this),b.config.getComponent("featureLegend"+g.suffix)?(n=b.config.getComponent("featureLegend"+g.suffix),n=n.getProperty("colorSchemeId"),j.colorPalette=b.config.getMapPalette().getColorScheme(n)):b.config.getComponent("featureLegend")&&(n=b.config.getComponent("featureLegend"),n=n.getProperty("colorSchemeId"),j.colorPalette=b.config.getMapPalette().getColorScheme(n)),1==a.getProperty("showAssociate")?d():(j.dataFields=[],l.dataFields=[]),l.drawLinesThroughMissingValues=a.getProperty("drawLinesThroughMissingValues"),j.selectedDate=m.date,j.setData(g.themeData),k&&k.setData(g.themeData),l.selectedDate=m.date,l.setData(g.comparisonThemeData)}void 0!=c&&c.call(null,a.id)},this.render=function(b){var c=g.theme,d=g.indicator,e=d.getDataType(j.dataField),c=c.getIndicatorDates(d.id);e!=ia.Thematic.CATEGORIC&&void 0!=c&&c.length>0?(h.text(""),i.show(),i.render(),n&&(o.text(""),n.show(),n.render())):(i.hide(),h.text(a.getProperty("notAvailableText")),n&&(n.hide(),o.text(a.getProperty("notAvailableText")))),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.TimeSeriesFactory),ia.DiscreteTimeSeriesFactory=function(a,b,c){ia.DiscreteTimeSeriesFactory.baseConstructor.call(this,a,b,c);var d=this,e=c.interactionGroup,f=c.dataGroup,c=c.comparisonInteractionGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()}),c.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){d.update(),d.render()});var g=b.getWidget(a.id);g.exportFunction=function(a){iaExportPanelWithChart(g,h,!1,a)};var h,i,j,k=function(){i.dataChanged=!0,d.render()};this.build=function(b){g.content.empty(),h=new ia.TimeBarChart(a.id),i=new ia.TimeBarLayer,i.tipFunction=function(b,c){return ia.timeTipFunction(b,c,a.id)},j=new ia.ComparisonTimeBarLayer,j.thematic=f.comparisonThematic,j.tipFunction=function(b,c){return ia.timeTipFunction(b,c,a.id)},d.buildChart(h,i,j),i.interactive=!1,h.addEventListener(ia.Event.MAP_READY,function(){void 0!=b&&b.call(null,a.id)}),g.append(h.container)},this.update=function(c){d.updateChart(h,i,j);var g=f.theme,l=f.indicator,m=l.getDataType(i.dataField),g=g.getIndicatorDates(l.id);if(m!=ia.Thematic.CATEGORIC&&void 0!=g&&g.length>0){var n=a.getProperty("dropDates"),m=g.concat();void 0!=n&&n.length>0&&(m=g.filter(function(a){return n.indexOf(a)<0})),h.drawBarsFromZero=a.getProperty("drawBarsFromZero"),"vertical"==h.orientation?(h.xAxisLabels=m,h.yAxisLabels=void 0):(h.xAxisLabels=void 0,h.yAxisLabels=m),void 0!=n&&n.length>0&&(i.dropDates=n.concat(),j.dropDates=n.concat()),i.highlightSelectedDate=a.getProperty("highlightSelectedDate"),a.getProperty("matchAxisToSelectedData")?e.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,k,this):e.removeListener(this),b.config.getComponent("featureLegend"+f.suffix)?(m=b.config.getComponent("featureLegend"+f.suffix),m=m.getProperty("colorSchemeId"),i.colorPalette=b.config.getMapPalette().getColorScheme(m)):b.config.getComponent("featureLegend")?(m=b.config.getComponent("featureLegend"),m=m.getProperty("colorSchemeId"),i.colorPalette=b.config.getMapPalette().getColorScheme(m)):a.getProperty("colorSchemeId")&&(i.colorPalette=b.config.getMapPalette().getColorScheme(a.getProperty("colorSchemeId"))),i.selectedDate=l.date,i.setData(f.themeData),j.selectedDate=l.date,j.setData(f.comparisonThemeData)}void 0!=c&&c.call(null,a.id)},this.render=function(b){var c=f.theme,d=f.indicator,e=d.getDataType(i.dataField),c=c.getIndicatorDates(d.id);e!=ia.Thematic.CATEGORIC&&void 0!=c&&c.length>0?(g.text(""),h.show(),h.render()):(h.hide(),g.text(a.getProperty("notAvailableText"))),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.DiscreteTimeSeriesFactory),ia.StackedTimeSeriesFactory=function(a,b,c){ia.StackedTimeSeriesFactory.baseConstructor.call(this,a,b,c);var d=this,e=c.interactionGroup,f=c.dataGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()});var g=b.getWidget(a.id);g.exportFunction=function(a){iaExportPanelWithChart(g,h,!1,a)};var h,i,j,k,l,m,n=function(){j&&(j.dataChanged=!0),i.dataChanged=!0,d.render()};this.build=function(c){var k=b.config.getComponent("stackedLegend"+f.suffix);k&&void 0==l&&(l=new ia.ProfileLegend(k.id),m=b.getWidget(k.id),m.append(l.container),b.addComponent(k.id,l),m.exportFunction=function(a){iaExportPanel(m,a)}),void 0==h?(g.content.empty(),h=new ia.StackedTimeChart(a.id),h.drawBarsFromZero=!0,h.wrapXAxisLabels=!0,i=new ia.StackedTimeLayer,i.tipFunction=function(b,c){return ia.timeTipFunction(b,c,a.id)},void 0!=a.getProperty("lineData")&&(j=new ia.TimeLayer,j.thematic=f.comparisonThematic),d.buildChart(h,i),i.interactive=!1,j&&(j.setVisible(!0),j.interactive=!0,h.addLayer(j),e.addComponent(j)),h.addEventListener(ia.Event.MAP_READY,function(){void 0!=c&&c.call(null,a.id)}),g.append(h.container)):void 0!=c&&c.call(null,a.id)},this.update=function(c){var g=b.config.getComponent("stackedLegend"+f.suffix);l&&g&&g.getProperty("layout")&&(l.layout=g.getProperty("layout")),d.updateChart(h,i),j&&(j.highlightColor=b.highlightColor,j.selectionColor=b.selectionColor,j.dataField=a.getProperty("lineData"),j.tip="${name} (${date}): ${value}",void 0!=a.getProperty("matchAxisToSelectedData")&&(j.matchAxisToSelectedData=a.getProperty("matchAxisToSelectedData")),b.config.getComponent("featureLegend"+f.suffix)&&(g=b.config.getComponent("featureLegend"+f.suffix),g=g.getProperty("colorSchemeId"),j.colorPalette=b.config.getMapPalette().getColorScheme(g))),void 0!=a.getProperty("highlightSelectedDate")&&(i.highlightSelectedDate=a.getProperty("highlightSelectedDate")),a.getProperty("matchAxisToSelectedData")?e.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,n,this):e.removeListener(this);var g=a.getProperty("colorSchemeId"),m=b.config.getMapPalette().getColorScheme(g),o=f.theme,g=f.indicator,p=f.theme.getIndicators(f.indicator.id);k=[];var q=a.getProperty("ignoreAssociateIds");if(q)for(var r=0;r<p.length;r++)for(var s=p[r].getAssociates(),t=0;t<s.length;t++){for(var u=s[t],v=!0,w=0;w<q.length;w++)if(u.id==q[w]){v=!1;break}v&&u.type!=ia.Thematic.CATEGORIC&&-1==k.indexOf(u.id)&&(k[k.length]=u.id)}else for(r=0;r<p.length;r++)for(s=p[r].getAssociates(),t=0;t<s.length;t++)u=s[t],u.type!=ia.Thematic.CATEGORIC&&-1==k.indexOf(u.id)&&(k[k.length]=u.id);for(i.dataFields=k,p=a.getProperty("associateLabels"),q=[],t=0;t<k.length;t++)r=new ia.CategoricClass(k[t]),r.color=m.getColorAtIndex(t),r.symbol=ia.Shape.SQUARE,r.size=10,r.value=k[t],p&&p.length>t&&r.setLabel(p[t]),q[q.length]=r;if(i.legendClasses=q,l&&(l.legendClasses=q),m=o.getIndicatorDates(g.id),void 0!=m&&m.length>0){var x=a.getProperty("dropDates"),o=m.concat();void 0!=x&&x.length>0&&(o=m.filter(function(a){return x.indexOf(a)<0})),"vertical"==h.orientation?(h.yAxisLabels=void 0,h.xAxisLabels=o):(h.yAxisLabels=o,h.xAxisLabels=void 0),void 0!=x&&x.length>0&&(i.dropDates=x.concat(),comparisonLayer.dropDates=x.concat())}i.selectedDate=g.date,i.setData(f.themeData),j&&(j.selectedDate=g.date,j.setData(f.themeData)),void 0!=c&&c.call(null,a.id)},this.render=function(b){void 0!=f.indicator.date&&k.length>0?(g.text(""),h.show(),h.render(),l&&(m.text(""),l.show(),l.render())):(h.hide(),g.text(a.getProperty("notAvailableText")),l&&(l.hide(),m.text(a.getProperty("notAvailableText")))),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.StackedTimeSeriesFactory),ia.StackedBarFactory=function(a,b,c){ia.StackedBarFactory.baseConstructor.call(this,a,b,c);var d=this,e=c.interactionGroup,f=c.dataGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()});var g=b.getWidget(a.id);g.exportFunction=function(a){iaExportPanelWithChart(g,h,!1,a)};var h,i,j,k,l,m=function(){d.render()};this.build=function(c){var e=b.config.getComponent("stackedLegend"+f.suffix);e&&void 0==k&&(k=new ia.ProfileLegend(e.id),l=b.getWidget(e.id),l.append(k.container),b.addComponent(e.id,k),l.exportFunction=function(a){iaExportPanel(l,a)}),void 0==h?(g.content.empty(),h=new ia.StackedTimeChart(a.id),h.drawBarsFromZero=!0,h.wrapXAxisLabels=!0,i=new ia.StackedBarLayer,i.tipFunction=function(b,c){return ia.timeTipFunction(b,c,a.id)},d.buildChart(h,i),i.interactive=!1,h.addEventListener(ia.Event.MAP_READY,function(){void 0!=c&&c.call(null,a.id)}),g.append(h.container)):void 0!=c&&c.call(null,a.id)},this.update=function(c){var g=b.config.getComponent("stackedLegend"+f.suffix);k&&g&&g.getProperty("layout")&&(k.layout=g.getProperty("layout")),d.updateChart(h,i),e.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,m,this);var g=a.getProperty("colorSchemeId"),g=b.config.getMapPalette().getColorScheme(g),l=f.indicator;j=[];var n=a.getProperty("ignoreAssociateIds");if(n)for(var o=l.getAssociates(),l=0;l<o.length;l++){for(var p=o[l],q=!0,r=0;r<n.length;r++)if(p.id==n[r]){q=!1;break}q&&p.type!=ia.Thematic.CATEGORIC&&(j[j.length]=p.id)}else for(o=l.getAssociates(),l=0;l<o.length;l++)p=o[l],p.type!=ia.Thematic.CATEGORIC&&(j[j.length]=p.id);for(i.dataFields=j,n=a.getProperty("associateLabels"),o=[],l=0;l<j.length;l++)p=new ia.CategoricClass(j[l]),p.color=g.getColorAtIndex(l),p.symbol=ia.Shape.SQUARE,p.size=10,p.value=j[l],n&&n.length>l&&p.setLabel(n[l]),o[o.length]=p;i.legendClasses=o,k&&(k.legendClasses=o),i.setData(f.indicatorData),void 0!=c&&c.call(null,a.id)},this.render=function(b){a.getProperty("matchAxisToSelectedData")&&(i.dataChanged=!0);for(var c=e.getSelection(),d=[],m=0;m<c.length;m++){var n=c[m],o=f.geography.getFeature(n).name;-1==d.indexOf(o)&&(d[d.length]=f.geography.getFeature(n).name)}0==d.length&&(d[0]="_"),"vertical"==h.orientation?(h.yAxisLabels=void 0,h.xAxisLabels=d):(h.yAxisLabels=d,h.xAxisLabels=void 0),j.length>0?(g.text(""),h.show(),h.render(),k&&(l.text(""),k.show(),k.render())):(h.hide(),g.text(a.getProperty("notAvailableText")),k&&(k.hide(),l.text(a.getProperty("notAvailableText")))),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.StackedBarFactory),ia.StackedFeaturesFactory=function(a,b,c){ia.StackedFeaturesFactory.baseConstructor.call(this,a,b,c);var d=this,e=c.interactionGroup,f=c.dataGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()});var g=b.getWidget(a.id);g.exportFunction=function(a){iaExportPanelWithChart(g,h,!1,a)};var h,i,j=function(){i.dataChanged=!0,d.render()};this.build=function(b){g.content.empty(),h=new ia.StackedTimeChart(a.id),i=new ia.StackedFeaturesLayer,i.tipFunction=function(b,c){return ia.timeTipFunction(b,c,a.id)},d.buildChart(h,i),i.interactive=!1,h.addEventListener(ia.Event.MAP_READY,function(){void 0!=b&&b.call(null,a.id)}),g.append(h.container)},this.update=function(c){d.updateChart(h,i);var g=f.theme,k=f.indicator,l=k.getDataType(i.dataField),g=g.getIndicatorDates(k.id);if(l!=ia.Thematic.CATEGORIC&&void 0!=g&&g.length>0){var m=a.getProperty("dropDates"),l=g.concat();void 0!=m&&m.length>0&&(l=g.filter(function(a){return m.indexOf(a)<0})),h.drawBarsFromZero=a.getProperty("drawBarsFromZero"),"vertical"==h.orientation?(h.xAxisLabels=l,h.yAxisLabels=void 0):(h.xAxisLabels=void 0,h.yAxisLabels=l),void 0!=m&&m.length>0&&(i.dropDates=m.concat(),comparisonLayer.dropDates=m.concat()),i.highlightSelectedDate=a.getProperty("highlightSelectedDate"),e.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,j,this),b.config.getComponent("featureLegend"+f.suffix)?(l=b.config.getComponent("featureLegend"+f.suffix),l=l.getProperty("colorSchemeId"),i.colorPalette=b.config.getMapPalette().getColorScheme(l)):b.config.getComponent("featureLegend")?(l=b.config.getComponent("featureLegend"),l=l.getProperty("colorSchemeId"),i.colorPalette=b.config.getMapPalette().getColorScheme(l)):a.getProperty("colorSchemeId")&&(i.colorPalette=b.config.getMapPalette().getColorScheme(a.getProperty("colorSchemeId"))),i.selectedDate=k.date,i.setData(f.themeData)}void 0!=c&&c.call(null,a.id)},this.render=function(b){var c=f.theme,d=f.indicator,e=d.getDataType(i.dataField),c=c.getIndicatorDates(d.id);e!=ia.Thematic.CATEGORIC&&void 0!=c&&c.length>0?(g.text(""),h.show(),h.render()):(h.hide(),g.text(a.getProperty("notAvailableText"))),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.StackedFeaturesFactory),ia.PyramidChartFactory=function(a,b,c){function d(){var a=i.geography;n.geography=a;for(var b=a.getComparisonFeatures(),c=[],d=0;d<b.length;d++)c.push(b[d].id);a=a.getProfileData(c),a.themes.length>0&&q.setData(a.themes[0].indicators),a.themes.length>1&&u.setData(a.themes[1].indicators)}function e(){for(var a=n.getLayers(),b=0;b<a.length;b++)j.removeComponent(a[b]);n.removeLayers(),s=[],o=[],v=[],r=[],p=new ia.PyramidLayer,p.setVisible(!0),p.interactive=!0,n.addLayer(p),o[o.length]=p,t=new ia.PyramidLayer,t.gender="female",t.setVisible(!0),t.interactive=!0,n.addLayer(t),s[s.length]=t,q=new ia.ComparisonPyramidLayer,q.setVisible(!0),q.interactive=!0,q.thematic=i.comparisonThematic,n.addLayer(q),j.addComponent(q),u=new ia.ComparisonPyramidLayer,u.gender="female",u.setVisible(!0),u.interactive=!0,u.thematic=i.comparisonThematic,n.addLayer(u),j.addComponent(u)}function f(){clearTimeout(w),w=setTimeout(function(){var a=h.getSelection();if(a.length>0)for(var a=i.geography.getProfileData([a[0]]),b=0;b<o.length;b++)a.themes.length>0&&o[b].setData(a.themes[0].indicators),a.themes.length>1&&s[b].setData(a.themes[1].indicators);else for(b=0;b<o.length;b++)o[b].setData({}),s[b].setData({});g.render()},250)}var g=this,h=c.interactionGroup,i=c.dataGroup,j=c.comparisonInteractionGroup;i.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){d(),g.render()}),i.addEventListener(ia.DataEvent.DATA_CHANGED,function(){g.update(),g.render()}),h.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){f()}),j.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){f()});var k=b.getWidget(a.id);k.exportFunction=function(a){n.isVisible&&iaExportPanelWithChart(k,n,!1,a)};var l,m,n,o,p,q,r,s,t,u,v;this.build=function(c){if((l=b.config.getComponent("pyramidLegend"+i.suffix))&&void 0==m){m=new ia.ProfileLegend(l.id);var f=b.getWidget(l.id);f.append(m.container),b.addComponent(l.id,m),f.exportFunction=function(a){iaExportPanel(f,a)}}if(void 0==n){if(k.content.empty(),n=new ia.PyramidChart(a.id),n.formatter=b.locale.formatter,k.append(n.container),e(),b.url.params["select"+i.suffix])for(var g=b.url.params["select"+i.suffix].toString().split(","),g=i.geography.getProfileData([g[g.length-1]]),h=0;h<o.length;h++)g.themes.length>0&&o[h].setData(g.themes[0].indicators),g.themes.length>1&&s[h].setData(g.themes[1].indicators);b.addComponent(a.id,n),d(),n.addEventListener(ia.Event.MAP_READY,function(){void 0!=c&&c.call(null,a.id)})}else void 0!=c&&c.call(null,a.id)},this.update=function(c){var d,e=a.getProperties(),g=0;for(d in e){var h="line_value_";if(-1!=d.indexOf(h)){var k,h=d.substring(d.lastIndexOf("_")+1,d.length),l=a.getProperty("line_value_"+h),h=a.getProperty("line_color_"+h);r.length>g?k=r[g]:(k=new ia.ComparisonPyramidLayer,r[r.length]=k,o[o.length]=k),k.dataField=l,k.setVisible(!0),k.interactive=!0,k.displayAll=!0,k.tip=a.getProperty("tip"),n.addLayer(k),k.style.strokeStyle=h,v.length>g?k=v[g]:(k=new ia.ComparisonPyramidLayer,v[v.length]=k,s[s.length]=k),k.gender="female",k.dataField=l,k.setVisible(!0),k.interactive=!0,k.displayAll=!0,k.tip=a.getProperty("tip"),n.addLayer(k),k.style.strokeStyle=h,g++}}for(e=g;e<r.length;e++)k=r[e],k.setVisible(!1),k.interactive=!1,k.displayAll=!1,k=v[e],k.setVisible(!1),k.interactive=!1,k.displayAll=!1;e=b.config.getComponent("pyramidLegend"+i.suffix),m&&e&&e.getProperty("layout")&&(m.layout=e.getProperty("layout")),g=[],l=a.getProperty("maleLabel"),k=new ia.CategoricClass(l),k.color=a.getProperty("maleColor"),k.symbol=ia.Shape.SQUARE,k.size=12,k.value=l,g[g.length]=k,l=a.getProperty("femaleLabel"),k=new ia.CategoricClass(l),k.color=a.getProperty("femaleColor"),k.symbol=ia.Shape.SQUARE,k.size=12,k.value=l,g[g.length]=k,e=a.getProperties();for(d in e)h="line_value_",-1!=d.indexOf(h)&&(h=d.substring(d.lastIndexOf("_")+1,d.length),k=a.getProperty("line_value_"+h),l=a.getProperty("line_label_"+h),h=a.getProperty("line_color_"+h),void 0!=k)&&(k=new ia.CategoricClass(l),k.color=h,k.symbol=ia.Shape.HORIZONTAL_LINE,k.size=12,k.value=l,g[g.length]=k);for(m&&(m.legendClasses=g,m.render()),n.orientation="horizontal",n.drawBarsFromZero=a.getProperty("drawBarsFromZero"),n.showYAxisLabels=a.getProperty("showYAxisLabels"),p.dataField=a.getProperty("data")||"value",p.tip=a.getProperty("tip"),p.style.fillStyle=ia.Color.toRGBA(a.getProperty("maleColor"),.8),p.style.strokeStyle=a.getProperty("maleColor"),t.dataField=a.getProperty("data")||"value",t.tip=a.getProperty("tip"),t.style.fillStyle=ia.Color.toRGBA(a.getProperty("femaleColor"),.8),t.style.strokeStyle=a.getProperty("femaleColor"),q.dataField=a.getProperty("data")||"value",q.displayAll=a.getProperty("showComparison"),q.tip=a.getProperty("tip"),q.highlightColor=b.highlightColor,q.selectionColor=b.selectionColor,u.dataField=a.getProperty("data")||"value",u.tip=a.getProperty("tip"),u.displayAll=a.getProperty("showComparison"),u.highlightColor=b.highlightColor,u.selectionColor=b.selectionColor,e=0;e<o.length;e++)o[e].highlightColor=b.highlightColor,o[e].selectionColor=b.selectionColor,s[e].highlightColor=b.highlightColor,s[e].selectionColor=b.selectionColor;d=i.indicator,(e=d.getProperty(a.getProperty("maxChartValue")))?(n.useTightLabels=!0,n.fixedMaxValue=e):a.getProperty("useFixedValues")?(n.useTightLabels=!0,n.fixedMaxValue=a.getProperty("fixedMaxValue")):n.useTightLabels=a.getProperty("useTightLabels"),e=a.getProperty("xAxisTitle"),n.xAxisTitle=e?b.textSubstitution.formatMessage(e):void 0,e=a.getProperty("yAxisTitle"),n.yAxisTitle=e?b.textSubstitution.formatMessage(e):void 0,e=i.geography.getThemes()[0],n.yAxisLabels=e.getIndicatorNames().reverse(),n.date=d.date,q.update(n.date),u.update(n.date),d=j.getSelection(),d.length>0&&j.setSelection(d),f(),void 0!=c&&c.call(null,a.id)},this.render=function(b){n.render(),void 0!=b&&b.call(null,a.id)};var w=null},ia.TimeControlFactory=function(a,b,c){var d=this,e=c.dataGroup;e.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()});var f,g=b.getWidget(a.id);this.build=function(c){g.content.empty(),f=new ia.TimeControl(a.id,e,function(a){b.getComponent("timeSeries"+e.suffix)&&(b.getComponent("timeSeries"+e.suffix).animationMode=a),b.getComponent("discreteTimeSeries"+e.suffix)&&(b.getComponent("discreteTimeSeries"+e.suffix).animationMode=a),b.getComponent("stackedTimeSeries"+e.suffix)&&(b.getComponent("stackedTimeSeries"+e.suffix).animationMode=a),b.getComponent("stackedFeaturesTimeSeries"+e.suffix)&&(b.getComponent("stackedFeaturesTimeSeries"+e.suffix).animationMode=a)}),g.append(f.container),b.addComponent(a.id,f),f.dropDates=a.getProperty("dropDates"),f.setData(e.indicator),void 0!=c&&c.call(null,a.id)},this.update=function(b){f.delay=a.getProperty("delay"),f.dropDates=a.getProperty("dropDates"),void 0!=b&&b.call(null,a.id)},this.render=function(b){void 0==e.indicator.date?(f.container.hide(),g.text(a.getProperty("notAvailableText"))):(f.container.show(),g.text("")),void 0!=b&&b.call(null,a.id)}},ia.FeatureCardFactory=function(a,b,c){var d=this,e=c.interactionGroup,f=c.dataGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()});var g,h,i=b.getWidget(a.id);this.build=function(c){i.content.empty(),g=new ia.FeatureCard(a.id),i.append(g.container),e.addComponent(g),b.addComponent(a.id,g),void 0!=c&&c.call(null,a.id)},this.update=function(c){g.noDataValue=b.config.getProperty("noDataValue"),void 0==g.noDataValue&&(g.noDataValue=""),g.displayMode=a.getProperty("displayMode"),g.dataOrder=a.getProperty("dataOrder"),g.displaySelectedDateOnly=a.getProperty("displaySelectedDateOnly"),g.displayFeatureHeader=a.getProperty("displayFeatureHeader"),g.displayThemeHeader=a.getProperty("displayThemeHeader"),void 0!=a.getProperty("ignoreThemeIds")&&(g.ignoreThemeIds=a.getProperty("ignoreThemeIds")),void 0!=a.getProperty("ignoreIndicatorIds")&&(g.ignoreIndicatorIds=a.getProperty("ignoreIndicatorIds")),g.geography=f.geography,g.indicator=f.indicator,h!=a.getProperty("snippet")?(h=a.getProperty("snippet"),g.setSnippet(h,function(){void 0!=c&&c.call(null,a.id)})):void 0!=c&&c.call(null,a.id)},this.render=function(b){g.render(),void 0!=b&&b.call(null,a.id)}},ia.MetadataFactory=function(a,b,c){var d=this,e=c.dataGroup;e.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update()});var f,g=b.getWidget(a.id);this.build=function(c){g.content.empty(),f=new ia.Metadata(a.id),g.append(f.container),b.addComponent(a.id,f),void 0!=c&&c.call(null,a.id)},this.update=function(b){var c=e.indicator,d=a.getProperty("metadataKey");c.getProperty(d)?f.setHtml(c.getProperty(d)):f.setHtml(""),void 0!=b&&b.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.StatsBoxFactory=function(a,b,c){var d=this,e=c.dataGroup;e.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update()});var f,g=b.getWidget(a.id);this.build=function(c){g.content.empty(),f=new ia.Metadata(a.id),g.append(f.container),b.addComponent(a.id,f),void 0!=c&&c.call(null,a.id)},this.update=function(c){var d=e.indicator;if(d.getDataType(e.thematic.getDataField())!=ia.Thematic.CATEGORIC){var g=a.getProperty("ndecimal");-1==g&&(g=d.precision||2,void 0==g&&(g=2));var d=b.locale.formatter,h=e.thematic.numericClassifier.getCalculator().getStats();b.textSubstitution.setVariable("sum"+e.suffix,d.format(h.sum,g)),b.textSubstitution.setVariable("count"+e.suffix,d.format(h.count,g)),b.textSubstitution.setVariable("mean"+e.suffix,d.format(h.mean,g)),b.textSubstitution.setVariable("median"+e.suffix,d.format(h.median,g)),b.textSubstitution.setVariable("minValue"+e.suffix,d.format(h.minValue,g)),b.textSubstitution.setVariable("maxValue"+e.suffix,d.format(h.maxValue,g)),b.textSubstitution.setVariable("range"+e.suffix,d.format(h.range,g)),b.textSubstitution.setVariable("lowerQuartile"+e.suffix,d.format(h.lowerQuartile,g)),b.textSubstitution.setVariable("upperQuartile"+e.suffix,d.format(h.upperQuartile,g)),b.textSubstitution.setVariable("interquartileRange"+e.suffix,d.format(h.interquartileRange,g)),b.textSubstitution.setVariable("variance"+e.suffix,d.format(h.variance,g)),b.textSubstitution.setVariable("standardDeviation"+e.suffix,d.format(h.standardDeviation,g)),b.updateDynamicText(b.textSubstitution)}g=b.textSubstitution.formatMessage(a.getProperty("text")),f.setHtml(g),void 0!=c&&c.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.AdvancedPieChartFactory=function(a,b,c){var d=this,e=c.interactionGroup,f=c.dataGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update()});var g,h,i=b.getWidget(a.id);this.build=function(c){i.content.empty(),g=new ia.AdvancedPieComponent(a.id,a.getProperty("layout")),g.build(),i.append(g.container),e.addComponent(g),b.addComponent(a.id,g),void 0!=c&&c.call(null,a.id)},this.update=function(c){g.highlightColor=b.highlightColor,g.selectionColor=b.selectionColor,g.tip=a.getProperty("tip"),g.title1=a.getProperty("title1"),g.title2=a.getProperty("title2");var e=a.getProperty("colorSchemeId");g.thematic.categoricClassifier.colorPalette=b.config.getMapPalette().getColorScheme(e);var i=f.theme,j=f.indicator,e={};if(h=[],"associate"==a.getProperty("datasource")){g.setData(d.indicatorData);var k=a.getProperty("ignoreAssociateIds");if(k)for(j=j.getAssociates(),i=0;i<j.length;i++){for(var l=j[i],m=!0,n=0;n<k.length;n++)if(l.id==k[n]){m=!1;break}m&&l.type!=ia.Thematic.CATEGORIC&&(h[h.length]=l.id,e[l.id]={value:l.id})}else for(j=j.getAssociates(),i=0;i<j.length;i++)l=j[i],l.type!=ia.Thematic.CATEGORIC&&(e[l.id]={value:l.id},h[h.length]=l.id);(i=a.getProperty("associateLabels"))&&(g.thematic.categoricClassifier.labels=i)}else if(void 0!=j.date)for(k=i.getDataForDate(j.date),g.setData(k),k=i.getIndicators(),i=0;i<k.length;i++)l=k[i],l.date==j.date&&l.type!=ia.Thematic.CATEGORIC&&(e[l.name]={value:l.name},h[h.length]=l.name);else for(k=i.getData(),g.setData(k),k=i.getIndicators(),i=0;i<k.length;i++)l=k[i],l.type!=ia.Thematic.CATEGORIC&&(h[h.length]=l.name,e[l.name]={value:l.name});g.thematic.categoricClassifier.breaks=h,g.thematic.setData(e),g.thematic.commitChanges(),void 0!=c&&c.call(null,a.id)},this.render=function(b){h.length>0?(i.text(""),g.show(),g.render()):(g.hide(),i.text(a.getProperty("notAvailableText"))),void 0!=b&&b.call(null,a.id)}},ia.PieChartFactory=function(a,b,c){var d=this,e=c.interactionGroup,f=c.dataGroup;f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update(),d.render()}),f.addEventListener(ia.Event.THEMATIC_CHANGED,function(){d.update(),d.render()});var g=b.getWidget(a.id);g.exportFunction=function(a){iaExportPanelWithChart(g,h,!1,a)};var h,i;this.build=function(c){g.content.empty(),h=new ia.PieChart(a.id),g.append(h.container),b.addComponent(a.id,h),i=new ia.PieLayer,i.thematic=f.thematic,i.setVisible(!0),i.interactive=!0,h.addLayer(i),e.addComponent(i),h.addEventListener(ia.Event.MAP_READY,function(){void 0!=c&&c.call(null,a.id)})},this.update=function(c){i.highlightColor=b.highlightColor,i.selectionColor=b.selectionColor,i.tip=a.getProperty("tip"),void 0!=c&&c.call(null,a.id)},this.render=function(b){f.thematic.numericClassifier.classificationName==ia.Thematic.CONTINUOUS||void 0!=f.thematic.colorField?(h.hide(),g.text(a.getProperty("notAvailableText"))):(g.text(""),h.show(),h.render()),void 0!=b&&b.call(null,a.id)}},ia.DataTableFactory=function(a,b,c,d){function e(){k||(k=setTimeout(function(){g.update()},250))}function f(){l||(l=setTimeout(function(){g.render()},250))}for(var g=this,h=[],i=0;i<c.length;i++){var j=c[i];j.addEventListener(ia.DataEvent.DATA_CHANGED,function(){e()}),j.addEventListener(ia.Event.THEMATIC_CHANGED,function(){f()})}var k=null,l=null,m=b.getWidget(a.id);m.exportFunction=function(a){var b=n.exportData();iaExportCSV(b,a)};var n,o,p;this.build=function(e){if(m.content.empty(),n=new ia.Table(a.id),void 0!=b.url.params.stickToTop){var f=b.url.params.stickToTop.toString().split(",");n.stickToTop(f)}m.append(n.container),d.addComponent(n),b.addComponent(a.id,n),n.addEventListener(ia.ItemEvent.ITEM_CLICK,function(){if(o){var a=b.getComponent("activeMap"+j.suffix);if(b.config.template==ia.BUBBLE_PLOT_REPORT&&(a=b.getComponent("activeMap")),a){var e=d.getSelection();e.length>0?a.zoomToFeatures(e,[c[0].mapData.baseLayer]):a.controller.zoomFull()}}}),p=new ia.TableTools(c[0],d),p.filterFunction=function(){d.getSelection().length>0?c[0].setFilteredFeatures(d.getSelection()):c[0].getFilteredFeatures().length>0&&c[0].clearFilter()},p.clearFunction=function(){d.clearSelection();var a=b.getComponent("activeMap"+j.suffix);a&&a.controller.zoomFull()},void 0!=e&&e.call(null,a.id)},this.update=function(d){k=null,o=a.getProperty("zoomOnSelection"),n.highlightColor=b.highlightColor,n.selectionColor=b.selectionColor,n.showLegendColor=a.getProperty("showLegendColor"),n.allowUserSorting=a.getProperty("allowUserSorting"),p&&(p.clearButtonText=a.getProperty("clearButtonText"),p.filterButtonText=a.getProperty("filterButtonText"),void 0!=p.clearButtonText&&""!=p.clearButtonText||void 0!=p.filterButtonText&&""!=p.filterButtonText?m.appendToFooter(p.container):p.container.remove(),p.render()),a.customColumns=c[0].indicator.customColumns;for(var e=[],f=0;f<c.length;f++){var g=c[f];e[f]=g.indicator}for(n.columns=a.getColumnsForIndicators(e,b.textSubstitution),n.setData(c[0].indicatorData),f=1;f<c.length;f++)g=c[f],n["data"+(f+1)]=g.indicatorData;for(h=[],e=c[0].geography.getFeatures(),f=0;f<e.length;f++)h.push(e[f].id);void 0!=d&&d.call(null,a.id)},this.render=function(b){l=null,n.render(h);var d=c[0].indicator;if(void 0!=d.getProperty("sortColumnName")){var e=d.getProperty("sortColumnName"),d=d.getProperty("sortDirection")?d.getProperty("sortDirection"):a.getProperty("sortDirection");n.sort(e,d),void 0!=b&&b.call(null,a.id)}else void 0!=b&&(""!=a.getProperty("sortColumnName")&&n.sort(a.getProperty("sortColumnName"),a.getProperty("sortDirection")),b.call(null,a.id))}},ia.ComparisonTableFactory=function(a,b,c,d,e){function f(){k||(k=setTimeout(function(){h.update()},250))}function g(){
l||(l=setTimeout(function(){h.render()},250))}for(var h=this,i=[],d=0;d<c.length;d++){var j=c[d];j.addEventListener(ia.DataEvent.DATA_CHANGED,function(){f()}),j.addEventListener(ia.Event.THEMATIC_CHANGED,function(){g()})}var k=null,l=null,m=b.getWidget(a.id),m=b.getWidget(a.id);m.exportFunction=function(a){var b=n.exportData();iaExportCSV(b,a)};var n;this.build=function(d){m.content.empty(),n=new ia.ComparisonTable(a.id),n.thematic=c[0].comparisonThematic,m.append(n.container),e.addComponent(n),b.addComponent(a.id,n),n.addEventListener(ia.ItemEvent.ITEM_CLICK,function(){if(a.getProperty("linkToMap")){var c=b.getComponent("activeMap"+j.suffix);if(c){var d=e.getSelection().map(function(a){return 0==a.indexOf("#")?a.substr(1):a});d.length>0?c.zoomToFeatures(d):c.controller.zoomFull()}}}),void 0!=d&&d.call(null,a.id)},this.update=function(d){n.highlightColor=b.highlightColor,n.selectionColor=b.selectionColor,n.showLegendColor=a.getProperty("showLegendColor"),n.allowUserSorting=a.getProperty("allowUserSorting");var e=a.getProperty("colorSchemeId");c[0].comparisonThematic.categoricClassifier.colorPalette=b.config.getMapPalette().getColorScheme(e),c[0].comparisonThematic.commitChanges(),k=null,a.customColumns=c[0].indicator.customColumns;for(var f=[],e=0;e<c.length;e++){var g=c[e];f[e]=g.indicator}for(n.columns=a.getColumnsForIndicators(f,b.textSubstitution),n.setData(c[0].comparisonData),e=1;e<c.length;e++)g=c[e],n["data"+(e+1)]=g.comparisonData;for(i=[],f=c[0].geography.getComparisonFeatures(),e=0;e<f.length;e++)i.push(f[e].id);void 0!=d&&d.call(null,a.id)},this.render=function(b){l=null,n.render(i),void 0!=b&&(""!=a.getProperty("sortColumnName")&&n.sort(a.getProperty("sortColumnName"),a.getProperty("sortDirection")),b.call(null,a.id))}},ia.DataExplorerFactory=function(a,b,c){function d(){var a=f.indicator;h&&void 0!=a.date?g.showItem(a.geography.id+"~"+a.id+"~"+a.date):g.showItem(a.geography.id+"~"+a.id)}var e=this,f=c.dataGroup;f.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){e.update()}),f.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d(),g.hideOnSelection&&j.hide()});var g,h,i,j=b.getWidget(a.id);this.build=function(c){j.content.empty(),g=new ia.DataExplorer(a.id,function(b){var c=b.split("~"),b=c[0],d=c[1],c=c[2];if(void 0==c&&(c=f.indicator.date),0==a.getProperty("showDates")){var e=a.getProperty("loadMostRecentDate");void 0!=e&&1==e&&(c=void 0)}f.setData(b,d,c)}),j.append(g.container),b.addComponent(a.id,g),void 0!=c&&c.call(null,a.id)},this.update=function(c){g.closeBranchesOnSelection=a.getProperty("closeBranchesOnSelection"),g.hideOnSelection=a.getProperty("hideOnSelection"),void 0!=a.getProperty("hideNotes")&&(g.hideNotes=a.getProperty("hideNotes")),h=a.getProperty("showDates"),i=a.getProperty("reverseDates"),void 0==i&&(i=!0);var e=f.geography;void 0!=b.config.getComponent("geogExplorer")||b.config.template==ia.DOUBLE_GEOG_REPORT||b.config.template==ia.DOUBLE_BASELAYER_REPORT||b.config.template==ia.DOUBLE_PLOT_REPORT||b.config.template==ia.BUBBLE_PLOT_REPORT||b.config.template==ia.DOUBLE_BASELAYER_REPORT_NEW?(g.data(e.getDataTree(h,i)),g.build(e.id)):b.data.getGeographies().length>1?(g.data(b.data.getDataTree(h,i)),g.build()):(g.data(e.getDataTree(h,i)),g.build(e.id)),d(),void 0!=c&&c.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.GeogExplorerFactory=function(a,b,c){var d=this,e=c.dataGroup;e.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){d.update()}),e.addEventListener(ia.DataEvent.DATA_CHANGED,function(){f.hideOnSelection&&g.hide()});var f,g=b.getWidget(a.id);this.build=function(c){g.content.empty(),f=new ia.DataExplorer(a.id,function(a){e.setData(a,e.indicator.id,e.indicator.date)}),g.append(f.container),b.addComponent(a.id,f),void 0!=c&&c.call(null,a.id)},this.update=function(c){f.hideOnSelection=a.getProperty("hideOnSelection"),f.data(b.data.getGeographyTree()),f.build(),void 0!=c&&c.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.FilterExplorerFactory=function(a,b,c){var d=this,e=c.dataGroup;e.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){d.update()}),e.addEventListener(ia.FilterEvent.FILTER_CHANGED,function(){0==e.getFilteredFeatures().length&&f.clearSelection(),f.hideOnSelection&&g.hide()});var f,g=b.getWidget(a.id);this.build=function(c){g.content.empty(),f=new ia.DataExplorer(a.id,function(a){var a=a.split("~"),b=a[0],c=a[1];a.length>2?"combined"==f.filterType?e.removeFilter(b,c):e.clearFilter():"combined"==f.filterType?e.appendFilter(b,c):e.setFilter(b,c)}),f.isFilterExplorer=!0,g.append(f.container),b.addComponent(a.id,f),void 0!=c&&c.call(null,a.id)},this.update=function(b){f.closeBranchesOnSelection=a.getProperty("closeBranchesOnSelection"),f.hideOnSelection=a.getProperty("hideOnSelection"),a.getProperty("filterType")&&(f.filterType=a.getProperty("filterType")),f.data(e.geography.getFilterTree()),f.build(),void 0!=b&&b.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.MenuBarFactory=function(a,b){var c,d=b.getWidget(a.id);this.build=function(e){d.content.empty(),c=new ia.MenuBar(a.id,a),d.content.empty(),d.append(c.container),b.addComponent(a.id,c),void 0!=e&&e.call(null,a.id)},this.update=function(b){c.render(a),void 0!=b&&b.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.ScatterPlotFactory=function(a,b,c,d,e){function f(){clearTimeout(l),l=setTimeout(function(){k.update(),k.render()},250)}var g,h,i,j,k=this;1==c.length?(i=c[0],j=c[0]):2==c.length?(i=c[0],j=c[1]):3==c.length?(g=c[0],i=c[1],j=c[2]):4==c.length&&(g=c[0],h=c[1],i=c[2],j=c[3]),g&&g.addEventListener(ia.Event.THEMATIC_CHANGED,function(){f()}),h&&h.addEventListener(ia.Event.THEMATIC_CHANGED,function(){f()}),i.addEventListener(ia.Event.THEMATIC_CHANGED,function(){f()}),j.addEventListener(ia.Event.THEMATIC_CHANGED,function(){f()}),e.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){f()});var l=null,m=b.getWidget(a.id);m.exportFunction=function(a){iaExportPanelWithChart(m,n,!1,a)};var n,o,p,q,r;this.build=function(c){if(m.content.empty(),n=new ia.Plot(a.id),n.formatter=b.locale.formatter,m.append(n.container),b.addComponent(a.id,n),o=new ia.PlotLayer,o.setVisible(!0),o.interactive=!0,o.tipFunction=function(b){return ia.tipFunction(b,a.id)},n.addLayer(o),d.addComponent(o),p=new ia.ComparisonPlotLayer,p.setVisible(!0),p.interactive=!0,p.tipFunction=function(b){return ia.tipFunction(b,a.id)},n.addLayer(p),e.addComponent(p),r=[],void 0!=a.getProperty("line_color_1")){for(var f=!0,g=1;6>g;g++){var h=a.getProperty("line_xfield_"+g),i=a.getProperty("line_yfield_"+g);void 0!=h&&void 0!=i&&(f=!1,h=new ia.LineLayer,h.setVisible(!0),h.interactive=!0,n.addLayer(h),r.push(h))}if(f)for(g=1;6>g;g++)h=new ia.LineLayer,h.setVisible(!0),h.interactive=!0,n.addLayer(h),r.push(h)}void 0!=a.getProperty("sizeData")&&(q=new ia.Thematic,q.setDataField(a.getProperty("sizeData")),q.numericClassifier.classificationName=ia.Thematic.CONTINUOUS,f=q.numericClassifier.sizePalette,f.minSize=a.getProperty("minBubbleSize"),f.maxSize=a.getProperty("maxBubbleSize"),q.categoricClassifier.symbolSize=8),n.addEventListener(ia.Event.MAP_READY,function(){void 0!=c&&c.call(null,a.id)})},this.update=function(c){clearTimeout(l),o.highlightColor=b.highlightColor,o.selectionColor=b.selectionColor,p.highlightColor=b.highlightColor,p.selectionColor=b.selectionColor;for(var d=0;d<r.length;d++){var e=d+1,f=r[d];f.highlightColor=b.highlightColor,f.selectionColor=b.selectionColor,f.highlightColor=b.highlightColor,f.selectionColor=b.selectionColor,f.style.strokeStyle=a.getProperty("line_color_"+e),function(){var b=a.getProperty("line_label_"+e);f.tipFunction=function(){return b}}()}void 0!=a.getProperty("sizeData")&&(d=q.numericClassifier.sizePalette,q.setDataField(a.getProperty("sizeData")),d.minSize=a.getProperty("minBubbleSize"),d.maxSize=a.getProperty("maxBubbleSize")),o.pointSize=a.getProperty("minBubbleSize")||a.getProperty("pointSize"),o.xDataField=a.getProperty("xData"),o.yDataField=a.getProperty("yData"),o.showCorrelationLine=a.getProperty("showCorrelationLine"),p.pointSize=a.getProperty("minBubbleSize")||a.getProperty("pointSize"),p.xDataField=a.getProperty("xData"),p.yDataField=a.getProperty("yData"),p.displayAll=a.getProperty("showComparison");var k;h&&(k=h.indicator);var s,t,u=i.indicator,v=j.indicator;if(h&&void 0!=a.getProperty("sizeData")&&(s=h.getFilteredFeatures().length>0?k.getData(h.getFilteredFeatures()):k.getData(),t=k.getComparisonData(),q.setData(s),q.commitChanges()),d=u.getDataType(o.xDataField),k=v.getDataType(o.yDataField),d==ia.Thematic.CATEGORIC||k==ia.Thematic.CATEGORIC)n.hide(),m.text(a.getProperty("notAvailableText"));else{if(n.fixedMinValueX=u.getProperty(a.getProperty("minChartValueX")),n.fixedMaxValueX=u.getProperty(a.getProperty("maxChartValueX")),n.fixedMinValueY=v.getProperty(a.getProperty("minChartValueY")),n.fixedMaxValueY=v.getProperty(a.getProperty("maxChartValueY")),void 0!=n.fixedMinValueX&&void 0!=n.fixedMaxValueX&&void 0!=n.fixedMinValueY&&void 0!=n.fixedMaxValueY?n.useTightLabels=!0:a.getProperty("useFixedValues")?(n.useTightLabels=!0,n.fixedMinValueX=a.getProperty("fixedMinValueX"),n.fixedMaxValueX=a.getProperty("fixedMaxValueX"),n.fixedMinValueY=a.getProperty("fixedMinValueY"),n.fixedMaxValueY=a.getProperty("fixedMaxValueY")):n.useTightLabels=a.getProperty("useTightLabels"),(d=a.getProperty("xAxisTitle"))&&(n.xAxisTitle=b.textSubstitution.formatMessage(d)),(d=a.getProperty("yAxisTitle"))&&(n.yAxisTitle=b.textSubstitution.formatMessage(d)),n.show(),m.text(""),o.setXData(i.indicatorData),o.setYData(j.indicatorData),g&&o.setColorData(g.indicatorData),s&&void 0!=a.getProperty("sizeData")){o.setSizeData(s),d=q.numericClassifier.sizePalette,s=q.numericClassifier.getBreaks(),k=s[s.length-1]-s[0];var w=a.getProperty("sizeData");p.setSizeData(t);for(var x in t){var y=t[x],z=(y[w]-s[0])/k;ia.isNumber(z)||(z=0),y.symbolSize=d.getSize(z)}}if(p.setXData(i.comparisonData),p.setYData(j.comparisonData),g&&p.setColorData(g.comparisonData),void 0!=a.getProperty("line_color_1")){for(t=!0,s=[],k=[],d=1;6>d;d++)w=a.getProperty("line_xfield_"+d),y=a.getProperty("line_yfield_"+d),void 0!=w&&void 0!=y&&(t=!1,s.push(w),k.push(y));for(w=n.getLayers(),d=0;d<s.length;d++)if(f=w[d+2],z=u.getProperty(s[d]),y=v.getProperty(k[d]),void 0!=z&&void 0!=y){var z=z.split(","),A=[];if(ia.isNumber(y))for(var B=0;B<z.length;B++)A.push(y);else A=y.split(",");f.setXData(z),f.setYData(A)}if(t&&(d=[],t=[],s=a.getProperty("xData"),k=a.getProperty("yData"),void 0!=s&&void 0!=k)){for(x in j.indicatorData)d[d.length]=i.indicatorData[x][s],t[t.length]=j.indicatorData[x][k];if(d=ia.getFunnelData(t,d),null!=d){if(void 0==v.getAssociate("numeratorPercent"))for(x in t=v.addAssociate({name:"numeratorPercent",type:"numeric",values:d.arrYAxisValues.concat()}),e=0,j.indicatorData)j.indicatorData[x].numeratorPercent=d.arrYAxisValues[e],j.indicatorData[x].numeratorPercent_formatted=t.getFormattedValue(x),e++;o.yDataField="numeratorPercent",n.useTightLabels=!0,void 0==u.getProperty(a.getProperty("minChartValueX"))&&(n.fixedMinValueX=d.xAxisNewMin),void 0==u.getProperty(a.getProperty("maxChartValueX"))&&(n.fixedMaxValueX=d.xAxisNewMax),void 0==v.getProperty(a.getProperty("minChartValueY"))&&(n.fixedMinValueY=d.yAxisNewMin),void 0==v.getProperty(a.getProperty("maxChartValueY"))&&(n.fixedMaxValueY=d.yAxisNewMax),w=n.getLayers(),f=w[2],f.setXData(d.arrXAxisValues),f.setYData(d.arrLower2SD),f=w[3],f.setXData(d.arrXAxisValues),f.setYData(d.arrUpper2SD),f=w[4],f.setXData(d.arrXAxisValues),f.setYData(d.arrLower3SD),f=w[5],f.setXData(d.arrXAxisValues),f.setYData(d.arrUpper3SD),f=w[6],f.setXData(d.arrXAxisValues),f.setYData(d.arrBaseline)}}}}void 0!=c&&c.call(null,a.id)},this.render=function(c){n.render();var d=i.indicator.precision||2,e=b.locale.formatter,f=o.correlationInfo;b.textSubstitution.setVariable("correlationCoeff",e.format(f.correlationCoeff,d)),b.textSubstitution.setVariable("rSquare",e.format(f.rSquare,d)),b.textSubstitution.setVariable("gradient",e.format(f.gradient,d)),b.textSubstitution.setVariable("intercept",e.format(f.intercept,d)),b.updateDynamicText(b.textSubstitution),void 0!=c&&c.call(null,a.id)}},ia.AreaProfileFactory=function(a,b,c){function d(){k.columns=a.getColumnsForIndicator(g.indicator,b.textSubstitution)}var e=this,f=c.interactionGroup,g=c.dataGroup,h=c.comparisonInteractionGroup,i=!0;g.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){i=!0,k.geography=g.geography}),g.addEventListener(ia.DataEvent.DATA_CHANGED,function(){e.update()});var j,k,l=b.getWidget(a.id);this.build=function(c){var d=b.config.getComponent("profileLegend"+g.suffix);if(d&&void 0==j){j=new ia.ProfileLegend(d.id);var e=b.getWidget(d.id);e.append(j.container),b.addComponent(d.id,j),e.exportFunction=function(a){iaExportPanel(e,a)}}void 0==k&&(l.content.empty(),d=a.getProperty("useMouseClick"),void 0==d&&(d=!0),k=new ia.Profile(a.id,d,function(a){a=a.split("~"),g.setData(g.geography.id,a[0],a[1])}),k.geography=g.geography,(d=b.getComponent("featureLegend"))&&(k.colorPalette=d.colorPalette),k.comparisonThematic=g.comparisonThematic,k.formatter=b.locale.formatter,l.append(k.container),f.addComponent(k),h.addComponent(k),b.addComponent(a.id,k)),void 0!=c&&c.call(null,a.id)},this.update=function(c){k.calculatedsignificance=void 0;var e=a.getProperty("numerator"),f=a.getProperty("denominator");if(void 0!=e&&void 0!=f){if(void 0==g.indicator.getAssociate("calculatedsignificance"))for(var h=g.geography.getIndicators(),l=0;l<h.length;l++){var m=h[l],n=void 0;"value"==e?n=m.getValues():void 0!=m.getAssociate(e)&&(n=m.getAssociate(e).getValues());var o=void 0;"value"==f?o=m.getValues():void 0!=m.getAssociate(f)&&(o=m.getAssociate(f).getValues()),void 0!=n&&void 0!=o&&(n=ia.getSignificance(n,o),m.addAssociate({name:"calculatedsignificance",type:"categoric",values:n.concat()}))}k.calculatedsignificance="calculatedsignificance"}e=b.config.getComponent("profileLegend"+g.suffix),j&&e&&e.getProperty("layout")&&(j.layout=e.getProperty("layout"));var p,e=a.getProperties(),f=[],l=[];for(p in e)h="symbol_shape_",-1!=p.indexOf(h)&&(h=p.substring(p.lastIndexOf("_")+1,p.length),m={},m.value=a.getProperty("symbol_value_"+h),void 0!=m.value)&&(m.shape=a.getProperty("symbol_shape_"+h),m.color=a.getProperty("symbol_color_"+h),m.size=a.getProperty("symbol_size_"+h),m.label=a.getProperty("symbol_label_"+h),l[l.length]=m,h=new ia.CategoricClass(m.label),h.color=m.color,h.symbol=m.shape,h.size=m.size,h.value=m.label,f[f.length]=h);k.symbols=l,l=[];for(p in e)h="target_shape_",-1!=p.indexOf(h)&&(h=p.substring(p.lastIndexOf("_")+1,p.length),m={},m.data=a.getProperty("target_data_"+h),void 0!=m.data)&&(m.shape=a.getProperty("target_shape_"+h),m.color=a.getProperty("target_color_"+h),m.size=a.getProperty("target_size_"+h),m.label=a.getProperty("target_label_"+h),m.comparison=a.getProperty("target_comparison_"+h),l[l.length]=m,h=new ia.CategoricClass(m.label),h.color=m.color,h.symbol=m.shape,h.size=m.size,h.value=m.label,f[f.length]=h);k.targets=l,h={},h.data=a.getProperty("barData"),h.color=a.getProperty("barColor")||"#ff00ff",h.shape=a.getProperty("barShape"),h.symbolValue=a.getProperty("symbolValue"),h.height=a.getProperty("barHeight"),h.minValue=a.getProperty("minValue"),h.midValue=a.getProperty("midValue"),h.maxValue=a.getProperty("maxValue"),h.breaksData=a.getProperty("breakData"),h.breaksFlip=a.getProperty("breakFlipData"),void 0!=a.getProperty("barComparisonId")&&(h.comparisonId=a.getProperty("barComparisonId")),void 0!=a.getProperty("barComparisonData")&&(h.comparisonData=a.getProperty("barComparisonData")),k.bar=h,k.displayMode=a.getProperty("displayMode"),k.displayDatesInProfile=a.getProperty("displayDatesInProfile"),void 0!=a.getProperty("includeMinMaxColumns")&&(k.includeMinMaxColumns=a.getProperty("includeMinMaxColumns")),void 0!=a.getProperty("hideNotes")&&(k.hideNotes=a.getProperty("hideNotes")),k.useMouseClick=a.getProperty("useMouseClick"),l=[];for(p in e)h="break_color_",-1!=p.indexOf(h)&&(h=p.substring(p.lastIndexOf("_")+1,p.length),m={},m.label=a.getProperty("break_label_"+h),void 0!=m.label)&&(m.color=a.getProperty("break_color_"+h),l[l.length]=m,h=new ia.CategoricClass(m.label),h.color=m.color,h.symbol=ia.Shape.SQUARE,h.size=10,h.value=m.label,f[f.length]=h);k.breaks=l,j&&(j.legendClasses=f,j.render()),p=g.indicator,k.columns=a.getColumnsForIndicator(p,b.textSubstitution),k.indicator=p,k.updateColumns=d,k.render(),i&&(p=a.getProperty("expandedThemeIds"),void 0!=p&&k.expandThemes(p),i=!1),void 0!=c&&c.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.MapFactory=function(a,b,c){function d(){if(void 0==a)g();else{for(var c=n.getLayers(),d=0;d<c.length;d++){var f=c[d];i.removeComponent(f)}for(n.removeLayers(),d=0;d<m.baseLayers.length;d++)f=m.baseLayers[d],f.dataLabel=b.config.getComponent(a.id).getProperty("tip"),f.displayLabelsOnly||(f.interactive=!0),f.tipFunction=function(b){return ia.tipFunction(b,a.id)},f.dataField=j.thematic.getDataField(),f.highlightColor=b.highlightColor,f.selectionColor=b.selectionColor,f.highlightOpacity=b.highlightOpacity,f.selectionOpacity=b.selectionOpacity,i.addComponent(f);if((d=b.config.getComponent("comparisonTable"+j.suffix))&&d.getProperty("linkToMap"))for(d=0;d<m.noneBaseLayers.length;d++)f=m.noneBaseLayers[d],"image"!=f.geometry&&(f.highlightable=!0,f.highlightColor=b.highlightColor,f.selectionColor=b.selectionColor,f.highlightOpacity=0,f.selectionOpacity=0,k.addComponent(f));var c=m.layers.length,l=!1;if(m.maintainLayerOrder)for(d=c-1;d>=0;d--)f=m.layers[d],b.config.template!=ia.DOUBLE_BASELAYER_REPORT&&b.config.template!=ia.DOUBLE_BASELAYER_REPORT_NEW||"base-layer"!=f.type?n.addLayer(f):l||(l=!0,n.addLayer(f));else for(d=0;c>d;d++)f=m.layers[d],b.config.template!=ia.DOUBLE_BASELAYER_REPORT&&b.config.template!=ia.DOUBLE_BASELAYER_REPORT_NEW||"base-layer"!=f.type?n.addLayer(f):l||(l=!0,n.addLayer(f));if(n.controller.defaultBBox=m.mapBBox,m.useGoogleMaps?n.render():s?n.controller.zoomToBBox(s):n.controller.zoomFull(),s=void 0,c=m.imageLayers,c.length>0)for(d=0;d<c.length;d++)f=c[d],"ags-layer"==f.type&&f.addEventListener(ia.Event.LAYER_VISIBLE_CHANGED,e);t&&(t=!1,h.update(),h.render())}}function e(){a&&f(function(b){var c=a.getProperty("copyrightText");void 0==c&&(c=""),""==c&&""==b?(r&&(r.hide(),v=!1),q.hide(),q.empty(),n.setCopyright(" ")):(""!=c&&""!=b?(q.html(c+" "+b),n.setCopyright(c+" "+b)):""!=c?(q.html(c),n.setCopyright(c)):(q.html(b),n.setCopyright(b)),r&&(""!=b?(r.show(),v=!0):(r.hide(),v=!1)),q.show())})}function f(a){for(var b="",c=m.imageLayers,d=0;d<c.length;d++){var e=c[d];if("ags-layer"==e.type&&e.getVisible()&&"Esri"==e.author){w||(r=$j('<div id="esri-logo" class="ia-esri-logo"><img src="'+ia.IAS_PATH+'esri-logo.png"></div>'),n.addLogo(ia.IAS_PATH+"esri-logo.png"),l.append(r),w=v=!0),e.copyrightText&&(b=e.copyrightText);break}}a.call(null,b)}function g(){if(n=b.getComponent("map"),p=b.getComponent("activeMap"),m.noneBaseLayers=[],m.baseLayers.length>1){var a=m.baseLayers[1];a.dataField=j.thematic.getDataField(),a.highlightColor=b.highlightColor,a.selectionColor=b.selectionColor,a.highlightOpacity=b.highlightOpacity,a.selectionOpacity=b.selectionOpacity,a.displayLabelsOnly||(a.interactive=!0),a.dataLabel=b.config.getComponent("map").getProperty("tip"+j.suffix),a.tipFunction=function(a){return ia.tipFunction(a,"map",j.suffix)},b.config.template==ia.DOUBLE_BASELAYER_REPORT&&i.addComponent(a),b.config.template==ia.DOUBLE_BASELAYER_REPORT_NEW&&(a.selectable=!1),n.addLayer(a)}}var h=this,i=c.interactionGroup,j=c.dataGroup,k=c.comparisonInteractionGroup;j.mapData.addEventListener(ia.DataEvent.MAP_DATA_CHANGED,function(){d()}),j.addEventListener(ia.Event.THEMATIC_CHANGED,function(){u?t=!0:(h.update(),m.baseLayer.render())}),j.addEventListener(ia.FilterEvent.FILTER_CHANGED,function(c){if(a){var d=a.getProperty("zoomOnFilter");(void 0==d||1==d)&&(c.filterFeatures.length>0?b.config.template==ia.DOUBLE_BASELAYER_REPORT||b.config.template==ia.DOUBLE_BASELAYER_REPORT_NEW?p.zoomToFeatures(c.filterFeatures,[m.baseLayers[0]]):p.zoomToFeatures(c.filterFeatures,[m.baseLayer]):p.controller.zoomFull())}});var l,m,n,o,p,q,r,s,t=!1,u=!1,v=!1;b.url.params["bbox"+j.suffix]&&(c=b.url.params["bbox"+j.suffix].split(","),s=new ia.BoundingBox(parseFloat(c[0]),parseFloat(c[1]),parseFloat(c[2]),parseFloat(c[3])));var w=!1;this.build=function(c){if(m=j.mapData,void 0==a)g(),void 0!=c&&c.call(null,a?a.id:"map");else{u=!0,l=b.getWidget(a.id),l.exportFunction=function(a){iaExportPanelWithChart(l,n,v,a)},l.content.empty(),n=new ia.Map(a.id),b.addComponent(a.id,n);var e=function(){var a=n.getBBox();b.url.params["bbox"+j.suffix]=a.getXMin()+","+a.getYMin()+","+a.getXMax()+","+a.getYMax()};n.addEventListener(ia.BBoxEvent.BBOX_TRANSLATE,e),n.addEventListener(ia.BBoxEvent.BBOX_SCALE,e);var e=a.getProperty("minZoomAllowed"),f=a.getProperty("maxZoomAllowed");m.useGoogleMaps?(p=o=new ia.GoogleMap(a.id,m.googleMapType,m.googleApiKey,e,f,a.getProperty("googleGreyscaleText"),a.getProperty("googleOffText")),o.addEventListener(ia.Event.MAP_READY,function(){m.mapBBox.getXMin()<-2e7&&m.mapBBox.setXMin(-2e7),m.mapBBox.getXMax()>2e7&&m.mapBBox.setXMax(2e7),o.controller.defaultBBox=m.mapBBox,s?o.controller.zoomToBBox(s):o.controller.zoomFull(),o.addMapOverlay(n)}),b.addComponent("gMap"+j.suffix,o)):(-1!=e&&(n.minZoom=e),-1!=f&&(n.maxZoom=f),n.useNavigation(!0),p=n),n.addEventListener(ia.Event.MAP_READY,function(){d(),u=!1,void 0!=c&&c.call(null,a.id)}),b.addComponent("activeMap"+j.suffix,p),l.append(p.container),q=$j('<div id="map-copyright" class="ia-map-copyright"></div>');var h=!1;if(q.on("click",function(){(h=!h)?q.addClass("ia-map-copyright-expand"):q.removeClass("ia-map-copyright-expand")}),l.append(q),b.evaluation&&b.displayEvaluationMessage(l),e=a.getProperty("includeSearchTool"),void 0==e&&(e=!1),e&&""==j.suffix){var f="file:"==window.location.protocol?"http:":window.location.protocol,k=document.createElement("script");k.type="text/javascript",k.src=f+"//code.jquery.com/ui/1.9.2/jquery-ui.js",document.body.appendChild(k)}e=new ia.MapTools(p,j,i,m.useGoogleMaps,e),e.clearButtonText=a.getProperty("clearButtonText"),e.filterButtonText=a.getProperty("filterButtonText"),e.filterFunction=function(){i.getSelection().length>0?j.setFilteredFeatures(i.getSelection()):j.getFilteredFeatures().length>0&&j.clearFilter()},e.clearFunction=function(){i.clearSelection()},l.append(e.container),b.addComponent("mapTools"+j.suffix,e),e.render()}},this.update=function(c){for(var d=0;d<m.baseLayers.length;d++){var f=m.baseLayers[d];f.dataField=j.thematic.getDataField(),f.highlightColor=b.highlightColor,f.selectionColor=b.selectionColor,f.highlightOpacity=b.highlightOpacity,f.selectionOpacity=b.selectionOpacity}if(a&&(d=a.getProperty("minZoomAllowed"),f=a.getProperty("maxZoomAllowed"),n.minZoom=-1!=d?d:void 0,n.maxZoom=-1!=f?f:void 0),(d=b.config.getComponent("comparisonTable"+j.suffix))&&d.getProperty("linkToMap"))for(d=0;d<m.noneBaseLayers.length;d++)f=m.noneBaseLayers[d],"image"!=f.geometry?(f.highlightable=!0,f.highlightColor=b.highlightColor,f.selectionColor=b.selectionColor,f.highlightOpacity=0,f.selectionOpacity=0):f.highlightable=!1;e(),m.baseLayer.setData(j.indicatorData),void 0!=c&&c.call(null,a?a.id:"map")},this.render=function(b){n.render(),void 0!=b&&b.call(null,a?a.id:"map")}},ia.TextBoxFactory=function(a,b,c){var d=this,e=c.dataGroup;e.addEventListener(ia.DataEvent.DATA_CHANGED,function(){d.update()});var f,g=b.getWidget(a.id);this.build=function(c){g.content.empty(),f=new ia.TextBox(a.id),g.append(f.container),b.addComponent(a.id,textbox),void 0!=c&&c.call(null,a.id)},this.update=function(c){var d="",g=a.getProperty("propertyKey");void 0!=g?(d=e.indicator.getProperty(g),d=void 0!=d?d:""):a.getProperty("text")&&(d=b.textSubstitution.formatMessage(a.getProperty("text"))),f.setHtml(d),void 0!=c&&c.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.RadarFactory=function(a,b,c){function d(a,b,c){var d;if("value"==j.dataField)d=b;else for(var e=0;e<b.features[0].associates.length;e++){var f=b.features[0].associates[e];if(f.name==j.dataField){d=f;break}}d&&"categoric"!=d.type&&(l++,void 0==c?i.xAxisLabels.push(""):(a=(c+"").split("${themeName}").join(a.name),a=a.split("${indicatorName}").join(b.name),a=a.split("${date}").join(b.date),i.xAxisLabels.push(a)))}ia.RadarFactory.baseConstructor.call(this,a,b,c);var e=this,f=c.interactionGroup,g=c.dataGroup,c=c.comparisonInteractionGroup;g.addEventListener(ia.DataEvent.DATA_CHANGED,function(){e.update(),e.render()}),c.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){e.update(),e.render()});var h=b.getWidget(a.id);h.exportFunction=function(a){iaExportPanelWithChart(h,i,!1,a)};var i,j,k,l,m=function(){j.dataChanged=!0,e.render()};this.build=function(b){h.content.empty(),i=new ia.RadarChart(a.id),j=new ia.RadarLayer,k=new ia.ComparisonRadarLayer,k.thematic=g.comparisonThematic,e.buildChart(i,j,k),i.addEventListener(ia.Event.MAP_READY,function(){void 0!=b&&b.call(null,a.id)}),h.append(i.container)},this.update=function(c){e.updateChart(i,j,k);var h=a.getProperty("displayMode");i.radarPadding=a.getProperty("radarPadding"),i.startAxisFromZero=a.getProperty("startAxisFromZero"),i.type=a.getProperty("chartType");var n=a.getProperty("chartLabels");if(i.xAxisLabels=[],l=0,"All themes"==h){var o=g.geography.getIndicatorData(null,g.indicator.date);$j.each(o.themes,function(a,b){$j.each(b.indicators,function(a,c){d(b,c,n)})})}else if("Selected theme only"==h){var p=g.theme.getIndicatorData(null,g.indicator.date);$j.each(p.indicators,function(a,b){d(p,b,n)})}j.selectedDate=g.indicator.date,j.markerSize=a.getProperty("markerSize"),a.getProperty("matchAxisToSelectedData")?f.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,m,this):f.removeListener(this),b.config.getComponent("featureLegend"+g.suffix)?(o=b.config.getComponent("featureLegend"+g.suffix),o=o.getProperty("colorSchemeId"),j.colorPalette=b.config.getMapPalette().getColorScheme(o)):b.config.getComponent("featureLegend")&&(o=b.config.getComponent("featureLegend"),o=o.getProperty("colorSchemeId"),j.colorPalette=b.config.getMapPalette().getColorScheme(o));var q;if("All themes"==h?q=g.geography.getFeatureData(null,g.indicator.date):"Selected theme only"==h&&(q=g.geography.getFeatureData(null,g.indicator.date,g.theme.id)),j.setData(q),k.selectedDate=g.indicator.date,k.setData(g.comparisonThemeData),k.markerSize=a.getProperty("markerSize"),q=g.geography.getComparisonFeatures(),q.length>0){for(var o=[],r=0;r<q.length;r++)o.push(q[r].id);var s;"All themes"==h?s=g.geography.getFeatureData(o,g.indicator.date):"Selected theme only"==h&&(s=g.geography.getFeatureData(o,g.indicator.date,g.theme.id)),k.setData(s)}void 0!=c&&c.call(null,a.id)},this.render=function(b){l>2?(h.text(""),i.show(),i.render()):(i.hide(),h.text(a.getProperty("notAvailableText"))),void 0!=b&&b.call(null,a.id)}},ia.extend(ia.ChartFactory,ia.RadarFactory),ia.DimensionsFactory=function(a,b,c){function d(){l=k.geography.getIndicators(),l=l.filter(function(a,b){return l.map(function(a){return a.id}).indexOf(a.id)==b})}function e(){r.content.on("change",".ia-dimension-control",function(){f()}),r.content.on("click",".ia-dimension-reset-button",function(){r.content.find("input.ia-dimension-checkbox").removeAttr("checked"),r.content.find("select.ia-dimension-select").val(q),f()}),r.content.on("change","#ia-dimension-indicator-select",function(){k.setData(k.geography.id,$j(this).val(),k.indicator.date)})}function f(){for(var a=0;a<m.length;a++){var b=m[a],c=h(b),d=i(b,c);if(-1!=n.indexOf(b))r.content.find('input.ia-dimension-checkbox[data-dimension="'+b+'"]').each(function(){var a=$j(this).val();-1!=d.indexOf(a)?$j(this).parent().show():$j(this).parent().hide()});else{c=r.content.find('select.ia-dimension-select[data-dimension="'+b+'"]'),b=c.val(),c.find("option").remove();for(var e=0;e<d.length;e++){var f=d[e];f==b?c.append("<option value='"+f+"' selected>"+f+"</option>"):c.append("<option value='"+f+"'>"+f+"</option>")}}}for(c=r.content.find("#ia-dimension-indicator-select"),b=c.val(),c.find("option").remove(),e=h(),a=0;a<e.length;a++)f=e[a],f.id==b?c.append("<option value='"+f.id+"' selected>"+f.name+"</option>"):c.append("<option value='"+f.id+"'>"+f.name+"</option>");null!=b&&b!=c.val()&&k.setData(k.geography.id,c.val(),k.indicator.date)}function g(a){for(var b={},c=0;c<m.length;c++){var d=m[c];if(d!=a){var e;-1!=n.indexOf(d)?(e=[],r.content.find('input.ia-dimension-checkbox[data-dimension="'+d+'"]:checked').each(function(){e.push($j(this).val())})):e=[r.content.find('select.ia-dimension-select[data-dimension="'+d+'"]').val()],(0==e.length||null==e[0])&&(e[0]=q),b[d]=e}}return b}function h(a){for(var a=g(a),b=[],c=0;c<l.length;c++){var d,e=l[c],f=!0;for(d in a){var h=a[d];if(h[0]!=q){if(f=e.getProperty(d),void 0==f){f=!1;break}if(f=f.split(";").some(function(a){return h.indexOf(a)>=0}),!f)break}}f&&b.push(e)}return b}function i(a,b){for(var c=["-"],d=0;d<b.length;d++){var e=b[d].getProperty(a);void 0!=e&&(c=c.concat(e.split(";")))}return c=c.filter(function(a,b){return c.indexOf(a)==b}),c.sort(),c}var j=this,k=c.dataGroup;k.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){j.update()});var l,m,n,o,p,q,r=b.getWidget(a.id);this.build=function(b){e(),void 0!=b&&b.call(null,a.id)},this.update=function(b){r.content.empty(),m=a.getProperty("arrDimensionNames")||[],n=a.getProperty("arrDimensionCheckbox")||[],o=a.getProperty("indicatorSelectTitle")||"",p=a.getProperty("resetButtonText")||"",q=a.getProperty("noSelectionValue")||"",d();for(var c='<div class="ia-dimension">',e=0;e<m.length;e++){var g=m[e];if(c+='<div class="ia-dimension-section">',-1!=n.indexOf(g)){var h=i(g,l);c+='<label id="'+g+'" class="ia-select-label">'+g+"</label>";for(var j=0;j<h.length;j++){var k=h[j];k!=q&&(c+="<div>",c+='<input type="checkbox" class="ia-dimension-control ia-dimension-checkbox" data-dimension="'+g+'" id="'+k+'" value="'+k+'">',c+='<label for="'+k+'">'+k+"</label>",c+="</div>")}}else c+='<label for="'+g+'" class="ia-select-label">'+g+"</label>",c+='<select id="'+g+'" data-dimension="'+g+'" class="ia-select ia-dimension-control ia-dimension-select"></select>';c+="</div>"}c+='<div class="ia-dimension-section">',c+='<label for="ia-dimension-indicator-select" class="ia-select-label">'+o+"</label>",c+='<select id="ia-dimension-indicator-select" class="ia-select"></select>',c+="</div>",c+='<div class="ia-dimension-section">',c+='<button type="button" class="ia-widget ia-button button ia-dimension-reset-button">'+p+"</button>",c+="</div>",c+="</div>",r.append($j(c)),f(),void 0!=b&&b.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)}},ia.DropdownExplorerFactory=function(a,b,c){function d(a,b){var c=[];void 0!=h.indicator.date&&(o=h.indicator.date);for(var d=k[a];void 0!=d.parent;)c.unshift(d.parent),d=k[d.parent];if(c.push(a),void 0!=b){c.push(b);var e=[];for(n.content.find("select.ia-dropdown-explorer-select").each(function(){e.push($j(this).find("option:selected").text())}),d=k[b];void 0!=d.children;){for(var f=d.children[0],g=0;g<d.children.length;g++){var i=k[d.children[g]];if("indicator"==i.datatype&&i.label==h.indicator.name){f=d.children[g];break}if("date"==i.datatype&&i.label==o){f=d.children[g];break}if("indicatorGeog"==i.datatype&&i.label==h.geography.name){f=d.children[g];break}}c.push(f),d=k[f]}}return c}function e(){var a=h.indicator,a=d(!m&&i&&void 0!=a.date?a.geography.id+"~"+a.id+"~"+a.date:a.geography.id+"~"+a.id);n.content.empty();for(var b,c='<div class="ia-dropdown-explorer">',e=0;e<a.length;e++){var f=k[a[e]];if("branch"==f.type){var g=a[e+1];for(c+='<div class="ia-dropdown-explorer-section">',b!=f.childtype&&(b=l[f.childtype],""!=b&&void 0!=b&&(c+='<label for="'+f.id+'" class="ia-select-label">'+b+"</label>")),c+='<select id="'+f.id+'" class="ia-select ia-dropdown-explorer-select">',b=0;b<f.children.length;b++){var j=k[f.children[b]];
c+=j.id==g?'<option value="'+j.id+'" selected>'+j.label+"</option>":'<option value="'+j.id+'">'+j.label+"</option>"}c+="</select>",c+="</div>",b=f.childtype}}c+="</div>",n.append($j(c))}function f(){n.content.on("change",".ia-dropdown-explorer-select",function(){var b=$j(this).attr("id"),c=$j(this).val(),b=d(b,c),e=b[b.length-1].split("~"),b=e[0],c=e[1],e=e[2];if(void 0==e&&(e=h.indicator.date),0==a.getProperty("showDates")||m){var f=a.getProperty("loadMostRecentDate");void 0!=f&&1==f&&(e=void 0)}h.setData(b,c,e)})}var g=this,h=c.dataGroup;h.addEventListener(ia.DataEvent.GEOG_CHANGED,function(){g.update()}),h.addEventListener(ia.DataEvent.DATA_CHANGED,function(){e(),a.getProperty("hideOnSelection")&&n.hide()});var i,j,k,l,m,n=b.getWidget(a.id);this.build=function(b){f(),void 0!=b&&b.call(null,a.id)},this.update=function(c){l={indicatorGeog:a.getProperty("geogLabel"),geography:a.getProperty("geogLabel"),theme:a.getProperty("themeLabel"),indicator:a.getProperty("indicatorLabel"),date:a.getProperty("dateLabel")},i=a.getProperty("showDates"),j=a.getProperty("reverseDates"),void 0==j&&(j=!0),m=a.getProperty("mergeData"),void 0==m&&(m=!1);var d,f=h.geography;if(m){for(var f=b.data.getGeographies(),g={},n={},o=0;o<f.length;o++){var p,q,r,s,t=f[o],u=t.getDataTree(!1,j);for(s in u){r=!1,p=u[s];var v=p.id.split("~")[0];"geog"==p.datatype&&void 0==d&&(d=v);for(var w in g)if(q=g[w],q.id.split("~")[0]!=v&&"indicatorGeog"!=q.datatype&&q.label==p.label&&q.datatype==p.datatype){if(void 0==g[q.parent]||void 0==u[p.parent]||"geog"==u[p.parent].datatype){r=!0;break}if(g[q.parent].label==u[p.parent].label){r=!0;break}}r?"indicator"==q.datatype&&(q.children.push(p.id),g[p.id]={id:p.id,label:t.name,datatype:"indicatorGeog",type:"leaf",parent:q.id}):(r=p.id,"indicator"==p.datatype?(g[r+"~ind"]=JSON.parse(JSON.stringify(p)),g[r+"~ind"].id=r+"~ind",g[r+"~ind"].type="branch",g[r+"~ind"].children=[p.id],g[r+"~ind"].childtype="indicatorGeog",v=g[r+"~ind"].parent,g[r+"~ind"].parent=v,g[p.id]={id:p.id,label:t.name,datatype:"indicatorGeog",type:"leaf",parent:r+"~ind"},void 0!=n[v]?n[v].push(r+"~ind"):n[v]=[r+"~ind"]):(g[r]=JSON.parse(JSON.stringify(p)),void 0!=d&&d!=v&&g[r].parent&&(v=g[r].parent,"geog"==u[v].datatype)&&(g[d].children.push(r),g[r].parent=d)))}}for(s in n)g[s].children=n[s];d=g}else d=void 0!=b.config.getComponent("geogExplorer")||b.config.template==ia.DOUBLE_GEOG_REPORT||b.config.template==ia.DOUBLE_BASELAYER_REPORT||b.config.template==ia.DOUBLE_PLOT_REPORT||b.config.template==ia.BUBBLE_PLOT_REPORT||b.config.template==ia.DOUBLE_BASELAYER_REPORT_NEW?f.getDataTree(i,j):b.data.getGeographies().length>1?b.data.getDataTree(i,j):f.getDataTree(i,j);k=d,e(),void 0!=c&&c.call(null,a.id)},this.render=function(b){void 0!=b&&b.call(null,a.id)};var o},ia.ComponentFactory.prototype.buildInteractionGroups=function(a,b,c,d){function e(c){if(c.length>0){var d=b.geography.getFeature(c[0]);d&&a.textSubstitution.setVariable("selectedFeature"+b.suffix,d.name),a.url.params["select"+b.suffix]=c.join(",")}else a.textSubstitution.setVariable("selectedFeature"+b.suffix,""),a.url.params["select"+b.suffix]="";a.updateDynamicText(a.textSubstitution)}a.addComponent("interactionGroup"+b.suffix,c),a.addComponent("comparisonInteractionGroup"+b.suffix,d);var f=b.geography.id;if(b.addEventListener(ia.DataEvent.GEOG_CHANGED,function(a){f!==a.geography.id&&(c.clearSelection(),d.clearSelection()),f=a.geography.id}),b.addEventListener(ia.FilterEvent.FILTER_CHANGED,function(){c.clearSelection()}),c.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){e(c.getSelection())}),d.addEventListener(ia.InteractionEvent.SELECTION_CHANGED,function(){var c=d.getSelection();a.url.params["comparisonSelect"+b.suffix]=c.length>0?c.join(","):""}),a.url.params["select"+b.suffix]){var g=a.url.params["select"+b.suffix].toString().split(",");e(g)}};var dbProduct="InstantAlasDashboardBuilder",dbProductVersion="1.4.4",dbProductVersionStatus="",dbProductReleaseDate="2020-12-08",dbAppId="77fVPZU7t16I4Hls",dbAppDebug="false";if(window.self!==window.top&&document.referrer&&document.referrer.indexOf("arcgis.com")>0&&document.referrer.indexOf("configure")>0){var tgtUrl=window.location.href.replace("/report","/dashboard");window.top.location.href=tgtUrl+(tgtUrl.indexOf("?")>0?"&clear=true":"?clear=true")}var $j=jQuery.noConflict(),builder=function(a,b,c,d){function f(a,b,c,e){try{if(e){var f=LZString.compressToUTF16(c);a.setItem(b,f)}else a.setItem(b,c);dbAppDebug&&0==b.indexOf("iaoIndicatorsModel")&&console.log("Storage update: "+b+" = "+c.substring(0,100)+"... "+c.indexOf("../arc"))}catch(g){d&&d.showLocalStorageErrorDialog&&d.showLocalStorageErrorDialog(g)}}function g(a,b,c){var e;try{e=a.getItem(b),e&&c&&(e=LZString.decompressFromUTF16(e))}catch(f){d&&d.showLocalStorageErrorDialog&&d.showLocalStorageErrorDialog(f)}return e}function h(e){a.util.showProgress(!0),a.util.setSplashProgress(5);var f=e&&e.urlParams?e.urlParams:new c.UrlParams(window.location.href);if(void 0==f.params.appid&&void 0==f.params.atlasId&&void 0==f.params.atlasid)return a.clearAppFromSession(),void(window.location.href="../");a.azureApp=f.params.atlasId||f.params.atlasid?!0:!1,a.azureApp?b.ajaxPrefilter(function(a,b,c){d.datamanager&&d.datamanager.transfer&&d.datamanager.transfer.servers&&a.url.indexOf(d.datamanager.transfer.servers.api)>=0&&c.setRequestHeader("X-Requested-With","XMLHttpRequest")}):(b("body").addClass("arc-connected"),b('*[data-ui-action="toggle-public"]').remove()),f.params&&f.params.debug&&"yes"==f.params.debug&&(b("body").append('<div id="screenSizeDisplay" style="position: fixed; bottom: 10px; right: 10px; padding: 5px; background-color: rgba(198,198,198,0.75); border-radius: 3px; font-size: 0.9em; z-index: 65536;"></div>'),b(window).on("resize",function(){var a=b(window).width()+" x "+b(window).height();b("#screenSizeDisplay").html(a)}),dbAppDebug=1),a.memoryUrlCache={},a.dataRegex=new RegExp(/arcgis.com\/sharing\/rest\/content\/items\/[a-fA-F0-9]+\/data/),a.queryRegex=new RegExp(/arcgis.com\/[a-zA-Z0-9]+\/ArcGIS\/rest\/services\/[a-zA-Z0-9\-_]+\/(MapServer|FeatureServer)\/[0-9]+/),window.location.href.indexOf("/dashboard?")>0||e&&"undefined"!=typeof e.cache&&!e.cache?b.ajaxPrefilter(function(a){var b="undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:EmbeddedIAO&&EmbeddedIAO.datamanager&&EmbeddedIAO.datamanager.transfer&&EmbeddedIAO.datamanager.transfer.server?EmbeddedIAO.datamanager.transfer.server:"";b&&b.indexOf("/api")>0&&(b=b.substring(0,b.indexOf("/api"))),a.url&&0==a.url.indexOf(b)?a.cache=!0:a.cache=!1}):a.cache&&f.params&&f.params.cache&&"browser"==f.params.cache?a.cache.init({prefix:"iaodbitem",localCache:!0,cache:!f.params||!f.params.cache||"no"!=f.params.cache}):f.params&&f.params.cache&&"no"==f.params.cache||(b.ajaxPrefilter("text json",function(b,c,d){b.url&&b.type&&"POST"==b.type&&A.test(b.url)&&("undefined"==typeof b.cache||1==b.cache)&&(b.type="GET",b.cache=!0);var e=a.dataRegex.test(b.url),f=a.queryRegex.test(b.url);if(b.type&&"GET"==b.type.toUpperCase()&&(e||f)){var g=b.success||b.done,h=(e?b.url.split("?")[0]:b.url).replace("https:","").replace("http:","");b.success=function(b,c,d){if("string"==typeof b)dbAppDebug&&console.log("Inserting [text], "+h+": "+b.substring(0,100)+"..."),a.memoryUrlCache[h]=b;else try{var e=JSON.stringify(b);dbAppDebug&&console.log("Inserting [object], "+h+": "+e.substring(0,100)+"..."),a.memoryUrlCache[h]=e}catch(f){console.log(f)}g&&g(b,c,d)}}}),b.ajaxTransport("text json",function(b,c,d){var e=a.dataRegex.test(b.url),f=a.queryRegex.test(b.url);if(b.type&&"GET"==b.type.toUpperCase()&&(e||f))try{var g=(e?b.url.split("?")[0]:b.url).replace("https:","").replace("http:",""),h=b.dataType||"text",i=a.memoryUrlCache[g];if(i)return dbAppDebug&&console.log("Found local cache for "+g),"json"==h.toLowerCase()&&(i=JSON.parse(i)),{send:function(a,b){var c={};c[h]=i,b(200,"success",c,"")},abort:function(){console.log("Aborted ajax transport for json cache.")}}}catch(j){}}));for(var g=(e&&e.locale?e.locale.toString().toLowerCase():(void 0!=f.params.locale&&""!=f.params.locale?f.params.locale:"en").toLowerCase(),(("undefined"!=typeof iaoLocale?iaoLocale.toString().toLowerCase():"en")+",en").split(",")),h=(("undefined"!=typeof iaoLocaleSupport?iaoLocaleSupport.toString().toLowerCase():"en")+",en").split(","),k=g.length-1;k>=0;k--)g[k]&&h.indexOf(g[k])<0&&h.indexOf(g[k].split(";")[0])<0&&h.indexOf(g[k].split("-")[0])<0&&g.splice(k,1);i(g,function(){j(e,f)})}function i(a,c){function e(){var e="./scripts/iao-ui-text-"+("undefined"!=typeof iaoPageTextKey?iaoPageTextKey.toString().toLowerCase()+"-":"")+f+".json";b.ajax({type:"HEAD",url:e}).done(function(a,g){b.getJSON(e).done(function(a){d.localizedText=a,d.locale=f,c&&c()})}).fail(function(e,g,h){console.log("EmbeddedIAO - non-fatal error. Load of localized text for '"+f+"' failed ("+e.status+") - will use default 'en' locale."),a.length>0?i(a,c):"en"!=f?b.getJSON("./scripts/iao-ui-text-"+("undefined"!=typeof iaoPageTextKey?iaoPageTextKey.toString().toLowerCase()+"-":"")+"en.json").done(function(a){d.localizedText=a,c&&c()}):c&&c()})}var f=a.shift();f?(f=f.split(";")[0],b.getJSON("./scripts/locales-supported.json").done(function(a){a&&a.locales&&a.locales.indexOf(f)>=0?e():c&&c()}).fail(function(a,b,d){c&&c()})):c&&c()}function j(e,f){f.params.appid&&f.params.appid.indexOf("?code")>0&&(f.params.appid=f.params.appid.substring(0,f.params.appid.indexOf("?code"))),void 0!=f.params.appid&&sessionStorage.getItem("iaoAppId")!=f.params.appid?a.clearAppFromSession():void 0!=f.params.atlasId&&sessionStorage.getItem("iaoAppId")!=f.params.atlasId?a.clearAppFromSession():void 0!=f.params.atlasid&&sessionStorage.getItem("iaoAppId")!=f.params.atlasid&&a.clearAppFromSession();var g=!(sessionStorage.getItem("iaoExpiresIn")&&sessionStorage.getItem("iaoToken"));if(!g){var h=parseInt(sessionStorage.getItem("iaoExpiresIn")),i=new Date;i.setTime(h);var j=new Date;g=i.getTime()-j.getTime()<0}g&&(sessionStorage.removeItem("iaoToken"),sessionStorage.removeItem("iaoArcGisOnlineToken"),sessionStorage.removeItem("iaoExpiresIn")),f.params.appid?a.setSessionStorageItem("iaoAppId",f.params.appid):f.params.atlasId?a.setSessionStorageItem("iaoAppId",f.params.atlasId):f.params.atlasid&&a.setSessionStorageItem("iaoAppId",f.params.atlasid),f.params.iaoUserId&&a.setSessionStorageItem("iaoUserId",f.params.iaoUserId),a.util.setSplashProgress(10),sessionStorage.getItem("iaoAppId")&&(e&&e.startupScript?b.getScript(c.getDomainSafeUrl(e.startupScript)).done(function(a,b){l(e,f)}).fail(function(a,b,d){c.log("Startup script "+e.startupScript+" failed: "+d),"undefined"==typeof e.exitOnStartupScriptFail||e.exitOnStartupScriptFail||l(e,f)}):l(e,f)),document.referrer&&document.referrer.indexOf("arcgis.com")<0&&document.referrer.indexOf("viewer/report")<0&&(b("#ia-done-btn, #ia-quick-link-done").css("display","none"),b("#ia-done-btn").parent().css("display","none"),b("#ia-done-db-home-btn, #ia-quick-link-done-db-home-btn").css("display",""),b("#ia-done-db-home-btn").parent().css("display","")),b(".about-link").length&&b(".about-link").off("click").on("click",function(c){c.preventDefault();var e='<div style="text-align: center;"><img alt="InstantAtlas Logo" title="'+b("body").data("product")+'" src="'+a.homePath+'2014-Dashboard-Builder-Logo-.jpg" /><h3 class="modal-title">'+b("body").data("product")+"</h3><p>&nbsp;</p><p>"+(d.localizedText&&d.localizedText["VersionLabel.Text"]?d.localizedText["VersionLabel.Text"]:"Version:")+" "+b("body").data("productVersion")+b("body").data("productVersionStatus")+", release date: "+b("body").data("productReleaseDate")+"</p><p>"+(d.localizedText&&d.localizedText["ContactLabel.Text"]?d.localizedText["ContactLabel.Text"]:"Contact:")+' <a href="mailto:support@instantatlas.com?subject=DashboardBuilder">support@instantatlas.com</a></p>',f="";"edit"==a.operationMode&&(f='<div class="small" style="opacity: 0.7; float: left;"><div class="progress-label" style="display: inline-block;vertical-align: top;margin-right: 5px;" title="'+(d.localizedText&&d.localizedText["SessionTimeLabel.ToolTip"]?d.localizedText["SessionTimeLabel.ToolTip"]:"Time remaining in this edit session - when your time is up you will need to reload...")+'">'+(d.localizedText&&d.localizedText["SessionTimeLabel.Text"]?d.localizedText["SessionTimeLabel.Text"]:"Session:")+'</div><div style="display: inline-block;"><div class="progress progress-striped" style="width:200px;height:10px;margin-top:3px;border-radius:2px;background-color: #ccc;border: 1px solid #c9c9c9;"><div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div></div>'),e+="</div>",a.util.showPopupScriptDialog("&nbsp;",e,{buttons:"cancel",buttonText:{cancel:d.localizedText&&d.localizedText["OkButton.Text"]?d.localizedText["OkButton.Text"]:"OK"},cancel:function(){},shown:function(){if(""!=f&&"edit"==a.operationMode){b("#ia-modal-alert .modal-footer").prepend(f);var c=parseInt(sessionStorage.getItem("iaoExpiresIn")),d=new Date;d.setTime(c);var e=new Date,g=d.getTime()-e.getTime(),h=60*(dbAppDebug>=10?2:dbAppDebug?15:240)*1e3;g>h&&(h=144e5);var i=Math.min(100,Math.round(100*g/h)),j=g>6e4?Math.floor(g/6e4)+" mins":Math.floor(g/1e3)+" secs";b("#ia-modal-alert .progress-bar").css("width",i+"%").prop("title",j).tooltip({}),b("#ia-modal-alert .progress-label").tooltip({})}}})}).css("cursor","pointer").tooltip({placement:"auto top",trigger:"hover"});var k=b('.modal *[data-toggle="popover"]');k.popover({container:"body"}),k.on("shown.bs.popover",function(){var a=b(this);setTimeout(function(){b(document).one("click",function(){a.popover("hide")})},200)}),b("body").on("click",'.trackable[data-ui-track][data-ui-track!=""]',function(a){var c=b(this).data("ui-track"),e=b(this).data("ui-track-extra");d.trackUserAction("iaoUiAction",c+(e?e:""))})}function k(c){if(a.azureApp){sessionStorage.removeItem("iaoToken"),sessionStorage.removeItem("iaoSasToken");var e=sessionStorage.getItem("iaoUserId");if(e&&""!=e){var f=EmbeddedIAO&&EmbeddedIAO.datamanager&&EmbeddedIAO.datamanager.transfer&&EmbeddedIAO.datamanager.transfer.server?EmbeddedIAO.datamanager.transfer.server:"https://online.instantatlas.test.com/api",g=EmbeddedIAO&&EmbeddedIAO.datamanager&&EmbeddedIAO.datamanager.transfer&&EmbeddedIAO.datamanager.transfer.uris&&EmbeddedIAO.datamanager.transfer.uris.sas?EmbeddedIAO.datamanager.transfer.uris.sas:"/sas",h=d.getText("AzureNoAuthorErrorDialog.MessageFormat",'<p>InstantAtlas&trade; Dashboard Builder could not access your user information. This may be because your edit session has timed out. You should <a href="{0}">sign in again</a> and then return to this page.</p>'),i=d.getText("AzureNoAuthorErrorDialog.Title","Sign In Required");b.ajax({url:("undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:f)+g,type:"GET",xhrFields:{withCredentials:!0},dataType:"json"}).done(function(b,d,e,f){var g=b.SAS,j=b.ExpiryTime;if(g&&""!=g&&"invalid user"!=g){a.setSessionStorageItem("iaoToken",g),a.setSessionStorageItem("iaoSasToken",g);var k=(new Date,1e3*j);a.setSessionStorageItem("iaoExpiresIn",k.toString()),c?c(b):window.location.reload()}else a.showFatalDataAccessDialog(d,e,f,h,i,"sign-in")}).fail(function(b,c,d){a.showFatalDataAccessDialog(b,c,d,h,i,"sign-in")})}}else{sessionStorage.removeItem("iaoArcGisOnlineToken"),sessionStorage.removeItem("iaoToken");var j=window.location.href.indexOf("&authid=")>0?window.location.href.substring(0,window.location.href.indexOf("&authid=")):window.location.href;j.indexOf("?code=")>0&&(j=j.substring(0,j.indexOf("?code="))),j.indexOf("#")>0&&(j=j.substring(0,j.indexOf("#"))),d.redirectToArcGisOnlineAuth("edit"==a.operationMode?dbAppId.split(";")[0]:dbAppViewerId,{redirectUri:j,expiration:dbAppDebug>=10?2:dbAppDebug&&"false"!=dbAppDebug.toString()?15:240,responseType:"token"})}}function l(e,f){function g(g){sessionStorage.removeItem("iaoAppInfo"),b.getJSON(c.getDomainSafeUrl(M)).done(function(h,i,j){if(j.getResponseHeader("x-ms-meta-Details")){var n=h.fileName;h=JSON.parse(j.getResponseHeader("x-ms-meta-Details")),h.fileName=n,a.setSessionStorageItem("iaoAppInfo",JSON.stringify(h)),"public"==h.access&&(U=M+"/",sessionStorage.removeItem("iaoDataModel"),sessionStorage.removeItem("iaoConfig"),sessionStorage.removeItem("iaoAppData"),V=U+"config.xml",W=U+"data.json",Y=U+"json-less-vars.json",Z=U+"defaultcss.txt",srcCustomStyleSheet=U+"customcss.txt",srcCustomJs=U+"customjs.txt",c.accessToken="&f=geojson")}else if(h.error){var o=h.error.code;if(l&&400==o)return void a.showApplicationFailDialog(sessionStorage.getItem("iaoAppId"),"","",h.error.message);k()}else a.setSessionStorageItem("iaoAppInfo",JSON.stringify(h));if("edit"==a.operationMode){b("body").append('<div id="iaoTitleCleaner" class="dashboard-editor-label"><div></div></div>'),b("#iaoTitleCleaner > div").html(h.title);var r=a.util.formatString(d.getText("EditingReportLabel.ToolTip","You are editing dashboard '{0}'"),h.title);b("#iaoTitleCleaner").attr("title",r).tooltip({container:"body",placement:"right auto"}),document.title=h.title=b("#iaoTitleCleaner").text()}else document.title=h.title;if(h&&h.url&&h.url.indexOf("://")>0){var s=h.url.substring(0,h.url.indexOf("://")+1);if("https:"===s&&"https:"!==window.location.protocol){var t=d.getText("WrongProtocolDialog.MessageFormat",'<strong>{0}</strong> must be loaded over SSL (https). You should <a href="{1}">reload this page</a? using https:// instead of http://.'),u=d.getText("WrongProtocolDialog.Title",'<i class="fas fa-lock"></i> SSL Required');return t=a.util.formatString(t,h.title,window.location.href.substring(window.location.protocol.length)),b(".ia-report-loading").css("display","none"),void a.util.showPopupScriptDialog(u,t,{type:"error",buttons:"ok",buttonText:{ok:d.getText("WrongProtocolDialog.OkButton.Text","Reload")},ok:function(){var a=window.location.href;window.location.href="https:"+a.substring(window.location.protocol.length)},cancel:function(){window.location.href="../"}})}}if(b("#ia-settings-container").length){b("#ia-quick-link-share").attr("href","mailto:?subject="+h.title+"&body="+h.url);var w=window.location.href.replace("/dashboard?","/report?");b("#ia-quick-link-preview").attr("href",w)}a.util.setSplashProgress(20,h&&h.title?" for <strong>"+h.title+"</strong>":null),a.ownerFolder=h.ownerFolder,g&&g(h),b.getJSON(c.getDomainSafeUrl(N)).done(function(g){if(a.util.setSplashProgress(25),a.setSessionStorageItem("iaoAppData",JSON.stringify(g)),g&&g.values&&g.values.iaoFileParts&&g.values.iaoFileParts.dataFiles&&g.values.iaoFileParts.dataFiles.length>1){W=g.values.iaoFileParts.dataFiles;for(var i in W)W[i]=U+W[i]+L}var j=[],n=[];if(f.params.recover&&""!=f.params.recover){for(var o="__"+h.id+"__AutoRecovery__"+f.params.recover,r=["iaoDataModel","iaoMap","iaoConfig","iaoLessVars"],i=r.length-1;i>=0;i--)localStorage.getItem(r[i]+o)&&(a.setSessionStorageItem(r[i],localStorage.getItem(r[i]+o)),r.pop());if(r.length>0){var s=d.getText("AutoRecoveryPatialFailDialog.Title","Auto-Recovery Incomplete"),t=d.getText("AutoRecoveryPatialFailDialog.Message","Dashboard builder could not recover all of your edits from the previous session.");c.log("Auto-recovery partial failure - these keys not matched: [ "+r.join(", ")+" ]"),a.util.showPopupScriptDialog(s,t,{type:"warning",buttons:"ok"})}}if(g&&g.values&&g.values.iaoFileParts&&g.values.iaoFileParts.configFiles&&g.values.iaoFileParts.configFiles.length>1){V=g.values.iaoFileParts.configFiles;for(var i in V)V[i]=U+V[i]+L}a.config.read(V,function(i){if(i&&i.getElementById&&i.getElementById("locale")){var o=i.getElementById("locale").getAttribute("value");if(o){var r=e&&e.container?e.container.jquery?e.container:b(e.container):b("#ia-report-container");r.addClass("ia-locale-"+o.toLowerCase())}}m(Y,Z,function(m){function o(i){a.file.loadCustomCss(srcCustomStyleSheet,function(){a.file.loadCustomJs(srcCustomJs,function(){i.startProgress("loadDataModel",function(){a.data.readDataModel(W,function(m){function o(b,c){a.util.setSplashProgress(45+25*(1*b/c))}function r(c,e,f,g){var h="Unexpected error",i=400;if(f&&f.code)i=f.code,h=f.message;else if(c&&(i=c.status,c.responseText))try{var j=JSON.parse(c.responseText);j.code&&(i=j.code),j.message&&(h=j.message)}catch(k){h="Unexpected error"}var l=d.localizedText&&d.localizedText["WebMapFatalErrorDialog.Title"]?d.localizedText["WebMapFatalErrorDialog.Title"]:"Web Map Error",m=d.localizedText&&d.localizedText["WebMapFatalErrorDialog.MessageFormat"]?d.localizedText["WebMapFatalErrorDialog.MessageFormat"]:"<p>InstantAtlas&#8482; could not fetch the web map data for your dashboard. The error message was:</p><p><code>{0}</code></p><p>This may be a temporary network error - if this is the first time you have seen this message please <em>Try Again</em>. If this eror is persistent it may be that the web map no longer exists or is not available to you - in this case you should <em>return to ArcGIS Online</em>.";m=a.util.formatString(m,i+": "+h,e,f),a.util.showPopupScriptDialog(l,m,{type:"error",buttons:"yesno",yes:function(){window.location.reload()},no:function(){a.agol["return"](!0)},modal:!0,buttonText:{yes:d.localizedText&&d.localizedText["WebMapFatalErrorDialog.YesButton.Text"]?d.localizedText["WebMapFatalErrorDialog.YesButton.Text"]:"Try Again",no:d.localizedText&&d.localizedText["WebMapFatalErrorDialog.NoButton.Text"]?d.localizedText["WebMapFatalErrorDialog.NoButton.Text"]:"Return to ArcGIS Online"},shown:function(a){b(a.target).find(".modal-header button.close").css("display","none")}})}function s(c){if("edit"!=a.operationMode&&a.azureApp&&P){var e=a.azureApp?sessionStorage.getItem("iaoUserId"):"";b.ajax({url:("undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:d.datamanager.transfer.servers.api).replace("/api","/util")+"/dashboard/token/generate/"+e+"/"+sessionStorage.getItem("iaoAppId"),type:"POST",dataType:"json",cache:!1,crossDomain:!0}).done(function(a,c){if(a){var e=a;sessionStorage.setItem("iaoXToken",e),b.ajaxPrefilter(function(a,b,c){d.datamanager&&d.datamanager.dataStoreUrls&&d.datamanager.dataStoreUrls.core&&a.url.indexOf(d.datamanager.dataStoreUrls.core)>=0&&sessionStorage.getItem("iaoXToken")&&c.setRequestHeader("X-IAO-Token",sessionStorage.getItem("iaoXToken"))})}}).always(function(a){c&&c()})}else c&&c()}function t(b,e,f){var g=!1;if(a.azureApp){var h=a.data.adjustModelUrls(b,c.accessToken,"?f=geojson");if(void 0!=m&&(h=a.data.adjustModelUrls(m,c.accessToken,"?f=geojson")),d.datamanager&&d.datamanager.dataStoreUrls&&d.datamanager.dataStoreUrls.core)for(var i in h)if(h[i].indexOf(d.datamanager.dataStoreUrls.core)>=0){g=!0,s(function(){u(b,e,f)});break}}else a.data.adjustModelFormats(b,"ArcGIS");g||u(b,e,f)}function u(j,o,r){function s(){function f(f){a.util.setSplashProgress(75),e&&e.progress&&e.progress("DataLoaded",f);var g;for(var j in o.layers){var k=o.layers[j];if("base-layer"==k.type&&1==k.visible){for(var l in f.geographies)if(f.geographies[l].id==k.id){g=l;break}break}}if(void 0!=g&&(i.url.params.geog=g),b("#ia-settings-container").length){a.changesSaved=!0,a.azureApp&&(c.accessToken=""),b("body").data("iaInitCalled",1);var m=document.getElementById("ia-data-modeller");if(m){var n=sessionStorage.getItem("iaoUser")?JSON.parse(sessionStorage.getItem("iaoUser")):{id:sessionStorage.getItem("iaoUserId")};m.src=m.src.split("?")[0]+"?importFormats="+(n.builder&&n.builder.indexOf("DataStoreCore")>=0?"DataStoreCore,":"")+"CSV"+(a.azureApp?"":",ArcTable,ArcGIS")+(dbAppDebug?"&debug="+dbAppDebug:"")+"&storage=local&mode="+(a.azureApp?"Azure":"ArcGISOnline")+(a.azureApp?"&iaoUserId="+n.id:"")+"&appid="+h.id+"&empty=hide"+(P?"&importDataHandler=builderPopCsvForbiddenDialog":"")+(a.azureApp&&sessionStorage.getItem("iaoXToken")?"&xtoken="+encodeURIComponent(sessionStorage.getItem("iaoXToken")):"")}if(!a.azureApp){var r="https://www.arcgis.com/sharing/rest/community/self?culture=en&f=json"+L.replace("?","&");b.getJSON(c.getDomainSafeUrl(r)).done(function(e){if(e.username!=h.owner){var f=d.localizedText&&d.localizedText["NotOwnerWarningDialog.Title"]?d.localizedText["NotOwnerWarningDialog.Title"]:"Read-Only",g=d.localizedText&&d.localizedText["NotOwnerWarningDialog.Message"]?d.localizedText["NotOwnerWarningDialog.Message"]:'<p>You ({4}) are not the owner of dashboard <strong>{1}</strong>. You can view and edit this dashboard but you will not be able to save your changes. If you need to save your edits you should contact the <a href="//www.arcgis.com/home/user.html?user={2}" title="{2} - user profile">owner of \'{1}\'</a> and ask them to transfer ownership via ArcGIS Online.</p>';g=a.util.formatString(g,h.id,h.title,h.owner,e.username,e.fullName);var i=function(){a.util.showPopupScriptDialog(f,g,{modal:!0,buttons:"cancel",buttonText:{cancel:d.localizedText&&d.localizedText["NotOwnerWarningDialog.Cancel.Text"]?d.localizedText["NotOwnerWarningDialog.Cancel.Text"]:"OK"},cancel:function(){},type:"warning",largeDialog:!1})};b("#ia-save-btn,#ia-quick-link-save").off("click").on("click",function(a){i(),a.preventDefault()}).each(function(){b(this).prop("id",b(this).prop("id")+"-disabled").addClass("btn btn-link disabled")}),i()}if(e.appInfo&&e.appInfo.itemId){var j="https://www.arcgis.com/sharing/rest/content/items/"+e.appInfo.itemId+"?f=json"+L.replace("?","&");b.getJSON(c.getDomainSafeUrl(j)).done(function(b){b&&b.url&&(a.arcAppBaseUrl=b.url)}).fail(function(a,b,c){console.log("Failed getting registered application info.")})}if(sessionStorage.setItem("iaoAppUser",JSON.stringify(e)),m){var k=["CSV","ArcTable","ArcGIS"],l=JSON.parse(sessionStorage.getItem("iaoAppData")),n=l.values.webmap,o=!1;if(e.groups)for(var p in e.groups)if(e.groups[p].tags&&(e.groups[p].tags.indexOf("ia-item-type=CatalogGroup")>=0||e.groups[p].tags.indexOf("ia-item-type=StoreGroup")>=0)){k.push("ArcGISOnlineDataStore"),m.src=m.src.split("?")[0]+"?importFormats="+k.join(",")+(dbAppDebug?"&debug="+dbAppDebug:"")+"&appid="+h.id+"&webmap="+n+"&empty=hide&storage=local&mode=ArcGISOnline",o=!0;break}o||(m.src=m.src.split("?")[0]+"?importFormats="+k.join(",")+(dbAppDebug?"&debug="+dbAppDebug:"")+"&appid="+h.id+"&webmap="+n+"&empty=hide&storage=local&mode=ArcGISOnline")}})}c.parse(f,o,function(){if(e.params.geog>=0){var b=i.getComponent("map");if(b){var c=i.data.getGeographies()[e.params.geog].id,d=b.getLayer(c);d&&d.setVisible(!0)}a.defaultActiveLayer=f.geographies[e.params.geog].id}else a.defaultActiveLayer=f.geographies[0].id;p(i)})}else a.azureApp&&(c.accessToken=""),c.parse(f,o,function(){if(e&&e.complete){if(e.complete(i),e.params.geog>=0){var a=i.getComponent("map");if(a){var b=i.data.getGeographies()[e.params.geog].id,c=a.getLayer(b);c&&c.setVisible(!0)}}q(i)}else{if(e.params.geog>=0){var a=i.getComponent("map");if(a){var b=i.data.getGeographies()[e.params.geog].id,c=a.getLayer(b);c&&c.setVisible(!0)}}q(i)}})}a.setSessionStorageItem("iaoMap",JSON.stringify(o)),a.setLocalStorageItem("iaoIndicatorsAvailable__"+h.id,JSON.stringify(j.geographies[0].model),!0),a.setLocalStorageItem("iaoIndicatorsModel__"+h.id,JSON.stringify(m.geographies[0].model),!0);var k={};for(var l in j.geographies)a.setSessionStorageItem("iaoIndicatorsAvailable__"+j.geographies[l].id,JSON.stringify(j.geographies[l].model),!0),console.log("db-main #1474 setItem(iaoDataModel__"+j.geographies[l].id),a.setSessionStorageItem("iaoDataModel__"+j.geographies[l].id,JSON.stringify(j.geographies[l]),!0);for(var l in m.geographies)k[m.geographies[l].id]=m.geographies[l];m.geographies=[];var r=-1,s=-1;e||(e={}),e.params||(e.params={});for(var l in o.layers)k[o.layers[l].id]&&"base-layer"==o.layers[l].type&&1!=o.layers[l].hidden&&(s++,o.layers[l].visible=o.layers[l].visible&&(!n||n.length<1)||n&&n.indexOf(o.layers[l].id)>=0,0>r?(r=l,m.geographies.unshift(k[o.layers[l].id])):m.geographies.push(k[o.layers[l].id]),k[o.layers[l].id].name=o.layers[l].name,o.layers[l].visible&&(e.params.geog=s),console.log("db-main #1507 setItem(iaoDataModel__"+o.layers[l].id),a.setSessionStorageItem("iaoDataModel__"+o.layers[l].id,JSON.stringify(k[o.layers[l].id]),!0));(!n||n.length<1)&&r>=0&&!e.params.geog&&(o.layers[r].visible=!0,e.params.geog=0),dbAppDebug&&console.log("db-main.js line #1505 setItem(iaoDataModel)"),a.setSessionStorageItem("iaoDataModel",JSON.stringify(m),!0),a.agolData.formatter||(a.agolData.formatter=new c.Formatter);var t=d.parseQueryString(window.location.search,"&");if(a.operationMode&&"view"==a.operationMode&&(t&&t.data||!t.direct&&g&&g.values&&g.values.iaoDataFile&&g.values.iaoDataFile.url)){var u=t.data||g.values.iaoDataFile.url+"?_t="+g.values.iaoDataFile.lastModified;b.getJSON(u,function(b){a.agolData.parseData(b,function(a){for(var c={},d=0;d<b.geographies.length;d++)c[b.geographies[d].id]=b.geographies[d];for(var d=0;d<a.geographies.length;d++)a.geographies[d].themes=c[a.geographies[d].id].themes;f(a)})})}else a.data.expandModelStoreIndicators(m,function(b){e&&e.progress&&e.progress("DataModelLoaded",m),a.setSessionStorageItem("iaoDataModel_Active_"+sessionStorage.getItem("iaoAppId"),JSON.stringify(b),!0),a.agolData.parseData(m,f)})}var t,u,v,w;if(a.util.setSplashProgress(70),void 0==m)m=j;else if(j.geographies&&j.geographies.length>0&&j.geographies[0].model){for(var x,y,z,A,B=new d.DataModel("iaoIndicatorsModelActive__"+h.id),C=0;C<j.geographies[0].model.themes.length;C++)for(var D=0;D<j.geographies[0].model.themes[C].indicators.length;D++)if(y=j.geographies[0].model.themes[C].indicators[D].src.fieldName,x=B.getIndicatorsWithSourceField(y),x&&j.geographies[0].model.themes[C].indicators[D].properties)for(var E=0;E<x.length;E++){x[E].properties||(x[E].properties=[]);for(var F=0;F<j.geographies[0].model.themes[C].indicators[D].properties.length;F++){z=j.geographies[0].model.themes[C].indicators[D].properties[F],A=!1;for(var G=0;G<x[E].properties.length;G++)x[E].properties[G].name==z.name&&(x[E].properties[G].value=z.value,A=!0);A||(x[E].properties[x[E].properties.length]={name:z.name,value:z.value})}}if(B.updateProperty("iaoArcLayerUrl",j.geographies[0].url),null==B.getProperty("iaoComparisonRelationships")&&c.FeatureServiceReader.layerInfoCache[j.geographies[0].url]){var H=c.FeatureServiceReader.layerInfoCache[j.geographies[0].url].relationships,I=[];if(H){for(var J in H)"esriRelRoleDestination"==H[J].role&&I.push("relationship:"+H[J].name.split("_").slice(0,2).join("_")+"*");B.updateProperty("iaoComparisonRelationships",I.join(","))}else B.updateProperty("iaoComparisonRelationships","")}else null==B.getProperty("iaoComparisonRelationships")&&B.updateProperty("iaoComparisonRelationships","");B.save(),m.geographies[0].model=JSON.parse(a.getLocalStorageItem("iaoIndicatorsModelActive__"+h.id,!0))}var K,M="",N=new Array;for(var O in c.proxyMaps)K=O.split("/")[2],N.indexOf(K)<0&&N.push(K);if(r&&r.rejected&&r.rejected.length>0){M+='<ul class="mapLayerList">';for(var Q in r.rejected)v=r.rejected[Q].layer,w=r.rejected[Q].error,M+='<li><a href="'+(0==w.statusCode?"../cors?url=":"")+v.url+'" target="iaoBlank">'+v.title+' <i class="fas fa-external-link-alt" style="font-size: 10px;">&nbsp;</i></a>: <div style="float: right; text-align: right;margin-right: 20px;">'+(d.localizedText&&d.localizedText["OperationalLayerError."+w.statusCode+".Message"]?d.localizedText["OperationalLayerError."+w.statusCode+".Message"]:w.message)+'&nbsp;<i class="fas fa-fw fa-'+(0==r.rejected[Q].url.indexOf("http:")?"unlock-alt":"lock")+'">&nbsp;</i></div></li>';M+="</ul>"}if("undefined"!=typeof d.admin&&window.location.search&&window.location.search.indexOf("migrate=model")>0){console.log("EmbeddedIAO Admin function: model is being migrated from:"),console.log(m);for(var R in m.geographies)m.geographies[R].model&&d.admin.migrateDataModel(m.geographies[R].model);console.log("EmbeddedIAO Admin function: model has been migrated to:"),console.log(m)}if("edit"==a.operationMode&&j&&(!j.geographies||j.geographies.length<1)&&m&&m.geographies&&m.geographies.length>0&&o&&o.layers){var S="",T=m.geographies[0].url;if(T){for(var Q in o.layers){var U=o.layers[Q].url==T||0==T.indexOf(o.layers[Q].url)?' checked="checked"':"";S+='<li style="list-style: none;"><input type="radio" name="lyrModelRadio" id="lyrModelRadio_'+Q+'" value="'+o.layers[Q].id+";"+o.layers[Q].url+'"'+U+' /> <label for="lyrModelRadio_'+Q+'">'+o.layers[Q].name+"</label></li>";
}if(""!=S){t=d.getText("MapDataNoMatchDialog.Title","Map Data Error"),u=d.getText("MapDataNoMatchDialog.Message",'<p>InstantAtlas&#8482; Dashboard Builder could not find any map feature data in your web map that matches your current <em>data model</em> (<strong>{2}</strong> / <a href="{4}" target="_blank" class="small" style="word-break: break-all;">{4} <i class="fas fa-external-link-alt"></i></a>). There are other layers in your web map that have vector data - (some may even have the same <em>source URL</em>) - you can choose one of these below and update your model, or you can discard your data model and start again.</p><ul>{3}</ul><p class="small">Note that in <span class="Internet Explorer 9">IE9</span> you can only use feature/map services from the following hosts: [ {1} ]. </p>'),u=a.util.formatString(u,M,N.join(", "),m.geographies[0].name,S,T),a.util.hideProgress();var V=b("#ia-modal-alert");return void a.util.showPopupScriptDialog(t,u,{modal:!0,buttons:"yesnocancel",buttonText:{yes:d.localizedText&&d.localizedText["MapDataNoMatchDialog.Yes.Text"]?d.localizedText["MapDataNoMatchDialog.Yes.Text"]:"Update Data Model",no:d.localizedText&&d.localizedText["MapDataNoMatchDialog.No.Text"]?d.localizedText["MapDataNoMatchDialog.No.Text"]:"Discard & Reload",cancel:d.localizedText&&d.localizedText["MapDataNoMatchDialog.Cancel.Text"]?d.localizedText["MapDataNoMatchDialog.Cancel.Text"]:"Return to ArcGIS Online"},yes:function(){var b=V.find('input[id^="lyrModelRadio"]:checked');m.geographies[0].id=b.val().split(";")[0],m.geographies[0].url=b.val().split(";")[1],m.geographies[0].name=b.siblings("label").text();var c=a.util.guid();a.setLocalStorageItem("iaoDataModel_"+c,JSON.stringify(m),!0),window.location.href="./dashboard?appid="+f.params.appid+"&clear=false&model="+c},no:function(){window.location.href="./dashboard?appid="+f.params.appid+"&discard=model"},cancel:function(){a.agol["return"](!0)},shown:function(){V.find('input[id^="lyrModelRadio"]').on("change",function(){var a=V.find('input[id^="lyrModelRadio"]:checked');V.find('*[data-task="yes"]').prop("disabled",a.length<1)}),V.find('input[id^="lyrModelRadio"]:eq(0)').prop("checked",!0).trigger("change"),b("#ia-modal-alert .proxy-msg").css("display",N&&N.length>0&&c&&c.useProxy?"block":"none")},type:"error",largeDialog:!0})}}}if(!j||!j.geographies||j.geographies.length<1){if("edit"!=a.operationMode){if(r&&r.rejected&&r.rejected.length>0)for(var Q in r.rejected)if(w=r.rejected[Q].error,!l&&499==w.statusCode)return void k();return void a.showApplicationFailDialog(h.id,h.title,h.owner)}if(t=d.localizedText&&d.localizedText["MapDataDialog.Title"]?d.localizedText["NoMapDataDialog.Title"]:"No Map Data Available",(!M||""==M)&&o&&o.layers){M+='<ul class="mapLayerList">';for(var Q in o.layers)M+='<li><a href="'+(o.layers[Q].url.indexOf("/export")?o.layers[Q].url.substring(0,o.layers[Q].url.indexOf("/export")):o.layers[Q].url)+'" target="iaoBlank">'+o.layers[Q].name+' <i class="fas fa-external-link-alt" style="font-size: 10px;">&nbsp;</i></a>: <div style="float: right; text-align: right;margin-right: 20px;">'+("ags-layer"==o.layers[Q].type?"defaultBasemap"==o.layers[Q].id?d.getText("OperationalLayerError.BaseMapLayer.Message","Base map - no features"):d.getText("OperationalLayerError.ImageLayer.Message","Image or Tiled layer - no features"):"")+"&nbsp;</div></li>";M+="</ul>"}return u=d.localizedText&&d.localizedText["NoMapDataDialog.Message"]?d.localizedText["NoMapDataDialog.Message"]:'<p>InstantAtlas&#8482; Dashboard Builder could not find any suitable feature data in your web map. You need to have at least one "feature layer" (i.e. one that comes from an ArcGIS Feature Server/Layer) in your web map. Please try again with a different web map. Unsuitable map layers are shown below, along with the reason for their exclusion.</p>{0}<p class="small ssl-msg">Note that Dashboard Builder tries to use https/SSL for all connections to your map/feature services when designing a dashboard. If your service is not on ArcGIS Online and does not support https this can cause problems. Layers that were <em>not</em> originally marked as https are show with an &quot;insecure&quot; icon (<i class="fas fa-fw fa-unlock-alt">&nbsp;</i>). For more help on this contact <a href="mailto:support@instantatlas.com">support@instantatlas.com</a>.</p><p class="small proxy-msg">Note that only use feature/map services from the following hosts are guaranteed to work: [ {1} ]. </p>',u=a.util.formatString(u,M,N.join(", ")),a.util.hideProgress(),void a.util.showPopupScriptDialog(t,u,{modal:!0,buttons:"yesno",buttonText:{yes:d.localizedText&&d.localizedText["NoMapDataDialog.Reload.Text"]?d.localizedText["NoMapDataDialog.Reload.Text"]:"Try Again (Reload)",no:d.localizedText&&d.localizedText["NoMapDataDialog.Cancel.Text"]?d.localizedText["NoMapDataDialog.Cancel.Text"]:"Return to ArcGIS Online"},yes:function(){window.location.reload()},no:function(){a.agol["return"](!0)},cancel:function(){window.location.href="../"},shown:function(){b("#ia-modal-alert .proxy-msg").css("display",N&&N.length>0&&c&&c.useProxy?"block":"none"),b("#ia-modal-alert .ssl-msg").css("display",a.forceHttps?"block":"none")},type:"error",largeDialog:!0})}if(r&&r.rejected&&r.rejected.length>0&&(t=d.localizedText&&d.localizedText["RejectedMapDataDialog.Title"]?d.localizedText["RejectedMapDataDialog.Title"]:"Map Data Incomplete",u=d.localizedText&&d.localizedText["RejectedMapDataDialog.Message"]?d.localizedText["RejectedMapDataDialog.Message"]:'<p>Your report is OK, but InstantAtlas&#8482; Dashboard Builder could not use all of the layers in your web map. Unsuitable layers are shown below, along with the reason for their exclusion.<br />&nbsp;{0}<br/></p><p class="small ssl-msg">Note that Dashboard Builder tries to use https/SSL for all connections to your map/feature services when designing a dashboard. If your service is not on ArcGIS Online and does not support https this can cause problems. Layers that were <em>not</em> originally marked as https are show with an &quot;insecure&quot; icon (<i class="fas fa-fw fa-unlock-alt">&nbsp;</i>). For more help on this contact <a href="mailto:support@instantatlas.com">support@instantatlas.com</a>.</p><p class="small proxy-msg">Note that only use feature/map services from the following hosts are guaranteed to work: [ {1} ]. <a data-link-type="help" href="#help:approved-hosts" target="iaoHelpWindow" title="Click for more information on approved hosts for IA Dashboard Builder">Why?</a>',u=a.util.formatString(u,M,N.join(", ")),a.util.hideProgress(),a.util.showPopupScriptDialog(t,u,{buttons:"cancel",buttonText:{cancel:d.localizedText&&d.localizedText["RejectedMapDataDialog.Cancel.Text"]?d.localizedText["RejectedMapDataDialog.Cancel.Text"]:"OK"},cancel:function(){},shown:function(){b("#ia-modal-alert .proxy-msg").css("display",N&&N.length>0&&c&&c.useProxy?"block":"none"),b("#ia-modal-alert .ssl-msg").css("display",a.forceHttps?"block":"none")},type:"warning",largeDialog:!0})),r&&"undefined"!=typeof r.tokenized&&0==r.tokenized)c.accessToken="";else if(r&&"undefined"!=typeof r.tokenized&&r.tokenized!=r.approved.length+(r.rejected?r.rejected.length:0)){c.accessToken="";var W=d.arcgis.getPreference("editor.mixedLayerHosts.warning","true");if("false"!=W&&"edit"==a.operationMode){var X="<ul>";for(var Q in r.approved)"rejected"!=r.approved[Q].status&&(X+='<li><a href="'+r.approved[Q].url+'" target="_blank" class="small">'+r.approved[Q].url.replace(/arcgis\.com/g,"<strong>arcgis.com</strong>")+' <i class="fas fa-external-link-alt small"></i></a></li>');X+="</ul>",t=d.localizedText&&d.localizedText["TokenMixedMapDataDialog.Title"]?d.localizedText["TokenMixedMapDataDialog.Title"]:"Mixed Source Map Data",u=d.localizedText&&d.localizedText["TokenMixedMapDataDialog.Message"]?d.localizedText["TokenMixedMapDataDialog.Message"]:'<p>Your dashboard is OK, but InstantAtlas&#8482; Dashboard Builder noticed that some of the layers in your web map are <strong>not</strong>  hosted on arcgis.com but others are.</p>{0}<p>Dashboard Builder normally uses <a href="http://server.arcgis.com/en/server/latest/administer/windows/about-arcgis-tokens.htm" target="_blank">authenticated (tokenized) <i class="fas fa-external-link-alt small"></i></a> connections to your ArcGIS Online map/feature services when designing a dashboard, but because you are using services <em>not hosted</em> on ArcGIS Online all connections will now be <strong>anonymous</strong>. If any of the layers listed above  is not shared with <em>Everyone</em> this may cause problems.</p><p>For more help on this contact <a href="mailto:support@instantatlas.com">support@instantatlas.com</a>.</p>',u=u.replace(/\{0\}/g,X),a.util.hideProgress(),a.util.showPopupScriptDialog(t,u,{buttons:"cancel",buttonText:{cancel:d.localizedText&&d.localizedText["TokenMixedMapDataDialog.Cancel.Text"]?d.localizedText["TokenMixedMapDataDialog.Cancel.Text"]:"OK"},cancel:function(){b("#noMixedWarnBox").is(":checked")&&d&&d.arcgis&&d.arcgis.setPreference("editor.mixedLayerHosts.warning","false",function(a){console.log(a)})},shown:function(a){var c=b(a.target);c.find(".modal-footer").prepend('<div style="float: left;"><span class="small"><input type="checkbox" class="" id="noMixedWarnBox" /> <label class="control-label" for="noMixedWarnBox">'+(d.localizedText&&d.localizedText["TokenMixedMapDataDialogNoShowButton.Text"]?d.localizedText["TokenMixedMapDataDialogNoShowButton.Text"]:"don't show me again")+"</label></span></div>")},type:"warning",largeDialog:!0})}}if(e&&e.dataModel&&"function"==typeof e.dataModel){var Y=e.dataModel;Y({model:m,map:o,success:function(a){m=a,s()},fail:function(b){a.showApplicationFailDialog(h.id,h.title,h.owner)}})}else s()}a.util.setSplashProgress(45);var v=null,w=new c.UrlParams(window.location.href);if("undefined"!=typeof w.params.clear&&"false"==w.params.clear.toString()&&w.params.model){try{v=a.getLocalStorageItem("iaoDataModel_"+w.params.model,!0),m=JSON.parse(v)}catch(x){console.log("Could not fetch/parse previous data model: "+x)}localStorage.removeItem("iaoDataModel_"+w.params.model)}var z,A,B;if(void 0!=m){a.azureApp?a.data.adjustModelUrls(m,c.accessToken,"?f=geojson"):a.data.adjustModelFormats(m,"ArcGIS"),dbAppDebug&&console.log("db-main.js line #1076 setItem(iaoDataModel)"),a.setSessionStorageItem("iaoDataModel",JSON.stringify(m),!0);for(var C in m.geographies)a.forceDataModelProxies(m.geographies[C].model),!m.geographies[C].idField&&m.geographies[C].model&&(m.geographies[C].idField=m.geographies[C].model.idField,m.geographies[C].nameField=m.geographies[C].model.nameField);var D=JSON.parse(JSON.stringify(m.geographies[0].model));a.forceDataModelNonProxies(D),a.setLocalStorageItem("iaoIndicatorsModel__"+h.id,JSON.stringify(D),!0),a.setLocalStorageItem("iaoIndicatorsModelActive__"+h.id,JSON.stringify(D),!0),z=new Array,A=new Array,B=new Array;for(var C in m.geographies)z.push(m.geographies[C].id),A.push(m.geographies[C].idField),B.push(m.geographies[C].nameField),a.forceDataModelNonProxies(m.geographies[C].model)}if(a.azureApp){var E=N.substring(0,N.lastIndexOf("/"))+"/data-sources.js"+(N.indexOf("?")>0?"?"+N.split("?")[1]:"");a.data.readIAFiles(N,E,{complete:t,fail:r,progress:o,allowCache:!1,visible:n,hidden:j})}else{if(g&&g.values&&g.values.iaoFileParts&&g.values.iaoFileParts.mapFiles&&g.values.iaoFileParts.mapFiles.length>1){X=g.values.iaoFileParts.mapFiles;for(var C in X)X[C]=U+X[C]+L}a.data.readMap(X,function(b){void 0!=b&&a.setSessionStorageItem("iaoMap",JSON.stringify(b)),y=d.parseQueryString(window.location.search,"&"),a.data.readWebMap(g.values.webmap,{dataLayer:z,idField:A,nameField:B,complete:t,fail:r,progress:o,allowCache:a.operationMode&&"view"==a.operationMode,visible:n,hidden:j,forceHttps:a.forceHttps,mode:y&&y.mode&&"view-force"==y.mode.toLowerCase()?"view-force":"undefined"!=typeof a.operationMode?a.operationMode:"view",extent:b&&"undefined"!=typeof b.forceBoundingBox&&b.boundingBox&&1==b.forceBoundingBox?b.boundingBox.split(" "):null})})}})})})})}var r={container:e&&e.container?e.container:"ia-report-container",onFail:v,onSuccess:o,data:{model:a.agolData,config:{xml:i}},params:e?e.params:null};void 0!=m&&(r.data.style={text:m}),c.init(r)})})}).fail(function(b,d,e){c.log("Fatal Error: "+d+", "+e),a.showFatalDataAccessDialog(b,d,e)})}).fail(function(e,f,g){if(c.log("Fatal Error: "+f+", "+g),a.util.hideProgress(),b(".ia-report-loading").hide(),a.azureApp&&e&&404==e.status&&M.indexOf("-public")>0){var h=d.getText("AzureAppInfo404Dialog.MessageFormat","<p>InstantAtlas&#8482; Online could not find this dashboard. It may have been deleted or its author may have stopped sharing it.</p>"),i=d.getText("AzureAppInfo404Dialog.Title","Cannot Access Dashboard"),j=d.datamanager.transfer.servers.api.replace("/api","/account/login")+"?returnUrl="+encodeURIComponent(window.location.href);h=a.util.formatString(h,j),a.util.showPopupScriptDialog(i,h,{modal:!0,resize:!1,type:"error",buttons:"ok",ok:function(){a.clearAppFromSession(),window.location.href="../"},cancel:function(){a.clearAppFromSession(),window.location.href="../"},focus:"ok"})}else a.showFatalDataAccessDialog(e,f,g)})}var i,j,l=!1,n={},o=dbAppId.split(";");if(c.accessToken="",sessionStorage.getItem("iaoToken")){if(c.accessToken=sessionStorage.getItem("iaoToken"),c.accessToken&&c.accessToken.length>1&&"?"==c.accessToken.substring(0,1)&&(c.accessToken="&"+c.accessToken.substring(1)),sessionStorage.getItem("iaoExpiresIn")){var r=new Date,s=new Date;s.setTime(parseInt(sessionStorage.getItem("iaoExpiresIn")));var t=s.getTime()-r.getTime(),u=t-12e4;u>6e4?a.autoRecoverTimeoutId=setTimeout(w,u):k()}}else{var x=f.params.code;if(!x&&window.location.search){var y=window.location.search.substring(1).replace("?","&");y.indexOf("code=")>=0&&(x=y.substring(y.indexOf("code=")+5))}if(x&&""!=x){var z=window.location.href.indexOf("&authid=")>0?window.location.href.substring(0,window.location.href.indexOf("&authid=")):window.location.href;z.indexOf("?code=")&&(z=z.substring(0,z.indexOf("?code=")));var A=a.itemPath.substring(0,a.itemPath.lastIndexOf("/sharing")+"/sharing".length)+"/oauth2/token",B="grant_type=authorization_code&client_id="+encodeURIComponent("edit"==a.operationMode?dbAppId:dbAppViewerId)+"&redirect_uri="+encodeURIComponent(z)+"&code="+x,C=b.ajax({type:"POST",url:c.getDomainSafeUrl(A),data:B,async:!1}).responseText,D=JSON.parse(C);if(c.accessToken=D.access_token,a.setSessionStorageItem("iaoToken",c.accessToken),l=!0,D.refresh_token&&a.setSessionStorageItem("iaoRefreshToken",D.refresh_token),D.expires_in){var r=new Date,t=1e3*D.expires_in,s=r.getTime()+t;a.setSessionStorageItem("iaoExpiresIn",s),a.autoRecoverTimeoutId=setTimeout(w,t-12e4)}}else if(window.location.hash){if(window.location.hash.indexOf("error=")>=0){if(window.location.search){i=window.location.search.substring(1).split("&");for(var E=0;E<i.length;E++)i[E].indexOf("=")>0&&(n[i[E].substring(0,i[E].indexOf("="))]=i[E].substring(i[E].indexOf("=")+1))}if("edit"==a.operationMode&&!n.legacyauth&&o.length>1&&""!=o[1])return j=window.location.href,j.indexOf("#")>0&&(j=j.substring(0,j.indexOf("#"))),j+="&legacyauth=1",void d.redirectToArcGisOnlineAuth(o[1],{responseType:"token",redirectUri:j,expiration:dbAppDebug>=10?2:dbAppDebug&&"false"!=dbAppDebug.toString()?15:240});var F=window.location.hash.substring(window.location.hash.indexOf("error=")+"error=".length);F.indexOf("&")>0&&(F=F.substring(0,F.indexOf("&")));var G=window.location.hash.indexOf("error_description=")>=0?window.location.hash.substring(window.location.hash.indexOf("error_description=")+"error_description=".length):"";G.indexOf("&")>0&&(G=G.substring(0,G.indexOf("&")));var H=decodeURIComponent(F),I=decodeURIComponent(G&&""!=G?G:F);a.util.hideProgress(),b("#ia-report-progress").hide();var J=d.localizedText&&d.localizedText["AppSignInErrorDialog.TextFormat"]?d.localizedText["AppSignInErrorDialog.TextFormat"]:'InstantAtlas&#8482; could not start your application because either your sign in failed or you cancelled sign in. The detailed message was: "{0}".';return J=a.util.formatString(J,I,H),void a.util.showPopupScriptDialog("Sign In Cancelled",I,{buttons:"yesno",buttonText:{yes:d.localizedText&&d.localizedText["AppSignInErrorDialog.YesButton.Text"]?d.localizedText["AppSignInErrorDialog.YesButton.Text"]:"Try Again",no:d.localizedText&&d.localizedText["AppSignInErrorDialog.NoButton.Text"]?d.localizedText["AppSignInErrorDialog.NoButton.Text"]:"Return to ArcGIS Online"},yes:function(){window.location.href=window.location.href.substring(0,window.location.href.indexOf("#"))},no:function(){a.agol["return"](!0)},cancel:function(){window.location.href="../"},modal:!0,type:"warning"})}i=window.location.hash.substring(1).split("&");for(var E=0;E<i.length;E++)if("access_token="==i[E].substring(0,"access_token=".length)&&(c.accessToken=i[E].substring("access_token=".length),a.setSessionStorageItem("iaoToken",c.accessToken),l=!0,a.setSessionStorageItem("iaoReferrer",window.location.href.substring(0,window.location.href.lastIndexOf("/")))),"expires_in="==i[E].substring(0,"expires_in=".length)){var K=i[E].substring("expires_in=".length),r=new Date,t=1e3*parseInt(K),s=r.getTime()+t;a.setSessionStorageItem("iaoExpiresIn",s),a.autoRecoverTimeoutId=setTimeout(w,t-12e4)}}if(b("#ia-settings-container").length&&null===sessionStorage.getItem("iaoToken")){if(a.azureApp)return void k(function(){h(e,f)});k()}}a.forceHttps=e&&"undefined"!=typeof e.forceHttps?e.forceHttps:"https:"==window.location.protocol;var L="";sessionStorage.getItem("iaoToken")&&(L="&token="+sessionStorage.getItem("iaoToken"));var M=a.itemPath+sessionStorage.getItem("iaoAppId")+"?f=json"+L,N=a.itemPath+sessionStorage.getItem("iaoAppId")+"/data?f=json"+L,O=a.azureApp?sessionStorage.getItem("iaoUserId"):"",P=O&&O.indexOf("-public")>0,L="";if(sessionStorage.getItem("iaoToken")&&(L=(a.azureApp?"":"?token=")+sessionStorage.getItem("iaoToken")),a.azureApp){if(a.azureDomain="undefined"!=typeof iaoAzureDomainEMBED&&""!=iaoAzureDomainEMBED?iaoAzureDomainEMBED:"https://grahamgbrooks.blob.core.windows.net/",!O||""==O)return void alert("big fat fail - no EmbeddedIAO Azure link");M=a.azureDomain+O+"/dashboards/"+sessionStorage.getItem("iaoAppId")+(P?"":L),N=a.azureDomain+O+"/dashboards/"+sessionStorage.getItem("iaoAppId")+"/map.js"+(P?"":L);var Q=window.location.hostname.replace("dashboards.","online.");d.datamanager.transfer.init({servers:{api:"undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:window.location.protocol+"//"+Q+"/api",storage:a.azureDomain+O}}),P&&(window.builderPopCsvForbiddenDialog=function(){var b=d.getText("AzureCannotAddDataToPublicDialog.MessageFormat","<p>Your dashboard is currently <strong>shared</strong> - you cannot add new data to a shared dashboard.</p><p>To add new data you need to reset the dashboard's status to <strong>private</strong>, make your edits, then re-share it.</p>"),c=d.getText("AzureCannotAddDataToPublicDialog.Title","Cannot Add Data");return a.util.showPopupScriptDialog(c,b,{type:"ban",modal:!0,buttons:"cancel",buttonText:{cancel:d.getText("AzureCannotAddLayerToPublicDialog.CancelButton.Text","Close")},ok:function(){a.azure.save({access:"private",done:function(){O=a.azureApp?sessionStorage.getItem("iaoUserId"):"";var b=window.location.href.replace(O,O.replace("-public",""));window.location.href=b}})},cancel:function(){},resize:!1,focus:"cancel"}),!1})}var R,S=new Array;for(var T in c.proxyMaps)R=T.split("/")[2],S.indexOf(R)<0&&S.push(R);var U=a.azureApp?a.azureDomain+O+"/dashboards/"+sessionStorage.getItem("iaoAppId")+"/":a.itemPath+sessionStorage.getItem("iaoAppId")+"/info/",V=U+"config.xml"+(P?"":L),W=U+"data.json"+(P?"":L),X=U+"map.json"+(P?"":L),Y=U+"json-less-vars.json"+(P?"":L),Z=U+"defaultcss.txt"+(P?"":L);if(srcCustomStyleSheet=U+"customcss.txt"+(P?"":L),srcCustomJs=U+"customjs.txt"+(P?"":L),f.params.discard&&f.params.discard.indexOf("model")>=0&&(sessionStorage.removeItem("iaoDataModel"),W=""),"edit"==a.operationMode||a.azureApp&&!P)if(a.azureApp){var $=d.getText("AzureNoAuthorErrorDialog.MessageFormat",'<p>InstantAtlas&trade; Dashboard Builder could not access your user information. This may be because your edit session has timed out. You should <a href="{0}">sign in again</a> and then return to this page.</p>'),_=d.getText("AzureNoAuthorErrorDialog.Title","Sign In Required"),aa="sign-in";b.ajax({url:("undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:d.datamanager.transfer.servers.api)+d.datamanager.transfer.uris.sas,type:"GET",xhrFields:{withCredentials:!0},dataType:"json"}).done(function(e,f){var h=e.SAS;h&&""!=h&&"invalid user"!=h?b.ajax({url:("undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:d.datamanager.transfer.servers.api)+d.datamanager.transfer.uris.self,type:"GET",xhrFields:{withCredentials:!0},dataType:"json"}).done(function(e){a.owner=e.username,a.setSessionStorageItem("iaoUser",JSON.stringify(e)),a.setSessionStorageItem("iaoSasToken",h),a.setSessionStorageItem("iaoToken",h);var f=null;if(0!=O.indexOf(e.id)&&(f=function(c){var f=d.getText("AzureNotOwnerWarningDialog.Title","Read-Only"),g=c&&"undefined"!=typeof c["protected"]&&0==c["protected"],h=g?d.getText("AzureNotOwnerWarningDialog.Message",'<p>You ({1}) are not the owner of this dashboard. You can view and edit this dashboard but you will need to use <strong>Save As</strong> to create a new dashboard in your workspace if you want to keep your changes.</p><p><span class="small">Note that when you use <strong>Save As</strong> Dashboard Builder will make a copy of both the dashboard and any data and maps that the dashboard needs in your workspace. If you do this often you can use up a lot of your available space.</span></p>'):d.getText("AzureNotOwnerWarningBlockDialog.Message","<p>You ({1}) are not the owner of this dashboard. You can view and edit this dashboard but you will <strong>not</strong> be able to save your changes.</p>");h=a.util.formatString(h,e.id,e.fullName,e.username,e.email);var i=function(){a.util.showPopupScriptDialog(f,h,{modal:!0,buttons:"cancel",buttonText:{cancel:d.getText("AzureNotOwnerWarningDialog.Cancel.Text","OK")},cancel:function(){},type:"warning",largeDialog:!1})},j=g?"#ia-save-btn,#ia-quick-link-save":"#ia-save-btn,#ia-quick-link-save,#ia-save-as-btn";b(j).off("click").on("click",function(a){i(),a.preventDefault()}).each(function(){b(this).prop("id",b(this).prop("id")+"-disabled").addClass("btn btn-link disabled")}),i()},d.datamanager.transfer.init({servers:{api:d.datamanager.transfer.servers.api,storage:a.azureDomain+e.id}})),U=a.azureDomain+O+"/dashboards/"+sessionStorage.getItem("iaoAppId")+"/",M=a.azureDomain+O+"/dashboards/"+sessionStorage.getItem("iaoAppId")+(P?"":h),N=a.azureDomain+O+"/dashboards/"+sessionStorage.getItem("iaoAppId")+"/map.js"+(P?"":h),V=U+"config.xml"+(P?"":h),W=U+"data.json"+(P?"":h),Y=U+"json-less-vars.json"+(P?"":h),Z=U+"defaultcss.txt"+(P?"":h),srcCustomStyleSheet=U+"customcss.txt"+(P?"":h),srcCustomJs=U+"customjs.txt"+(P?"":h),c.accessToken=h,c.accessToken&&c.accessToken.length>1&&"?"==c.accessToken.substring(0,1)&&(c.accessToken="&"+c.accessToken.substring(1)),e&&e.token){var i=e.token;sessionStorage.setItem("iaoXToken",i),b.ajaxPrefilter(function(a,b,c){d.datamanager&&d.datamanager.dataStoreUrls&&d.datamanager.dataStoreUrls.core&&a.url.indexOf(d.datamanager.dataStoreUrls.core)>=0&&c.setRequestHeader("X-IAO-Token",i)})}g(f)}).fail(function(b,c,d){a.showFatalDataAccessDialog(b,c,d,$,_,aa)}):a.showFatalDataAccessDialog(f,"InvalidUser",h,$,_,aa)}).fail(function(b,c,d){a.showFatalDataAccessDialog(b,c,d,$,_,aa)})}else{var ba=a.itemPath.substring(0,a.itemPath.lastIndexOf("/content"))+"/portals/self"+L;ba+=ba.indexOf("?")>0?"&f=json":"?f=json",b.getJSON(c.getDomainSafeUrl(ba)).done(function(c){c&&c.appInfo&&c.user&&c.user.username?(a.owner=c.user.username,a.forceHttps=c.allSSL,c.user.orgId&&"HumUw0sDQHwJuboT"==c.user.orgId&&b.getScript("./scripts/iao-admin-extensions.js",function(){console.log("EmbeddedIAO admin function(s) loaded? "+("undefined"!=typeof EmbeddedIAO.admin?"Yes":"No"))}),dbAppId.split(";").indexOf(c.appInfo.appId)<0?k():g()):k()}).fail(function(a,b,d){c.log("Application Portal/Self Error: "+b+", "+d),k()})}else g()}function m(d,e,f){b("#ia-settings-container").length?a.css.readLessVars(d,function(){void 0!=f&&f.call(null)}):b.get(c.getDomainSafeUrl(e)).done(function(a){void 0!=f&&f.call(null,a)}).fail(function(a,b,c){void 0!=f&&f.call(null)})}function n(){Function.prototype.clone=function(){var a=this,b=function(){return a.apply(this,arguments)};for(key in this)b[key]=this[key];return b},c.standardToggleShare=iaToggleShare.clone(),iaToggleShare=function(d){b('#shareCallout input[id$="ia-embed-callout"]').prop("disabled",!0),c.standardToggleShare(d);var e=a.homePath&&a.homePath.length>5&&"http"==a.homePath.substring(0,4)?a.homePath:window.location.protocol+"//"+window.location.hostname+a.homePath;""!=e.substring(e.length-1)&&(e+="/");var f='<div id="iao-dashboard" style="width: 800px; height: 600px;"><script type="text/javascript" src="'+e.replace(/(^\w+:|^)\/\//,"//")+"embed/"+sessionStorage.getItem("iaoAppId")+(a.azureApp?"/"+sessionStorage.getItem("iaoUserId"):"")+'?container=iao-dashboard"></script></div>';setTimeout(function(){b('#shareCallout input[id$="ia-embed-callout"]').val(f),b('#shareCallout input[id$="ia-embed-callout"]').prop("disabled",!1)},400)}}function o(c){var e=decodeURIComponent(c);b.getJSON(e,function(b){if(b&&b.items){var c='<div class="metadata-container"><table class="metadata-table"><thead><tr class="silent-header"><th>Name</th><th>Value</th></tr></thead><tbody>',e=d.getText("DataStoreMetadataDialog.TitleFormat","{0}: Metadata");for(var f in b.items)c+="<tr><td>"+(b.items[f].name.indexOf(":")>0?b.items[f].name.split(":")[1]:b.items[f].name).replace(/([A-Z])/g," $1")+"</td><td>",c+=0==b.items[f].value.indexOf("http:")||0==b.items[f].value.indexOf("https:")?'<a href="'+b.items[f].value+'" target="_blank">'+b.items[f].value+' <i class="fas fa-external-link-alt"></i></a>':b.items[f].value,c+="</td></tr>","ias:name"==b.items[f].name.toLowerCase()&&(e=a.util.formatString(e,b.items[f].value));c+="</tbody></table></div>",a.util.showPopupScriptDialog(e,c,{modal:!0,type:"information",buttons:"ok",focus:"ok"})}})}function p(e){a.report=e,a.xmlConfig=a.report.config.xml,a.$xmlConfig=b(a.xmlConfig),a.config.addWebmapPalette(),"function"==typeof iaOnReportComplete&&iaOnReportComplete(e),n(),s(e),a.setSessionStorageItem("iaoConfig",a.util.xmlToString(a.xmlConfig)),a.util.detectWebFonts(),a.menucontrols.init(),a.vars.updateDataLists(),a.vars.updateJavascriptList();var f=a.report.getComponent("dataGroup");f.addEventListener(c.DataEvent.GEOG_CHANGED,function(c){var d=sessionStorage.getItem("iaoAppId"),e=b.parseJSON(a.getSessionStorageItem("iaoDataModel__"+c.geography.id,!0));null!=e&&a.setLocalStorageItem("iaoIndicatorsModel__"+d,JSON.stringify(e.model),!0),a.legendform.update(),a.configform.refreshForm()}),a.report.addEventListener(c.Event.FLOW_LAYOUT,function(){a.canvas.clearSelection(),a.canvas.off()}),a.report.addEventListener(c.Event.NORMAL_LAYOUT,function(){var c=b("#ia-edit-mode-btn").text();-1!=c.indexOf("Edit")&&a.canvas.on(),a.canvas.update()}),a.css.init({onChange:function(b,c){a.cssform.update(),a.changesSaved=!1,a.util.detectWebFonts()}}),a.config.init({onConfigChanged:function(){a.vars.updateJavascriptList(),a.menucontrols.updateWidgetDropdowns(),a.canvas.update(),a.legendform.update(),a.configform.refreshForm(),a.canvas.clearSelection(),a.changesSaved=!1},onWidgetRemoved:function(b){a.vars.updateJavascriptList(),a.menucontrols.updateWidgetDropdowns(),a.canvas.update(),a.canvas.clearSelection(),a.changesSaved=!1},onWidgetAdded:function(b){a.vars.updateJavascriptList(),a.menucontrols.updateWidgetDropdowns(),a.canvas.update(),a.widgets.select(b),a.changesSaved=!1},onWidgetChanged:function(b,c){("property-added"==c||"property-removed"==c||"column-changed"==c)&&a.configform.showWidgetForm(b),a.changesSaved=!1},onWidgetPropertyChanged:function(b,d){("upperLimitField"==d||"lowerLimitField"==d||"confidenceIntervalField"==d)&&a.config.update(a.xmlConfig,function(){c.parseData(a.report.data.data,function(){a.configform.showWidgetForm("barChart")})})},onGroupPropertyChanged:function(b,c){-1==b.indexOf("thematics")&&-1==b.indexOf("pointSymbols")&&-1==b.indexOf("lineSymbols")&&a.config.update(a.xmlConfig)}});var g,h=!1;if(a.canvas.init({onMouseDown:function(a){clearTimeout(g),h=!0},onSelect:function(b){0==h&&b!=a.widgets.selectedId&&(a.formcontrols.activePanelIndex=0,a.widgets.selectedId=b,a.widgets.show(b),a.configform.showWidgetForm(b))},onMouseUp:function(b){clearTimeout(g),g=setTimeout(function(){1==h&&b!=a.widgets.selectedId&&(a.formcontrols.activePanelIndex=0,a.widgets.selectedId=b,a.widgets.show(b),a.configform.showWidgetForm(b)),h=!1},500)},onUnselect:function(b){clearTimeout(g),a.widgets.hide(b),a.widgets.selectedId=void 0},onClearSelection:function(){clearTimeout(g),a.widgets.selectedId=void 0,a.configform.showPropertyGroupForm()},onDragEnd:function(b,c,d){a.config.setWidgetDimensions(b,c,d)},onResizeEnd:function(b,c,d,e,f){a.config.setWidgetDimensions(b,c,d,e,f)},onRemoveBtnClick:function(b){a.util.showPopupScriptDialog("Confirm Delete","Are you sure you want to delete this widget?",{buttons:"yesno",yes:function(){a.config.removeWidget(b),a.configform.showPropertyGroupForm()},no:function(){},type:"question",modal:!0})}}),a.formcontrols.init({onPropertyChanged:function(e,f,g,h,i,j){function k(){d.datamanager.showWebItemChooserDialog(b('*[id="'+e+'"]'),l,{title:d.getText("ReportChooseDialogTitle.Text","Choose Report"),inputItemFormat:i.replace("<report-id>","{0}"),listCssClass:"reportList",showImage:!0,shown:function(a){},chosen:function(c){var d=c.itemId;a.config.setWidgetProperty(g,h,i.replace("<report-id>",d)),b('*[id="'+e+'"]').val(i.replace("<report-id>",d))}})}if("Column"==f)"alias"==j||"name"==j||"symbol"==j||"width"==j||"national"==j?a.config.setColumnProperty(e,g,h,j,i):a.config.setWidgetProperty(g,h,i);else if("Component"==f){if(a.config.setWidgetProperty(g,h,i),0==h.indexOf("onMapFeature")&&h.indexOf("Click")>0&&i&&0==i.indexOf("javascript:iaShowReport(<report-id>")&&(console.log("report link? "+h),d.datamanager&&!a.azureApp)){var l='f=json&num=100&q=(type: "Web Mapping Application") AND (tags:Report) AND (tags:InstantAtlas) accountid:${org}';l+="&sortField=modified&sortOrder=desc";b("body").hasClass("data-dialog-present")?k():d.datamanager.addDialogs({target:b("form").eq(0),done:function(a){a&&a.status&&"ok"==a.status.toLowerCase()&&(b("body").addClass("data-dialog-present"),k())}})}}else if("Table"==f)a.config.setWidgetProperty(g,h,i);else if("Button"==f)a.config.setWidgetAttribute(g,h,i);else if("Image"==f)a.config.setWidgetAttribute(g,h,i);else if("Text"==f)a.config.setWidgetAttribute(g,h,i);else if("PropertyGroup"==f)a.config.setGroupProperty(g,h,i);else if("Data"==f)b("#ia-data-properties-apply-btn").removeClass("btn-default").addClass("btn-primary");else if("LayerProperties"==f)a.layerpropertiesform.updateProperty(h,i);else if("MapPalettes"==f)a.legendform.updateProperty(h,j,i);else if("Map"==f&&"backgroundMap"==j){var m=a.report.getComponent(g);if(m&&m.getLayers){for(var n=JSON.parse(sessionStorage.getItem("iaoMap")),o=n.layers.length-1;o>=0;o--)"ags-layer"==n.layers[o].type&&n.layers.splice(o,1);var p=i;if("none"!=p){var q,r;for(var o in a.layermanager.arcBaseMaps.layers)if(a.layermanager.arcBaseMaps.layers[o].id==p){q=a.layermanager.arcBaseMaps.layers[o].url,r=a.layermanager.arcBaseMaps.layers[o].name;break}for(var s,t,u=q.indexOf(";")>0?q.split(";"):[q],v=new Array,o=0;o<u.length;o++)t=null,u[o].indexOf("?")>0&&(t="&"+u[o].split("?")[1],u[o]=u[o].split("?")[0]),v.indexOf(u[o])<0&&(s={type:"ags-layer",id:o>0?"clone-"+a.util.replaceAll(a.util.guid(),"-",""):p,name:r+(o>0?" ("+v.length+")":""),geometry:"image",visible:!0,url:u[o],layers:"0",opacity:1,srs:"102100",showInLayerList:0==o,params:t,tile:u[o].indexOf("/export")<0,isReference:o>0},n.layers.push(s),v.push(u[o]))}
m.clear(),c.parseMap(n,function(){a.util.hideProgress(),a.setSessionStorageItem("iaoMap",JSON.stringify(n)),a.layermanager.refreshLayers(n,!0)})}}else if("Map"==f&&"useCapturedBBox"==h){var w=JSON.parse(sessionStorage.getItem("iaoMap")),m=a.report.getComponent("map");if(1==i){if(void 0!=w.userBoundingBox){w.boundingBox=w.userBoundingBox;var x=w.boundingBox.split(" "),y=new c.BoundingBox(parseFloat(x[0]),parseFloat(x[1]),parseFloat(x[2]),parseFloat(x[3]));m.controller.defaultBBox=y}else{var y=m.getBBox();m.controller.defaultBBox=y.clone(),w.boundingBox=y.getXMin()+" "+y.getYMin()+" "+y.getXMax()+" "+y.getYMax(),w.userBoundingBox=y.getXMin()+" "+y.getYMin()+" "+y.getXMax()+" "+y.getYMax()}w.fixedBoundingBox=!0}else{w.boundingBox=w.webmapBoundingBox;var x=w.boundingBox.split(" "),y=new c.BoundingBox(parseFloat(x[0]),parseFloat(x[1]),parseFloat(x[2]),parseFloat(x[3]));m.controller.defaultBBox=y,w.fixedBoundingBox=!1}m.controller.zoomToBBox(m.controller.defaultBBox),sessionStorage.setItem("iaoMap",JSON.stringify(w))}else c.isNumber(i)&&(0>i&&(i=0),i+="px"),a.css.update(f,i);!g||-1==g.indexOf("thematics")&&-1==g.indexOf("pointSymbols")&&-1==g.indexOf("lineSymbols")||a.legendform.updateProperty(h,j,i)}}),a.configform.init({container:"#ia-widget-form-container"}),a.cssform.init({container:"#ia-css-form"}),a.legendform.init({container:"#ia-legend-form"}),a.colorschemes.init({container:"#ia-color-schemes-container",onChange:function(c){a.css.lessVars=b.extend(a.css.lessVars,c),a.css.update()}}),a.layouts.init({container:"#ia-galleries",onChange:function(b){var c=d.getText("LayoutChangeConfirmDialog.Title","Continue?"),e=d.getText("LayoutChangeConfirmDialog.Message","Any changes to widget properties (including table columns) will be lost if you apply a new layout. Do you wish to continue?");a.util.showPopupScriptDialog(c,e,{modal:!0,buttons:"yesnocancel",yes:function(){a.config.load(b)},no:function(){},cancel:function(){},type:"warning"})}}),a.widgetselector.init({container:"#ia-widget-selector",onChange:function(a){}}),a.azureApp){var i=a.report.getComponent("map");if(i&&i.getLayers){var j=i.getLayers(),k=0;for(var l in j)j[l].type&&"base-layer"==j[l].type&&!j[l].hidden&&k++;b("#ia-layer-manager-btn").parent().css("display","none")}}a.util.hideProgress(),window.location.search&&window.location.search.indexOf("&new=")>0&&setTimeout(function(){var b=a.azureApp?a.azure.save:a.agol.save;b({silent:!0,done:function(){console.log("Silent save committed - should be a thumbnail!")}})},1e3);var m=b(".landing-message .popover-title");m.append('<div class="pull-right" style="font-size: 0.9em;"><a href="#close" class="nodef"><i class="fas fa-fw fa-times"></i></a></div>'),m.parent().find('a[href="#close"]').on("click",function(c){var e=b(this).parents(".popover"),f=b(this).data("no-pref");e.slideUp("fast",function(c){var e=b(this).prop("id"),g=b(this).parent().eq(0).prop("id");!f&&a.azureApp&&d.azure.setPreference("editor."+(g&&""!=g?g:e)+".message","closed",!0)}),c.preventDefault()}),b('*[data-ui-action="popover"][data-target]').on("click",function(c){var e=b(this),f=b(e.data("target"));f.children(".popover").length>0&&(f=f.children(".popover")),f.slideDown("fast",function(){var c=b(this).prop("id"),e=b(this).parent().eq(0).prop("id");!b(this).data("no-pref")&&a.azureApp&&d.azure.setPreference("editor."+(e&&""!=e?e:c)+".message","open",!0)}),c.preventDefault()});var o,p=b(".landing-message");p.each(function(c,e){var f=b(this).prop("id")?b(this).prop("id"):b(this).parents(".tabContent").eq(0).prop("id");o=a.azureApp?d.azure.getPreference("editor."+f+".message","open"):d.arcgis.getPreference("editor."+f+".message","open"),"open"!=o&&b(this).find('a[href="#close"]').data("no-pref",!0).trigger("click").data("no-pref",!1),b(this).find('a[href="#not-at-startup"]').on("click",function(c){c.preventDefault(),a.azureApp?d.azure.setPreference("editor."+b(this).parents(".landing-message").eq(0).prop("id")+".message","closed"):d.arcgis.setPreference("editor."+b(this).parents(".landing-message").eq(0).prop("id")+".message","closed",function(a){console.log(a)}),b(this).parents(".landing-message").find('a[href="#close"]').data("no-pref",!0).trigger("click").data("no-pref",!1)})}),console.log("---------------------on dashboard complete--------------------"),a.firstRun=!1}function q(c){if(a.report=c,a.xmlConfig=a.report.config.xml,a.$xmlConfig=b(a.xmlConfig),a.util.detectWebFonts(),"function"==typeof iaOnReportComplete&&iaOnReportComplete(c),n(),a.setSessionStorageItem("iaoConfig",a.util.xmlToString(a.xmlConfig)),r(c),s(c),window.location.search&&window.location.search.toLowerCase().indexOf("timed=yes")>0){var d=new Date,e=(d.getTime()-z.getTime())/1e3;alert("Dashboard start time = "+e.toFixed(2)+"s")}}function r(d){function e(a){if(a.type==c.ItemEvent.ITEM_CLICK){var d=b("body").data("mapClicks"),e=b("body").data("mapClickTimeout");d++,clearTimeout(e),b("body").data("mapClicks",d),e=setTimeout(function(){1==d&&i?c.callFunction(i,"",a):d>=2&&j&&c.callFunction(j,"",a),b("body").data("mapClicks",0)},300),b("body").data("mapClickTimeout",e)}}window.iaShowReport=function(e,f,g,h){var i=f instanceof c.Event?f:g,j=(f instanceof c.Event||f instanceof b.Event?"50%":f).split("|"),k=h&&d.getComponent("interactionGroup")?d.getComponent("interactionGroup").getSelection().join(","):i.item.id;if(k){var l=("undefined"!=typeof iaoReportsServer?iaoReportsServer:window.location.protocol+"//reports.instantatlas.com/")+"report/view/"+e+"/"+(k.indexOf(",")>0?"":k)+(a.azureApp?"?iaoUserId="+sessionStorage.getItem("iaoUserId"):"")+(k.indexOf(",")>0?(a.azureApp?"&":"?")+"features="+encodeURIComponent(k):""),m="iao_popup_"+(h?"CurrentSelectedFeatures":k.replace(/^[a-z0-9_]/,"_"));if(h||b(".iao-report-popup").remove(),"auto"!=j[0]&&"123456789".indexOf(j[0].substring(0,1))<0)window.open(l,j[0],"",!0).focus();else{var n=b('.ia-popup-panel[id="'+m+'"]');n.length<1?(d.container.append('<div id="'+m+'" class="ia-widget ia-panel ia-popup-panel iao-report-popup" style="visibility: visible; z-index: 100001; width: '+j[0]+'; height: auto; left: 25%; top: 7%; opacity: 0; transition: opacity .3s;"><div class="ia-panel-header" id="ia-widget-map-header-'+k+'" style="border-top-left-radius: 1px; border-top-right-radius: 1px;">'+(i&&i.item&&i.item.name?i.item.name:k)+'</div><div class="ia-panel-content" style="height: '+(j.length>1?j[1]:"600px")+'; max-height: calc(100vh - 70px);"><iframe src="'+l+'" style="width:100%;height:100%;border:none;"></iframe></div></div>'),n=b('.ia-popup-panel[id="'+m+'"]'),n.children(".ia-panel-header").append('<i class="fas fa-times" style="position: absolute; right: 5px; top: 5px;"></i>'),n.css("left",Math.round((d.container.width()-n.width())/2)+"px"),n.find(".ia-panel-header .fa-times").css("cursor","pointer").on("click",function(){b(".iao-report-popup").remove()}),"undefined"!=typeof n.draggable&&n.draggable({handle:".ia-panel-header"}).resizable()):n.find("iframe").attr("src",l),n.css("opacity","1")}}},window.iaShowReportForMultiple=window.iaShowReportMultiple=function(a,b,c){setTimeout(function(){window.iaShowReport(a,b,c,!0)},20)};var f=d.getComponents();if(f)for(var g in f)if(f[g]instanceof c.Map){var h=d.config.getComponent(f[g].id);if(h&&h.properties&&(h.properties.onMapFeatureClick&&h.properties.onMapFeatureClick.value||h.properties.onMapFeatureDblClick&&h.properties.onMapFeatureDblClick.value)){b("body").data("mapClicks",0);var i=h.properties.onMapFeatureClick&&h.properties.onMapFeatureClick.value?h.properties.onMapFeatureClick.value.toString():null,j=h.properties.onMapFeatureDblClick&&h.properties.onMapFeatureDblClick.value?h.properties.onMapFeatureDblClick.value.toString():null;d.getComponent("interactionGroup").addEventListener(c.ItemEvent.ITEM_CLICK,e);break}}}function s(a){var d=a.container.find('.ia-widget[id*="dataExplorer"] .ia-explorer .ia-explorer-leaf .ia-explorer-notes-icon');if(c.Profile.prototype.onNotesClick=function(a,b){if(console.log(a+","+b),b&&"#metadata:data-store:"==b.substring(0,"#metadata:data-store:".length)){var c=this.container.find('.ia-table-notes-icon[data-indicator-id="'+a+'"]');c.hasClass("meta-pop-bound")||(c.attr("data-label",c.parent().text()),t(c,!1,this.container.selector||"#"+this.container.prop("id"),this.container.selector||"#"+this.container.prop("id")+' .ia-table-notes-icon[data-indicator-id="'+a+'"]')),c.popover("show")}else window.open(b,"iaoMetaWindow")},d.length>0){var e="#"+d.eq(0).parents(".ia-widget").eq(0).prop("id");d.off("click"),d.each(function(){b(this).attr("data-geo-id",b(this).parent().prop("id").split("~")[0]),b(this).attr("data-indicator-id",b(this).parent().prop("id").split("~").slice(1).join("~"))}),t(d,!0,e)}}function t(c,e,f,g){c.popover("destroy"),c.popover({content:function(){return'<div id="metadata_'+b(this).attr("data-indicator-id")+'" class="metadata-container"><p>Please wait. Contacting <a href="'+d.metadataUrl+'">metadata service...</a></p></div>'},title:function(){var a=b(this).siblings(".ia-explorer-label").length>0?b(this).siblings(".ia-explorer-label").text():b(this).attr("data-label");return b(this).parent().parent().hasClass("ia-explorer-group")&&(a=b(this).parent().parent().prev(".ia-explorer-item").children(".ia-explorer-label").text()+" "+a),a},html:!0,container:a.report.container,viewport:{selector:f,padding:5},trigger:"manual",placement:"bottom"}).on("shown.bs.popover",function(c){var e=b(this).attr("data-indicator-id"),f=e.split("~");b(this).attr("data-geo-id")?f.unshift(b(this).attr("data-geo-id")):f.unshift(a.report.getComponent("dataGroup").geography.id);var h=b(this).siblings(".ia-explorer-label").length>0?b(this).siblings(".ia-explorer-label").text():b(this).attr("data-label");b(this).parent().parent().hasClass("ia-explorer-group")&&(h=b(this).parent().parent().prev(".ia-explorer-item").children(".ia-explorer-label").text()+" | "+h);var i=b(this);i.attr("id")||i.attr("id","inote"+a.util.guid());var j=g||"#"+i.attr("id"),k=d.metadataUrl||d.datamanager.dataStoreMetadataUrl,l=b('.popover:visible .metadata-container[id$="'+e+'"]');void 0==f[2]&&(f[2]=a.report.data.getGeography(f[0]).getIndicator(f[1],void 0,!0).date),a.agolData.getIndicator(f[0],f[1],f[2],function(a){if("undefined"!=typeof a.splice)for(var c=0;c<a.length;c++)if(a[c].id==f[1]&&(void 0==f[2]||a[c].date==f[2])){a=a[c];break}var e=a.href&&"#metadata:data-store:"==a.href.substring(0,"#metadata:data-store:".length)?a.href.split(":").pop():a.id;l.prop("id","metadata_"+e);const g=a.properties?u(a.properties,"dataCatalogUrl"):null;d.datamanager.populateDataStoreMetadataPopup(e,g,g?null:k,{direct:!0,fields:"Description,Subject,Source,Issued,LastPublished,Spatial,Temporal,Rights,Keywords,Status,LastRevised,LastUpdated,Creator,Publisher,UpdateFrequency",done:function(a){var c=a.parents(".popover").find(".popover-title");c.children(".closer").remove(),c.text(h),c.prepend('<div class="closer" style="float: right; cursor: pointer; margin-left: 5px;" data-target="'+encodeURIComponent(j)+'"> <i class="fas fa-times"></i></div > '),c.find(".closer").on("click",function(){b(decodeURIComponent(b(this).attr("data-target"))).popover("hide"),b("#metadata_"+e).remove()})}})})}).addClass("meta-pop-bound"),e&&c.on("click",function(a){a.preventDefault(),a.stopPropagation(),b(this).popover("show")})}function u(a,b){for(var c in a)if(a[c].name==b)return a[c].value;return null}function v(a,b,c,d,e){}function w(e){function f(a){return 10>a?"0"+a.toString():a.toString()}if("edit"==a.operationMode){var g=sessionStorage.getItem("iaoAppId"),h=sessionStorage.getItem("iaoUserId"),i=sessionStorage.getItem("iaoRefreshToken");if(!a.azureApp&&!e&&i&&""!=i){var j=a.itemPath.substring(0,a.itemPath.lastIndexOf("/sharing")+"/sharing".length)+"/oauth2/token",k="?grant_type=refresh_token&client_id="+encodeURIComponent("edit"==a.operationMode?dbAppId:dbAppViewerId)+"&refresh_token="+i;return void b.getJSON(c.getDomainSafeUrl(j+k)).done(function(b){if(b.access_token){if(c.accessToken=b.access_token,sessionStorage.removeItem("iaoArcGisOnlineToken"),a.setSessionStorageItem("iaoToken",c.accessToken),b.expires_in){var d=new Date,e=1e3*b.expires_in,f=d.getTime()+e;a.setSessionStorageItem("iaoExpiresIn",f),clearTimeout(a.autoRecoverTimeoutId),a.autoRecoverTimeoutId=setTimeout(w,e-12e4)}}else sessionStorage.removeItem("iaoToken"),sessionStorage.removeItem("iaoRefreshToken"),sessionStorage.removeItem("iaoArcGisOnlineToken"),w(!0)}).error(function(a,b,c){w(!0)})}clearTimeout(a.autoRecoverTimeoutId);var l=new Date;l=l.getFullYear()+f(l.getMonth()+1)+f(l.getDay())+"_"+f(l.getHours())+f(l.getMinutes())+f(l.getSeconds());for(var m in localStorage)m&&m.length>3&&"iao"==m.substring(0,3)&&m.indexOf("AutoRecovery")>0&&localStorage.removeItem(m);a.setLocalStorageItem("iaoDataModel__"+g+"__AutoRecovery__"+l,sessionStorage.getItem("iaoDataModel")),a.setLocalStorageItem("iaoMap__"+g+"__AutoRecovery__"+l,sessionStorage.getItem("iaoMap")),a.setLocalStorageItem("iaoConfig__"+g+"__AutoRecovery__"+l,sessionStorage.getItem("iaoConfig")),a.setLocalStorageItem("iaoLessVars__"+g+"__AutoRecovery__"+l,sessionStorage.getItem("iaoLessVars"));var n="./dashboard?"+(a.azureApp?"atlasId="+g+"&iaoUserId="+h:"appid="+g)+"&recover="+l,o=d.getText("SessionTimeoutDialog.Title","Your edit session is about to end..."),p=d.getText("SessionTimeoutDialog.Message","Your edit session is about to end (<em>time out</em>). You should save any changes <strong>now</strong> and then reload the page.");a.util.showPopupScriptDialog(o,p,{modal:!0,buttons:"yesnocancel",yes:function(){var b=a.azureApp?a.azure.save:a.agol.save;b(function(){window.location.reload()})},no:function(){window.location.reload()},cancel:function(){try{localStorage.removeItem("iaoDataModel__"+g+"__AutoRecovery__"+l),localStorage.removeItem("iaoMap__"+g+"__AutoRecovery__"+l),localStorage.removeItem("iaoConfig__"+g+"__AutoRecovery__"+l),localStorage.removeItem("iaoLessVars__"+g+"__AutoRecovery__"+l)}catch(b){c.log("Error cleaning local storage - non-fatal: "+b)}a.agol["return"](!0,g)},buttonText:{yes:d.getText("SessionTimeoutDialog.YesButton.Text","Save & Reload"),no:d.getText("SessionTimeoutDialog.NoButton.Text","Reload")},type:"warning"});var q=function(){var b=d.getText("SessionGoneDialog.Title","Edit Session Ended"),e=a.azureApp?d.getText("AzureSessionGoneDialog.Message",'Your edit session has ended (<em>timed out</em>) and you have been signed out. If you had made any changes to your dashboard since pressing the "Save" button these will be lost. Dashboard Builder can attempt to recover any changes - if you want to do this press "Recover", or to restart editing press "Reload". Pressing "Cancel" will return you to the Dashboard Builder home page.'):d.getText("SessionGoneDialog.Message",'Your edit session has ended (<em>timed out</em>) and you have been signed out. If you had made any changes to your dashboard since pressing the "Save" button these will be lost. Dashboard Builder can attempt to recover any changes - if you want to do this press "Recover", or to restart editing press "Reload". Pressing "Cancel" will return you to ArcGIS Online.');a.util.showPopupScriptDialog(b,e,{modal:!0,buttons:"yesnocancel",yes:function(){window.location.href=n},no:function(){try{localStorage.removeItem("iaoDataModel__"+g+"__AutoRecovery__"+l),localStorage.removeItem("iaoMap__"+g+"__AutoRecovery__"+l),localStorage.removeItem("iaoConfig__"+g+"__AutoRecovery__"+l),localStorage.removeItem("iaoLessVars__"+g+"__AutoRecovery__"+l)}catch(a){c.log("Error cleaning local storage - non-fatal: "+a)}window.location.reload()},cancel:function(){try{localStorage.removeItem("iaoDataModel__"+g+"__AutoRecovery__"+l),localStorage.removeItem("iaoMap__"+g+"__AutoRecovery__"+l),localStorage.removeItem("iaoConfig__"+g+"__AutoRecovery__"+l),localStorage.removeItem("iaoLessVars__"+g+"__AutoRecovery__"+l)}catch(b){c.log("Error cleaning local storage - non-fatal: "+b)}a.azureApp?window.location.href="../":a.agol["return"](!0,g)},buttonText:{yes:d.getText("SessionGoneDialog.YesButton.Text","Recover"),no:d.getText("SessionGoneDialog.NoButton.Text","Reload")},type:"error"})};return void(a.autoRecoverTimeoutId=setTimeout(q,1e5))}window.location.reload()}function x(){a.util.setProgress(60);var c=a.report.getComponent("dataGroup"),d=b(".modal:visible, .modal.in").filter('[id!="ia-modal-progress"]');d.css("opacity",""),d.each(function(){var a=b(this).hasClass("fade");a&&b(this).removeClass("fade"),b(this).modal("hide"),a&&b(this).addClass("fade")}),a.util.setProgress(100),setTimeout(function(){c.removeListener(B),b("body").removeClass("modal-open"),b(".modal-backdrop").remove(),b("#ia-data-model-btn").trigger("click"),a.util.hideProgress()},300)}b.support.cors=!0,a.firstRun=!0,a.agolData=new c.AGOLData,a.itemPath="https://www.arcgis.com/sharing/rest/content/items/",a.locale="en",a.changesSaved=!0,a.ownerFolder;var y=!0;a.homePath="",a.allowMultipleGeographies=!0,a.operationMode="view","undefined"==typeof dbProduct&&(dbProduct="InstantAtlas&#8482; Dashboard Builder Development Version"),"undefined"==typeof dbProductVersion&&(dbProductVersion="dev"),"undefined"==typeof dbProductVersionStatus&&(dbProductVersionStatus=""),"undefined"==typeof dbProductReleaseDate&&(dbProductReleaseDate="none"),"undefined"==typeof dbAppId&&(dbAppId="77fVPZU7t16I4Hls"),"undefined"==typeof dbAppViewerId&&(dbAppViewerId="qB4o4FH1oqHSAadi"),"undefined"==typeof dbAppDebug&&(dbAppDebug=y);var z;b(document).ready(function(){z=new Date,b("body").data("product",dbProduct).data("productVersion",dbProductVersion).data("productVersionStatus",dbProductVersionStatus).data("productReleaseDate",dbProductReleaseDate).data("productDebug",dbAppDebug),dbAppDebug=dbAppDebug&&"true"==dbAppDebug.toString(),window.location.search&&(window.location.search.indexOf("clear=true")>=0||window.location.search.indexOf("new=1")>=0||window.location.pathname.indexOf("/dashboard")>=0)&&(a.clearAppFromSession(),a.cache&&(a.cache.init({localCache:window.location.href.indexOf("cache=yes")>0,prefix:"iaodbitem"}),a.cache.clear()))}),a.setSessionStorageItem=function(a,b,c){if(dbAppDebug&&b&&0==a.indexOf("iaoMap")){JSON.parse(b);console.log("[Action] Session storage update: "+a+" = "+(b?b.toString().substring(0,100):"<null>"))}f(sessionStorage,a,b,c)},a.setLocalStorageItem=function(a,b,c){f(localStorage,a,b,c)},a.getLocalStorageItem=function(a,b){return g(localStorage,a,b)},a.getSessionStorageItem=function(a,b){return g(sessionStorage,a,b)},a.launch=function(e){a.homePath=e&&e.home?e.home:a.homePath,a.operationMode=e&&e.mode?e.mode:window.location.href.indexOf("/dashboard?")>0?"edit":"view",e.appid&&!e.urlParams?(e.urlParams={},e.urlParams.params={},e.urlParams.params.appid=e.appid):e.atlasId&&!e.urlParams&&(e.urlParams={},e.urlParams.params={},e.urlParams.params.atlasId=e.atlasId,e.urlParams.params.iaoUserId=e.userId),e&&e.arcAppId&&(dbAppViewerId=e.arcAppId);var f=new c.UrlParams(window.location.href);f.params.r&&""!=f.params.r&&"iao"==f.params.r.toLowerCase()||f.params.authid&&""!=f.params.authid&&"undefined"!=f.params.authid&&(dbAppViewerId=f.params.authid),dbAppId=e&&e.appIdKey?"iaoDashboardBuilder:TEST"==e.appIdKey?"77fVPZU7t16I4Hls":e.appIdKey:"fp7zaqQzI7MrQrJb",e&&void 0!=typeof e.clear&&(e.clear||"true"==e.clear)&&(a.clearAppFromSession(),a.cache&&(a.cache.init({localCache:window.location.href.indexOf("cache=yes")>0,prefix:"iaodbitem"}),a.cache.clear()));var g=function(){if(c.supportsCanvas()){c.useProxy=e&&"undefined"!=typeof e.proxy?e.proxy:!0,a.agolData=new c.AGOLData,c.proxyMapStem=e&&e.proxyAppPath?e.proxyAppPath:"../";var f=a.homePath+"./scripts/iao-proxy.js";b.get(f,null,null,"text").done(function(b){var f=JSON.parse(b);for(var g in f)c.addProxy(g,f[g]);c.useProxy&&d.datamanager&&d.datamanager.appPath&&(d.datamanager.appPath=d.datamanager.appPath.replace("https:",window.location.protocol)),d.datamanager&&(d.datamanager.appPath=a.homePath+"../data-manager/"),h(e)}).fail(function(a,b,c){"abort"!=c&&a.status>0&&alert(b+" proxy "+c)})}else window.location=a.homePath+"./atlas-unsupported.html"};"edit"==a.operationMode||e&&"undefined"!=typeof e.inject&&("undefined"==typeof e.inject||"false"==e.inject.toString())?g():(b("head").append('<link href="'+a.homePath+'../styles/fontawesome-free-5/css/all.min.css" rel="stylesheet" type="text/css"/>'),b("head").append('<link href="'+a.homePath+'lib/ia/advanced.css" rel="stylesheet" type="text/css"/>'),b("head").append('<link href="'+a.homePath+'lib/ia/default.css" rel="stylesheet" type="text/css"/>'),g())},a.showApplicationFailDialog=function(c,e,f,g){var h=d.getText("FatalAppErrorDialog.Title","Dashboard Not Available"),i=d.getText("FatalAppErrorDialog.MessageFormat1",'<p><strong>{1}</strong> could not be started by InstantAtlas&#8482; Dashboard Builder. If this is the first time you have seen this message, you could try to <a href="#" onclick="window.location.reload();return false;">reload</a>');return i+=f&&""!=f?d.getText("FatalAppErrorDialog.MessageFormat2",' but if this error persists you should contact the <a href="//www.arcgis.com/home/user.html?user={2}" title="{2} - user profile">owner of \'{1}\'</a>.'):". ",g&&""!=g&&(i+=d.getText("FatalAppErrorDialog.MessageFormat3",'The error message sent back by ArcGIS Online was <code class="small">{3}</code>.')),i=a.util.formatString(i,c,e&&""!=e?e:c,f&&""!=f?f:"?",g),a.util.hideProgress(),b(".ia-report-loading").hide(),a.util.showPopupScriptDialog(h,i,{modal:!0,buttons:"yesnocancel",buttonText:{yes:d.getText("FatalAppErrorDialog.OK.Text","Try Again (Reload)"),no:d.getText("FatalAppErrorDialog.No.Text","Return to ArcGIS Online"),cancel:d.getText("FatalAppErrorDialog.Cancel.Text",'Return to "My Dashboards"')},yes:function(){window.location.reload()},no:function(){a.agol["return"](!0)},cancel:function(){window.location.href="../"},type:"error",largeDialog:!0}),!1},a.getDomainSafeUrl=function(a,b){var d=a;if(c.useProxy||b){var e=a.indexOf("://")+3,f=a.substring(0,a.indexOf("/",e)+1);c.proxyMaps&&c.proxyMaps[f]&&(d=a.replace(f,c.proxyMapStem+c.proxyMaps[f]))}return d},a.getNonProxyUrl=function(a){var b=a;if(0==a.indexOf(c.proxyMapStem)){var d=a.indexOf(c.proxyMapStem)+c.proxyMapStem.length;b=a.substring(d);var e=a.substring(d,a.indexOf("/",d)+1);if(c.proxyMaps)for(var f in c.proxyMaps)c.proxyMaps[f]==e&&(b=b.replace(e,f))}return b},a.forceDataModelProxies=function(b){if(b.themes)for(var c in b.themes)a.forceDataModelProxies(b.themes[c]);if(b.indicators)for(var d in b.indicators)if(b.indicators[d].src&&b.indicators[d].src.url&&0==b.indicators[d].src.url.indexOf("http")&&b.indicators[d].src.url.indexOf("sharing/rest")>0&&b.indicators[d].src.url.indexOf("/data")>0&&(b.indicators[d].src.url=a.getDomainSafeUrl(b.indicators[d].src.url,!0)),b.indicators[d].src.format=b.indicators[d].src.format||"CSV",b.indicators[d].associates)for(var e=0;e<b.indicators[d].associates.length;e++)b.indicators[d].associates[e].src&&b.indicators[d].associates[e].src.url&&0==b.indicators[d].associates[e].src.url.indexOf("http")&&b.indicators[d].associates[e].src.url.indexOf("sharing/rest")>0&&b.indicators[d].associates[e].src.url.indexOf("/data")>0&&(b.indicators[d].associates[e].src.url=a.getDomainSafeUrl(b.indicators[d].associates[e].src.url,!0)),b.indicators[d].associates[e].src.format=b.indicators[d].associates[e].src.format||"CSV"},a.forceDataModelNonProxies=function(b){if(b.themes)for(var c in b.themes)a.forceDataModelNonProxies(b.themes[c]);if(b.indicators)for(var d in b.indicators)if(b.indicators[d].src&&b.indicators[d].src.url&&b.indicators[d].src.url.indexOf("http:")<0&&b.indicators[d].src.url.indexOf("https:")<0&&b.indicators[d].src.url.indexOf("sharing/rest")>0&&b.indicators[d].src.url.indexOf("/data")>0&&(b.indicators[d].src.url=a.getNonProxyUrl(b.indicators[d].src.url),b.indicators[d].src.format=b.indicators[d].src.format||"CSV"),b.indicators[d].associates)for(var e=0;e<b.indicators[d].associates.length;e++)b.indicators[d].associates[e].src&&b.indicators[d].associates[e].src.url&&b.indicators[d].associates[e].src.url.indexOf("http:")<0&&b.indicators[d].associates[e].src.url.indexOf("https:")<0&&b.indicators[d].associates[e].src.url.indexOf("sharing/rest")>0&&b.indicators[d].associates[e].src.url.indexOf("/data")>0&&(b.indicators[d].associates[e].src.url=a.getNonProxyUrl(b.indicators[d].associates[e].src.url),b.indicators[d].associates[e].src.format=b.indicators[d].associates[e].src.format||"CSV")};var A=/\/rest\/services\/.*Server\/[0-9]+$/;a.showFatalDataAccessDialog=function(c,f,g,h,i,j){var l,m,n="yesnocancel";a.azureApp?(c&&404==c.status?(l=h&&""!=h?h:d.getText("AzureAppInfoMissingErrorDialog.MessageFormat","<p>InstantAtlas&trade; Dashboard Builder could not find dashboard <strong>{1}</strong>. This may be because of a network error, or it may be that the dashboard is no longer available. You can try reloading this page or you can return to the dashboard Builder home page.</p>"),n="nocancel"):l=h&&""!=h?h:d.getText("AzureAppInfoErrorDialog.MessageFormat",'<p>InstantAtlas&trade; Dashboard Builder could not fetch your dashboard information from storage. This may be because your edit session has timed out. You should <a href="{0}">sign in again</a> and then return to this page.</p>'),m=i&&""!=i?i:d.getText("AzureAppInfoErrorDialog.Title","Cannot Access Dashboard")):(l=h&&""!=h?h:d.getText("ArcAppInfoErrorDialog.MessageFormat",'<p>InstantAtlas&trade; Dashboard Builder could not fetch your dashboard information from ArcGIS Online. This may be because your edit session has timed out. You should <a href="#" class="sign-in">sign in again</a> and then return to this page.</p>'),m=i&&""!=i?i:d.getText("ArcAppInfoErrorDialog.Title","Cannot Access Dashboard"));var o=("undefined"!=typeof iaoApiServerEMBED?iaoApiServerEMBED:d.datamanager.transfer.servers.api).replace("/api","/account/login")+"?returnUrl="+encodeURIComponent(window.location.href);l=a.util.formatString(l,o,sessionStorage.getItem("iaoAppId")),b(".ia-report-loading").hide(),a.util.showPopupScriptDialog(m,l,{modal:!0,resize:!1,type:j?j:"warning",buttons:n,buttonText:{yes:d.getText("AppInfoErrorDialog.SignInButton.Text","Sign In"),no:d.getText("AppInfoErrorDialog.ReloadButton.Text","Reload")},yes:function(){a.clearAppFromSession(),a.azureApp?window.location.href=o:k()},no:function(){window.location.reload()},cancel:function(){window.location.href="../"},shown:function(c){b(c.target).find(".sign-in").on("click",function(){a.clearAppFromSession(),a.azureApp?window.location.href=o:k(),e.preventDefault()})},focus:"yes"})},a.clearAppFromSession=function(){var a=sessionStorage.getItem("iaoAppId");localStorage.removeItem("iaoIndicatorsModel__"+a),localStorage.removeItem("iaoIndicatorsAvailable__"+a),localStorage.removeItem("iaoIndicatorsModel"),localStorage.removeItem("iaoIndicatorsAvailable"),sessionStorage.removeItem("iaoMap"),sessionStorage.removeItem("iaoDataModel"),sessionStorage.removeItem("iaoLessVars"),sessionStorage.removeItem("iaoConfig"),sessionStorage.removeItem("iaoCustomCss"),sessionStorage.removeItem("iaoCustomJs"),sessionStorage.removeItem("iaoAppId");for(var b,c=sessionStorage.length-1;c>=0;c--)b=sessionStorage.key(c),b.indexOf("AutoRecover")<0&&(0==b.indexOf("iaoDataModel")||0==b.indexOf("iaoIndicatorsAvailable")||0==b.indexOf("iaoIndicatorsModel"))&&sessionStorage.removeItem(b);return a},window.showDataStoreMetadata=o;var B={};return a.triggerBaseLayerModelChange=function(e,f){function g(){C++,a.util.setProgress(10+20*(1*C/e.length));var b=e[C];if(C>=e.length)j(p,l,u,m);else if(m[b]&&sessionStorage.getItem("iaoDataModel__"+b)){var c=!1;for(var d in p.geographies)if(p.geographies[d].id==b){c=!0;break}if(!c){var f=JSON.parse(a.getSessionStorageItem("iaoDataModel__"+b,!0));p.geographies.push(f)}g()}else{var h=t[C]+(t[C].indexOf(A)<0?A:"");a.data.buildIAModelFromGeoJson(h,function(c){if(c.success){var d=c.model,f=c.source;m[e[C]]=d,t[C]=JSON.stringify(d);var i={id:e[C],idField:d.idField,nameField:d.nameField,url:h,model:d,name:f&&f.name?f.name:f&&f.fileName?f.fileName:h.split("?")[0].split("/").pop()};p.geographies.push(i),console.log("db-main #3288 setItem(iaoDataModel__"+b),a.setSessionStorageItem("iaoDataModel__"+b,JSON.stringify(i),!0)}g()})}}var h,i="p"+a.util.guid(),j=function(e,g,k,l){try{var m=sessionStorage.getItem("iaoAppId");a.util.setProgress(70),a.setSessionStorageItem("iaoMap",JSON.stringify(g));var n="",o=b("#ia-select-data-layer");o.empty(),a.data.adjustModelFormats(e,a.azureApp?"GeoJson":"ArcGIS");for(var p in e.geographies)if(e.geographies[p].id==k){a.setLocalStorageItem("iaoIndicatorsAvailable__"+m,JSON.stringify(e.geographies[p].model),!0);var q=l&&l[k]?JSON.stringify(l[k]):a.getSessionStorageItem("iaoIndicatorsModel__"+k,!0),r=q?JSON.parse(q):e.geographies[p].model;a.setLocalStorageItem("iaoIndicatorsModel__"+m+"_UNMODIFIED",q?q:JSON.stringify(r),!0),a.forceDataModelNonProxies(r);var s={name:"iaoArcLayerUrl",value:e.geographies[p].url},t={name:"iaoComparisonRelationships",value:""};if(c.FeatureServiceReader.layerInfoCache[s.value]){var u=c.FeatureServiceReader.layerInfoCache[s.value].relationships,v=[];if(u){for(var w in u)"esriRelRoleDestination"==u[w].role&&v.push("relationship:"+u[w].name.split("_").slice(0,2).join("_")+"*");t={name:"iaoComparisonRelationships",value:v.join(",")}}}r.properties||(r.properties=[]);var z=!1,A=!1;for(var C in r.properties)z||(z=r.properties[C].name==s.name,z&&(r.properties[C].value=s.value)),!A&&t&&(A=r.properties[C].name==t.name);z||r.properties.push(s),!A&&t&&r.properties.push(t),a.setLocalStorageItem("iaoIndicatorsModel__"+m,JSON.stringify(r),!0),o.append('<div class="btn-group"><button type="button" class="btn btn-default" style="cursor: default;" data-layer-id="'+e.geographies[p].id+'">'+e.geographies[p].name+"</button></div>");break}for(var p in g.layers)g.layers[p].id==k||"base-layer"!=g.layers[p].type||g.layers[p].hidden||(n+='<li><a href="#change-layer" data-layer-id="'+g.layers[p].id+'">'+g.layers[p].name+"</a></li>");if(n.length>1&&(n='<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-fw fa-caret-down"></i></button><ul class="dropdown-menu">'+n+"</ul>",o.children(".btn-group").append(n),o.find('a[href="#change-layer"]').on("click",function(e){function f(){var e=b("#ia-modal-data-model").hasClass("fade");e&&b("#ia-modal-data-model").removeClass("fade"),b("#ia-modal-data-model").modal("hide"),a.util.setProgress(10),a.util.showProgress(),e&&b("#ia-modal-data-model").addClass("fade"),setTimeout(function(){var b=a.report.getComponent("dataGroup");b.addEventListener(c.DataEvent.INDICATOR_CHANGED,x,B),a.util.setProgress(50);try{b.setData(g,b.indicator.id,b.indicator.date)}catch(e){console.log("Data group update exception: "+e);var f=d.getText("GeoUpdateFailureDialog.Title","Data Model Error"),i=d.getText("GeoUpdateFailureDialog.MessageFormat",'<p>InstantAtlas&trade; Dashboard Builder has enountered an error whilst updating the data model for layer <strong>{0}</strong>. You can try to recover from this error by reloading this page, or you can return to the Dashboard Builder home page.</p><p>If this error happens again, please contact <a href="mailto:support@instantatlas.com?body={2}&amp;subject=Fatal%20Error%20Dashboard%20Builder">support@instantatlas.com</a> with details of what happened.</p><p>Do you want to reload this page?</p>');i=a.util.formatString(i,h,g,encodeURIComponent(e+", "+g+" @ "+window.location.href)),a.util.showPopupScriptDialog(f,i,{modal:!0,type:"error",buttons:"yesno",buttonText:{yes:d.getText("GeoUpdateFailureDialog.YesButton.Text","Yes, reload"),no:d.getText("GeoUpdateFailuregDialog.NoButton.Text","No, close this page")},yes:function(){window.location.reload(!0)},no:function(){window.location.href="/"},focus:"no"})}},50)}e.preventDefault();var g=b(this).data("layer-id"),h=b(this).text();if(g)if(b(this).parents(".modal").find(".modal-footer .btn-primary").is(":disabled"))f();else{var i=d.getText("UnsavedDataChangesWarningDialog.Title","Discard Data Model Changes?"),j=d.getText("UnsavedDataChangesWarningDialog.MessageFormat","You have made changes to your data model. <strong>If you change layers now, these changes will be lost</strong>. Are you sure you want to change layers?");
a.util.showPopupScriptDialog(i,j,{modal:!0,type:"warning",buttons:"yesno",buttonText:{yes:d.getText("UnsavedDataChangesWarningDialog.YesButton.Text","Yes, Change Layers"),no:d.getText("UnsavedDataChangesWarningDialog.NoButton.Text","No")},yes:f,no:function(){o.data("layer-id")},focus:"no"})}})),o.data("layer-id",k).attr("data-layer-id",k),a.util.setProgress(80),l)for(var p in e.geographies)l[e.geographies[p].id]&&(e.geographies[p].model=l[e.geographies[p].id]);if(dbAppDebug&&console.log("db-main.js line #3015 setItem(iaoDataModel)"),a.azureApp&&sessionStorage.getItem("iaoToken")){var D=sessionStorage.getItem("iaoToken");D&&D.length>1&&"?"==D.substring(0,1)&&(D="&"+D.substring(1)),a.data.adjustModelUrls(e,D,"?f=geojson")}a.setSessionStorageItem("iaoDataModelCurrent__"+sessionStorage.getItem("iaoAppId"),JSON.stringify(e),!0),a.util.setProgress(90);var E=document.getElementById("ia-data-modeller");E.src=E.src+(E.src.indexOf("?")>0?"&":"?")+"t="+(new Date).getTime().toString(),a.util.setProgress(99),b("#ia-modal-data-model .modal-footer .btn-primary").prop("disabled",!1),setTimeout(function(){a.util.hideProgress(i)},100)}catch(F){alert("db.main - Error updating data layer: "+F),c.log("db.main - Error updating data layer: "+F);var o=b("#ia-select-data-layer"),G=o.children('span[data-layer-id="'+k+'"]'),H=f?o.children('span[data-layer-id="'+f+'"]'):null,I=f?'A serious error occurred when trying to update your data layer to "{0}" - perhaps this is not a "feature layer".<br />&nbsp<br />You can <em>Reset</em> your active layer to "{1}" to recover your report, or you can <em>Reload</em> (reload the page) the page to start again, or you can return to ArcGIS Online (Cancel).':'A serious error occurred when trying to update your data layer to "{0}". You need to <em>Reload</em> to attempt to recover your report, or you can return to ArcGIS Online (Cancel).';I=a.util.formatString(I,G.text(),H?H.text():""),a.util.showPopupScriptDialog(d.getText("DataLayerErrorDialog.Title","Data Layer Error "),I,{modal:!0,yes:function(){if(f)if(b(me).val(f),a.azureApp){var c=h.substring(0,h.lastIndexOf("/"))+"/data-sources.js"+(h.indexOf("?")>0?"?"+h.split("?")[1]:"");a.data.readIAFiles(h,c,{complete:function(a,b){j(a,b,f,null),o.children('option[value="'+k+'"]').remove()}})}else a.data.readWebMap(y.values.webmap,{dataLayer:f,complete:function(a,b){j(a,b,f,null),o.children('option[value="'+k+'"]').remove()}});else a.clearAppFromSession(),window.location.reload()},no:function(){f?(a.clearAppFromSession(),window.location.reload()):a.agol["return"](!0)},cancel:function(){a.agol["return"](!0)},buttons:f?"yesnocancel":"yesno",buttonText:{yes:f?"Reset":"Reload",no:f?"Reload":"Cancel",cancel:"Cancel"},type:f?"warning":"error"})}};a.util.setProgress(0),a.util.showProgress(!1,i),a.util.setProgress(10);var k=a.getLocalStorageItem("iaoIndicatorsModel__"+dbAppId,!0);k=a.getSessionStorageItem("iaoIndicatorsAvailable__"+e,!0);var l=sessionStorage.getItem("iaoMap"),m={};if(k&&k.length>0&&l&&l.length>0){l=JSON.parse(l);var n;for(var o in l.layers)if(l.layers[o].id==e){n=l.layers[o];break}a.util.setProgress(25),k=JSON.parse(k);var p={geographies:[{id:e,name:n.name,url:n.url,type:n.geometry,idField:k.idField?k.idField:n.idField,nameField:k.nameField?k.nameField:n.nameField,model:k}]};k=a.getSessionStorageItem("iaoIndicatorsModel__"+e,!0),!k&&sessionStorage.getItem("iaoDataModel__"+e)&&(k=JSON.parse(a.getSessionStorageItem("iaoDataModel__"+e,!0)),k=JSON.stringify(k.model)),k&&(m[e]=JSON.parse(k),p.geographies[0].idField=m[e].idField,p.geographies[0].nameField=m[e].nameField),a.util.setProgress(50),j(p,l,e,m)}else{var q,r,s=a.report.getComponent("map"),t=new Array,u=e;if(a.layermanager){var v,w=a.layermanager.getDataLayers();e=new Array,q=new Array,r=new Array;var k;if(w&&w.length>0)for(var o in w)s&&(v=s.getLayer(w[o].id),v&&(v.showInLayerList=!0,e.push(v.id),q.push(v.idField),r.push(v.nameField),k=a.getSessionStorageItem("iaoIndicatorsModel__"+v.id,!0),!k&&sessionStorage.getItem("iaoDataModel__"+v.id)&&(k=JSON.stringify(JSON.parse(a.getSessionStorageItem("iaoDataModel__"+v.id,!0)).model)),k?(t.push(k),m[v.id]=JSON.parse(k),q[q.length-1]=k.idField,r[r.length-1]=k.nameField):t.push(w[o].url)))}var y=JSON.parse(sessionStorage.getItem("iaoAppData"));if(a.azureApp){var z=a.azureApp?sessionStorage.getItem("iaoUserId"):"",A=(z&&z.indexOf("-public")>0,"");sessionStorage.getItem("iaoToken")&&(A=sessionStorage.getItem("iaoToken"));var C=-1,l=JSON.parse(sessionStorage.getItem("iaoMap")),p=JSON.parse(a.getSessionStorageItem("iaoDataModel",!0));g()}else a.data.readWebMap(y.values.webmap,{dataLayer:e,idField:q,nameField:r,complete:function(a,b){j(a,b,u,m)},progress:function(b,c){a.util.setProgress(10+20*(1*b/c))},forceHttps:void 0!=typeof a.forceHttps?a.forceHttps:!0})}},a}(builder||{},window.jQuery,window.ia,window.EmbeddedIAO||window.iao),builder=function(a,b){function c(a,b,c){a.length&&(a.find('*[role="progressbar"]').css("width",b+"%"),c&&a.find(".ia-splash-message").html(c))}function d(a,b){var c=0,d=b||"button",e=null;a?(e=(a.jquery?a:$j(a)).find(d),e.each(function(a,b){c=Math.max(c,$j(b).outerWidth())}),c>0&&e.css("width",c+"px")):(e=$j(d),e.each(function(a,b){c=Math.max(c,$j(b).outerWidth())}),c>0&&e.css("width",c+"px"))}function e(a){b('head link[id^="iaoGoogleFont"]').remove();for(var c in a)b("head").append('<link id="iaoGoogleFont_'+c+'" href="//fonts.googleapis.com/css?family='+encodeURIComponent(a[c])+'" rel="stylesheet" type="text/css" />')}var f=a.util=a.util||{};return f.showAlert=function(a){b("#ia-modal-info-msg").html(a),b("#ia-modal-info").modal({show:!0})},f.htmlEncode=function(a){return b("<div/>").text(a).html()},f.htmlDecode=function(a){return b("<div/>").html(a).text()},f.guid=function(){return a.util.s4()+a.util.s4()+"-"+a.util.s4()+"-"+a.util.s4()+"-"+a.util.s4()+"-"+a.util.s4()+a.util.s4()+a.util.s4()},f.s4=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)},f.escapeRegExp=function(a){return a.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")},f.replaceAll=function(b,c,d){return b.replace(new RegExp(a.util.escapeRegExp(c),"g"),d)},f.xmlToString=function(a){var b;return"function"==typeof XMLSerializer?b=(new XMLSerializer).serializeToString(a):window.ActiveXObject&&(b=a.xml),b},f.formatString=function(){for(var b=arguments[0],c=arguments.length>0&&"undefined"!=typeof arguments[1].splice,d=c?arguments[1]:arguments,e=c?0:1;e<d.length;e++)b=b.replace(new RegExp(a.util.escapeRegExp("{"+(c?e:e-1).toString()+"}"),"g"),d[e]);return b},f.showProgress=function(a,c){if(a&&b("#ia-splash-screen").length&&b("#ia-splash-screen").css("width",b(window).width()).css("height",b(window).height()).fadeIn(100),(!a||"also"==a)&&b("#ia-modal-progress").length){var d=!c||!b("#ia-modal-progress").data(c)||"done"!=b("#ia-modal-progress").data(c);d&&b("#ia-modal-progress").modal({show:!0})}},f.hideProgress=function(a){b("#ia-splash-screen").length&&b("#ia-splash-screen").is(":visible")&&b("#ia-splash-screen").fadeOut(100),b("#ia-modal-progress").length&&(b("#ia-modal-progress").modal("hide"),a&&b("#ia-modal-progress").data(a,"done"))},f.setSplashProgress=function(a,d){c(b("#ia-splash-screen"),a,d)},f.setProgress=function(a,d){c(b("#ia-modal-progress"),a,d)},f.showPopupScriptDialog=function(a,c,e){b("#ia-modal-alert .modal-title").html(a);var f=c;e&&e.type&&(f='<div><div style="float: left; margin-right: 10px;margin-bottom: 10px;"><i class="fas fa-'+("question"==e.type.toLowerCase()?"question-circle":"warning"==e.type.toLowerCase()?"exclamation-triangle":"error"==e.type.toLowerCase()?"times-circle":"information"==e.type.toLowerCase()||"info"==e.type.toLowerCase()?"info-circle":e.type.toLowerCase())+'" style="font-size:48px;"></i></div><div style="margin-left: 60px;">'+c+"</div></div>"),b("#ia-modal-alert .modal-body").html(f);var g="";if(e&&e.buttons&&e.buttons.toLowerCase().indexOf("yesno")>=0&&(g='<button type="button" data-task="yes" class="btn btn-primary">Yes</button><button type="button" data-task="no" class="btn btn-default">No</button>'),e&&e.buttons&&e.buttons.toLowerCase().indexOf("ok")>=0&&(g+='<button type="button" data-task="ok" class="btn '+("ok"==e.buttons.toLowerCase()?"btn-primary":"btn-default")+'">OK</button>'),e&&e.buttons&&e.buttons.toLowerCase().indexOf("cancel")>=0&&(g+='<button type="button" data-task="cancel" class="btn '+("cancel"==e.buttons.toLowerCase()?"btn-primary":"btn-default")+'">Cancel</button>'),b("#ia-modal-alert .modal-footer").text("").append(g),e&&e.buttonText&&(e.buttonText.ok&&b('#ia-modal-alert button[data-task="ok"]').text(e.buttonText.ok),e.buttonText.cancel&&b('#ia-modal-alert button[data-task="cancel"]').text(e.buttonText.cancel),e.buttonText.yes&&b('#ia-modal-alert button[data-task="yes"]').text(e.buttonText.yes),e.buttonText.no&&b('#ia-modal-alert button[data-task="no"]').text(e.buttonText.no)),e&&e.yes){var h=e.yes;b('#ia-modal-alert button[data-task="yes"]').off("click").on("click",function(a){a.preventDefault(),b("#ia-modal-alert").modal("hide"),h(a)})}if(e&&e.no){var i=e.no;b('#ia-modal-alert button[data-task="no"]').off("click").on("click",function(a){a.preventDefault(),b("#ia-modal-alert").modal("hide"),i(a)})}if(e&&e.ok){var j=e.ok;b('#ia-modal-alert button[data-task="ok"]').off("click").on("click",function(a){a.preventDefault(),b("#ia-modal-alert").modal("hide"),j(a)})}else b('#ia-modal-alert button[data-task="ok"]').off("click").on("click",function(a){a.preventDefault(),b("#ia-modal-alert").modal("hide")});if(e&&e.cancel){var k=e.cancel;b('#ia-modal-alert button[data-task="cancel"]').off("click").on("click",function(a){a.preventDefault(),b("#ia-modal-alert").modal("hide"),k(a)}),b('#ia-modal-alert .modal-header button[data-dismiss="modal"]').one("click",function(a){a.preventDefault(),k(a)})}return e&&e.largeDialog?b("#ia-modal-alert .modal-dialog").addClass("modal-lg"):b("#ia-modal-alert .modal-dialog").removeClass("modal-lg"),e&&e.shown?b("#ia-modal-alert").on("shown.bs.modal",function(a){e.shown(a),d(b("#ia-modal-alert"),".modal-footer div:not(.btn-group) > .btn, .modal-footer > .btn"),b("#ia-modal-alert").off("shown.bs.modal")}):b("#ia-modal-alert").on("shown.bs.modal",function(a){d(b("#ia-modal-alert"),".modal-footer div:not(.btn-group) > .btn, .modal-footer > .btn"),b("#ia-modal-alert").off("shown.bs.modal")}),e&&e.focus&&(b("#ia-modal-alert").find(".btn-primary").removeClass("btn-primary"),b("#ia-modal-alert").find('button[data-task="'+e.focus+'"]').addClass("btn-primary").focus()),b("#ia-modal-alert").modal({show:!0,backdrop:e&&e.modal?"static":!0}),b("#ia-modal-alert")},f.detectWebFonts=function(){var a=b(".ia-report").eq(0).css("font-family"),c=["Arial","Helvetica","sans-serif","Verdana","Geneva","Calibri","Tahoma","Trebuchet MS","Lucida Sans Unicode","Lucida Grande","Georgia","Times New Roman","Times","serif"];if(a){var d=a.split(","),f=new Array;for(var g in d)d[g]=b.trim(d[g].replace('"'," ").replace('"'," ").replace("'"," ").replace("'"," ")),c.indexOf(d[g])<0&&f.push(d[g]);e(f)}},a}(builder||{},window.jQuery),builder=function(a,b,c,d){function e(b,c,f,h,i){var j,k,l=Object.keys(c),m=[],n=[],o=[],p=[];for(var q in l)j=l[q].split(";")[0],k=l[q].split(";")[1],p.indexOf(j.toLowerCase())<0&&(p.push(j.toLowerCase()),n.indexOf(j)<0&&n.push(j)),o.indexOf(k)<0&&o.push(k);if(!h&&1==n.length){m=[];for(var q in l)m=m.concat(c[l[q]].filter(function(a){return m.indexOf(a)<0}));return void d.datamanager.getDataCatalogIndicatorInstances(n[0],m,o,{done:function(a){e(b,c,f,a,i)}})}var r=f.pop();g(r.model,r.lookup,r.collection,h,function(d,g){if(d&&"undefined"!=typeof d.parentIndex){if(b.geographies[d.parentIndex].model=d,g&&g.length>0&&a.operationMode&&"edit"==a.operationMode.toLowerCase()){var j="<p>Dashboard Builder could not add all of your data catalog data into this dashboard. Some of the data appears to be missing - details are shown below:</p><ul><li>"+g.join("</li><li>")+"</li></ul>";a.util.showPopupScriptDialog("Data Missing",j,{buttons:"ok",modal:!0,type:"warning"})}f.length>0?e(b,c,f,h,i):i(b)}else console.log("How here? "+d)})}function f(a,b,c){if(b.themes)for(var d in b.themes)f(a,b.themes[d],c);if(b.indicators)for(var e=0;e<b.indicators.length;e++){var g=b.indicators[e];if(g.src&&g.src.format&&"ARCGISONLINEDATASTORE"==g.src.format.toUpperCase()&&(g.theme=b.id,c.push(g)),g.associates)for(var h=0;h<g.associates.length;h++){var i=g.associates[h];i.src&&i.src.format&&("ARCGISONLINEDATASTORE"==i.src.format.toUpperCase()||""==i.src.format)&&(i.parentId=g.id,i.date=g.date,c.push(i))}}}function g(c,e,f,i,j,k){var l,m=(new Date,Object.keys(e)[0]),n=m.split(";")[0],o=m.split(";")[1],p=(e[m],{}),q=k||[];for(var r in f)"undefined"!=typeof f[r].parentId&&(p[f[r].id]=f[r].parentId);var s,t,u,v,w,x,y="iaoDataModel"+a.util.guid().replace(/\-/g,""),z=c.parentIndex,A={},B={},C={},D={};if(i&&i.instances){i.sorted||(i.instances.sort(h),i.sorted=!0),u=JSON.stringify(c),d.datamanager.compressor&&(u=d.datamanager.compressor.compressToUTF16(u)),sessionStorage.setItem(y,u),w=new d.DataModel(y,sessionStorage);for(var r in i.instances)s=i.instances[r],s.geo==o&&(B[s.parent]||(B[s.parent]=[]),B[s.parent].push(s));for(var r=0;r<f.length;r++){if(x=!1,t=f[r].theme?w.getIndicatorFromTheme(f[r].id,f[r].theme):w.getIndicator(f[r].id),!t&&p[f[r].id]){if(t=C[p[f[r].id]]||w.getIndicator(p[f[r].id]),t&&t.associates)for(var E=0;!x&&E<t.associates.length;E++)t.associates[E].id==f[r].id&&(t=t.associates[E],x=!0)}else t||(t=C[f[r].id]);if(t&&t.theme&&!t.orphaned&&!x&&t.date&&0==t.date.indexOf("#IAO-LATEST:")?(C[t.id]=t,w.deleteIndicatorFromTheme(t.id,t.theme),D[t.id]=Math.min(parseInt(t.date.substring("#IAO-LATEST:".length)),B[f[r].src.fieldName]?B[f[r].src.fieldName].length:0),t.orphaned=!0):t&&x&&t.date&&0==t.date.indexOf("#IAO-LATEST:")&&(D[t.id]=Math.min(parseInt(t.date.substring("#IAO-LATEST:".length)),B[f[r].src.fieldName]?B[f[r].src.fieldName].length:0)),t&&(t.theme||x)&&"undefined"!=typeof D[t.id]){for(var F=[];D[t.id]>0;){if(s=B[f[r].src.fieldName][D[t.id]-1],v={id:t.id,name:t.name,date:s.date,src:{url:s.url,fieldName:s.field,format:"ArcGIS"},index:t.index,subIndex:s.index,type:t.type||"numeric",properties:[]},(d.metadataUrl||d.datamanager.dataStoreMetadataUrl)&&(v.href="#metadata:data-store:"+s.field+":"+s.parent),v.properties.push({name:"dataCatalogUrl",value:t.src.url.split(";")[0]}),"undefined"!=typeof t.href&&""==b.trim(t.href)&&(v.href=t.href.replace(/\{0\}/g,s.field).replace(/\{1\}/g,s.parent)),"undefined"!=typeof t.precision&&(v.precision=t.precision),t.properties)for(var G in t.properties)v.properties.push({name:t.properties[G].name,value:t.properties[G].value});x?(A[t.parentId]||(A[t.parentId]=[]),A[t.parentId].push(v)):F.push(v),D[t.id]=D[t.id]-1}t.theme?(w.addIndicatorToTheme(F,t.theme),w.sortIndicatorsInTheme(t.theme,!0)):x||(console.log("Warning: cannot add instances to indicator #"+r+": "+t.id+", "+t.name+" because the source indicator has no theme in the model"),q.push("Data cannot be added for indicator "+t.name+" because the source indicator has no theme in the data model"))}else t&&"undefined"!=typeof D[t.id]||(console.log("Warning: cannot add instances to indicator "+f[r].id+", "+f[r].name+" because the source indicator is not found in the model:"),console.log(f[r]),q.push("Data cannot be added for indicator "+f[r].name+" because the source indicator is not in the data model"))}if(w.save(),A){for(var H in A)if(t=w.getIndicator(H)){"undefined"==typeof t.splice&&(t=[t]);for(var I=0;I<t.length;I++){t[I].associates=A[H].slice(0);for(var r=t[I].associates.length-1;r>=0;r--)t[I].associates[r].date!=t[I].date&&t[I].associates.splice(r,1);t[I].associates.sort(function(a,b){var c=a.index-b.index;return 0!=c?c:(c.a.subIndex-b.subIndex,c)})}}w.save()}}else console.log('Warning: cannot add instances to model for geo "'+o+'" ('+n+") because no instances were found in the data catalog:"),console.log(f[r]),q.push('Data cannot be added to model for geo "'+o+'" ('+n+") because no instances were found in the data catalog");delete e[m],l=new Date,Object.keys(e).length>0?g(c,e,f,i,j,q):j&&(sessionStorage.getItem(y)&&(u=sessionStorage.getItem(y),d.datamanager.compressor&&(u=d.datamanager.compressor.decompressFromUTF16(u)),c=JSON.parse(u),c.parentIndex=z),j(c,q))}function h(a,b){var c=a.parent.toString().localeCompare(b.parent.toString());return 0!=c?c:b.index-a.index}function i(a,b,d,e){z="102100",y=!1;var f=!1;a.spatialReference&&a.spatialReference.wkid&&(f=!0,z=a.spatialReference.wkid.toString());var g=a.baseMap.baseMapLayers;if(void 0!==g&&g.length>0){var h=g[0];h.url&&-1!=h.url.indexOf("MapServer")?c.FeatureServiceReader.getInfo(h.url,c.accessToken,function(a,b){void 0!=a.tileInfo?(y=!0,f||(z=a.tileInfo.spatialReference.wkid.toString()),e.call(null)):e.call(null)}):h.layerType&&"OpenStreetMap"==h.layerType?(y=!0,e.call(null)):e.call(null)}else e.call(null)}function j(a,d,e,f){var g=a.extent[0][0],h=a.extent[0][1],i=a.extent[1][0],j=a.extent[1][1];if("102100"==z){var k=new c.GoogleMercatorProjection,l=k.project(g,h,!0),m=k.project(i,j,!0);bbox=l.x+" "+l.y+" "+m.x+" "+m.y,f.call(null,bbox)}else{var n="//utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer/project?f=json";n+="&outSR="+z,n+="&inSR=4326",n+="&geometries="+encodeURIComponent('{"geometryType":"esriGeometryEnvelope","geometries":[{"xmin":'+g+',"ymin":'+h+',"xmax":'+i+',"ymax":'+j+',"spatialReference":{"wkid":4326}}]}'),b.ajax({url:c.getDomainSafeUrl(n),dataType:"json",cache:e}).done(function(a,b,c){var d=a.geometries[0],e=d.xmin+" "+d.ymin+" "+d.xmax+" "+d.ymax;f.call(null,e)}).fail(function(a,b,c){d&&d.fail&&d.fail(a,b,c,"geometry")})}}function k(){var b;if(a.layermanager){b={data:a.layermanager.getDataLayers(),contextual:a.layermanager.getContextualLayers(),hidden:a.layermanager.getHiddenLayers()};for(var c in b.data)b.data[c]=b.data[c].id;for(var c in b.contextual)b.contextual[c]=b.contextual[c].id;for(var c in b.hidden)b.hidden[c]=b.hidden[c].id;a.layermanager.clear()}return b}function l(b,c,d){for(var e=d.visible,f=d.hidden,g=b.layers.length-1;g>=0;g--)"ags-layer"!=b.layers[g].type&&0!=b.layers[g].showInLayerListUserDefined&&(b.layers[g].showInLayerList=!0);if(c&&c.hidden&&c.hidden.length>0)for(var h in c.hidden)for(var g=b.layers.length-1;g>=0;g--)b.layers[g].id==c.hidden[h]&&(b.layers[g].showInLayerList=!1,b.layers[g].visible=!1,a.layermanager&&(a.layermanager.removeHiddenLayer(b.layers[g].id),a.layermanager.addHiddenLayer(b.layers[g])));if(f)for(var g=b.layers.length-1;g>=0;g--)f&&f.indexOf(b.layers[g].id)>=0&&(b.layers[g].showInLayerList=!1,b.layers[g].visible=!1,a.layermanager&&(a.layermanager.removeHiddenLayer(b.layers[g].id),a.layermanager.addHiddenLayer(b.layers[g])));if(e&&e.length>0)for(var g=b.layers.length-1;g>=0;g--)e&&e.indexOf(b.layers[g].id)>=0?(0!=b.layers[g].showInLayerListUserDefined&&(b.layers[g].showInLayerList=!0),b.layers[g].visible=!0):"ags-layer"!=b.layers[g].type&&(b.layers[g].visible=!1);for(var i=!1,g=b.layers.length-1;g>=0;g--)i=i||"base-layer"==b.layers[g].type&&b.layers[g].visible;if(!i)for(var g=0;g<b.layers.length;g++)if("base-layer"==b.layers[g].type&&!b.layers[g].hidden){b.layers[g].visible=!0;break}}function m(d,e,f,g,h,i){function j(i){function j(a){if(a.layers&&1==a.layers.length&&(a.layers[0].layerDefinition&&a.layers[0].layerDefinition.definitionExpression&&(featureFilter="where="+encodeURIComponent(a.layers[0].layerDefinition.definitionExpression)),a.layers[0].popupInfo&&!d.popupInfo&&(d.popupInfo=a.layers[0].popupInfo)),a.thematicGroup&&a.thematicGroup.layerIds&&a.layers)for(var b=0;b<a.layers.length;b++)a.thematicGroup.layerIds.indexOf(a.layers[b].id)>=0&&(a.layers[b].layerDefinition&&a.layers[b].layerDefinition.drawingInfo&&(n=a.layers[b].layerDefinition.drawingInfo.renderer),a.layers[b].popupInfo&&!d.popupInfo&&(d.popupInfo=a.layers[b].popupInfo),b=a.layers.length);p(d,i,n,s,r,u,h,e)}if(c.FeatureServiceReader.layerInfoCache&&!i.fake&&(c.FeatureServiceReader.layerInfoCache[c.getDomainSafeUrl(k)]=i),i.error&&498===i.error.code)return x=!1,void m(d,e,f,g);if(i.error&&403===i.error.code&&i.error.message&&"ssl required"==i.error.message.toLowerCase()&&0==d.url.indexOf("http:"))return d.url=d.url.replace("http:","https:"),void m(d,e,f);if(i.error)return void e.call(null,{status:"rejected",layer:d,url:k,error:{isHttp:!1,statusCode:i.error.code,message:i.error.message}});if(d.layerDefinition&&d.layerDefinition.drawingInfo?n=d.layerDefinition.drawingInfo.renderer:i.drawingInfo&&(n=i.drawingInfo.renderer),d.layerDefinition&&d.layerDefinition.definitionExpression&&(featureFilter="where="+encodeURIComponent(d.layerDefinition.definitionExpression)),d.itemId){var l=a.itemPath+d.itemId+"/data?f=json";sessionStorage.getItem("iaoToken")&&(l+="&token="+sessionStorage.getItem("iaoToken"));var o=c.FeatureServiceReader.layerQueryCache[c.getDomainSafeUrl(l)];void 0!=o?j(o):b.ajax({type:"GET",url:c.getDomainSafeUrl(l),dataType:"JSON",cache:u}).done(function(a){c.FeatureServiceReader.layerQueryCache[c.getDomainSafeUrl(l)]=a,j(a)}).fail(function(a,b,f){c.log("Error loading renderer from "+l+": "+b),p(d,i,n,s,r,u,h,e)})}else p(d,i,n,s,r,u,h,e)}var k,l,n,o,q,t,u="undefined"!=typeof f?f:!1,v="undefined"!=typeof d.layerType?d.layerType:"AutoDetect",w="ArcGISTiledMapServiceLayer"==v||"ArcGISMapServiceLayer"==v,y=d.id.replace(/[\W]+/g,"_");if(!d.url||d.mapUrl||w||!d.url.indexOf("FeatureServer")&&!d.url.indexOf("MapServer"))d.mapUrl||w?(o="ArcGISTiledMapServiceLayer"==v?d.url:"ArcGISMapServiceLayer"==v?d.url+"/export?":d.mapUrl+(d.type&&"WMS"==d.type?"":"/export?"),q="ArcGISTiledMapServiceLayer"==v,t={type:d.type&&"WMS"==d.type?"wms-layer":"ags-layer",id:y,name:d.title,geometry:"image",visible:d.visibility,url:o,tile:q,layers:d.visibleLayers?d.visibleLayers.join(","):"0",srs:d.type&&"WMS"==d.type?"EPSG:"+z:z,showInLayerList:!0,params:(d.type&&"WMS"==d.type?"&format=image/png&version="+(d.version?d.version:"1.1.1"):"&format=PNG32")+"&bgcolor=0xffffff&transparent=TRUE"},d.type&&"WMS"==d.type&&d.spatialReferences&&d.spatialReferences.length>0&&(t.srs="EPSG:"+d.spatialReferences[0]),s.layers[s.layers.length]=t,e.call(null,{status:"approved",layer:d,url:o,layerType:"image"})):e.call(null);else{k=d.url,g&&(d.url=d.url.replace("http:","https:")),l=d.url+(d.url.indexOf("?")>0?"&":"?")+"f=json",sessionStorage.getItem("iaoToken")&&x&&(l+="&token="+sessionStorage.getItem("iaoToken"));var A=!1;if("view"==h&&i&&i.layers)for(var B in i.layers)if((i.layers[B].id==y||i.layers[B].id==d.id)&&i.layers[B].idField){var C={id:d.id,name:i.layers[B].name||d.title,fields:[{name:i.layers[B].idField,alias:i.layers[B].idField,type:"esriFieldTypeString"},{name:i.layers[B].nameField,alias:i.layers[B].nameField,type:"esriFieldTypeString"}],geometryType:"esriGeometry"+i.layers[B].geometry.substring(0,1).toUpperCase()+i.layers[B].geometry.substring(1),fake:!0,type:"Feature Layer"};j(C),A=!0;break}A||b.ajax({url:c.getDomainSafeUrl(l),cache:u,dataType:"json"}).done(j).fail(function(a,b,f){c.log(b+","+a.status+" @ "+d.url+": "+f);var g=0==a.status?"Cross-Domain request to "+d.url.split("/")[2]+" not allowed":f&&""!=f?f:b;e.call(null,{status:"rejected",layer:d,url:k,error:{isHttp:!0,statusCode:a.status,message:g}})})}}function n(c){for(var d=["name","nameField","visible","symbolSize","fillColor","fillOpacity","borderColor","borderThickness","showDataTips","showInLayerList","showInLayerListUserDefined","showLabels","displayLabelsOnly","labelPosition","minLabelExtent","maxLabelExtent","hidden"],e={},f=0;f<d.length;f++){var g=d[f];e[g]=c[g]}if(a.data.webmapLayerProperties[c.id]=e,sessionStorage.getItem("iaoMap"))for(var h=b.parseJSON(sessionStorage.getItem("iaoMap")),i=0;i<h.layers.length;i++){var j=h.layers[i];if(c.id==j.id){for(var f=0;f<d.length;f++){var g=d[f];"fillColor"==g?c.type==j.type&&(c[g]=j[g]):void 0!=j[g]&&(c[g]=j[g])}!c.idField&&j.idField&&(c.idField=j.idField);break}}}function o(a,b){if(void 0!==a){var c=a.baseMapLayers;if(void 0!==c)for(var d=0;d<c.length;d++){var e=c[d];if(e.url&&e.url.indexOf("MapServer")||e.layerType&&"OpenStreetMap"==e.layerType){var f={type:"ags-layer",id:e.id,name:a.title,geometry:"image",visible:e.visibility,layers:"0",opacity:"undefined"!=typeof e.opacity?e.opacity:1,srs:z,showInLayerList:!1};e.layerType&&"OpenStreetMap"==e.layerType?f.url="OpenStreetMap":e.url&&(f.url=(b?e.url.replace("http:","https:"):e.url)+"/export?"),y&&(f.tile=!0),void 0!=e.isReference&&(f.isReference=e.isReference,f.params="format=PNG32&bgcolor=0xffffff&transparent=TRUE"),s.layers[s.layers.length]=f}}}}function p(e,f,g,h,i,j,k,l){function m(b){if(""!=F||b.forced||(c.FeatureServiceReader.layerObjectIdsCache[e.url+"1 = 1"]=b.objectIds.concat()),b.forced||b.objectIds&&b.objectIds.length>U&&b.objectIds.length<=V){if(void 0==u&&(u=f.objectIdField),void 0==u)for(var g in f.fields)if("esriFieldTypeOID"==f.fields[g].type){u=f.fields[g].name;break}if(void 0==v&&(v=f.displayField,(void 0==v||""==v)&&(v=u)),Y||a.allowMultipleGeographies||(t=q),T.prop("selected",!0),!a.layermanager||X&&X.hidden||a.layermanager.addDataLayer(p),p.type="base-layer",p.fillColor="#EFEFEF",p.fillOpacity=Math.max(p.fillOpacity,.15),p.idField=Y&&Z>=0?u[Z]:Y?"NULL-FIELD-NOT-HERE":u,p.nameField=Y&&Z>=0?v[Z]:Y?"NULL-FIELD-NOT-HERE":v,f&&f.fields){var j=new Array;for(var g in f.fields)j.push(f.fields[g].name);j.indexOf(p.idField)<0&&(p.idField=f.objectIdField),j.indexOf(p.nameField)<0&&(p.nameField=f.objectIdField)}else p.idField=f.objectIdField,p.nameField=f.objectIdField;p.iconPath=null,r.length>0&&w.webmapPalettes.push(r),n(p);var k,m,o=new Object,s=new Object,y=0;if(e.popupInfo){m=e.popupInfo.fieldInfos;for(var z in m)k={name:m[z].fieldName,alias:m[z].label,enabled:m[z].visible,index:y},k.alias.indexOf("|")>0&&(k.date=k.alias.substring(k.alias.indexOf("|")+1),k.alias=k.alias.substring(0,k.alias.indexOf("|"))),m[z].format&&"undefined"!=typeof m[z].format.places&&(k.precision=m[z].format.places),s[k.name.toUpperCase()]=k,y++}var A=new Array;if(f&&f.fields){for(var z=0;z<f.fields.length;z++){var B=f.fields[z],C=B.name.toUpperCase();if(0==y||void 0!=s[C]&&s[C].enabled){var D={id:"i"+z,name:void 0!=s[C]?s[C].alias:B.alias?B.alias:B.name,date:void 0!=s[C]?s[C].date:null,src:{url:e.url+(""!=F?(e.url.indexOf("?")>0?"&":"?")+F:""),fieldName:B.name},type:"esriFieldTypeString"==B.type?"CATEGORIC":"NUMERIC",properties:[],index:void 0!=s[C]?s[C].index:z};void 0!=s[C]&&void 0!=s[C].precision&&(A.precision=s[C].precision),void 0!=o[D.name]?D.id=o[D.name]:D.date&&""!=D.date&&(o[D.name]=D.id),A[A.length]=D}}var E={id:q,name:e.title,type:"mixed",url:e.url+(""!=F?(e.url.indexOf("?")>0?"&":"?")+F:""),idField:p.idField,nameField:p.nameField,model:{url:e.url+(""!=F?(e.url.indexOf("?")>0?"&":"?")+F:""),idField:p.idField,nameField:p.nameField,themes:[{id:"t1",name:e.title,indicators:A}]}};d.DataModel.mergeIndicators(E.model.themes[0].indicators,!0),E.model.themes[0].indicators&&E.model.themes[0].indicators.length>0?(i.geographies[i.geographies.length]=E,l.call(null,{status:"approved",layer:e,layerType:"base",url:E.url,anonymous:!(sessionStorage.getItem("iaoToken")&&x)})):(h.layers.pop(),T.remove(),l.call(null,{status:"rejected",layer:e,url:H,anonymous:!(sessionStorage.getItem("iaoToken")&&x),error:{isHttp:!1,statusCode:997,message:"No data fields available (may be locked by popup)"}}))}else h.layers.pop(),T.remove(),l.call(null,{status:"rejected",layer:e,url:H,anonymous:!(sessionStorage.getItem("iaoToken")&&x),error:{isHttp:!1,statusCode:997,message:"No data fields available"}})}else{h.layers.pop(),T.remove();var G=b.objectIds&&b.objectIds.length>V?997:998;l.call(null,{status:"rejected",layer:e,url:H,anonymous:!(sessionStorage.getItem("iaoToken")&&x),error:{isHttp:!1,statusCode:G,message:997==G?a.util.formatString("Too many layer features ({0} > max: {1})",b.objectIds.length,V):"No features available"}})}}function o(b){b.forced||b.objectIds&&b.objectIds.length>U&&b.objectIds.length<V?(p.type="contextual-layer",p.idField=b.objectIdFieldName?b.objectIdFieldName:f.objectIdField,void 0==p.nameField&&(p.nameField=f.displayField||f.objectIdField),"polygon"==G&&(p.showDataTips=!1),n(p),a.layermanager&&1!=p.hidden&&a.layermanager.addContextualLayer(p),l.call(null,{status:"approved",layer:e,layerType:"contextual",url:H,anonymous:!(sessionStorage.getItem("iaoToken")&&x)})):(h.layers.pop(),T.remove(),l.call(null,{status:"rejected",layer:e,url:H,anonymous:!(sessionStorage.getItem("iaoToken")&&x),error:{isHttp:!1,statusCode:998,message:"No features available"}}))}var p,q=e.id.replace(/[\W]+/g,"_"),r=new Array,s=new Array,y="#EFEFEF",A=void 0!=e.opacity?e.opacity:.8,B="#cccccc",C=1,D=null,E=15,F="",G="polygon",H=e.url;if(void 0!=g)if("classBreaks"==g.type){var I=g.classBreakInfos[0].symbol,J=I.outline?I.outline:I;if(I.color){var K=c.parseInt(I.color[3]);if(B="rgb("+J.color[0]+","+J.color[1]+","+J.color[2]+")",C=J.width?J.width:I.width,y="rgb("+I.color[0]+","+I.color[1]+","+I.color[2]+")",A=K/255,g.visualVariables&&g.visualVariables.length>0&&void 0!=g.visualVariables[0].stops&&void 0!=g.visualVariables[0].stops[0].color)for(var L=g.visualVariables[0].stops,M=0;M<L.length;M++){var N=L[M].color;r[r.length]="rgb("+N[0]+","+N[1]+","+N[2]+")"}else for(var M=0;M<g.classBreakInfos.length;M++)I=g.classBreakInfos[M].symbol,r[r.length]="rgb("+I.color[0]+","+I.color[1]+","+I.color[2]+")"}}else if("uniqueValue"==g.type){var I=g.uniqueValueInfos[0].symbol,J=I.outline?I.outline:I;if(I.color){var K=c.parseInt(I.color[3]);B="rgb("+J.color[0]+","+J.color[1]+","+J.color[2]+")",C=J.width,y="rgb("+I.color[0]+","+I.color[1]+","+I.color[2]+")",A=K/255;for(var M=0;M<g.uniqueValueInfos.length;M++)I=g.uniqueValueInfos[M].symbol,s[s.length]=g.uniqueValueInfos[M].value,r[r.length]=I.color&&I.color.length>2?"rgb("+I.color[0]+","+I.color[1]+","+I.color[2]+")":"rgb(255,255,255)"}}else if("simple"==g.type){var I=g.symbol;if(I.size&&(E=Math.round(I.size)),I.url){D=I.url.toLowerCase(),y=D.indexOf("red")>=0?"rgb(255,0,0)":D.indexOf("green")>=0?"rgb(0,255,0)":D.indexOf("blue")>=0?"rgb(0,0,255)":D.indexOf("white")>=0?"rgb(255,255,255)":D.indexOf("black")>=0?"rgb(0,0,0)":"rgb(128,128,128)";var O=c.Color.darken(y,.7);if(r=[y,O],B=O,I.imageData&&I.contentType&&(D="data:"+I.contentType+";base64,"+I.imageData,I.width&&I.height)){E=Math.round((I.width+I.height)/2);var P="iaoOffscreenCanvas"+a.util.guid();b("body").append('<div id="'+P+'Holder" style="display: none"><canvas id="'+P+'" width="'+Math.ceil(I.width)+'" height="'+Math.ceil(I.width)+'"></canvas></div>');var Q=document.getElementById(P),R=Q.getContext("2d"),S=new Image;S.onload=function(){if(R.drawImage(S,0,0,Math.ceil(I.width),Math.ceil(I.height)),R.save(),D=Q.toDataURL(),h.layers)for(var a=0;a<h.layers.length;a++)h.layers[a].id==S.alt&&(h.layers[a].iconPath=D,h.layers[a].fillColor=null);R=null,b('*[id="'+P+'"]').remove(),b('div[id="'+P+'Holder"]').remove()},S.alt=e.id,S.src="data:"+I.contentType+";base64,"+I.imageData}}else if(null==I.color)A=0;else if(I.color){var K=c.parseInt(I.color[3]);y="rgb("+I.color[0]+","+I.color[1]+","+I.color[2]+")",A=K/255;var O="0,0,0"!=I.color.slice(0,3).join(",")?c.Color.darken(y,.7):"#cccccc";r=[y,O]}if(I.outline){var J=I.outline;B="rgb("+J.color[0]+","+J.color[1]+","+J.color[2]+")",C=J.width}}"esriGeometryPolygon"==f.geometryType?G="polygon":"esriGeometryPoint"==f.geometryType||"esriGeometryMultipoint"==f.geometryType?G="point":"esriGeometryPolyline"==f.geometryType?G="line":null==f.geometryType&&(G="image");var T=b('<span data-layer-id="'+q+'">'+e.title+"</span>");p={id:q,name:e.title,url:e.url+(""!=F?(e.url.indexOf("?")>0?"&":"?")+F:""),srs:z,geometry:G,boundingBox:h.boundingBox,visible:e.visibility,symbolSize:E,fillColor:y,fillOpacity:A,borderColor:B,borderThickness:C,showLabels:!1,iconPath:D,showDataTips:!0,showInLayerList:!0,showInLayerListUserDefined:!0,minLabelExtent:0,maxLabelExtent:1e6,index:h.layers.length},h.layers[h.layers.length]=p;var U=0,V=1e4;if(void 0==f.objectIdField)for(var W in f.fields)if("esriFieldTypeOID"==f.fields[W].type){
f.objectIdField=f.fields[W].name;break}var X,Y=t&&"undefined"!=typeof t.splice,Z=Y?t.indexOf(q):-1,$=!1,_=f&&f.fields&&f.fields.length>1,aa=!0;if(a.firstRun){var ba=b.parseJSON(sessionStorage.getItem("iaoMap"));if(ba)for(var M in ba.layers)if(X=ba.layers[M],p.id==X.id){"base-layer"!=X.type&&(aa=!1);break}}if(X&&X.hidden&&"view"==k)return h.layers.pop(),void l.call(null,{status:"hidden",layer:e,layerType:aa?"base-layer":_?"contextual-layer":"ags-layer",url:X.url,anonymous:!(sessionStorage.getItem("iaoToken")&&x)});if(aa&&"image"!=G&&_&&(!$||a.allowMultipleGeographies)&&(!Y&&q==t||Z>=0||void 0==t)){var ca=e.url+"/query?f=json&returnIdsOnly=true&"+(""!=F?F:"where="+encodeURIComponent("1=1"));sessionStorage.getItem("iaoToken")&&x&&(ca+="&token="+sessionStorage.getItem("iaoToken")),f.fake&&"view"==k?m({forced:!0}):b.ajax({url:c.getDomainSafeUrl(ca),dataType:"json",cache:j}).done(m).fail(function(a,b,d){c.log(b.toUpperCase()+","+a.status+" @ "+e.url+": "+d);var f=0==a.status?"Cross-Domain request to "+e.url.split("/")[2]+" not allowed":d&&""!=d?d:b;h.layers.pop(),T.remove(),l.call(null,{status:"rejected",layer:e,url:H,anonymous:!(sessionStorage.getItem("iaoToken")&&x),error:{isHttp:!0,statusCode:a.status,message:f}})})}else if(f&&!f.singleFusedMapCache&&f.type&&"feature layer"==f.type.toLowerCase()){var ca=e.url+"/query?f=json&returnIdsOnly=true&"+(""!=F?F:"where="+encodeURIComponent("1=1"))+(h.boundingBox?"&inSR="+(z&&""!=z?z:"102100")+"&geometryType=esriGeometryEnvelope&geometry="+encodeURIComponent(a.util.replaceAll(h.boundingBox," ",",")):"");sessionStorage.getItem("iaoToken")&&x&&(ca+="&token="+sessionStorage.getItem("iaoToken")),f.fake&&"view"==k?o({forced:!0}):b.getJSON(c.getDomainSafeUrl(ca)).done(o).fail(function(a,b,d){c.log(b.toUpperCase()+","+a.status+" @ "+e.url+" (as contextual): "+d);var f=0==a.status?"Cross-Domain request to "+e.url.split("/")[2]+" not allowed":d&&""!=d?d:b;h.layers.pop(),T.remove(),l.call(null,{status:"rejected",layer:e,url:H,anonymous:!(sessionStorage.getItem("iaoToken")&&x),error:{isHttp:!0,statusCode:a.status,message:f}})})}else f&&(f.singleFusedMapCache||"image"==G)?(p.type="ags-layer",p.geometry="image",p.url=p.url+"/export?",p.layers=f.id?f.id.toString():"0",p.showInLayerList=!0,p.params="&format=PNG32&bgcolor=0xffffff&transparent=TRUE"+(sessionStorage.getItem("iaoToken")&&x?"&token="+sessionStorage.getItem("iaoToken"):""),T.remove(),l.call(null,{status:"approved",layer:e,layerType:"image",url:H,anonymous:!(sessionStorage.getItem("iaoToken")&&x)})):(h.layers.pop(),T.remove(),l.call(null,{status:"rejected",layer:e,url:H,anonymous:!(sessionStorage.getItem("iaoToken")&&x),error:{isHttp:!1,statusCode:999,message:"Unknown or invalid layer type"}}))}function q(a){var b=null;if(a.indicators&&a.indicators.length>0)return a.indicators[0];if(a.themes&&a.themes.length>0&&null==b)for(var c=0;c<a.themes.length;c++)b=q(a.themes[c]);return b}var r,s,t,u,v,w=a.data=a.data||{},x=!0,y=!1,z="102100";a.data.webmapLayerProperties,w.readIAFiles=function(d,e,f){var g=f.allowCache,h="undefined"!=typeof g?g:"undefined"!=typeof w.allowJsonCaching?w.allowJsonCaching:!1;b("#ia-select-data-layer").empty(),f.progress&&f.progress.call(null,0,2),b.ajax({url:c.getDomainSafeUrl(d),dataType:"json",cache:h}).done(function(g,i,j){g.maintainContextualLayerOrder=!0,f.progress&&f.progress.call(null,1,2);var k=d.indexOf("?")>0?"&"+d.split("?")[1]:"";"&f=geojson"==k&&(k="");for(var l=0;l<g.layers.length;l++){var m=g.layers[l],n=m.url;void 0!=n&&"image"!=m.geometry&&(m.url+=(n.indexOf("?")<0?"?":"")+(m.dataType&&"geojson"==m.dataType.toLowerCase()&&n.indexOf("f=")<0?"f=geojson":"")+k)}a.layermanager&&a.layermanager.refreshLayers(g,a.azureApp),b.ajax({url:c.getDomainSafeUrl(e),dataType:"json",cache:h}).done(function(a,b,c){w.adjustModelUrls(a,k,"?f=geojson"),f.progress&&f.progress.call(null,2,2),f.complete&&f.complete.call(null,a,g)}).fail(function(a,b,c){f&&f.fail&&f.fail(a,b,c)})}).fail(function(a,b,c){f&&f.fail&&f.fail(a,b,c)})},w.adjustModelUrls=function(a,b,c){for(var e,f,g=[],h=0;h<a.geographies.length;h++){var i=a.geographies[h];i.url&&(e=i.url.split("?")[0],i.url=e+d.mergeQueryStrings(d.cleanQueryString(i.url.split("?")[1],"sig,sv,sr,si,token"+(c&&c.indexOf("f=")>=0?",f":"")),c+b),g.push(i.url));var j=i.model;if(j.url&&(e=j.url.split("?")[0],j.url=e+d.mergeQueryStrings(d.cleanQueryString(j.url.split("?")[1],"sig,sv,sr,si,token"+(c&&c.indexOf("f=")>=0?",f":"")),c+b),g.push(j.url)),j.themes)for(var k=0;k<j.themes.length;k++){var l=j.themes[k];if(l.indicators)for(var m=0;m<l.indicators.length;m++){var n=l.indicators[m];if(n.src&&n.src.url&&(f=n.src.url.split("?")[0],n.src.url=f+(f==e?d.mergeQueryStrings(d.cleanQueryString(n.src.url.split("?")[1],"sig,sv,sr,si,token"+(c&&c.indexOf("f=")>=0?",f":"")),c+b):d.mergeQueryStrings(d.cleanQueryString(n.src.url.split("?")[1],"sig,sv,sr,si,token"),b)),n.src.format&&"CSV"==n.src.format&&n.src.fieldName&&n.src.fieldName.indexOf(",")<0&&(n.src.fieldName=n.src.fieldName+",0"),g.push(n.src.url)),n.associates)for(var o=0;o<n.associates.length;o++){var p=n.associates[o];p.src&&p.src.url&&(f=p.src.url.split("?")[0],p.src.url=f+(f==e?d.mergeQueryStrings(d.cleanQueryString(p.src.url.split("?")[1],"sig,sv,sr,si,token"+(c&&c.indexOf("f=")>=0?",f":"")),c+b):d.mergeQueryStrings(d.cleanQueryString(p.src.url.split("?")[1],"sig,sv,sr,si,token"),b)),p.src.format&&"CSV"==p.src.format&&p.src.fieldName&&p.src.fieldName.indexOf(",")<0&&(p.src.fieldName=p.src.fieldName+",0"),g.push(p.src.url))}}}}return g},w.adjustModelFormats=function(a,b){for(var c=0;c<a.geographies.length;c++){var d=a.geographies[c],e=d.model;if(e&&e.themes)for(var f=0;f<e.themes.length;f++){var g=e.themes[f];if(g.indicators)for(var h=0;h<g.indicators.length;h++){var i=g.indicators[h];if(!i.src||i.src.format&&""!=i.src.format||(i.src.format=i.src.url.match(/.*\/sharing\/rest\/content\/items\/[a-zA-Z0-9\-]+\/data/g)?"CSV":b),i.src.format&&"CSV"==i.src.format&&i.src.fieldName&&i.src.fieldName.indexOf(",")<0&&(i.src.fieldName=i.src.fieldName+",0"),i.associates)for(var j=0;j<i.associates.length;j++){var k=i.associates[j];!k.src||k.src.format&&""!=k.src.format||(k.src.format=k.src.url.match(/.*\/sharing\/rest\/content\/items\/[a-zA-Z0-9\-]+\/data/g)?"CSV":b),k.src.format&&"CSV"==k.src.format&&k.src.fieldName&&k.src.fieldName.indexOf(",")<0&&(k.src.fieldName=k.src.fieldName+",0")}}}}},w.expandModelStoreIndicators=function(a,b){for(var c,d,g,h,i=[],j={},k=0;k<a.geographies.length;k++)if(c=a.geographies[k],d=c.model,d&&d.themes){g=[];for(var l=0;l<d.themes.length;l++)f(d,d.themes[l],g);if(g.length>0){var m={};h={};for(var l in g)m[g[l].id]=g[l].src.fieldName;for(var l in g)h[g[l].src.url]||(h[g[l].src.url]=[]),h[g[l].src.url].indexOf(g[l].src.fieldName)<0&&h[g[l].src.url].push(g[l].src.fieldName),j[g[l].src.url]||(j[g[l].src.url]=[]),j[g[l].src.url].indexOf(g[l].src.fieldName)<0&&j[g[l].src.url].push(g[l].src.fieldName);d.parentIndex=k,i.push({model:d,lookup:h,collection:g})}}0==i.length?b(a):e(a,j,i,null,b)},w.buildIAModelFromGeoJson=function(e,f){var g=sessionStorage.getItem("iaoAppId");b.ajax({url:e,type:"GET",dataType:"json"}).done(function(b){var c=b.features?b.features[0].geometry.type:"unknown";c.indexOf("Polygon")>=0?c="polygon":c.toLowerCase().indexOf("line")>=0?c="line":c.indexOf("Point")>=0&&(c="point");var h=new d.DataModel("iaoLayerDataModelTemp__"+g),i=new Array;if(b.features&&b.features.length>0&&b.features[0].properties){var j,k,l,m=b.features[0].properties,n=new Object,o=new Object;for(var p in m)k=p,l=m[p],j={id:"i"+p,name:void 0!=o[k]?o[k].alias:k,date:void 0!=o[k]?o[k].date:null,src:{url:e,fieldName:k,format:"GeoJson"},type:isNaN(parseFloat(l))?"categoric":"numeric",properties:[],index:void 0!=o[k]?o[k].index:p},void 0!=o[k]&&void 0!=o[k].precision&&(i.precision=o[k].precision),void 0!=n[j.name]?j.id=n[j.name]:j.date&&""!=j.date&&(n[j.name]=j.id),i[i.length]=j;h.addTheme({id:"t"+a.util.guid(),name:d.getText("StartupDataModel.FirstTheme.Name","Theme 1"),indicators:i}),h.idField=i[0].src.fieldName,h.nameField=i[0].src.fieldName,h.url=e}f&&f({success:!0,error:!1,model:JSON.parse(JSON.stringify(h)),source:b,url:e,status:"OK"})}).fail(function(a,b,d){c.log("Error building data model from URL "+e),f&&f({success:!1,error:!0,data:a,message:b,status:d})})},w.readWebMap=function(d,e){w.webmapPalettes=[],t=e.dataLayer,u=e.idField,v=e.nameField;var f=e.complete,g=e.progress,h=e.allowCache,n="undefined"!=typeof h?h:"undefined"!=typeof w.allowJsonCaching?w.allowJsonCaching:!1,p="undefined"!=typeof e.forceHttps?e.forceHttps:"undefined"!=typeof w.forceHttps?w.forceHttps:!1;b("#ia-select-data-layer").empty();var q=k(),y=a.itemPath+d+"/data?f=json";sessionStorage.getItem("iaoToken")&&(y+="&token="+sessionStorage.getItem("iaoToken"));var z=a.itemPath+d+"?f=json";sessionStorage.getItem("iaoToken")&&(z+="&token="+sessionStorage.getItem("iaoToken")),b.ajax({url:c.getDomainSafeUrl(y),dataType:"json",cache:n}).done(function(d,k,t){return d.error?void(e&&e.fail&&e.fail(t,k,d.error,"data")):void b.ajax({url:c.getDomainSafeUrl(z),dataType:"json",cache:n}).done(function(c,k,t){if(c.error)return void(e&&e.fail&&e.fail(t,k,c.error,"info"));var u=d.operationalLayers;void 0!==u&&u.length>0&&i(d,e,n,function(){j(c,e,n,function(i){function j(i){if(i&&(i.status&&"approved"==i.status.toLowerCase()&&n.push(i),i.status&&"rejected"==i.status.toLowerCase()&&t.push(i),i.anonymous||C++),g&&g.call(null,u.length-B,u.length),0==B){if(o(d.baseMap,p),d.spatialReference&&d.spatialReference.wkid)for(var k in s.layers)"wms-layer"!=s.layers[k].type&&(s.layers[k].srs=d.spatialReference.wkid.toString());if(q&&0==q.data.length&&0==q.contextual.length&&0==q.hidden.length){var v=b.parseJSON(sessionStorage.getItem("iaoMap"));if(q&&q.hidden&&v)for(var k=s.layers.length-1;k>=0;k--){var w=s.layers[k],y=!0;if(1!=w.hidden)for(var z in v.layers){var D=v.layers[z];if(w.id==D.id){y=!1;break}}y&&(q.hidden.push(w.id),a.layermanager.addHiddenLayer(w))}}l(s,q,e),console.log("layer list length = "+u.length+", tokenized count = "+C),f.call(null,r,s,{approved:n,rejected:t,tokenized:C},c,d)}else B--,x=!0,m(u[B],function(a){j(a)},h,p,e&&e.mode?e.mode.toLowerCase():"edit",A)}if(r={version:"1.2",geographies:[]},a.data.webmapLayerProperties={},e&&e.extent&&4==e.extent.length&&(i=e.extent.join(" ")),s={maintainLayerOrder:!0,boundingBox:i,webmapBoundingBox:i,layers:[]},sessionStorage.getItem("iaoMap")){var k=b.parseJSON(sessionStorage.getItem("iaoMap"));k.fixedBoundingBox&&(s.boundingBox=k.boundingBox)}var n=new Array,t=new Array;if(e&&e.mode&&"view"==e.mode.toLowerCase()&&(e.hidden&&e.hidden.length>0||sessionStorage.getItem("iaoMap"))){var v=[],w=sessionStorage.getItem("iaoMap");if(w){w=JSON.parse(w);for(var y in w.layers)v.push(w.layers[y].id),v.push(w.layers[y].url.split("?")[0])}for(var z=e.hidden||[],y=u.length-1;y>=0;y--)(z.indexOf(u[y].id)>=0||v.length>0&&v.indexOf(u[y].id)<0&&v.indexOf(u[y].url.split("?")[0])<0)&&u.splice(y,1)}var B=e&&e.mode&&"view"==e.mode?u.length:u.length,C=0;sessionStorage.getItem("iaoMap")&&void 0==A&&(A=b.parseJSON(sessionStorage.getItem("iaoMap"))),j(null)})})}).fail(function(a,b,c){e&&e.fail&&e.fail(a,b,c,"info")})}).fail(function(a,b,c){e&&e.fail&&e.fail(a,b,c,"data")})};var A;return w.readDataModel=function(d,e){function f(a){e.call(null,a)}if(sessionStorage.getItem("iaoDataModel")){var g=b.parseJSON(a.getSessionStorageItem("iaoDataModel",!0));f(g)}else"undefined"!=typeof d.pop?a.agol.download(d,"JSON",function(a){f(a)}):b.getJSON(c.getDomainSafeUrl(d)).done(function(a){f(a)}).fail(function(a,b,c){f(void 0)})},w.readMap=function(d,e){function f(a){e.call(null,a)}if(sessionStorage.getItem("iaoMap")){var g=b.parseJSON(sessionStorage.getItem("iaoMap"));f(g)}else"undefined"!=typeof d.pop?a.agol.download(d,"JSON",function(a){f(a)}):b.getJSON(c.getDomainSafeUrl(d)).done(function(a){f(a)}).fail(function(a,b,c){f(void 0)})},w.onDataModelChange=function(d){a.util.setProgress(0),a.util.showProgress(),a.util.setProgress(10);var e=sessionStorage.getItem("iaoAppId"),f=function(b){d&&d.allowRevert&&sessionStorage.getItem("iaoDataModel_UNMODIFIED")&&localStorage.getItem("iaoIndicatorsModel__"+e+"_UNMODIFIED")&&(a.setSessionStorageItem("iaoDataModel",sessionStorage.getItem("iaoDataModel_UNMODIFIED")),sessionStorage.removeItem("iaoDataModel_UNMODIFIED"),a.setLocalStorageItem("iaoIndicatorsModel__"+e,localStorage.getItem("iaoIndicatorsModel__"+e+"_UNMODIFIED")),localStorage.removeItem("iaoIndicatorsModel__"+e+"_UNMODIFIED"),dbAppDebug&&console.log("Reset of data models complete"),a.data.onDataModelChange())};try{var g=b.parseJSON(a.getSessionStorageItem("iaoDataModel",!0)),h=b.parseJSON(a.getLocalStorageItem("iaoIndicatorsModel__"+e,!0));a.forceDataModelProxies(h);var i,j=b.parseJSON(sessionStorage.getItem("iaoMap"));if(d&&d.geogId){var k=a.report.data.getGeography(d.geogId);i=k.index<g.geographies.length?g.geographies[k.index]:g.geographies[0].id==d.geogId?g.geographies[0]:null}else{var l=a.report.getComponent("dataGroup");i=g.geographies[l.geography.index]}if(!i)throw"Cannot find geography with "+(d.geogId?"ID = "+d.geogId:"index = "+l.geography.index)+" in the data model";i.model=h,void 0!=h.idField&&(i.idField=h.idField),void 0!=h.nameField&&(i.nameField=h.nameField);for(var m=0;m<j.layers.length;m++){var n=j.layers[m];if("base-layer"==n.type&&n.id==i.id&&!n.hidden){void 0!=h.idField&&(n.idField=h.idField),void 0!=h.nameField&&(n.nameField=h.nameField),console.log("db-data #1567 setItem(iaoDataModel__"+n.id),a.setSessionStorageItem("iaoDataModel__"+n.id,JSON.stringify(i),!0);break}}dbAppDebug&&console.log("db-data.js line #1573 setItem(iaoDataModel)"),a.setSessionStorageItem("iaoDataModel",JSON.stringify(g),!0),a.setSessionStorageItem("iaoMap",JSON.stringify(j)),a.util.setProgress(30)}catch(o){return c.log("Error updating data model - "+o),void f()}try{a.agolData.formatter||(a.agolData.formatter=new c.Formatter),a.data.expandModelStoreIndicators(g,function(b){a.agolData.parseData(b,function(b){a.util.setProgress(60);try{c.parse(b,j,function(){a.util.setProgress(90),d&&d.success&&d.success(g),a.util.hideProgress()})}catch(e){return c.log("Error updating report with new data model - "+e),void f(e)}})})}catch(p){return c.log("Error building data with new data model - "+p),c.log("Data Model Fail: "+JSON.stringify(g)),void f(p)}},w.getFirstIndicator=function(a){for(var b=null,c=0;c<a.themes.length&&null==b;)b=q(a.themes[c]),c++;return b},a}(builder||{},window.jQuery,window.ia,window.EmbeddedIAO||window.iao),builder=function(a,b,c,d){function e(b){if(a.arcAppBaseUrl&&""!=a.arcAppBaseUrl){var c=a.arcAppBaseUrl.substring(a.arcAppBaseUrl.indexOf("://")+1);if("//"==c.substring(0,2)){c.indexOf("/",2)>0&&(c=c.substring(0,c.indexOf("/",2)+1));for(var d=["//online.instantatlas.com/dashboard-builder/","//online.instantatlas.com/iao-dashboard-builder/","//online.instantatlas.com/"],e=0;e<d.length;e++)b=b.replace(d[e],c)}}return b}function f(b,e){a.util.showProgress();var f,g=sessionStorage.getItem("iaoAppId"),h=sessionStorage.getItem("iaoToken"),i=sessionStorage.getItem("iaoExpiresIn"),j=(sessionStorage.getItem("iaoReferrer"),new Date,parseInt(i));a.ownerFolder&&""!=a.ownerFolder?(f="content/users/${user}/"+a.ownerFolder+"/items/"+g+"/update",c.log("url2 = "+f)):f="content/users/${user}/items/"+g+"/update";var k=a.itemPath.substring(0,a.itemPath.indexOf("/content/items")+1);d.datamanager.sendArcGisOnlineRequest({actionUri:f,data:"text="+encodeURIComponent(b),directConnect:!1,token:{server:k,token:h,expires:j,urlReferrer:window.location.href.substring(0,window.location.href.lastIndexOf("/"))},complete:e});try{c.getDataUrl(a.report.container,function(b){d.datamanager.sendThumbnailToArcGisOnline({appId:g,folder:a.ownerFolder,image:b,token:{server:k,token:h,expires:j,urlReferrer:window.location.href.substring(0,window.location.href.lastIndexOf("/"))},complete:function(a){c.log("Response from update thumbnail: "+JSON.stringify(a))}})})}catch(l){c.log("Error exporting image: "+l)}}function g(d,f){function h(){var a=n.substring(0,n.indexOf("/sharing")+"/sharing".length)+"/oauth2",d=[e(o.url)];d[0].indexOf("&authid=")>0&&(d[0]=d[0].substring(0,d[0].indexOf("&authid="))),0==d[0].indexOf("http:")&&d.push(d[0].replace("http:","https:")),b.ajax({url:c.getDomainSafeUrl(a+"/registerApp"),type:"POST",data:{itemId:o.id,appType:"browser",redirect_uris:JSON.stringify(d),token:l,f:"json"},dataType:"json"}).done(function(a){p(o.url,a.client_id)}).fail(function(a,b,d){c.log('Failed to register application "'+o.id+'": '+b+", "+d)})}a.util.showProgress();var i,j="undefined"!=typeof f?f+1:1,k=sessionStorage.getItem("iaoAppId"),l=sessionStorage.getItem("iaoToken"),m=sessionStorage.getItem("iaoExpiresIn"),n=(sessionStorage.getItem("iaoReferrer"),new Date,parseInt(m),a.itemPath.substring(0,a.itemPath.indexOf("/content/items")+1));i=a.ownerFolder&&""!=a.ownerFolder?"content/users/"+a.owner+"/"+a.ownerFolder+"/items/"+k:"content/users/"+a.owner+"/items/"+k;var o=JSON.parse(sessionStorage.getItem("iaoAppInfo"));o.item&&(o=o.item);var p=function(f,h){if(h&&""!=h&&"undefined"!=h||(h=""),f.indexOf("&authid=")>0){var k=f.substring(0,f.indexOf("&authid=")),m=f.substring(f.indexOf("&authid=")+1);f=e(k)+(""!=h?"&authid="+h:"")+(m.indexOf("&")>0?m.substring(m.indexOf("&")):"")}else f=e(f)+(""!=h?"&authid="+h:"");a.forceHttps&&(f=f.replace("http://","https://"));var p=function(a,b,e){c.log('Failed to update application registration information ("'+o.id+'"): '+b+", "+e),6>j?g(d,j):d({status:e,message:b,data:{detail:a}})};b.ajax({url:c.getDomainSafeUrl(n+i+"/update"),type:"POST",data:{url:f.substring(6),token:l,f:"json"},dataType:"json"}).done(function(){b.ajax({url:c.getDomainSafeUrl(n+i+"/update"),type:"POST",data:{url:f,token:l,f:"json"},dataType:"json"}).done(function(a){a.success||c.log("App "+o.id+" update failure: "+JSON.stringify(a)),b.getJSON(c.getDomainSafeUrl(n+i)+"?f=json&token="+l).done(function(a){a.item&&(a=a.item),a.url!=f&&6>j?g(d,j):(sessionStorage.setItem("iaoAppInfo",JSON.stringify(a)),a.url!=f&&c.log("Update applied but URL mis-match - tried "+j+" times to set to: "+f+" but still set to: "+a.url),d({status:"ok",data:a}))})}).fail(p)}).fail(p)};o.typeKeywords&&o.typeKeywords.indexOf("Registered App")>=0?b.getJSON(c.getDomainSafeUrl(n+i+"/registeredAppInfo?f=json&token="+l)).done(function(a){if(!a||a&&a.error||a&&!a.client_id)h();else if(a&&a.client_id&&e(o.url)!=o.url){var d=n.substring(0,n.indexOf("/sharing")+"/sharing/rest".length)+"/oauth2/apps/";b.ajax({url:c.getDomainSafeUrl(d+a.client_id+"/unregister"),data:"f=json&token="+l,method:"POST"}).done(function(b){b&&b.success?h():p(o.url,a.client_id)}).fail(function(b,c,d){p(o.url,a.client_id)})}else p(o.url,a.client_id)}).fail(function(a,b,d){c.log('Failed to get application registration information from "'+o.id+'": '+b+", "+d),h()}):h()}function h(c,e,g,h,i){a.util.showProgress(),b.ajax({url:d.datamanager.appPath+"services/data-service/data/upload-to-storage",type:"POST",data:JSON.stringify({storage:e,path:g,token:h,content:c}),contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(b){if("success"==b.status.toLowerCase()){var c=JSON.parse(sessionStorage.getItem("iaoAppData"));c.values||(c.values={}),c.values.iaoDataFile={url:b.url,size:b.size,lastModified:(new Date).getTime()};var d=JSON.stringify(c);f(d,function(c){sessionStorage.setItem("iaoAppData",d),a.util.hideProgress(),i&&i(b,c)})}else a.util.hideProgress(),i&&i(b)}).fail(function(b,c,d){console.log("Fail: "+b.status+", "+c+", "+d),i&&i({status:"fail",message:c,data:b}),a.util.hideProgress()})}var i=a.agol=a.agol||{};return i["return"]=function(d,e){var f=sessionStorage.getItem("iaoToken"),g=e?e:sessionStorage.getItem("iaoAppId"),h=sessionStorage.getItem("iaoReferrer"),i=sessionStorage.getItem("iaoAppInfo");if(d&&a.clearAppFromSession(),h&&h.toLowerCase().indexOf("arcgis.com")>0){var j=window.location.protocol+"//www.arcgis.com/sharing/rest/portals/self?culture=en&f=json&token="+f;b.getJSON(c.getDomainSafeUrl(j)).done(function(a){a&&a.urlKey&&a.customBaseUrl?window.location.href="http"+(a.allSSL?"s":"")+"://"+a.urlKey+"."+a.customBaseUrl+"/home/item.html?id="+g:window.location.href=window.location.protocol+"//www.arcgis.com/home/item.html?id="+g}).fail(function(a,b,c){window.location.href=window.location.protocol+"//www.arcgis.com/home/item.html?id="+g})}else{if(i)try{i=JSON.parse(i)}catch(k){i={}}window.location.href="../"+(i&&i.ownerFolder?"?folder="+i.ownerFolder:"")}},i.download=function(a,d,e,f){if(a.length>0){var g=a.pop();b.get(c.getDomainSafeUrl(g)).done(function(b){f||(f=""),f=b+f,i.download(a,d,e,f)}).fail(function(a,b,c){e(void 0)})}else{var h=d&&"JSON"==d.toUpperCase()?JSON.parse(f):f;e(h)}},i.popSaveAs=function(){var c=sessionStorage.getItem("iaoToken"),e=sessionStorage.getItem("iaoExpiresIn"),f=(sessionStorage.getItem("iaoReferrer"),JSON.parse(sessionStorage.getItem("iaoAppInfo"))),g=b('*[id$="cloneAppTitleBox"]'),h=b('*[id$="cloneAppTagsBox"]'),i=b('select[id$="cloneAppFolderBox"]');if(g.val(f.title+" - Copy"),h.val(f.tags.join(",")),i.children("option").length<1){var j=a.itemPath.substring(0,a.itemPath.indexOf("/content/items")+1),k=(new Date,parseInt(e));d.datamanager.sendArcGisOnlineRequest({actionUri:"content/users/"+a.owner,data:null,directConnect:!0,token:{server:j,token:c,expires:k,urlReferrer:window.location.href.substring(0,window.location.href.lastIndexOf("/"))},complete:function(c){if(c&&c.success&&c.data){var d=c.data.folders,e='<option value="">'+c.data.username+"</option>";for(var f in d)e+='<option value="'+d[f].id+'">'+d[f].title+"</option>";b('select[id$="cloneAppFolderBox"]').prepend(e),b("#cloneAppOkButton").off("click").on("click",function(){a.agol.saveAs(g.val(),b('select[id$="cloneAppFolderBox"]').val(),h.val(),null),b("#reportSaveAsPopup").modal("hide")}),b("#reportSaveAsPopup").modal({show:!0})}}})}else b("#reportSaveAsPopup").modal({show:!0})},i.saveAs=function(b,c,f,g){var h=(sessionStorage.getItem("iaoAppId"),sessionStorage.getItem("iaoToken")),i=sessionStorage.getItem("iaoExpiresIn"),j=(sessionStorage.getItem("iaoReferrer"),JSON.parse(sessionStorage.getItem("iaoAppInfo"))),k=JSON.parse(sessionStorage.getItem("iaoAppData"));a.util.showProgress();var l=(new Date,parseInt(i)),m=JSON.stringify({source:k.source,folderId:c,values:{webmap:k.values.webmap}}),n=a.arcAppBaseUrl?a.arcAppBaseUrl:"http://dashboards.instantatlas.com/",o="title="+encodeURIComponent(b)+"&text="+encodeURIComponent(m)+"&tags="+encodeURIComponent(f)+"&type="+encodeURIComponent("Web Mapping Application")+"&url="+encodeURIComponent(n)+"&typeKeywords="+encodeURIComponent("Web Map, Map, Online Map, Mapping Site, JavaScript, Ready To Use"),p="content/users/"+a.owner+(c&&""!=c?"/"+c:"")+"/addItem",q=a.itemPath.substring(0,a.itemPath.indexOf("/content/items")+1);d.datamanager.sendArcGisOnlineRequest({actionUri:p,data:o,directConnect:!0,token:{server:q,token:h,expires:l,urlReferrer:window.location.href.substring(0,window.location.href.lastIndexOf("/"))},complete:function(b){b&&b.success&&b.data&&b.data.success&&(sessionStorage.setItem("iaoAppId",b.data.id),j.id=b.data.id,j.url=e(j.url.split("?")[0])+"?appid="+b.data.id,sessionStorage.setItem("iaoAppInfo",JSON.stringify(j)),sessionStorage.setItem("iaoAppData",m),a.ownerFolder=b.data.folder,a.agol.save({update:"force",done:function(){window.location.href=window.location.pathname+"?appid="+b.data.id+"&clear=true"}}))}})},i.save=function(b){function e(b,c,e){a.util.showProgress();var f,g=sessionStorage.getItem("iaoAppId"),h=sessionStorage.getItem("iaoToken"),i=sessionStorage.getItem("iaoExpiresIn"),j=(sessionStorage.getItem("iaoReferrer"),new Date,parseInt(i));f=a.ownerFolder&&""!=a.ownerFolder?"content/users/${user}/"+a.ownerFolder+"/items/"+g+"/updateInfo":"content/users/${user}/items/"+g+"/updateInfo";var k=a.itemPath.substring(0,a.itemPath.indexOf("/content/items")+1);d.datamanager.sendFileToArcGisOnline({actionUri:f,name:c,data:"",text:b,token:{server:k,token:h,expires:j,urlReferrer:window.location.href.substring(0,window.location.href.lastIndexOf("/"))},complete:e})}function h(a,b){if(a.detail&&"undefined"!=typeof a.detail.splice)for(var c in a.detail)if(a.detail[c].Key&&a.detail[c].Key==b)return a.detail[c].Value;return a[b]?a[b]:null}function i(b,e){var f=window.location.href.replace("&clear=true","&clear=false&ts="+(new Date).getTime()),g=d.getText("ArcSaveErrorDialog.Title","Error Saving Dashboard"),i=d.getText("ArcSaveErrorDialog.MessageFormat","A problem occurred when IA Dashboard Builder tried to save your dashboard to '{0}'. The error message was '{1}'. You should <a href=\"{3}\">refresh the page</a> and try again."),j=[a.itemPath,b.data&&h(b.data,"message")?h(b.data,"message"):b.message,b.data&&h(b.data,"detail")?h(b.data,"detail"):b.status,f,b.statusCode];i=a.util.formatString(i,j),c.log(a.util.formatString("Upload error: {4}@{0} - '{1}/{2}'",j));var k=d.getText("ArcSaveErrorDialog.ButtonText","OK");return a.util.showPopupScriptDialog(g,i,{type:"error",modal:!0,buttons:"cancel",cancel:function(){e&&e()},buttonText:{cancel:k}}),a.util.hideProgress(),!1}var j=b&&"function"==typeof b?b:b?b.done||b.complete:null,k=b&&"undefined"!=typeof b.update&&"yes,force,1,true".indexOf(b.update.toString().toLowerCase())>=0,l={mapFiles:["map.json"],configFiles:["config.xml"],dataFiles:["data.json"],lessFiles:["json-less-vars.json"],cssFiles:["defaultcss.txt"],customCssFiles:["customcss.txt"],customJsFiles:["customjs.txt"]};a.util.setProgress(0),a.css.getCssAsString(function(b){var c=a.getSessionStorageItem("iaoDataModel",!0),d=sessionStorage.getItem("iaoConfig"),h=sessionStorage.getItem("iaoLessVars"),m=sessionStorage.getItem("iaoMap"),n=sessionStorage.getItem("iaoCustomCss"),o=sessionStorage.getItem("iaoCustomJs");a.util.setProgress(10),e(m,"map.json",function(p){function q(){e(c,"data.json",function(c){return c.status&&!c.isError&&"ok"==c.status.toString().toLowerCase()&&c.data&&c.data.success?(c.data&&c.data.iaoFileParts&&(l.dataFiles=c.data.iaoFileParts),a.util.setProgress(25),void e(d,"config.xml",function(c){return c.status&&!c.isError&&"ok"==c.status.toString().toLowerCase()&&c.data&&c.data.success?(c.data&&c.data.iaoFileParts&&(l.configFiles=c.data.iaoFileParts),a.util.setProgress(40),void e(h,"json-less-vars.json",function(c){return c.status&&!c.isError&&"ok"==c.status.toString().toLowerCase()&&c.data&&c.data.success?(c.data&&c.data.iaoFileParts&&(l.lessFiles=c.data.iaoFileParts),a.util.setProgress(55),void e(o,"customjs.txt",function(c){return c.status&&!c.isError&&"ok"==c.status.toString().toLowerCase()&&c.data&&c.data.success?(c.data&&c.data.iaoFileParts&&(l.customJsFiles=c.data.iaoFileParts),void e(n,"customcss.txt",function(c){return c.status&&!c.isError&&"ok"==c.status.toString().toLowerCase()&&c.data&&c.data.success?(c.data&&c.data.iaoFileParts&&(l.customCssFiles=c.data.iaoFileParts),void e(b,"defaultcss.txt",function(b){if(!b.status||b.isError||"ok"!=b.status.toString().toLowerCase()||!b.data||!b.data.success)return i(b,j);if(b.data&&b.data.iaoFileParts&&(l.cssFiles=b.data.iaoFileParts),a.changesSaved=!0,a.util.setProgress(70),sessionStorage.getItem("iaoAppData")&&(k||l.configFiles.length>1||l.mapFiles.length>1||l.dataFiles.length>1||l.lessFiles.length>1||l.cssFiles.length>1||l.customCssFiles.length>1||l.customJsFiles.length>1)){var c=JSON.parse(sessionStorage.getItem("iaoAppData"));if(c.values||(c.values={}),c.values.iaoFileParts=l,sessionStorage.getItem("iaoMap")&&a.layermanager){JSON.parse(sessionStorage.getItem("iaoMap"));c.values.iaoLayers={visible:[],hidden:[]};var d=a.layermanager.getDataLayers();for(var e in d)d[e].visible&&c.values.iaoLayers.visible.push(d[e].id);d=a.layermanager.getContextualLayers();for(var e in d)d[e].visible&&c.values.iaoLayers.visible.push(d[e].id);d=a.layermanager.getHiddenLayers();for(var e in d)c.values.iaoLayers.hidden.push(d[e].id)}var h=JSON.stringify(c);a.util.setProgress(85),f(h,function(b){a.util.setProgress(95),sessionStorage.setItem("iaoAppData",h),g(function(c){a.util.hideProgress(),b.status&&"ok"==b.status.toLowerCase()?j.call(l):i(b,j)})})}else a.util.hideProgress(),j.call(l)})):i(c,j)})):i(c,j)})):i(c,j)})):i(c,j)})):i(c,j)})}if(!p.status||p.isError||"ok"!=p.status.toString().toLowerCase()||!p.data||!p.data.success)return i(p,j);p.data&&p.data.iaoFileParts&&(l.mapFiles=p.data.iaoFileParts),a.util.setProgress(15);var r=0,s=0;try{var t=JSON.parse(c),u=JSON.parse(m);for(var v in u.layers)if("base-layer"==u.layers[v].type&&!u.layers[v].hidden){r++;for(var w in t.geographies)u.layers[v].id==t.geographies[w].id&&s++}}catch(x){console.log("Bad error cross-matching data- what's going on here? "+x)}r!=s?a.util.showPopupScriptDialog("Data Warning",a.util.formatString("<p>You appear to have a mis-match between your data model (which contains {0} geographies) and your map (which contains {1} data layers).</p><p>You can continue to save but your dashboard may show unexpected results. Press OK to continue or Cancel to go back and check your data model.</p>",s,r),{modal:!0,type:"warning",buttons:"okcancel",ok:q,cancel:function(){a.util.hideProgress()},focus:"cancel"}):q()})})},i.publishToStorage=function(b){function c(b){b<n.length?(a.util.setProgress(10+b*s,"@"+n[b].name),a.report.getComponent("dataGroup").setData(n[b].id,"","",function(){r={id:n[b].id,name:n[b].name,idField:n[b].data.idField,nameField:n[b].data.nameField,features:n[b].data.features,url:n[b].data.url.split(";")[0],type:n[b].data.type,themes:[],model:{}},m[r.id]&&(r.model=m[r.id]);for(var a=0;a<n[b].data.themes.length;a++)r.themes.push(n[b].data.themes[a]);k.geographies.push(r),c(b+1)})):(a.util.setProgress(10+b*s,"Uploading data file..."),q=JSON.stringify(k),h(q,e,g,i,function(a,b){j&&j(a,b)}))}if(!d||!d.datamanager||!d.datamanager.appPath)throw"Mis-configuration: cannot access Data Manager object";var e=b&&"undefined"!=typeof b.target?b.target:"live",f=b&&"undefined"!=typeof b.id?b.id:sessionStorage.getItem("iaoAppId"),g=f+"/"+(b&&"undefined"!=typeof b.file?b.file:"data.json"),i=b&&"undefined"!=typeof b.token?b.token:sessionStorage.getItem("iaoToken"),j=b&&"undefined"!=typeof b.done?b.done:null,k={geographies:[]},l=JSON.parse(a.getSessionStorageItem("iaoDataModel_Active_"+f,!0)),m={},n=a.report.data.getGeographies();for(var o in n)for(var p in l.geographies)l.geographies[p].id==n[o].id&&(m[n[o].id]=l.geographies[p].model);var q,r,s=90/(n.length+1);a.util.showProgress(),a.util.setProgress(10),c(0)},i.deleteFromStorage=function(c){if(!d||!d.datamanager||!d.datamanager.appPath)throw"Mis-configuration: cannot access Data Manager object";var e=c&&"undefined"!=typeof c.target?c.target:"live",g=c&&"undefined"!=typeof c.id?c.id:sessionStorage.getItem("iaoAppId"),h=g+"/"+(c&&"undefined"!=typeof c.file?c.file:"data.json"),i=c&&"undefined"!=typeof c.token?c.token:sessionStorage.getItem("iaoToken"),j=c&&"undefined"!=typeof c.done?c.done:null;b.ajax({url:d.datamanager.appPath+"services/data-service/data/delete-from-storage",type:"POST",data:JSON.stringify({storage:e,path:h,token:i}),contentType:"application/json; charset=utf-8",dataType:"json"}).done(function(b){if("success"==b.status.toLowerCase()){var c=JSON.parse(sessionStorage.getItem("iaoAppData"));c.values&&c.values.iaoDataFile&&delete c.values.iaoDataFile;var d=JSON.stringify(c);f(d,function(c){sessionStorage.setItem("iaoAppData",d),a.util.hideProgress(),j&&j(b,c)})}else a.util.hideProgress(),j&&j(b)}).fail(function(b,c,d){console.log("Fail: "+b.status+", "+c+", "+d),j&&j({status:"fail",message:c,data:b}),a.util.hideProgress()})},a}(builder||{},window.jQuery,window.ia,window.EmbeddedIAO||window.iao),builder=function(a,b,c){function d(b){sessionStorage.setItem("iaoConfig",a.util.xmlToString(a.xmlConfig)),k&&k.onWidgetAdded&&k.onWidgetAdded.call(null,b)}function e(b){var e=a.config.getWidgetXml(b);e.find("Property#zIndex").attr("value",l.getMaxZIndex()+1),e.attr("visible",!0);var f=a.report.getWidget(b);if(void 0!=f)f.container.show(),d(b);else{var g,h=e.prop("tagName");
g="Table"==h?a.report.config.addTable(e.get(0)):a.report.config.addComponent(e.get(0));var f=new c.Panel(b);if(a.report.addPanel(f,g),-1!=b.indexOf("featureCard")||-1!=b.indexOf("pyramidChart")||-1!=b.indexOf("spineChart")||-1!=b.indexOf("radarChart")||-1!=b.indexOf("areaBreakdownBarChart")||-1!=b.indexOf("areaBreakdownPieChart"))l.update(a.xmlConfig,function(){var c=a.report.getComponent("factory");c.build(b,function(){d(b)})});else{var i=a.report.getComponent("factory");i.build(b,function(){d(b)})}}}function f(d){var e=l.getMaxZIndex()+1,f='<Button id="'+d+'" zIndex="'+e+'" text="My Button" href="" tooltip="" x="276" y="270" width="204" height="54" editable="true" moveable="true" removeable="true" resizeable="true"/>',g=b(b.parseXML(f)).find("Button");a.$xmlConfig.find("AtlasInterface").append(g);var h=a.report.config.addButton(g.get(0)),i=new c.Button(d);a.report.addButton(i,h)}function g(d){var e=l.getMaxZIndex()+1,f="My Text",g='<Text id="'+d+'" zIndex="'+e+'" anchor="start" editable="true" fill="#000000" font-family="Arial" font-size="24" font-style="normal" font-weight="bold" href="" moveable="true" removeable="true" resizeable="true" rotate="0" target="_blank" wrap-width="96" x="330" y="283">'+f+"</Text>",h=b(b.parseXML(g)).find("Text");a.$xmlConfig.find("AtlasInterface").append(h);var i=a.report.config.addText(h.get(0)),j=new c.Text(d);a.report.addText(j,i)}function h(d){var e=l.getMaxZIndex()+1,f='<Image id="'+d+'" zIndex="'+e+'" rescale="true" anchor="left" src="./image_placeholder.png" href="" target="_blank" x="294" y="216" width="156" height="157" moveable="true" editable="true" removeable="true" resizeable="true"/>',g=b(b.parseXML(f)).find("Image");a.$xmlConfig.find("AtlasInterface").append(g);var h=a.report.config.addImage(g.get(0)),i=new c.Image(d,"./image_placeholder.png");a.report.addImage(i,h)}function i(b,c){sessionStorage.setItem("iaoConfig",a.util.xmlToString(a.xmlConfig));var d=l.getWidgetXml(b),e=a.widgets.getConfig(b);e.parseXML(d.get(0));var f=a.report.getWidget(b);f.update(e),a.widgets.show(b),a.report.updateDynamicText(a.report.textSubstitution);var g=a.report.getComponent("factory");g.update(b,function(){g.render(b,function(){k&&k.onWidgetChanged&&k.onWidgetChanged.call(null,b,c)})})}function j(c,d){var e=a.config.getWidgetXml(c),f=b(b.parseXML(d)).find("Property");e.append(f)}var k,l=a.config=a.config||{};return l.init=function(a){k=a},l.load=function(d){b.get(c.getDomainSafeUrl(d)).done(function(a){l.update(a),b("#ia-modal-gallery").modal("hide")}).fail(function(b,c,d){a.util.showAlert("Upload Failed: "+d)})},l.read=function(c,d){function e(a){d.call(null,a)}if(sessionStorage.getItem("iaoConfig")&&sessionStorage.getItem("iaoConfig").length>0&&"undefined"!=sessionStorage.getItem("iaoConfig")){var f=b.parseXML(sessionStorage.getItem("iaoConfig"));e(f)}else"undefined"!=typeof c.pop?a.agol.download(c,"XML",function(a){var c=b.parseXML(a);e(c)}):b.get(c).done(function(a){e(a)}).fail(function(c,d,f){var g="./config/"+a.locale+"/db-single-map-default/config.xml";b.get(g).done(function(a){e(a)}).fail(function(a,b,c){})})},l.update=function(d,e){a.util.showProgress(),c.parseConfig(d,function(){a.xmlConfig=a.report.config.xml,a.$xmlConfig=b(a.xmlConfig),l.addWebmapPalette(),sessionStorage.setItem("iaoConfig",a.util.xmlToString(a.xmlConfig)),k&&k.onConfigChanged&&k.onConfigChanged.call(null),a.util.hideProgress(),e&&e.call(null)})},l.addWebmapPalette=function(){if(void 0!=a.data.webmapPalettes){if(a.report.config.template==c.DOUBLE_BASELAYER_REPORT||a.report.config.template==c.DOUBLE_BASELAYER_REPORT_NEW||a.report.config.template==c.DOUBLE_GEOG_REPORT){var b=a.report.getComponent("dataGroup2");if(b){var d=a.config.getColourRange("webmap2");d.length||a.data.webmapPalettes.length>1&&a.config.setGroupProperty("thematics2","mapPalette2","webmap2"),a.data.webmapPalettes.length>1&&a.config.addColourRange("webmap2",a.data.webmapPalettes[1])}}var d=a.config.getColourRange("webmap");d.length||a.data.webmapPalettes.length>0&&a.config.setDefaultColourRange("webmap"),a.data.webmapPalettes.length>0&&a.config.addColourRange("webmap",a.data.webmapPalettes[0]);var e=a.report.config.getMapPalette(),f=a.$xmlConfig.find("MapPalettes");e.parseXML(f.get(0));var g=a.report.getComponent("dataGroup");if(void 0==g.indicator.getProperty("customColours")&&(g.legendSettings.paletteId=e.defaultPaletteId,g.thematic.numericClassifier.colorPalette=e.getColorPalette(g.legendSettings.paletteId),g.thematic.commitChanges(),a.report.config.template==c.DOUBLE_BASELAYER_REPORT||a.report.config.template==c.DOUBLE_BASELAYER_REPORT_NEW||a.report.config.template==c.DOUBLE_GEOG_REPORT)){var b=a.report.getComponent("dataGroup2");b&&(b.legendSettings.paletteId=a.config.getGroupProperty("thematics2","mapPalette2"),void 0==b.legendSettings.paletteId&&(b.legendSettings.paletteId=g.legendSettings.paletteId),b.thematic.numericClassifier.colorPalette=e.getColorPalette(b.legendSettings.paletteId),b.thematic.commitChanges())}}},l.getDisplayName=function(b){var c=a.config.getWidgetXml(b),d=c.attr("name"),e=d.match(/\d+/);if(e){var f=parseInt(e[0],10);d=d.substring(0,d.indexOf(" "+f))}return d},l.getIdWithoutSuffix=function(a){return a.replace(/[0-9]/g,"")},l.getDataSource=function(a){var b=a.match(/\d+/),c=1;return b&&(c=parseInt(b[0],10)),c},l.removeWidget=function(b){var c=a.config.getWidgetXml(b),d=a.report.getWidget(b),e=c.prop("tagName");"Button"==e||"Image"==e||"Text"==e?(c.remove(),a.report.config.removeWidget(d.id),a.report.removeWidget(d.id)):("Component"==e||"Table"==e)&&(c.attr("visible",!1),d.container.hide()),sessionStorage.setItem("iaoConfig",a.util.xmlToString(a.xmlConfig)),k&&k.onWidgetRemoved&&k.onWidgetRemoved.call(null,b)},l.addWidget=function(b){"Button"==b?(b=a.util.guid(),f(b),d(b)):"Image"==b?(b=a.util.guid(),h(b),d(b)):"Text"==b?(b=a.util.guid(),g(b),d(b)):e(b)},l.getComponents=function(){var b=a.$xmlConfig.find("Component, Table");return b},l.getButtons=function(){var b=a.$xmlConfig.find("Button");return b},l.getText=function(){var b=a.$xmlConfig.find("Text");return b},l.getImages=function(){var b=a.$xmlConfig.find("Image");return b},l.setWidgetDimensions=function(b,c,d,e,f){var g=a.config.getWidgetXml(b);g.length&&(void 0!=c&&g.attr("x",Math.round(c/100*800)),void 0!=d&&g.attr("y",Math.round(d/100*600)),void 0!=e&&void 0!=g.attr("width")&&g.attr("width",Math.round(e/100*800)),void 0!=e&&void 0!=g.attr("wrap-width")&&g.attr("wrap-width",Math.round(e/100*800)),void 0!=f&&void 0!=g.attr("height")&&g.attr("height",Math.round(f/100*600)),i(b))},l.setGroupProperty=function(b,c,d){var e=a.config.getWidgetXml(b);if(e.length){var f=e.find("Property#"+c);f.length&&(f.attr("value",d),k&&k.onGroupPropertyChanged&&k.onGroupPropertyChanged.call(null,b,c))}},l.getGroupProperty=function(a,b){return l.getWidgetProperty(a,b)},l.setWidgetProperty=function(b,c,d){var e=a.config.getWidgetXml(b);if(e.length){var f=e.find("Property#"+c);if(f.length){if(d&&""!=d&&"string"==typeof d&&d.indexOf("${")>=0){for(var g=d.split("${"),h="",j=0;j<g.length;j++)h+="${"+(g[j].indexOf("}")<0?"}":"")+g[j];d=h.replace("${}","")}f.attr("value",d),k&&k.onWidgetPropertyChanged&&k.onWidgetPropertyChanged.call(null,b,c),i(b)}}},l.getWidgetProperty=function(b,c){var d=a.config.getWidgetXml(b);if(d.length){var e=d.find("Property#"+c);return e.attr("value")}return void 0},l.setWidgetAttribute=function(b,c,d){var e=a.config.getWidgetXml(b);if(e.length){if("nodevalue"==c){if(d&&""!=d&&"string"==typeof d&&d.indexOf("${")>=0){for(var f=d.split("${"),g="",h=0;h<f.length;h++)g+="${"+(f[h].indexOf("}")<0?"}":"")+f[h];d=g.replace("${}","")}e.text(d)}else e.attr(c,d);i(b)}},l.getWidgetAttribute=function(b,c){var d=a.config.getWidgetXml(b);return d.length?d.attr(c):void 0},l.getWidgetXml=function(b){var c=a.$xmlConfig.find("#"+b);return c},l.getMinZIndex=function(){var d=1/0,e=l.getComponents();b.each(e,function(a,e){var f=b(e),g=f.attr("visible"),h=c.parseInt(f.find("Property#zIndex").attr("value"));"true"===g&&(d=Math.min(d,h))});var e=a.$xmlConfig.find("Button, Image, Text");return b.each(e,function(a,e){var f=b(e),g=f.attr("zIndex");g&&(d=Math.min(d,c.parseInt(g)))}),d},l.getMaxZIndex=function(){var d=-(1/0),e=l.getComponents();b.each(e,function(a,e){var f=b(e),g=f.attr("visible"),h=c.parseInt(f.find("Property#zIndex").attr("value"));"true"===g&&(d=Math.max(d,h))});var e=a.$xmlConfig.find("Button, Image, Text");return b.each(e,function(a,e){var f=b(e),g=f.attr("zIndex");g&&(d=Math.max(d,c.parseInt(g)))}),d},l.addMenuItem=function(b){var c=(a.config.getWidgetXml(b),a.util.s4());j(b,'<Property id="menuItem'+c+'" description="The label for the menu item" name="Menu Item" type="string" value="New Item" />'),j(b,'<Property id="menuFunc'+c+'" description="The function or url for the menu item" name="Menu Function" type="string" value="" />'),i(b,"property-added")},l.removeMenuItem=function(b,c){var d=a.config.getWidgetXml(b);d.find("Property#menuItem"+c).remove(),d.find("Property#menuFunc"+c).remove(),i(b,"property-removed")},l.addColumn=function(c){var d=a.config.getWidgetXml(c),e='<Column alias="My Column" name="value" width="0.25" />',f=b(b.parseXML(e)).find("Column");d.append(f),i(c,"column-changed")},l.removeColumn=function(b,c){var d=a.config.getWidgetXml(b).find("Column").eq(c);d.remove(),i(b,"column-changed")},l.orderColumns=function(b,c){for(var d=a.config.getWidgetXml(b),e=0;e<c.length;e++){var f=c[e],d=l.getWidgetXml(b);f.appendTo(d)}i(b,"column-changed")},l.getColumns=function(b){var c=a.config.getWidgetXml(b).find("Column");return c},l.addSymbol=function(b){var c=(a.config.getWidgetXml(b),a.util.s4());j(b,'<Property id="symbol_shape_'+c+'" choices="circle;square;vertical line;plus;minus;x;diamond;star;triangle up;triangle down;triangle right;triangle left;arrow up;arrow down;arrow right;arrow left" description="Shape that will be used for symbol"  name="Symbol Shape" type="string" value="circle" />'),j(b,'<Property id="symbol_color_'+c+'" description="Colour that will be used for symbol" name="Symbol Colour" type="colour" value="#999999" />'),j(b,'<Property id="symbol_size_'+c+'" description="Size that will be used for symbol" name="Symbol Size" type="integer" value="14" />'),j(b,'<Property id="symbol_label_'+c+'" description="Label that will be associated with symbol" name="Symbol Label" type="string" value="Symbol Label" />'),j(b,'<Property id="symbol_value_'+c+'" description="Value that will be associated with symbol" name="Symbol Value" type="string" value="--" />'),i(b,"property-added")},l.removeSymbol=function(b,c){var d=a.config.getWidgetXml(b);d.find("Property#symbol_shape_"+c).remove(),d.find("Property#symbol_color_"+c).remove(),d.find("Property#symbol_size_"+c).remove(),d.find("Property#symbol_label_"+c).remove(),d.find("Property#symbol_value_"+c).remove(),i(b,"property-removed")},l.addTarget=function(b){var c=(a.config.getWidgetXml(b),a.util.s4());j(b,'<Property id="target_shape_'+c+'" choices="circle;square;vertical line;plus;minus;x;diamond;star;triangle up;triangle down;triangle right;triangle left;arrow up;arrow down;arrow right;arrow left" description="Shape that will be used for target" name="Target Shape" type="string" value="vertical line" />'),j(b,'<Property id="target_color_'+c+'" description="Colour that will be used for target" name="Target Colour" type="colour" value="#999999" />'),j(b,'<Property id="target_size_'+c+'" description="Size that will be used for target" name="Target Size" type="integer" value="14" />'),j(b,'<Property id="target_label_'+c+'" description="Label that will be associated with target" name="Target Label" type="string" value="Target Label" />'),j(b,'<Property id="target_data_'+c+'" description="The data for target" name="Target 1 Data" type="string" value="value" />'),i(b,"property-added")},l.removeTarget=function(b,c){var d=a.config.getWidgetXml(b);d.find("Property#target_shape_"+c).remove(),d.find("Property#target_color_"+c).remove(),d.find("Property#target_size_"+c).remove(),d.find("Property#target_label_"+c).remove(),d.find("Property#target_data_"+c).remove(),i(b,"property-removed")},l.addBreak=function(b){var c=(a.config.getWidgetXml(b),a.util.s4());j(b,'<Property id="break_color_'+c+'" description="Colour that will be used for break" name="Break Colour" type="colour" value="#e7e7e7" />'),j(b,'<Property id="break_label_'+c+'" description="Label that will be associated with break" name="Break Label" type="string" value="Break Label" />'),i(b,"property-added")},l.removeBreak=function(b,c){var d=a.config.getWidgetXml(b);d.find("Property#break_color_"+c).remove(),d.find("Property#break_label_"+c).remove(),i(b,"property-removed")},l.addPyramidLine=function(b){var c=(a.config.getWidgetXml(b),a.util.s4());j(b,'<Property id="line_color_'+c+'" description="Colour that will be used for the line" name="Line Colour" type="colour" value="#999999" />'),j(b,'<Property id="line_label_'+c+'" description="Label that will be associated with the line" name="Line Label" type="string" value="Line Label" />'),j(b,'<Property id="line_value_'+c+'" description="Value that will be associated with the line" name="Line Value" type="string" value="value" />'),i(b,"property-added")},l.removePyramidLine=function(b,c){var d=a.config.getWidgetXml(b);d.find("Property#line_color_"+c).remove(),d.find("Property#line_label_"+c).remove(),d.find("Property#line_value_"+c).remove(),i(b,"property-removed")},l.setColumnProperty=function(c,d,e,f,g){if("name"==f){var h=g,j=c.replace("~name","~symbol"),k=b('*[id="'+j+'"]').val();if(void 0!=k){var l=c.replace("~name","~national"),m=b('*[id="'+l+'"]').val();g=void 0!=m?"health(symbolValue:"+k+",areaValue:"+h+",nationalValue:"+m+")":""!=h&&""!=k?"symbol(symbolValue:"+k+",textValue:"+h+",symbolAlign:right)":""!=k?"symbol(symbolValue:"+k+",symbolAlign:center)":h}}else if("symbol"==f){f="name";var k=g,n=c.replace("~symbol","~name"),h=b('*[id="'+n+'"]').val(),l=c.replace("~symbol","~national"),m=b('*[id="'+l+'"]').val();g=void 0!=m?"health(symbolValue:"+k+",areaValue:"+h+",nationalValue:"+m+")":""!=h&&""!=k?"symbol(symbolValue:"+k+",textValue:"+h+",symbolAlign:right)":""!=k?"symbol(symbolValue:"+k+",symbolAlign:center)":h}else if("national"==f){f="name";var m=g,n=c.replace("~national","~name"),h=b('*[id="'+n+'"]').val(),j=c.replace("~national","~symbol"),k=b('*[id="'+j+'"]').val();g="health(symbolValue:"+k+",areaValue:"+h+",nationalValue:"+m+")"}var o=a.config.getWidgetXml(d).find("Column").eq(e);o.attr(f,g),i(d)},l.getPaletteType=function(b){var c=a.$xmlConfig.find("MapPalettes"),d=c.find('ColourRange[id="'+b+'"]');return d.length?"ColourRange":"ColourScheme"},l.getColourSchemeIds=function(){var c=a.$xmlConfig.find("MapPalettes");return c.find("ColourScheme").map(function(){return b(this).attr("id")})},l.getColourRangeIds=function(){var c=a.$xmlConfig.find("MapPalettes");return c.find("ColourRange").map(function(){return b(this).attr("id")})},l.getColourRange=function(b){var c=a.$xmlConfig.find("MapPalettes"),d=c.find('ColourRange[id="'+b+'"]');return d.length||(d=c.find('ColourScheme[id="'+b+'"]')),d},l.getPaletteColour=function(a,b){var c=l.getColourRange(a),d=c.children()[b];return d},l.setPaletteColour=function(d,e,f){var g=a.config.getPaletteColour(d,e);b(g).text(c.Color.toHex(f))},l.setPaletteForValue=function(c,d,e){var f=a.config.getPaletteColour(c,d);b(f).attr("for",e)},l.addPaletteColour=function(a,d){var e,f=l.getPaletteType(a),g=l.getColourRange(a);if("ColourRange"==f){var h="<Colour>"+c.Color.toHex(d)+"</Colour>";e=b(b.parseXML(h)).find("Colour")}else{var h='<ColourMatch for="__next">'+c.Color.toHex(d)+"</ColourMatch>";e=b(b.parseXML(h)).find("ColourMatch")}g.append(e)},l.removePaletteColour=function(a,c){var d=l.getPaletteColour(a,c);b(d).remove()},l.addColourRange=function(d,e){var f=a.$xmlConfig.find("MapPalettes"),g=l.getColourRange(d);if(g.length)g.empty();else{var h='<ColourRange id="'+d+'"></ColourRange>',i=b(b.parseXML(h)).find("ColourRange");f.prepend(i)}for(var j=0;j<e.length;j++)l.addPaletteColour(d,c.Color.toHex(e[j]))},l.updateColourRange=function(d,e){var f=a.config.getColourRange(d),g=f.find("Colour");b.each(g,function(a,d){a<e.length&&b(d).text(c.Color.toHex(e[a]))})},l.addColourScheme=function(d,e){var f=a.$xmlConfig.find("MapPalettes"),g=l.getColourRange(d);if(g.length)g.empty();else{var h='<ColourScheme id="'+d+'"></ColourScheme >',i=b(b.parseXML(h)).find("ColourScheme");f.prepend(i)}for(var j=0;j<e.length;j++)l.addPaletteColour(d,c.Color.toHex(e[j]))},l.setDefaultColourRange=function(b){var c=a.$xmlConfig.find("MapPalettes");c.attr("default",b)},l.setDefaultColourScheme=function(b){var c=a.$xmlConfig.find("MapPalettes"),d=a.config.getColourRange(b);c.prepend(d)},a}(builder||{},window.jQuery,window.ia),builder=function(a,b,c,d){function e(a,b,c){if(window.navigator.msSaveOrOpenBlob){var d=new Blob([b],{type:c});window.navigator.msSaveBlob(d,a)}else{var e=encodeURI("data:"+c+";charset=utf-8,"+b),f=document.createElement("a");f.setAttribute("href",e),f.setAttribute("download",a),document.body.appendChild(f),f.click(),document.body.removeChild(f)}}function f(){function d(c){var d=b.parseXML(c);a.config.update(d)}function f(c){a.css.lessVars=b.parseJSON(c),a.css.update()}function g(b){sessionStorage.setItem("iaoCustomCss",b),a.file.loadCustomCss(void 0,function(){})}function h(b){sessionStorage.setItem("iaoCustomJs",b),a.file.loadCustomJs(void 0,function(){var b=a.azureApp?a.azure.save:a.agol.save;b(function(){location.reload()})})}function i(a,b){if(void 0!=a){var c=new FileReader;c.onload=function(a){return function(a){b.call(null,a.target.result)}}(a),c.readAsText(a)}}window.File&&window.FileReader&&window.FileList&&window.Blob?(b(document).on("click","#ia-download-btn",function(a){a.preventDefault(),b("#ia-modal-download").modal({show:!0})}),b("#ia-css-download").on(" click",function(b){b.stopPropagation(),b.preventDefault(),a.css.getCssAsString(function(a){e("default.css",a,"text/css")})}),b("#ia-less-download").on("click",function(a){a.stopPropagation(),a.preventDefault(),e("colourscheme.json",sessionStorage.getItem("iaoLessVars"),"application/json")}),b("#ia-config-download").on("click",function(a){a.stopPropagation(),a.preventDefault(),e("config.xml",sessionStorage.getItem("iaoConfig"),"text/xml")}),b("#ia-customcss-download").on("click",function(a){a.stopPropagation(),a.preventDefault(),e("customcss.txt",sessionStorage.getItem("iaoCustomCss"),"text/plain")}),b("#ia-customjs-download").on("click",function(a){a.stopPropagation(),a.preventDefault(),e("customjs.txt",sessionStorage.getItem("iaoCustomJs"),"text/plain")}),b("#ia-config-upload").on("click",function(a){a.preventDefault(),b("#ia-config-upload-input").click()}),b("#ia-config-upload-input").on("change",function(a){b("#ia-modal-download").modal("hide");var c=a.target.files[0];b(this).prop("value",""),i(c,function(a){d(a)})}),b("#ia-less-upload").on("click",function(a){a.preventDefault(),b("#ia-less-upload-input").click()}),b("#ia-less-upload-input").on("change",function(a){b("#ia-modal-color-schemes").modal("hide");var c=a.target.files[0];b(this).prop("value",""),i(c,function(a){f(a)})}),b("#ia-customcss-upload").on("click",function(a){a.preventDefault(),console.log("#ia-customcss-upload"),b("#ia-customcss-upload-input").click()}),b("#ia-customcss-upload-input").on("change",function(a){b("#ia-modal-download").modal("hide");var c=a.target.files[0];b(this).prop("value",""),i(c,function(a){g(a)})}),b("#ia-customjs-upload").on("click",function(a){a.preventDefault(),b("#ia-customjs-upload-input").click()}),b("#ia-customjs-upload-input").on("change",function(a){b("#ia-modal-download").modal("hide");var c=a.target.files[0];b(this).prop("value",""),i(c,function(a){h(a)})}),b("#ia-report-container").on("drop",function(a){a.stopPropagation(),a.preventDefault();var b=a.originalEvent.dataTransfer.files[0],e=escape(b.name),j=b.type,k=b.size+" bytes",l=b.lastModifiedDate.toLocaleDateString();c.log(e+" "+j+" "+k+" "+l),i(b,function(a){b.type.match("text/xml")?d(a):-1!=e.indexOf(".json")?f(a):-1!=e.indexOf(".txt")&&(-1!=e.indexOf("customcss")?g(a):-1!=e.indexOf("customjs")&&h(a))})}),b("#ia-report-container").on("dragover",function(a){a.stopPropagation(),a.preventDefault(),a.originalEvent.dataTransfer.dropEffect="copy"})):b("#ia-download-btn").remove()}var g;a.file=a.file||{};a.file.loadCustomCss=function(a,b){void 0!=g&&g.parentNode.contains(g)&&g.parentNode.removeChild(g);var d=sessionStorage.getItem("iaoCustomCss");if(void 0!=d)c.appendCss(d,function(a,c){void 0!=c&&(g=c),b.call(null)});else if(void 0!=a)try{c.loadCssfile(a,function(a,c){void 0==a&&(a=""),sessionStorage.setItem("iaoCustomCss",a),void 0!=c&&(g=c),b.call(null)})}catch(e){b.call(null)}else b.call(null)};var h;return a.file.loadCustomJs=function(a,b){void 0!=h&&h.parentNode.contains(h)&&h.parentNode.removeChild(h);var d=sessionStorage.getItem("iaoCustomJs");void 0!=d?c.appendJs(d,function(a,c){void 0!=c&&(h=c),b.call(null)}):void 0!=a?c.loadJsfile(a,function(a,c){void 0==a&&(a=["// http://tools.instantatlas.com/customers/support/library/desktop/tech-articles/html/custom-javascript","\r\niaOnReportComplete = function(report)","\r\n{","\r\n	try","\r\n	{","\r\n		// -------- start code here  -------- //","\r\n		","\r\n		","\r\n		","\r\n		","\r\n		// -------- end code here  -------- //","\r\n	}","\r\n	catch(error)","\r\n	{","\r\n		console.error(error);","\r\n	}","\r\n};"].join("")),sessionStorage.setItem("iaoCustomJs",a),void 0!=c&&(h=c),b.call(null)}):b.call(null)},f(),a}(builder||{},window.jQuery,window.ia,window.EmbeddedIAO||window.iao);
(function(){ jQuery(document).off('.data-api');jQuery(document).ready(function () { jQuery('#iao-dashboard1 .ia-report-loading, #ia-report-progress').remove();jQuery('#iao-dashboard1').append('<div id="ia-report-progress" class="ia-report-loading"></div>');builder.launch({ urlParams: { params: {  appid: '5f33381333c7416fb17760f17b303d31' } }, container: 'iao-dashboard1',  home: 'https://dashboards.instantatlas.com/viewer/',  proxy: false, clear: true, inject: true, title: false, complete: function (iaReport) { iaReport.container.addClass('iao-report-remote');iaReport.container.parent().addClass('iao-content');jQuery('head').append('<link href="https://dashboards.instantatlas.com/viewer/styles/builder-font.min.css" rel="stylesheet" />');jQuery('head').append('<link href="//fonts.googleapis.com/css?family=Roboto" rel="stylesheet" />');iaReport.uid = '5f33381333c7416fb17760f17b303d31';var $imgs = iaReport.container.find('img').filter('[src^="./"]');var iaoHomePath = 'https://dashboards.instantatlas.com/viewer/';$imgs.each(function(){ jQuery(this).attr('src', iaoHomePath + jQuery(this).attr('src')); });$imgs = iaReport.container.find('img').not('[src^="http"]').not('[src^="data:"]');$imgs.each(function(){ jQuery(this).attr('src', iaoHomePath + jQuery(this).attr('src')); });jQuery('body').trigger('ia.report.complete', [ iaReport ]);} }); }); })();