!function(o){function e(e){for(var t,a,n=e[0],r=e[1],i=e[2],l=0,c=[];lnew Date(t)&&(l[a].clear(),l[a].insert(e),k.set("".concat(l.format,"_").concat(a),e[0].updated,{path:"/"})):k.set("".concat(l.format,"_").concat(a),e[0].updated,{path:"/"})}),e.abrupt("return",t());e.next=5;break;case 5:if("building"==this.building[a].get())return r=Object(N.l)(this.building[a],function(e){r(),t()}),e.abrupt("return",r);e.next=8;break;case 8:if("setup"!=this.building[a].get()){e.next=16;break}if(this.building[a].set("building"),0==this[a].data.length)return e.abrupt("return",this.getSpreadsheetData(this.api.urls[n][this.format],n,function(e){return l[a].insert(e),l.building[a].set("built"),t()}));e.next=14;break;case 14:return this.building[a].set("built"),e.abrupt("return",t());case 16:e.next=21;break;case 18:return this.building[a]=N.k.box("wait"),i=Object(N.l)(this.building[a],function(){return i(),l.setupType(a,t)}),e.abrupt("return",i);case 21:case"end":return e.stop()}},e,this)})),function(e,t){return a.apply(this,arguments)})},{key:"setupDB",value:function(e){var n=new B.a("chaotic_".concat(e,".db"),{autosave:!0,autoload:!0,autoloadCallback:function(){var a=this;["attacks","battlegear","creatures","locations","mugic"].forEach(function(e){var t=n.getCollection(e);null===t||0===t.data.length?(a[e]=n.addCollection(e),a.building[e]?a.building[e].set("setup"):a.building[e]=N.k.box("setup")):(a[e]=t,a.building[e]?a.building[e].set("built"):a.building[e]=N.k.box("built"))})}.bind(this),autosaveInterval:4e3,persistenceMethod:"localStorage"});this.db=n}}]),n}(),l=A()(a.prototype,"building",[N.k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),A()(a.prototype,"setupType",[N.d],Object.getOwnPropertyDescriptor(a.prototype,"setupType"),a.prototype),A()(a.prototype,"setupDB",[N.d],Object.getOwnPropertyDescriptor(a.prototype,"setupDB"),a.prototype),a),C=(u=r=function(){function a(){b()(this,a),h()(this,"portal",c,this),h()(this,"cards",o,this),h()(this,"urls",s,this),this.instance=null,this.setupDB()}var t,n,r;return y()(a,[{key:"path",value:function(e){return a.path(e)}},{key:"base_image",get:function(){return"https://drive.google.com/uc?id="}},{key:"thumb_missing",get:function(){return"1JYjPzkv74IhzlHTyVh2niTDyui73HSfp"}},{key:"card_back",get:function(){return"1_MgWDPsPGf-gPBArn2v6ideJcqOPsSYC"}}],[{key:"getInstance",value:function(){return this.instance||(this.instance=new a),this.instance}},{key:"path",value:function(e){return a.base_url+e+a.data_format}}]),y()(a,[{key:"getSpreadsheet",value:(r=g()(p.a.mark(function e(t,a){return p.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:fetch(t).then(function(e){return e.json()}).then(function(e){return a(e.feed.entry)}).catch(function(e){return console.error("parsing failed",e),a(null)});case 1:case"end":return e.stop()}},e)})),function(e,t){return r.apply(this,arguments)})},{key:"setupDB",value:function(){try{var t={};i(360).forEach(function(e){t[e.gsx$type.$t]||(t[e.gsx$type.$t]={}),t[e.gsx$type.$t][e.gsx$subtype.$t]=a.path(e.gsx$url.$t)}),this.urls=t,this.portal=new M(this,"portal"),this.cards=new M(this,"cards")}catch(e){console.error("setting up database failed",e)}}},{key:"LoadDB",value:(n=g()(p.a.mark(function e(a){var n=this;return p.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e,t){null!==n.urls&&null!==n.portal&&null!==n.cards?n.buildCollection(a).then(function(){e()}):e()}));case 1:case"end":return e.stop()}},e)})),function(e){return n.apply(this,arguments)})},{key:"buildCollection",value:(t=g()(p.a.mark(function e(t){var n=this;return p.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map(function(a){return new Promise(function(e,t){return"cards"in a?n.cards.setupType(a.cards,e):"portal"in a?n.portal.setupType(a.portal,e):(console.error("cards or portal"),t())})}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)})),function(e){return t.apply(this,arguments)})},{key:"purgeDB",value:function(){this.cards.purgeDB(),this.portal.purgeDB(),window.location.reload()}},{key:"tribes",get:function(){return["Danian","Generic","Mipedian","M'arrillian","OverWorld","UnderWorld"]}},{key:"sets",get:function(){return{DOP:"Dawn of Perim",ZOTH:"Zenith of the Hive",SS:"Silent Sands",MI:"Beyond the Doors",ROTO:"Rise of the Oligarch",TOTT:"Turn of the Tide",FUN:"Forged Unity",AU:"Alliance Unraveled",FAS:"Fire and Stone",SAS:"Storm and Sea",EE:"Elemental Emperors",BR:"Beyond Rare",LR:"League Rewards",OP1:"Organized Play 1",PROMO:"Promotional",PROTO:"Prototype"}}}]),a}(),r.base_url="https://spreadsheets.google.com/feeds/list/",r.data_format="/od6/public/values?alt=json",n=u,c=A()(n.prototype,"portal",[N.k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),o=A()(n.prototype,"cards",[N.k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),s=A()(n.prototype,"urls",[N.k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),n);t.a=C.getInstance()}});