define("docker-manager/app",["ember","ember/resolver","ember/load-initializers","docker-manager/config/environment","exports"],function(e,t,s,n,r){"use strict";var a=e["default"],o=t["default"],i=s["default"],u=n["default"];a.MODEL_FACTORY_INJECTIONS=!0;var p=a.Application.extend({modulePrefix:u.modulePrefix,podModulePrefix:u.podModulePrefix,Resolver:o});i(p,u.modulePrefix),r["default"]=p}),define("docker-manager/components/progress-bar",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({classNameBindings:[":progress",":progress-striped","active"],active:function(){return 100!==parseInt(this.get("percent"),10)}.property("percent"),barStyle:function(){var e=parseInt(this.get("percent"),10);return e>0?(e>100&&(e=100),"width: "+this.get("percent")+"%"):void 0}.property("percent")})}),define("docker-manager/components/x-console",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({classNameBindings:[":logs"],render:function(e){s.isEmpty(this.get("output"))||e.push(this.get("output"))},_outputChanged:function(){s.run.scheduleOnce("afterRender",this,"_scrollBottom"),this.rerender()}.observes("output"),_scrollBottom:function(){this.get("followOutput")&&this.$().scrollTop(this.$()[0].scrollHeight)},_scrollOnInsert:function(){this._scrollBottom()}.on("didInsertElement")})}),define("docker-manager/components/x-tab",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Component.extend({tagName:"li",classNameBindings:["active"],active:function(){return this.get("childViews").anyBy("active")}.property("childViews.@each.active")})}),define("docker-manager/controllers/application",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Controller.extend({showBanner:function(){if(this.get("bannerDismissed"))return!1;var e=this.get("banner");return e&&e.length>0}.property("banner","bannerDismissed","banner.@each"),appendBannerHtml:function(e){var t=this.get("banner")||[];-1===t.indexOf(e)&&t.pushObject(e),this.set("banner",t)},actions:{dismiss:function(){this.set("bannerDismissed",!0)}}})}),define("docker-manager/controllers/index",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.ObjectController.extend({upgrading:null})}),define("docker-manager/controllers/processes",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.ObjectController.extend({autoRefresh:!1,init:function(){this._super();var e=this;window.setInterval(function(){e.performRefresh()},5e3)},performRefresh:function(){this.get("autoRefresh")&&this.get("model").refresh()}})}),define("docker-manager/controllers/repo",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.ObjectController.extend({needs:["index"],upgradingRepo:s.computed.alias("controllers.index.upgrading"),managerRepo:s.computed.alias("controllers.index.managerRepo"),upgradeDisabled:function(){var e=this.get("upgradingRepo");if(s.isNone(e)){var t=this.get("managerRepo");return t?!t.get("upToDate")&&t!==this.get("model"):!1}return!0}.property("upgradingRepo","model","managerRepo","managerRepo.upToDate")})}),define("docker-manager/controllers/upgrade",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.ObjectController.extend({init:function(){this._super(),this.reset()},complete:s.computed.equal("status","complete"),failed:s.computed.equal("status","failed"),messageReceived:function(e){switch(e.type){case"log":this.set("output",this.get("output")+e.value+"\n");break;case"percent":this.set("percent",e.value);break;case"status":this.set("status",e.value),("complete"===e.value||"failed"===e.value)&&this.set("upgrading",!1),"complete"===e.value&&this.set("version",this.get("latest.version"))}},upgradeButtonText:function(){return this.get("upgrading")?"Upgrading...":"Start Upgrading"}.property("upgrading"),startBus:function(){var e=this;MessageBus.subscribe("/docker/upgrade",function(t){e.messageReceived(t)})},stopBus:function(){MessageBus.unsubscribe("/docker/upgrade")},reset:function(){this.setProperties({output:"",status:null,percent:0})},actions:{start:function(){this.reset();var e=this.get("model");e.get("upgrading")||e.startUpgrade()},resetUpgrade:function(){var e=this;bootbox.confirm("WARNING: You should only reset upgrades that have failed and are not running.\n\nThis will NOT cancel currently running builds and should only be used as a last resort.",function(t){if(t){var s=e.get("model");s.resetUpgrade().then(function(){e.reset()})}})}}})}),define("docker-manager/helpers/fa-icon",["ember","exports"],function(e,t){"use strict";var s=e["default"],n=/^fa\-.+/,r=s.Logger.warn,a=function(e,t){if("string"!==s.typeOf(e)){var a="fa-icon: no icon specified";return r(a),new s.Handlebars.SafeString(a)}var o=t.hash,i=[],u="";return i.push("fa"),e.match(n)||(e="fa-"+e),i.push(e),o.spin&&i.push("fa-spin"),o.flip&&i.push("fa-flip-"+o.flip),o.rotate&&i.push("fa-rotate-"+o.rotate),o.lg&&(r("fa-icon: the 'lg' parameter is deprecated. Use 'size' instead. I.e. {{fa-icon size=\"lg\"}}"),i.push("fa-lg")),o.x&&(r("fa-icon: the 'x' parameter is deprecated. Use 'size' instead. I.e. {{fa-icon size=\""+o.x+'"}}'),i.push("fa-"+o.x+"x")),o.size&&i.push("number"===s.typeOf(o.size)?"fa-"+o.size+"x":"fa-"+o.size),o.fixedWidth&&i.push("fa-fw"),o.listItem&&i.push("fa-li"),o.pull&&i.push("pull-"+o.pull),o.border&&i.push("fa-border"),o.classNames&&!s.isArray(o.classNames)&&(o.classNames=[o.classNames]),s.isEmpty(o.classNames)||Array.prototype.push.apply(i,o.classNames),u+="",new s.Handlebars.SafeString(u)};t.faIcon=a,t["default"]=s.Handlebars.makeBoundHelper(a)}),define("docker-manager/helpers/fmt-ago",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.makeBoundHelper(function(e){return s.isEmpty(e)?new s.Handlebars.SafeString("—"):moment(e).fromNow()})}),define("docker-manager/helpers/fmt-commit",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.makeBoundHelper(function(e,t){return s.isNone(t)?void 0:new s.Handlebars.SafeString("("+e+")")})}),define("docker-manager/initializers/crsf-token",["ic-ajax","exports"],function(e,t){"use strict";var s=e["default"];t["default"]={name:"findCsrfToken",initialize:function(){return s("/session/csrf").then(function(e){var t=e.csrf;$.ajaxPrefilter(function(e,s,n){e.crossDomain||n.setRequestHeader("X-CSRF-Token",t)})})}}}),define("docker-manager/initializers/export-application-global",["ember","docker-manager/config/environment","exports"],function(e,t,s){"use strict";function n(e,t){var s=r.String.classify(a.modulePrefix);a.exportApplicationGlobal&&(window[s]=t)}var r=e["default"],a=t["default"];s.initialize=n,s["default"]={name:"export-application-global",initialize:n}}),define("docker-manager/models/process-list",["ic-ajax","ember","exports"],function(e,t,s){"use strict";var n=e["default"],r=t["default"],a=r.Object.extend({init:function(){this._super()},refresh:function(){var e=this;return n("/admin/docker/ps").then(function(t){return e.set("output",t),e})}});a.reopenClass({find:function(){var e=a.create();return e.refresh()}}),s["default"]=a}),define("docker-manager/models/repo",["ic-ajax","ember","exports"],function(e,t,s){"use strict";var n=e["default"],r=t["default"],a=[],o=r.Object.extend({upToDate:function(){return!this.get("upgrading")&this.get("version")===this.get("latest.version")}.property("upgrading","version","latest.version"),shouldCheck:function(){if(r.isNone(this.get("version")))return!1;if(this.get("checking"))return!1;var e=this.get("lastCheckedAt");if(e){var t=(new Date).getTime()-e;return t>6e4}return!0}.property()["volatile"](),repoAjax:function(e,t){return t=t||{},t.data=this.getProperties("path","version","branch"),n(e,t)},findLatest:function(){var e=this;return new r.RSVP.Promise(function(t){return e.get("shouldCheck")?(e.set("checking",!0),void e.repoAjax("/admin/docker/latest").then(function(s){e.setProperties({checking:!1,lastCheckedAt:(new Date).getTime(),latest:r.Object.create(s.latest)}),t()})):t()})},findProgress:function(){return this.repoAjax("/admin/docker/progress").then(function(e){return e.progress})},resetUpgrade:function(){var e=this;return this.repoAjax("/admin/docker/upgrade",{type:"DELETE"}).then(function(){e.set("upgrading",!1)})},startUpgrade:function(){var e=this;return this.set("upgrading",!0),this.repoAjax("/admin/docker/upgrade",{type:"POST"})["catch"](function(){e.set("upgrading",!1)})}});o.reopenClass({findAll:function(){return new r.RSVP.Promise(function(e){return a.length?e(a):void n("/admin/docker/repos").then(function(t){a=t.repos.map(function(e){return o.create(e)}),e(a)})})},findUpgrading:function(){return this.findAll().then(function(e){return e.findBy("upgrading",!0)})},find:function(e){return this.findAll().then(function(t){return t.findBy("id",e)})}}),s["default"]=o}),define("docker-manager/router",["ember","docker-manager/config/environment","exports"],function(e,t,s){"use strict";var n=e["default"],r=t["default"],a=n.Router.extend({location:r.locationType});a.map(function(){this.route("processes"),this.resource("upgrade",{path:"/upgrade/:id"})}),s["default"]=a}),define("docker-manager/routes/index",["docker-manager/models/repo","ember","exports"],function(e,t,s){"use strict";var n=e["default"],r=t["default"];s["default"]=r.Route.extend({model:function(){return n.findAll()},setupController:function(e,t){var s=this,n=s.controllerFor("application");e.setProperties({model:t,upgrading:null}),window.Discourse&&window.Discourse.hasUglifyjs||n.appendBannerHtml("WARNING: You are running an old Docker image, please upgrade."),t.forEach(function(t){t.findLatest(),t.get("upgrading")&&e.set("upgrading",t),"docker_manager"===t.get("id")&&e.set("managerRepo",t),"discourse"===t.get("id")&&"origin/master"===t.get("branch")&&n.appendBannerHtml("WARNING: Your Discourse is tracking the 'master' branch which may be unstable, we recommend tracking the 'tests-passed' branch.")})},actions:{upgrade:function(e){this.transitionTo("upgrade",e)}}})}),define("docker-manager/routes/processes",["docker-manager/models/process-list","ember","exports"],function(e,t,s){"use strict";var n=e["default"],r=t["default"];s["default"]=r.Route.extend({model:function(){return n.find()}})}),define("docker-manager/routes/upgrade",["docker-manager/models/repo","ember","exports"],function(e,t,s){"use strict";var n=e["default"],r=t["default"];s["default"]=r.Route.extend({model:function(e){return n.find(e.id)},afterModel:function(e){var t=this;return n.findUpgrading().then(function(s){return s&&s!==e?r.RSVP.Promise.reject("wat"):e.findLatest().then(function(){return e.findProgress().then(function(e){t.set("progress",e)})})})},setupController:function(e,t){e.reset(),e.setProperties({model:t,output:this.get("progress.logs"),percent:this.get("progress.percentage")}),e.startBus()},deactivate:function(){this.controllerFor("upgrade").stopBus()}})}),define("docker-manager/templates/application",["ember","exports"],function(e,t){"use strict";var s=e["default"];t["default"]=s.Handlebars.template(function(e,t,n,r,a){function o(e,t){t.buffer.push('
')}function i(e,t){t.buffer.push("Upgrade")}function u(e,t){var s,r="";return t.buffer.push('\n
"),t.buffer.push(m(n._triageMustache.call(e,"row",{hash:{unescaped:"true"},hashTypes:{unescaped:"STRING"},hashContexts:{unescaped:e},contexts:[e],types:["ID"],data:t}))),t.buffer.push("
\n "),s}function f(e,t){t.buffer.push("Versions")}function h(e,t){t.buffer.push("Processes")}this.compilerInfo=[4,">= 1.0.0"],n=this.merge(n,s.Handlebars.helpers),a=a||{};var c,l,d,g="",m=this.escapeExpression,b=this,x=n.helperMissing;return a.buffer.push('| Repository Name | \nStatus | \n
|---|
Upgrade completed successfully!
\nNote: The web server restarts in the background. It's a good idea to wait 30 seconds or so\n before refreshing your browser to see the latest version of the application.
\n")}function i(e,t){t.buffer.push("\nSorry, there was an error upgrading Discourse. Please check the logs below.
\n")}function u(e,t){var s,r,a,o="";return t.buffer.push("\n"),s=n._triageMustache.call(e,"name",{hash:{},hashTypes:{},hashContexts:{},contexts:[e],types:["ID"],data:t}),(s||0===s)&&t.buffer.push(s),t.buffer.push(" is at the newest version "),t.buffer.push(m((r=n["fmt-commit"]||e&&e["fmt-commit"],a={hash:{},hashTypes:{},hashContexts:{},contexts:[e,e],types:["ID","ID"],data:t},r?r.call(e,"version","url",a):g.call(e,"fmt-commit","version","url",a)))),t.buffer.push(".
\n"),o}function p(e,t){var s,r="";return t.buffer.push("\n