{"version":3,"file":"js/app.ea0413fc.js","mappings":"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","sources":["webpack://education-frontend/./src/App.vue?5a41","webpack://education-frontend/src/App.vue","webpack://education-frontend/./src/App.vue?c036","webpack://education-frontend/./src/App.vue","webpack://education-frontend/./src/views/Home.vue?64e0","webpack://education-frontend/./src/components/NavBar.vue?3141","webpack://education-frontend/src/components/NavBar.vue","webpack://education-frontend/./src/components/NavBar.vue?a6dc","webpack://education-frontend/./src/components/NavBar.vue","webpack://education-frontend/src/views/Home.vue","webpack://education-frontend/./src/views/Home.vue?a787","webpack://education-frontend/./src/views/Home.vue","webpack://education-frontend/./src/views/PhotoLab.vue?dede","webpack://education-frontend/./src/business/common/Timer.ts","webpack://education-frontend/./src/business/PhotoLab.ts","webpack://education-frontend/src/views/PhotoLab.vue","webpack://education-frontend/./src/views/PhotoLab.vue?e025","webpack://education-frontend/./src/views/PhotoLab.vue","webpack://education-frontend/./src/views/PhotoLabSwf.vue?ad12","webpack://education-frontend/src/views/PhotoLabSwf.vue","webpack://education-frontend/./src/views/PhotoLabSwf.vue?99a3","webpack://education-frontend/./src/views/PhotoLabSwf.vue","webpack://education-frontend/./src/views/EcosystemLab.vue?8c9d","webpack://education-frontend/./src/business/EcosystemLab.ts","webpack://education-frontend/src/views/EcosystemLab.vue","webpack://education-frontend/./src/views/EcosystemLab.vue?5e69","webpack://education-frontend/./src/views/EcosystemLab.vue","webpack://education-frontend/./src/views/ClickAndClone.vue?e8a6","webpack://education-frontend/src/views/ClickAndClone.vue","webpack://education-frontend/./src/views/ClickAndClone.vue?81c3","webpack://education-frontend/./src/views/ClickAndClone.vue","webpack://education-frontend/./src/views/SpaceDoctor.vue?6900","webpack://education-frontend/src/views/SpaceDoctor.vue","webpack://education-frontend/./src/views/SpaceDoctor.vue?d95d","webpack://education-frontend/./src/views/SpaceDoctor.vue","webpack://education-frontend/./src/views/Kidney.vue?017d","webpack://education-frontend/src/views/Kidney.vue","webpack://education-frontend/./src/views/Kidney.vue?7c39","webpack://education-frontend/./src/views/Kidney.vue","webpack://education-frontend/./src/views/ScaleOfUniverse.vue?a509","webpack://education-frontend/src/views/ScaleOfUniverse.vue","webpack://education-frontend/./src/views/ScaleOfUniverse.vue?f762","webpack://education-frontend/./src/views/ScaleOfUniverse.vue","webpack://education-frontend/./src/views/HowOsmosisWorks.vue?5dbf","webpack://education-frontend/src/views/HowOsmosisWorks.vue","webpack://education-frontend/./src/views/HowOsmosisWorks.vue?5f54","webpack://education-frontend/./src/views/HowOsmosisWorks.vue","webpack://education-frontend/./src/views/ATP.vue?96c5","webpack://education-frontend/src/views/ATP.vue","webpack://education-frontend/./src/views/ATP.vue?46a4","webpack://education-frontend/./src/views/ATP.vue","webpack://education-frontend/./src/views/EarthWormSwf.vue?fc6f","webpack://education-frontend/src/views/EarthWormSwf.vue","webpack://education-frontend/./src/views/EarthWormSwf.vue?5d08","webpack://education-frontend/./src/views/EarthWormSwf.vue","webpack://education-frontend/./src/router/index.ts","webpack://education-frontend/./src/main.ts","webpack://education-frontend/webpack/bootstrap","webpack://education-frontend/webpack/runtime/chunk loaded","webpack://education-frontend/webpack/runtime/define property getters","webpack://education-frontend/webpack/runtime/global","webpack://education-frontend/webpack/runtime/hasOwnProperty shorthand","webpack://education-frontend/webpack/runtime/publicPath","webpack://education-frontend/webpack/runtime/jsonp chunk loading","webpack://education-frontend/webpack/startup"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=41bf118e\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=41bf118e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',[_c('div',{staticClass:\"container is-fluid\"},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"row column is-4\"},[_c('div',{staticClass:\"subtitle\"},[_vm._v(\"Biology\")]),_c('ul',[_c('li',[_c('router-link',{attrs:{\"to\":\"/biology/photolab\"}},[_vm._v(\"Photo Lab\")])],1),(_vm.showHidden)?_c('li',[_c('router-link',{attrs:{\"to\":\"/biology/photolabswf\"}},[_vm._v(\"Photo Lab - Flash\")])],1):_vm._e(),_c('li',[_c('router-link',{attrs:{\"to\":\"/biology/ecosystem\"}},[_vm._v(\"Ecosystem Lab\")])],1),(_vm.showHidden)?_c('li',[_c('router-link',{attrs:{\"to\":\"/biology/kidney\"}},[_vm._v(\"Kidney - Flash\")])],1):_vm._e(),(_vm.showHidden)?_c('li',[_c('router-link',{attrs:{\"to\":\"/biology/howosmosisworks\"}},[_vm._v(\"Osmosis - Flash\")])],1):_vm._e(),(_vm.showHidden)?_c('li',[_c('router-link',{attrs:{\"to\":\"/biology/atp\"}},[_vm._v(\"ATP and Energy Storage - Flash\")])],1):_vm._e(),(_vm.showHidden)?_c('li',[_c('router-link',{attrs:{\"to\":\"/biology/earthworm\"}},[_vm._v(\"Earthworm Dissection - Flash\")])],1):_vm._e()])]),_c('div',{staticClass:\"row column is-4\"},[_c('div',{staticClass:\"subtitle\"},[_vm._v(\"Genetics\")]),_c('ul',[(_vm.showHidden)?_c('li',[_c('router-link',{attrs:{\"to\":\"/genetics/clickclone\"}},[_vm._v(\"Click Clone - Flash\")])],1):_vm._e(),(_vm.showHidden)?_c('li',[_c('router-link',{attrs:{\"to\":\"/genetics/spacedoctor\"}},[_vm._v(\"Space Doctor - Flash\")])],1):_vm._e()])]),_c('div',{staticClass:\"row column is-4\"},[_c('div',{staticClass:\"subtitle\"},[_vm._v(\"Science\")]),_c('ul',[(_vm.showHidden)?_c('li',[_c('router-link',{attrs:{\"to\":\"/science/scaleofuniverse\"}},[_vm._v(\"Scale of Universe - Flash\")])],1):_vm._e()])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"parent container\"},[_c('header',[_c('span',{staticClass:\"main\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_vm._v(\"Virtual Science Labs\")])],1),_vm._v(\" \"),(_vm.subtitle)?_c('span',[_vm._v(\"- \"),_c('span',{staticClass:\"sub\"},[_vm._v(_vm._s(_vm.subtitle))])]):_vm._e()]),_c('section',{staticClass:\"content container\"},[_vm._t(\"default\")],2),_c('footer',[_vm._v(\"Driftless Science\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=7e0fcf98&scoped=true\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js\"\nexport * from \"./NavBar.vue?vue&type=script&lang=js\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=7e0fcf98&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e0fcf98\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=f4a8e97a&scoped=true\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=f4a8e97a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f4a8e97a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"Photo Lab\"}},[_c('div',{staticClass:\"canvas-wrapper\",style:({zoom: _vm.calcZoom()})},[_c('div',{staticClass:\"canvas\"},[(_vm.noticeText)?_c('div',{staticClass:\"notice-text\"},[_vm._v(_vm._s(_vm.noticeText))]):_vm._e(),_c('div',{staticClass:\"beaker\"},[_c('div',{staticClass:\"thermometer-bg\"}),_c('div',{staticClass:\"thermometer-fg\",style:({ 'height': _vm.tempHeight()})}),_c('div',{staticClass:\"temp-to-1\",on:{\"mouseover\":function($event){return _vm.showText('Click to set temperature to 10')},\"mouseleave\":function($event){return _vm.hideText()},\"click\":function($event){_vm.experiment.beaker.temperature = 10}}}),_c('div',{staticClass:\"temp-to-2\",on:{\"mouseover\":function($event){return _vm.showText('Click to set temperature to 25')},\"mouseleave\":function($event){return _vm.hideText()},\"click\":function($event){_vm.experiment.beaker.temperature = 25}}}),_c('div',{staticClass:\"temp-to-3\",on:{\"mouseover\":function($event){return _vm.showText('Click to set temperature to 40')},\"mouseleave\":function($event){return _vm.hideText()},\"click\":function($event){_vm.experiment.beaker.temperature = 40}}}),_c('img',{staticClass:\"image\",attrs:{\"src\":require(\"@/assets/photoLab/Beaker.svg\")}}),_c('div',{staticClass:\"bubble\"}),_c('div',{staticClass:\"bubble\"}),_c('div',{staticClass:\"bubble\"}),_c('div',{staticClass:\"bubble\"})]),_c('div',{staticClass:\"lamp\"},[_c('img',{staticClass:\"image\",attrs:{\"src\":require(\"@/assets/photoLab/Lamp.svg\")}}),_c('div',{staticClass:\"light\",style:({ 'background-color': _vm.calcColor(_vm.experiment.light.color, _vm.experiment.light.intensity)})})]),_c('div',{staticClass:\"light-controls\"},[_c('div',{staticClass:\"display\"},[_vm._v(_vm._s(_vm.experiment.light.intensity))]),_c('div',{staticClass:\"intensity-wrapper\"},[_vm._l((_vm.availableLightLevels()),function(level){return _c('div',{staticClass:\"intensity\",style:({ 'background-color': _vm.calcColor(_vm.experiment.light.color, level)}),on:{\"click\":function($event){_vm.experiment.light.intensity = level},\"mouseleave\":function($event){return _vm.hideText()},\"mouseover\":function($event){return _vm.showText((\"Set light intensity to \" + level))}}},[(_vm.experiment.light.intensity===level)?_c('span',[_vm._v(\"💡\")]):_vm._e()])}),_c('div',{staticClass:\"is-clearfix\"})],2),_c('button',{staticClass:\"button white\",attrs:{\"disabled\":_vm.experiment.light.color === 'white'},on:{\"click\":function($event){_vm.experiment.light.color = 'white'},\"mouseover\":function($event){return _vm.showText('Click to remove lamp filter')},\"mouseleave\":function($event){return _vm.hideText()}}}),_c('button',{staticClass:\"button red\",attrs:{\"disabled\":_vm.experiment.light.color === 'red'},on:{\"click\":function($event){_vm.experiment.light.color = 'red'},\"mouseover\":function($event){return _vm.showText('Click to set lamp filter to red')},\"mouseleave\":function($event){return _vm.hideText()}}}),_c('button',{staticClass:\"button green\",attrs:{\"disabled\":_vm.experiment.light.color === 'green'},on:{\"click\":function($event){_vm.experiment.light.color = 'green'},\"mouseover\":function($event){return _vm.showText('Click to set lamp filter to green')},\"mouseleave\":function($event){return _vm.hideText()}}}),_c('button',{staticClass:\"button blue\",attrs:{\"disabled\":_vm.experiment.light.color === 'blue'},on:{\"click\":function($event){_vm.experiment.light.color = 'blue'},\"mouseover\":function($event){return _vm.showText('Click to set lamp filter to blue')},\"mouseleave\":function($event){return _vm.hideText()}}})]),_c('div',{staticClass:\"timer\"},[_c('img',{staticClass:\"image\",attrs:{\"src\":require(\"@/assets/photoLab/Timer.svg\")}}),_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.experiment.timer.getMinutes()))]),_c('div',{staticClass:\"start\",on:{\"mouseover\":function($event){return _vm.showText('Click to start timer')},\"mouseleave\":function($event){return _vm.hideText()},\"click\":function($event){return _vm.experiment.timer.startTimer()}}}),_c('div',{staticClass:\"stop\",on:{\"mouseover\":function($event){return _vm.showText('Click to stop timer')},\"mouseleave\":function($event){return _vm.hideText()},\"click\":function($event){return _vm.experiment.timer.stopTimer()}}})]),_c('div',{staticClass:\"co2\",on:{\"click\":function($event){return _vm.experiment.beaker.toggleCO2Level()},\"mouseover\":function($event){return _vm.showText('Click to toggle CO2 level')},\"mouseleave\":function($event){return _vm.hideText()}}},[_c('div',{staticClass:\"display\"},[_vm._v(_vm._s(_vm.experiment.beaker.co2Level === 'low' ? '' : 'CO₂ added'))]),(_vm.experiment.beaker.co2Level === 'low')?_c('img',{staticClass:\"full\",attrs:{\"src\":require(\"@/assets/photoLab/CO2 Full.svg\")}}):_c('img',{staticClass:\"half\",attrs:{\"src\":require(\"@/assets/photoLab/CO2 Half.svg\")}})])])]),_c('div',{staticClass:\"attribution\"},[_vm._v(\" Based on \"),_c('a',{attrs:{\"href\":\"http://www.kscience.co.uk/animations/photolab.htm\",\"target\":\"_blank\"}},[_vm._v(\"http://www.kscience.co.uk/animations/photolab.htm\")]),_vm._v(\" by KScience \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class Timer {\n\n private _start: Date = new Date();\n private _end: Date = new Date();\n private _running: boolean = false;\n\n public startTimer() {\n if (!this.running()) {\n this._start = new Date();\n this._running = true;\n }\n }\n\n public stopTimer() {\n if (this.running()) {\n this._running = false;\n this._end = new Date();\n }\n }\n\n public toggleTimer() {\n this.running() ? this.stopTimer() : this.startTimer();\n }\n\n public running(): boolean {\n return this._running;\n }\n\n public getMinutes(): string {\n return `${this.minutesDisplay()}:${this.secondsDisplay()}`\n }\n\n public getSeconds(): number {\n return this._running ? this.secondsBetween(this._start, new Date()) : this.secondsBetween(this._start, this._end);\n }\n\n private minutesDisplay(): string {\n return this.pad(Math.floor(this.getSeconds() / 60), 2)\n }\n\n private secondsDisplay(): string {\n return this.pad(this.getSeconds() % 60, 2);\n }\n\n private secondsBetween(start: Date, end: Date): number {\n return Math.round((end.getTime() - start.getTime()) / 1000)\n }\n\n private pad(num: number, size: number) {\n const s = \"000000000\" + num;\n return s.substr(s.length - size);\n }\n\n}\n","import Timer from \"@/business/common/Timer\";\n\nexport default class Experiment {\n\n private _timer: Timer = new Timer();\n private _beaker: Beaker = new Beaker();\n private _light: Light = new Light();\n\n private _lastBubble: Date = new Date();\n private _history: boolean[] = [];\n\n get timer(): Timer {\n return this._timer;\n }\n\n get beaker(): Beaker {\n return this._beaker;\n }\n\n get light(): Light {\n return this._light;\n }\n\n public secondsSinceLastBubble(): number {\n return (new Date().getTime() - this._lastBubble.getTime()) / 1000\n }\n\n public rate(): number {\n const data = {\n \"low\": {\n 10: [0, 8, 16, 20, 22, 24, 24, 24, 24, 24, 24],\n 25: [0, 32, 48, 56, 64, 72, 74, 76, 76, 76, 76],\n 40: [0, 24, 40, 48, 52, 56, 58, 60, 64, 64, 64]\n },\n \"high\": {\n 10: [0, 12, 20, 24, 32, 36, 38, 42, 46, 48, 48],\n 25: [0, 32, 60, 80, 96, 108, 116, 120, 128, 132, 136],\n 40: [0, 28, 52, 68, 80, 88, 96, 100, 104, 108, 112]\n }\n };\n\n const co2Level = this.beaker.co2Level;\n const temperature = this.beaker.temperature;\n const intensity = Math.round(this.light.intensity / 5);\n\n // @ts-ignore\n let baseRate = data[co2Level][temperature][intensity]; // Seconds Between Bubbles\n switch (this.light.color) {\n case \"green\":\n baseRate = Math.round(baseRate * 0.3);\n break;\n case \"blue\":\n baseRate = Math.round(baseRate * 0.9);\n break;\n case \"white\":\n baseRate = Math.round(baseRate);\n break;\n case \"red\":\n baseRate = Math.round(baseRate * 0.8);\n break;\n }\n return 120 / baseRate;\n }\n\n public generateBubble(): boolean {\n let generateBubble = false;\n if (this.secondsSinceLastBubble() > this.rate()) {\n this._lastBubble = new Date();\n generateBubble = true;\n }\n return generateBubble;\n }\n}\n\n\nexport class Beaker {\n\n private _temperature: 10 | 25 | 40 = 10;\n private _co2Level: \"high\" | \"low\" = \"low\";\n\n get temperature(): 10 | 25 | 40 {\n return this._temperature;\n }\n\n set temperature(value: 10 | 25 | 40) {\n this._temperature = value;\n }\n\n public toggleCO2Level() {\n this._co2Level = this._co2Level === \"high\" ? \"low\" : \"high\";\n }\n\n get co2Level(): \"high\" | \"low\" {\n return this._co2Level;\n }\n\n set co2Level(value: \"high\" | \"low\") {\n this._co2Level = value;\n }\n\n}\n\nexport class Light {\n\n private _intensity: number = 0;\n private _color: \"green\" | \"blue\" | \"white\" | \"red\" = \"white\";\n\n get intensity(): number {\n return this._intensity;\n }\n\n set intensity(value: number) {\n if (value > 50) {\n value = 50;\n }\n value = Math.round(value);\n this._intensity = value;\n }\n\n get color(): \"green\" | \"blue\" | \"white\" | \"red\" {\n return this._color;\n }\n\n set color(value: \"green\" | \"blue\" | \"white\" | \"red\") {\n this._color = value;\n }\n\n}","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PhotoLab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PhotoLab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PhotoLab.vue?vue&type=template&id=1838148c&scoped=true\"\nimport script from \"./PhotoLab.vue?vue&type=script&lang=js\"\nexport * from \"./PhotoLab.vue?vue&type=script&lang=js\"\nimport style0 from \"./PhotoLab.vue?vue&type=style&index=0&id=1838148c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1838148c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"Photo Lab\"}},[_c('div',{staticClass:\"wrapper\"},[_c('div',{ref:\"container\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PhotoLabSwf.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PhotoLabSwf.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PhotoLabSwf.vue?vue&type=template&id=58c986dc&scoped=true\"\nimport script from \"./PhotoLabSwf.vue?vue&type=script&lang=js\"\nexport * from \"./PhotoLabSwf.vue?vue&type=script&lang=js\"\nimport style0 from \"./PhotoLabSwf.vue?vue&type=style&index=0&id=58c986dc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58c986dc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"Ecosystem Lab\"}},[_c('b-modal',{attrs:{\"width\":750},model:{value:(_vm.showDescription),callback:function ($$v) {_vm.showDescription=$$v},expression:\"showDescription\"}},[_c('div',{staticClass:\"description\"},[_c('h1',{staticClass:\"title is-1\"},[_vm._v(_vm._s(_vm.ecosystem.name))]),_c('p',[_vm._v(_vm._s(_vm.ecosystem.description))])])]),_c('div',{staticClass:\"canvas-wrapper\"},[_c('section',{staticClass:\"columns is-marginless is-vcentered header\"},[_c('div',{staticClass:\"column\"},[_c('h1',{staticClass:\"title is-1\"},[_vm._v(_vm._s(_vm.ecosystem.name)+\" \"),_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){_vm.showDescription = true}}},[_c('b-icon',{attrs:{\"pack\":\"fas\",\"icon\":\"info-circle\"}})],1)],1)]),_c('div',{staticClass:\"column is-narrow\"},[_c('div',{staticClass:\"buttons\"},[_c('b-button',{attrs:{\"type\":\"is-danger\"},on:{\"click\":function($event){return _vm.experiment.reset()}}},[_vm._v(\"Reset\")]),_c('b-button',{attrs:{\"type\":\"is-info\"},on:{\"click\":function($event){return _vm.experiment.check()}}},[_vm._v(\"Check\")]),_c('b-dropdown',{attrs:{\"aria-role\":\"list\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(ref){\nvar active = ref.active;\nreturn _c('button',{staticClass:\"button is-black\"},[_c('span',[_vm._v(_vm._s(_vm.ecosystem.name))]),_c('b-icon',{attrs:{\"pack\":\"fas\",\"icon\":active ? 'arrow-up' : 'arrow-down'}})],1)}}])},_vm._l((_vm.ecosystems),function(next){return _c('b-dropdown-item',{key:next.name,attrs:{\"aria-role\":\"listitem\"},on:{\"click\":function($event){_vm.experiment.ecosystem = next}}},[_vm._v(_vm._s(next.name)+\" \")])}),1)],1)])]),_c('section',{staticClass:\"pyramid columns is-marginless\"},[_c('div',{staticClass:\"column instructions\"},[_c('h3',{staticClass:\"title is-3\"},[_vm._v(\"Description\")]),_c('div',{staticClass:\"text-block\"},[_c('p',[_vm._v(\"An ecosystem consists of a community of living organisms interacting with each other and the environment. The source of energy that fuels most ecosystems is the Sun. Plants use the Sun's energy to produce food in a process called photosynthesis. Organisms that use energy from the Sun or energy stored in chemical compounds to produce their own nutrients are called autotrophs. They are also called producers because most other organisms depend on autotrophs for nutrients and energy. Heterotrophic organisms that cannot make their own food may obtain nutrients by eating other organisms. A heterotroph that feeds only on plants is called an herbivore. Herbivores are also called first order heterotrophs. Carnivores that feed on herbivores are called second order heterotrophs. Carnivores that feed on other carnivores are called third order heterotrophs. A food chain is a simple model of how energy and matter move through an ecosystem.\")]),_c('p',[_vm._v(\"Each level of production and consumption in a food chain is a trophic level. The autotrophs form the first trophic level, first order heterotrophs (herbivores) constitute the second trophic level, second order heterotrophs the third trophic level, and third order heterotrophs are layered on top.\")]),_c('p',[_vm._v(\"In the pyramid of energy, the energy moves in only one direction and decreases at each succeeding trophic level. The total energy transfer from one trophic level to the next is, in general, only about ten percent or less. This is called the energy conversion efficiency. Organisms fail to capture and eat all the food available at the trophic level below them. The food consumers ingest is used to metabolize and build body tissues. Some food is given off as waste. The energy lost at each trophic level enters the environment as heat.\")]),_c('p',[_vm._v(\"A pyramid of biomass expresses the weight of living material at each trophic level. Biomass is calculated by finding the average weight of each species at that trophic level and multiplying the weight by the estimated number of organisms in each population. In terrestrial ecosystems, biomass decreases as the trophic level increases. In contrast to terrestrial ecosystems, freshwater and marine ecosystems have less primary producer biomass than biomass present at higher trophic levels, leading to an inverted biomass pyramid. This is because algae and phytoplankton have a shorter lifespan, are more edible than terrestrial plants, and are more rapidly grazed. Their biomass does not accumulate.\")]),_c('p',[_vm._v(\"In this exploration, you will study and analyze five simplified model ecosystems: a deciduous forest, a hot desert, a freshwater lake, grassland, and an Antarctic ocean shore. Many more plant and animal species would be involved in a real-world ecosystem. The field notes for each model ecosystem present a profile of the plant and animal inventory for each ecosystem.\")])]),_c('h3',{staticClass:\"title is-3\"},[_vm._v(\"Procedure\")]),_c('div',{staticClass:\"text-block\"},[_c('ol',[_c('li',[_vm._v(\"Select the icon next to the animals' and plants' names from the right side and drag and drop them to the appropriate trophic level in the ecosystem pyramid. \")]),_c('li',[_vm._v(\"Click the Check button when all the names have been placed in the ecosystem pyramid to verify the accuracy of animal and plant assignments to the appropriate trophic level. For each accurate placement, the name icon will turn green and the numbers and energy brought by that organism will appear under the level title. \")]),_c('li',[_vm._v(\"When all organisms have been placed correctly and checked, the total organism number and energy contribution for the whole trophic level will be totaled under the level title. \")]),_c('li',[_vm._v(\"The pyramid of numbers indicates numbers of plants and animals. The pyramid of energy indicates the amount of energy in that trophic level. \")]),_c('li',[_vm._v(\"You can analyze this data by calculating the conversion efficiency for each trophic level for each of the five ecosystems. The energy conversion efficiency is calculated by dividing the energy at the higher trophic level by the energy at the lower level to obtain a ratio. Record the value as a decimal number. \")])])])]),_c('div',{staticClass:\"column dropareas\",style:({background: _vm.background})},[_vm._l((_vm.layers),function(layer){return _c('div',{staticClass:\"droparea\"},[_c('div',{staticClass:\"group-name\",class:layer.organismCount() === 0 ? 'is-solo' : null},[_vm._v(_vm._s(layer.name))]),(layer.organismCount() > 0)?_c('div',{staticClass:\"group-details\"},[_c('strong',[_vm._v(\"Organisms:\")]),_vm._v(\" \"+_vm._s(layer.formattedOrganismCount())+\" • \"),_c('strong',[_vm._v(\"Energy:\")]),_vm._v(\" \"+_vm._s(layer.formattedEnergyCount())+\" \")]):_vm._e(),_c('div',{staticClass:\"organisms\"},_vm._l((layer.organisms),function(organism){return _c('b-tag',{key:organism.name,class:_vm.isGood(organism) ? 'is-good' : null,attrs:{\"type\":_vm.getStatusType(organism),\"closable\":!_vm.isGood(organism)},on:{\"close\":function($event){return _vm.experiment.removeOrganism(organism)}}},[_vm._l((organism.name.split(' ')),function(word){return _c('div',{staticClass:\"text\",class:organism.name.split(' ').length > 1 ? 'is-2' : 'is-1'},[_vm._v(_vm._s(word)+\" \")])}),_c('div',{staticClass:\"image\",style:({ 'background-image': (\"url(\" + (organism.image) + \")\") })})],2)}),1)])}),_c('div',{staticClass:\"sun\"},[_vm._v(\"Sun\")]),_c('div',{staticClass:\"info\"},[_vm._v(\"Energy Loss to Decomposers\")]),_c('div',{staticClass:\"left-line\"},[_c('canvas',{ref:\"left-line\",attrs:{\"width\":\"25\",\"height\":\"400\"}})]),_c('div',{staticClass:\"right-line\"},[_c('canvas',{ref:\"right-line\",attrs:{\"width\":\"125\",\"height\":\"400\"}})]),(_vm.dragging)?_c('div',{staticClass:\"capture-boxes\"},_vm._l((_vm.layers),function(layer){return _c('div',{staticClass:\"capture-box\",on:{\"drop\":function($event){return _vm.onDrop($event, layer)},\"dragover\":function($event){$event.preventDefault();},\"dragenter\":function($event){$event.preventDefault();}}})}),0):_vm._e()],2),_c('div',{staticClass:\"column\"},_vm._l((_vm.ecosystem.categories.keys()),function(category){return _c('div',{staticClass:\"eco-group\"},[_c('div',{staticClass:\"title is-3\"},[_vm._v(_vm._s(category)+\":\")]),_vm._l((_vm.ecosystem.categories.get(category)),function(member){return (!_vm.experiment.organismAssigned(member))?_c('div',{key:member.name,staticClass:\"tag is-info\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":function($event){return _vm.startDrag($event, member)}}},[_vm._v(_vm._s(member.name)+\" \")]):_vm._e()})],2)}),0)])]),_c('div',{staticClass:\"attribution\"},[_vm._v(\" Based on \"),_c('a',{attrs:{\"href\":\"http://glencoe.mheducation.com/sites/dl/free/0078802849/383926/BL_02.html\",\"target\":\"_blank\"}},[_vm._v(\"http://glencoe.mheducation.com/sites/dl/free/0078802849/383926/BL_02.html\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Forest\nconst forestDeciduousTrees = require(\"@/assets/ecosystem/forest/deciduous-trees.png\");\nconst forestBerryBushes = require(\"@/assets/ecosystem/forest/berry-bushes.png\");\nconst forestChickadees = require(\"@/assets/ecosystem/forest/chickadees.png\");\nconst forestChipmunks = require(\"@/assets/ecosystem/forest/chipmunks.png\");\nconst forestDeer = require(\"@/assets/ecosystem/forest/deer.png\");\nconst forestFerns = require(\"@/assets/ecosystem/forest/ferns.png\");\nconst forestFoxes = require(\"@/assets/ecosystem/forest/foxes.png\");\nconst forestFrogs = require(\"@/assets/ecosystem/forest/frogs.png\");\nconst forestGrasses = require(\"@/assets/ecosystem/forest/grasses.png\");\nconst forestHawks = require(\"@/assets/ecosystem/forest/hawks.png\");\nconst forestInsects = require(\"@/assets/ecosystem/forest/insects.png\");\nconst forestOpossums = require(\"@/assets/ecosystem/forest/opossums.png\");\nconst forestOwls = require(\"@/assets/ecosystem/forest/owls.png\");\nconst forestRabbits = require(\"@/assets/ecosystem/forest/rabbits.png\");\nconst forestSnakes = require(\"@/assets/ecosystem/forest/snakes.png\");\nconst forestToads = require(\"@/assets/ecosystem/forest/toads.png\");\nconst forestWildFlowers = require(\"@/assets/ecosystem/forest/wild-flowers.png\");\nconst forestWolves = require(\"@/assets/ecosystem/forest/wolves.png\");\nconst forestWoodpeckers = require(\"@/assets/ecosystem/forest/woodpeckers.png\");\n\n// Desert\nconst desertCacti = require(\"@/assets/ecosystem/desert/cacti.png\");\nconst desertCarnivorousLizards = require(\"@/assets/ecosystem/desert/carnivorous-lizards.png\");\nconst desertCoyotes = require(\"@/assets/ecosystem/desert/coyotes.png\");\nconst desertHawks = require(\"@/assets/ecosystem/desert/hawks.png\");\nconst desertHerbivorousLizards = require(\"@/assets/ecosystem/desert/herbivorous-lizards.png\");\nconst desertInsects = require(\"@/assets/ecosystem/desert/insects.png\");\nconst desertKangarooRats = require(\"@/assets/ecosystem/desert/kangaroo-rats.png\");\nconst desertOcotillo = require(\"@/assets/ecosystem/desert/ocotillo.png\");\nconst desertRabbitBrush = require(\"@/assets/ecosystem/desert/rabbit-brush.png\");\nconst desertSageBrush = require(\"@/assets/ecosystem/desert/sage-brush.png\");\nconst desertSnakes = require(\"@/assets/ecosystem/desert/snakes.png\");\nconst desertTarantulas = require(\"@/assets/ecosystem/desert/tarantulas.png\");\nconst desertWildFlowers = require(\"@/assets/ecosystem/desert/wild-flowers.png\");\n\n// Grassland\nconst grasslandBuffalo = require(\"@/assets/ecosystem/grassland/buffalo.png\");\nconst grasslandCoyotes = require(\"@/assets/ecosystem/grassland/coyotes.png\");\nconst grasslandGoldfinches = require(\"@/assets/ecosystem/grassland/goldfinches.png\");\nconst grasslandGrasses = require(\"@/assets/ecosystem/grassland/grasses.png\");\nconst grasslandGrasshoppers = require(\"@/assets/ecosystem/grassland/grasshoppers.png\");\nconst grasslandGrayPartridges = require(\"@/assets/ecosystem/grassland/gray-partridges.png\");\nconst grasslandHawks = require(\"@/assets/ecosystem/grassland/hawks.png\");\nconst grasslandLupine = require(\"@/assets/ecosystem/grassland/lupine.png\");\nconst grasslandMilkweed = require(\"@/assets/ecosystem/grassland/milkweed.png\");\nconst grasslandMonarchButterflies = require(\"@/assets/ecosystem/grassland/monarch-butterflies.png\");\nconst grasslandPronghorns = require(\"@/assets/ecosystem/grassland/pronghorns.png\");\nconst grasslandRattleSnakes = require(\"@/assets/ecosystem/grassland/rattle-snakes.png\");\n\n// Antarctic\nconst antarcticCarnivorousFish = require(\"@/assets/ecosystem/antarctic/carnivorous-fish.png\");\nconst antarcticHerbivorousFish = require(\"@/assets/ecosystem/antarctic/herbivorous-fish.png\");\nconst antarcticKillerWhales = require(\"@/assets/ecosystem/antarctic/killer-whales.png\");\nconst antarcticPenguins = require(\"@/assets/ecosystem/antarctic/penguins.png\");\nconst antarcticPhytoplankton = require(\"@/assets/ecosystem/antarctic/phytoplankton.png\");\nconst antarcticSeals = require(\"@/assets/ecosystem/antarctic/seals.png\");\nconst antarcticSquid = require(\"@/assets/ecosystem/antarctic/squid.png\");\n\n// Lake\nconst lakeAlgae = require(\"@/assets/ecosystem/lake/algae.png\");\nconst lakeBass = require(\"@/assets/ecosystem/lake/bass.png\");\nconst lakeCrayfish = require(\"@/assets/ecosystem/lake/crayfish.png\");\nconst lakeDucks = require(\"@/assets/ecosystem/lake/ducks.png\");\nconst lakeFrogs = require(\"@/assets/ecosystem/lake/frogs.png\");\nconst lakeHerons = require(\"@/assets/ecosystem/lake/herons.png\");\nconst lakeMinnows = require(\"@/assets/ecosystem/lake/minnows.png\");\nconst lakeWaterInsects = require(\"@/assets/ecosystem/lake/water-insects.png\");\n\nexport default class Experiment {\n\n private _ecosystems: Ecosystem[] = [];\n private _ecosystem: Ecosystem;\n private _layers: Layers = new Layers();\n\n constructor() {\n this._ecosystems.push(new Ecosystem(\"Deciduous Forest Ecosystem\",\n \"The trees in the deciduous forest shed their leaves in winter. This is a forest of flowering plants with insects as pollinators. Fruit trees and berry bushes support a diverse ecology. Warm summer temperatures, with abundant moisture, promote plant growth. The ground is covered with small plants, wild flowers (example: lupine), ferns and grasses. Deer, rabbits and small rodents such as chipmunks are plant eaters. Many birds ( example: chickadees), as well as insects, eat the leaves and fruits. Woodpeckers, opossums, and frogs eat insects, while snakes, foxes, and owls eat small rodents and frogs. The top carnivores, such as cougars, wolfs and hawks, eat larger herbivores as well as many of the smaller animals that are both carnivores and herbivores.\",\n \"#e3f1e4\", \"#1dbc2f\",\n [\n new Organism(\"Deciduous Trees\", forestDeciduousTrees, \"Plants\", Layer.NAMES.PRODUCERS, 3456, 0.751750875437719),\n new Organism(\"Ferns\", forestFerns, \"Plants\", Layer.NAMES.PRODUCERS, 541, 0.751750875437719),\n new Organism(\"Berry Bushes\", forestBerryBushes, \"Plants\", Layer.NAMES.PRODUCERS, 2670, 0.751750875437719),\n new Organism(\"Wild Flowers\", forestWildFlowers, \"Plants\", Layer.NAMES.PRODUCERS, 720, 0.751750875437719),\n new Organism(\"Grasses\", forestGrasses, \"Plants\", Layer.NAMES.PRODUCERS, 609, 0.751750875437719),\n new Organism(\"Chipmunks\", forestChipmunks, \"Mammals\", Layer.NAMES.FIRST, 1320, 0.136652774731301),\n new Organism(\"Deer\", forestDeer, \"Mammals\", Layer.NAMES.FIRST, 30, 0.136652774731301),\n new Organism(\"Rabbits\", forestRabbits, \"Mammals\", Layer.NAMES.FIRST, 386, 0.136652774731301),\n new Organism(\"Chickadees\", forestChickadees, \"Birds\", Layer.NAMES.FIRST, 643, 0.136652774731301),\n new Organism(\"Insects\", forestInsects, \"Arthropods\", Layer.NAMES.FIRST, 2180, 0.136652774731301),\n new Organism(\"Foxes\", forestFoxes, \"Mammals\", Layer.NAMES.SECOND, 180, 0.0430183356840621),\n new Organism(\"Opossums\", forestOpossums, \"Mammals\", Layer.NAMES.SECOND, 210, 0.0430183356840621),\n new Organism(\"Woodpeckers\", forestWoodpeckers, \"Birds\", Layer.NAMES.SECOND, 310, 0.0430183356840621),\n new Organism(\"Owls\", forestOwls, \"Birds\", Layer.NAMES.SECOND, 190, 0.0430183356840621),\n new Organism(\"Snakes\", forestSnakes, \"Reptiles\", Layer.NAMES.SECOND, 111, 0.0430183356840621),\n new Organism(\"Frogs\", forestFrogs, \"Amphibians\", Layer.NAMES.SECOND, 183, 0.0430183356840621),\n new Organism(\"Toads\", forestToads, \"Amphibians\", Layer.NAMES.SECOND, 234, 0.0430183356840621),\n new Organism(\"Wolves\", forestWolves, \"Mammals\", Layer.NAMES.THIRD, 20, 0.12),\n new Organism(\"Hawks\", forestHawks, \"Birds\", Layer.NAMES.THIRD, 30, 0.12),\n ]));\n this._ecosystems.push(new Ecosystem(\"Hot Desert Ecosystem\",\n \"Animals and plants that live in the hot, dry desert environment require special adaptations. Desert plants have evolved special adaptations for capturing and storing water. The driest parts of a hot desert are marked with many stones and rocks. Where there is more moisture, there will be plants, such as sage brush, seasonal grasses, and small shrubs. There may be tree-sized cacti, ocotillo, and Joshua trees. Insects, lizards and rodents such as the kangaroo rat feed on the plants' seeds, flowers, and juicy bodies and leaves. Snakes and lizards eat insects and rodents. Scorpions and tarantulas also eat insects. Reptiles are cold blooded and they can survive on less food than warm-blooded animals. The warmth of the desert sun provides heat for their bodies. Small, warm-blooded animals, such as rodents, that live in the hot desert hide from the heat in burrows, and come out to feed at night. A few larger predators such as hawks may be able to survive in the desert.\",\n \"#e3f1e4\", \"#1d32bc\",\n [\n new Organism(\"Cacti\", desertCacti, \"Plants\", Layer.NAMES.PRODUCERS, 1204, 0.0768344218209758),\n new Organism(\"Ocotillo\", desertOcotillo, \"Plants\", Layer.NAMES.PRODUCERS, 864, 0.0768344218209758),\n new Organism(\"Rabbit Brush\", desertRabbitBrush, \"Plants\", Layer.NAMES.PRODUCERS, 189, 0.0768344218209758),\n new Organism(\"Sage Brush\", desertSageBrush, \"Plants\", Layer.NAMES.PRODUCERS, 145, 0.0768344218209758),\n new Organism(\"Wild Flowers\", desertWildFlowers, \"Plants\", Layer.NAMES.PRODUCERS, 201, 0.0768344218209758),\n new Organism(\"Kangaroo Rats\", desertKangarooRats, \"Mammals\", Layer.NAMES.FIRST, 37, 0.0252707581227437),\n new Organism(\"Herbivorous Lizards\", desertHerbivorousLizards, \"Reptiles\", Layer.NAMES.FIRST, 54, 0.0252707581227437),\n new Organism(\"Insects\", desertInsects, \"Arthropods\", Layer.NAMES.FIRST, 740, 0.0252707581227437),\n new Organism(\"Snakes\", desertSnakes, \"Reptiles\", Layer.NAMES.SECOND, 21, 0.0344827586206897),\n new Organism(\"Carnivorous Lizards\", desertCarnivorousLizards, \"Reptiles\", Layer.NAMES.SECOND, 18, 0.0344827586206897),\n new Organism(\"Tarantulas\", desertTarantulas, \"Arthropods\", Layer.NAMES.SECOND, 19, 0.0344827586206897),\n new Organism(\"Coyotes\", desertCoyotes, \"Mammals\", Layer.NAMES.THIRD, 2, 0.038),\n new Organism(\"Hawks\", desertHawks, \"Birds\", Layer.NAMES.THIRD, 3, 0.038),\n ]));\n this._ecosystems.push(new Ecosystem(\"Grassland Ecosystem\",\n \"Grasses grow in areas where there is not enough moisture to support trees, with average rainfall from 10-30 inches (25cm- 75cm) a year. In this ecosystem, there are many species of grasses. Each one is adapted to survive under particular environmental conditions. Some grasses are annuals, and survive the winters as seeds. Other species are perennials, and sprout again each year from a network of roots. About a quarter of the vegetation on Earth consists of grasses. Grasses are wind-pollinated flowering plants. The tiny flowers form at the top of the stalks, where the wind can pick up and deliver the pollen. Grasses are monocotyledons, so that when the seeds germinate, each one sends up a single leaf. Grasslands are subdivided into tall grass, medium grass, and short grass. Grass heights may be 30 inches (75cm) tall or taller, or less than a foot (30cm) in height. Shorter grass usually indicates that there is less available moisture. In North America, the grassland has a diverse fauna with bison (buffalo), antelopes such as pronghorns, and burrowing mammals (example: prairie dogs), with seed-eating birds (example: goldfinches) representing the herbivores. There are many groundnesting birds such as the partridge that eat insects such as grasshoppers. Snakes are carnivores that will eat small mammals such as the prairie dog. Predators range from grizzly bears to coyotes and foxes and include hawks and owls.\",\n \"#e3f1e4\", \"#16561e\",\n [\n new Organism(\"Grasses\", grasslandGrasses, \"Plants\", Layer.NAMES.PRODUCERS, 547800, 0.00364228400345289),\n new Organism(\"Milkweed\", grasslandMilkweed, \"Plants\", Layer.NAMES.PRODUCERS, 980, 0.00364228400345289),\n new Organism(\"Lupine\", grasslandLupine, \"Plants\", Layer.NAMES.PRODUCERS, 326, 0.00364228400345289),\n new Organism(\"Buffalo\", grasslandBuffalo, \"Mammals\", Layer.NAMES.FIRST, 17, 0.118177000529942),\n new Organism(\"Grasshoppers\", grasslandGrasshoppers, \"Arthropods\", Layer.NAMES.FIRST, 1740, 0.118177000529942),\n new Organism(\"Goldfinches\", grasslandGoldfinches, \"Birds\", Layer.NAMES.FIRST, 42, 0.118177000529942),\n new Organism(\"Pronghorns\", grasslandPronghorns, \"Mammals\", Layer.NAMES.FIRST, 24, 0.118177000529942),\n new Organism(\"Monarch Butterflies\", grasslandMonarchButterflies, \"Arthropods\", Layer.NAMES.FIRST, 64, 0.118177000529942),\n new Organism(\"Gray Partridges\", grasslandGrayPartridges, \"Birds\", Layer.NAMES.SECOND, 34, 0.4634146341),\n new Organism(\"Rattle Snakes\", grasslandRattleSnakes, \"Reptiles\", Layer.NAMES.SECOND, 7, 0.4634146341),\n new Organism(\"Coyotes\", grasslandCoyotes, \"Mammals\", Layer.NAMES.THIRD, 2, 0.4),\n new Organism(\"Hawks\", grasslandHawks, \"Birds\", Layer.NAMES.THIRD, 3, 0.4),\n ]));\n this._ecosystems.push(new Ecosystem(\"Antarctic Ocean Shore Ecosystem\",\n \"The animals that live in Antarctic ocean shore ecosystems find their food in the ocean. Food production varies with the seasons. In winter, when the South Pole has the fewest hours of sunlight there is little or no sunlight for photosynthesis. In spring, ocean currents bring up nutrients from the ocean bottom, and the plankton grows rapidly. Plankton includes unicellular autotrophs that are microscopic in size. Tiny diatoms, crustaceans, and protozoans make up the plankton as well. Tiny animals, such as type of shrimp called krill and other small fishes, feed on the plankton. The carnivores include larger fishes, squid, seals, penguins, and other sea birds. Whales eat enormous numbers of krill. The top predators in this food chain are orcas, also known as killer whales. They mainly prey on penguins and seals.\",\n \"#e3f1e4\", \"#1f94e3\",\n [\n new Organism(\"Phytoplankton\", antarcticPhytoplankton, \"Plants\", Layer.NAMES.PRODUCERS, 5478 * 1000000, 0.00000146148229280759),\n new Organism(\"Squid\", antarcticSquid, \"Mollusks\", Layer.NAMES.FIRST, 1740, 0.142441860465116),\n new Organism(\"Herbivorous Fish\", antarcticHerbivorousFish, \"Fish\", Layer.NAMES.FIRST, 3764, 0.142441860465116),\n new Organism(\"Penguins\", antarcticPenguins, \"Birds\", Layer.NAMES.SECOND, 42, 0.140293637846656),\n new Organism(\"Carnivorous Fish\", antarcticCarnivorousFish, \"Fish\", Layer.NAMES.SECOND, 549, 0.140293637846656),\n new Organism(\"Seals\", antarcticSeals, \"Mammals\", Layer.NAMES.SECOND, 22, 0.140293637846656),\n new Organism(\"Killer Whales\", antarcticKillerWhales, \"Mammals\", Layer.NAMES.THIRD, 5, 1.4),\n ]));\n this._ecosystems.push(new Ecosystem(\"Freshwater Lake Ecosystem\",\n \"A freshwater ecosystem is distinguished from other aquatic ecosystems because of the water's extremely low salt content. It exists in various forms such as lakes, rivers, ponds, swamps, or wetlands such as the Florida everglades. Freshwater ecosystems are host to a wide variety of plants and animals. Lakes are divided into separate zones. The littoral zone, which is closest to the shore, is host to a wide variety of species because of its warm, shallow environment. It can include several species of algae, like diatoms, and rooted and floating aquatic plants such as water lilies and rushes. Herbivores are ducks, grazing snails, clams, insects, insect larvae and small fishes such as minnows. The animals living in the littoral zone are food for other creatures such as turtles, snakes, crustaceans (example: crayfish), and amphibians (example: frogs). The near-surface open water surrounded by the littoral zone is the limnetic zone. The limnetic zone is well lighted like the littoral zone. and is dominated by plankton. Plankton such as phytoplankton and zooplankton are small organisms that playa crucial role in the food chain. A variety of herbivorous and larger predator fish (example: bass and catfish) also occupy this zone. Plankton have short life spans. When they die, they fall into the deep water part of the ecosystem, the profundal zone. Little light penetrates all the way through the limnetic zone into the profundal zone. The decomposers live in the profundal zone.\",\n \"#e3f1e4\", \"#6bd276\",\n [\n new Organism(\"Algae\", lakeAlgae, \"Plants\", Layer.NAMES.PRODUCERS, 123000, 0.0609756097560976),\n new Organism(\"Water Insects\", lakeWaterInsects, \"Amphibians\", Layer.NAMES.FIRST, 1740, 0.324324324324324),\n new Organism(\"Ducks\", lakeDucks, \"Birds\", Layer.NAMES.FIRST, 7, 0.324324324324324),\n new Organism(\"Minnows\", lakeMinnows, \"Fish\", Layer.NAMES.FIRST, 547, 0.324324324324324),\n new Organism(\"Bass\", lakeBass, \"Fish\", Layer.NAMES.SECOND, 23, 1.47272727272727),\n new Organism(\"Frogs\", lakeFrogs, \"Amphibians\", Layer.NAMES.SECOND, 17, 1.47272727272727),\n new Organism(\"Crayfish\", lakeCrayfish, \"Arthropods\", Layer.NAMES.SECOND, 15, 1.47272727272727),\n new Organism(\"Herons\", lakeHerons, \"Birds\", Layer.NAMES.THIRD, 2, 4),\n ]));\n\n this._ecosystem = this._ecosystems[0];\n }\n\n get ecosystems(): Ecosystem[] {\n return this._ecosystems;\n }\n\n get ecosystem(): Ecosystem {\n return this._ecosystem;\n }\n\n get layers(): Layer[] {\n return this._layers.layers;\n }\n\n set ecosystem(value: Ecosystem) {\n this._ecosystem = value;\n this.reset();\n }\n\n moveOrganismToLayer(layer: Layer, organism: Organism) {\n let max;\n switch (layer.name) {\n case Layer.NAMES.THIRD:\n max = 4;\n break;\n case Layer.NAMES.SECOND:\n max = 7;\n break;\n case Layer.NAMES.FIRST:\n max = 7;\n break;\n case Layer.NAMES.PRODUCERS:\n default:\n max = 7;\n break;\n }\n\n if (layer.organisms.length < max) {\n layer.addOrganism(organism);\n }\n }\n\n removeOrganism(organism: Organism) {\n this._layers.removeOrganism(organism);\n }\n\n reset() {\n this._layers.reset();\n }\n\n check() {\n this._layers.layers.forEach(layer =>\n layer.organisms.forEach(organism =>\n organism.status = organism.layer === layer.name ? STATUS.GOOD : STATUS.BAD)\n );\n }\n\n organismAssigned(organism: Organism): boolean {\n let found = false;\n this.layers.forEach(layer =>\n layer.organisms.forEach(next => {\n if (organism.matches(next)) found = true;\n }));\n return found;\n }\n\n}\n\n\nexport class Ecosystem {\n\n private readonly _name: string;\n private readonly _description: string;\n private readonly _members: Organism[] = [];\n private readonly _background1: string;\n private readonly _background2: string;\n\n constructor(name: string, description: string, background1: string, background2: string, members: Organism[]) {\n this._name = name;\n this._description = description;\n this._members = members;\n this._background1 = background1;\n this._background2 = background2;\n }\n\n get background(): string {\n return `linear-gradient(${this._background1},${this._background2})`;\n }\n\n get name(): string {\n return this._name;\n }\n\n get description(): string {\n return this._description;\n }\n\n get members(): Organism[] {\n return this._members;\n }\n\n get categories(): Map {\n const map = new Map();\n this._members.forEach(next => {\n if (!map.has(next.category)) map.set(next.category, []);\n map.get(next.category).push(next);\n })\n return map;\n }\n\n}\n\nexport enum STATUS {\n GOOD,\n BAD,\n UNKNOWN\n}\n\nexport class Organism {\n\n private readonly _name: string;\n private readonly _image: string;\n private readonly _category: string;\n private readonly _layer: string;\n private readonly _count: number;\n private readonly _energyRatio: number;\n private _status: STATUS = STATUS.UNKNOWN;\n\n constructor(name: string, image: string, category: string, layer: string, count: number, energyRatio: number) {\n this._name = name;\n this._image = image;\n this._category = category;\n this._layer = layer;\n this._count = count;\n this._energyRatio = energyRatio;\n }\n\n get name(): string {\n return this._name;\n }\n\n get image(): string {\n return this._image;\n }\n\n get category(): string {\n return this._category;\n }\n\n get layer(): string {\n return this._layer;\n }\n\n get count(): number {\n return this._count;\n }\n\n get energyRatio(): number {\n return this._energyRatio;\n }\n\n get status(): STATUS {\n return this._status;\n }\n\n set status(value: STATUS) {\n this._status = value;\n }\n\n serialize(): string {\n return JSON.stringify(this);\n }\n\n static deserialize(json: string): Organism {\n const map = JSON.parse(json);\n return new Organism(map._name, map._image, map._category, map._layer, map._count, map._energyRatio);\n }\n\n matches(organism: Organism): boolean {\n return organism.name === this.name &&\n organism.category === this.category;\n }\n\n}\n\nexport class Layers {\n\n private _layers: Layer[] = [\n new Layer(Layer.NAMES.THIRD),\n new Layer(Layer.NAMES.SECOND),\n new Layer(Layer.NAMES.FIRST),\n new Layer(Layer.NAMES.PRODUCERS)\n ]\n\n get layers(): Layer[] {\n return this._layers;\n }\n\n reset() {\n this._layers.forEach(layer => layer.reset());\n }\n\n removeOrganism(organism: Organism) {\n this._layers.forEach(next => next.removeOrganism(organism));\n }\n\n}\n\nexport class Layer {\n\n public static readonly NAMES = {\n PRODUCERS: \"Producers\",\n FIRST: \"First Order Heterotrophs\",\n SECOND: \"Second Order Heterotrophs\",\n THIRD: \"Third Order Heterotrophs\"\n }\n\n private readonly _name: String;\n private _organisms: Organism[] = [];\n\n constructor(name: String) {\n this._name = name;\n }\n\n get name(): String {\n return this._name;\n }\n\n get organisms(): Organism[] {\n return this._organisms;\n }\n\n organismCount(): number {\n let count = 0;\n this.organisms.forEach(organism => {\n if (organism.status === STATUS.GOOD) count += organism.count;\n })\n return count;\n }\n\n private formatNumber(number: number): string {\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n\n formattedOrganismCount(): string {\n let text = this.formatNumber(this.organismCount());\n if (this.organismCount() > 1000000) {\n text = `${this.formatNumber(this.organismCount() / 1000 / 1000)} Million`\n }\n return text;\n }\n\n energyCount(): number {\n let count = 0;\n this.organisms.forEach(organism => {\n if (organism.status === STATUS.GOOD) count += organism.count * organism.energyRatio;\n })\n\n if (count < 1) {\n count = Math.round(count * 100) / 100;\n } else {\n count = Math.round(count)\n }\n return count;\n }\n\n formattedEnergyCount(): string {\n return this.formatNumber(this.energyCount());\n }\n\n addOrganism(organism: Organism) {\n organism.status = STATUS.UNKNOWN;\n this._organisms.push(organism);\n }\n\n removeOrganism(organism: Organism) {\n organism.status = STATUS.UNKNOWN;\n this._organisms.forEach(next => {\n if (next.matches(organism)) this._organisms.splice(this._organisms.indexOf(next), 1);\n })\n }\n\n reset() {\n this._organisms = [];\n }\n\n}","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EcosystemLab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EcosystemLab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EcosystemLab.vue?vue&type=template&id=f337f5d2&scoped=true\"\nimport script from \"./EcosystemLab.vue?vue&type=script&lang=js\"\nexport * from \"./EcosystemLab.vue?vue&type=script&lang=js\"\nimport style0 from \"./EcosystemLab.vue?vue&type=style&index=0&id=f337f5d2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f337f5d2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"Click and Clone\"}},[_c('div',{staticClass:\"wrapper\"},[_c('div',{ref:\"container\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClickAndClone.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClickAndClone.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClickAndClone.vue?vue&type=template&id=ad3922c4&scoped=true\"\nimport script from \"./ClickAndClone.vue?vue&type=script&lang=js\"\nexport * from \"./ClickAndClone.vue?vue&type=script&lang=js\"\nimport style0 from \"./ClickAndClone.vue?vue&type=style&index=0&id=ad3922c4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ad3922c4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"Space Doctor\"}},[_c('div',{staticClass:\"wrapper\"},[_c('div',{ref:\"container\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SpaceDoctor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SpaceDoctor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SpaceDoctor.vue?vue&type=template&id=35584f30&scoped=true\"\nimport script from \"./SpaceDoctor.vue?vue&type=script&lang=js\"\nexport * from \"./SpaceDoctor.vue?vue&type=script&lang=js\"\nimport style0 from \"./SpaceDoctor.vue?vue&type=style&index=0&id=35584f30&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35584f30\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"Kidney\"}},[_c('div',{staticClass:\"wrapper\"},[_c('div',{ref:\"container\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Kidney.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Kidney.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Kidney.vue?vue&type=template&id=e37d23bc&scoped=true\"\nimport script from \"./Kidney.vue?vue&type=script&lang=js\"\nexport * from \"./Kidney.vue?vue&type=script&lang=js\"\nimport style0 from \"./Kidney.vue?vue&type=style&index=0&id=e37d23bc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e37d23bc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"Scale of Universe\"}},[_c('div',{staticClass:\"wrapper\"},[_c('div',{ref:\"container\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScaleOfUniverse.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScaleOfUniverse.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ScaleOfUniverse.vue?vue&type=template&id=2f3e0e6c&scoped=true\"\nimport script from \"./ScaleOfUniverse.vue?vue&type=script&lang=js\"\nexport * from \"./ScaleOfUniverse.vue?vue&type=script&lang=js\"\nimport style0 from \"./ScaleOfUniverse.vue?vue&type=style&index=0&id=2f3e0e6c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2f3e0e6c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"How Osmosis Works\"}},[_c('div',{staticClass:\"wrapper\"},[_c('div',{ref:\"container\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HowOsmosisWorks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./HowOsmosisWorks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HowOsmosisWorks.vue?vue&type=template&id=69fd1c84&scoped=true\"\nimport script from \"./HowOsmosisWorks.vue?vue&type=script&lang=js\"\nexport * from \"./HowOsmosisWorks.vue?vue&type=script&lang=js\"\nimport style0 from \"./HowOsmosisWorks.vue?vue&type=style&index=0&id=69fd1c84&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69fd1c84\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"ATP and Energy Storage\"}},[_c('div',{staticClass:\"wrapper\"},[_c('div',{ref:\"container\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ATP.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ATP.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ATP.vue?vue&type=template&id=e332cddc&scoped=true\"\nimport script from \"./ATP.vue?vue&type=script&lang=js\"\nexport * from \"./ATP.vue?vue&type=script&lang=js\"\nimport style0 from \"./ATP.vue?vue&type=style&index=0&id=e332cddc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e332cddc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav-bar',{attrs:{\"subtitle\":\"Earthworm Dissection\"}},[_c('div',{staticClass:\"wrapper\"},[_c('div',{ref:\"container\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EarthWormSwf.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EarthWormSwf.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EarthWormSwf.vue?vue&type=template&id=3b781195&scoped=true\"\nimport script from \"./EarthWormSwf.vue?vue&type=script&lang=js\"\nexport * from \"./EarthWormSwf.vue?vue&type=script&lang=js\"\nimport style0 from \"./EarthWormSwf.vue?vue&type=style&index=0&id=3b781195&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3b781195\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport Home from '../views/Home.vue'\nimport PhotoLab from '../views/PhotoLab.vue'\nimport PhotoLabSwf from '../views/PhotoLabSwf.vue'\nimport EcosystemLab from '../views/EcosystemLab.vue'\nimport ClickAndClone from '../views/ClickAndClone.vue'\nimport SpaceDoctor from '../views/SpaceDoctor.vue'\nimport Kidney from '../views/Kidney.vue'\nimport ScaleOfUniverse from '../views/ScaleOfUniverse.vue'\nimport HowOsmosisWorks from '../views/HowOsmosisWorks.vue'\nimport ATP from '../views/ATP.vue'\nimport EarthWorm from '../views/EarthWormSwf.vue'\n\nVue.use(VueRouter);\n\nconst routes = [\n {path: '/', name: 'home', meta: {title: \"Driftless Science\"}, component: Home},\n {path: '/show-hidden', name: 'home-w-hidden', meta: {title: \"Driftless Science\"}, component: Home},\n {path: '/biology/photolab', name: 'photolab', meta: {title: \"Photo Lab\"}, component: PhotoLab},\n {path: '/biology/photolabswf', name: 'photolabswf', meta: {title: \"Photo Lab\"}, component: PhotoLabSwf},\n {path: '/biology/ecosystem', name: 'ecosystem', meta: {title: \"Ecosystem Lab\"}, component: EcosystemLab},\n {path: '/biology/kidney', name: 'kidney', meta: {title: \"Kidney\"}, component: Kidney},\n {path: '/biology/howosmosisworks', name: 'howosmosisworks', meta: {title: \"How Osmosis Works\"}, component: HowOsmosisWorks},\n {path: '/biology/atp', name: 'atp', meta: {title: \"ATP and Energy Storage\"}, component: ATP},\n {path: '/biology/earthworm', name: 'earthworm', meta: {title: \"Earthworm Dissection\"}, component: EarthWorm},\n {path: '/science/scaleofuniverse', name: 'scaleofuniverse', meta: {title: \"Scale of Universe\"}, component: ScaleOfUniverse},\n {path: '/genetics/clickclone', name: 'clickclone', meta: {title: \"Click and Clone\"}, component: ClickAndClone},\n {path: '/genetics/spacedoctor', name: 'spacedoctor', meta: {title: \"Space Doctor\"}, component: SpaceDoctor}\n];\n\nconst router = new VueRouter({\n mode: 'history',\n base: process.env.BASE_URL,\n routes\n});\n\nrouter.beforeEach((to, from, next) => {\n document.title = to?.meta?.title;\n next()\n});\n\nexport default router\n","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport Buefy from 'buefy'\n\nimport 'buefy/dist/buefy.css'\n\nVue.config.productionTip = false;\n\nVue.use(Buefy);\n\nnew Vue({\n router,\n render: h => h(App)\n}).$mount('#app');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkeducation_frontend\"] = self[\"webpackChunkeducation_frontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], () => (__webpack_require__(6965)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticRenderFns","name","data","window","ruffle","ruffleLoaded","mounted","loadRuffle","methods","script","document","createElement","src","body","appendChild","undefined","RufflePlayer","newest","setTimeout","_","getPlayer","self","Promise","resolve","_loop","createPlayer","component","staticClass","_v","attrs","_e","_s","subtitle","_t","props","type","String","components","NavBar","computed","showHidden","$route","style","zoom","calcZoom","noticeText","tempHeight","on","$event","showText","hideText","experiment","beaker","temperature","calcColor","light","color","intensity","_l","availableLightLevels","level","timer","getMinutes","startTimer","stopTimer","toggleCO2Level","co2Level","Timer","constructor","_defineProperty","Date","running","_start","_running","_end","toggleTimer","minutesDisplay","secondsDisplay","getSeconds","secondsBetween","pad","Math","floor","start","end","round","getTime","num","size","s","substr","length","Experiment","Beaker","Light","_timer","_beaker","_light","secondsSinceLastBubble","_lastBubble","rate","baseRate","generateBubble","_temperature","value","_co2Level","_intensity","_color","height","documentElement","clientHeight","text","amount","levels","i","push","refresh","$forceUpdate","triggerBubble","done","bubbles","getElementsByClassName","bubble","animationPlayState","display","beforeDestroy","ref","loadSwift","player","$parent","$refs","container","load","model","callback","$$v","showDescription","expression","ecosystem","description","reset","check","scopedSlots","_u","key","fn","active","next","background","layer","class","organismCount","formattedOrganismCount","formattedEnergyCount","organism","isGood","getStatusType","removeOrganism","split","word","onDrop","preventDefault","categories","keys","category","get","member","organismAssigned","startDrag","forestDeciduousTrees","require","forestBerryBushes","forestChickadees","forestChipmunks","forestDeer","forestFerns","forestFoxes","forestFrogs","forestGrasses","forestHawks","forestInsects","forestOpossums","forestOwls","forestRabbits","forestSnakes","forestToads","forestWildFlowers","forestWolves","forestWoodpeckers","desertCacti","desertCarnivorousLizards","desertCoyotes","desertHawks","desertHerbivorousLizards","desertInsects","desertKangarooRats","desertOcotillo","desertRabbitBrush","desertSageBrush","desertSnakes","desertTarantulas","desertWildFlowers","grasslandBuffalo","grasslandCoyotes","grasslandGoldfinches","grasslandGrasses","grasslandGrasshoppers","grasslandGrayPartridges","grasslandHawks","grasslandLupine","grasslandMilkweed","grasslandMonarchButterflies","grasslandPronghorns","grasslandRattleSnakes","antarcticCarnivorousFish","antarcticHerbivorousFish","antarcticKillerWhales","antarcticPenguins","antarcticPhytoplankton","antarcticSeals","antarcticSquid","lakeAlgae","lakeBass","lakeCrayfish","lakeDucks","lakeFrogs","lakeHerons","lakeMinnows","lakeWaterInsects","Layers","_ecosystems","Ecosystem","Organism","Layer","NAMES","PRODUCERS","FIRST","SECOND","THIRD","_ecosystem","ecosystems","layers","_layers","moveOrganismToLayer","max","organisms","addOrganism","forEach","status","STATUS","GOOD","BAD","found","matches","background1","background2","members","_name","_description","_members","_background1","_background2","map","Map","has","set","image","count","energyRatio","UNKNOWN","_image","_category","_layer","_count","_energyRatio","_status","serialize","JSON","stringify","deserialize","json","parse","_organisms","formatNumber","number","toString","replace","energyCount","splice","indexOf","dragging","drawLeftSize","drawRightSize","evt","dataTransfer","dropEffect","effectAllowed","setData","getData","canvas","context","getContext","beginPath","strokeStyle","lineWidth","lineJoin","moveTo","lineTo","stroke","Vue","use","VueRouter","routes","path","meta","title","Home","PhotoLab","PhotoLabSwf","EcosystemLab","Kidney","HowOsmosisWorks","ATP","EarthWorm","ScaleOfUniverse","ClickAndClone","SpaceDoctor","router","mode","base","process","beforeEach","to","from","config","productionTip","Buefy","h","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","Object","every","r","d","definition","o","defineProperty","enumerable","g","globalThis","Function","e","obj","prop","prototype","hasOwnProperty","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","bind","__webpack_exports__"],"sourceRoot":""}