{"version":3,"sources":["vendor/ember-cli/app-prefix.js","m12-2020/adapters/-json-api.js","m12-2020/adapters/application.js","m12-2020/adapters/projektdaten.js","m12-2020/adapters/x3ddefault.js","m12-2020/app.js","m12-2020/cldrs/en.js","m12-2020/component-managers/glimmer.js","m12-2020/components/appearanc-e.js","m12-2020/components/arctwo-d.js","m12-2020/components/bo-x.js","m12-2020/components/con-e.js","m12-2020/components/coordinat-e.js","m12-2020/components/cylinde-r.js","m12-2020/components/ember-jstree.js","m12-2020/components/extrusio-n.js","m12-2020/components/extrusion-erg.js","m12-2020/components/file-picker.js","m12-2020/components/fontstyl-e.js","m12-2020/components/gabel-lager.js","m12-2020/components/gabellager-masskette.js","m12-2020/components/indexedfaceset-erg.js","m12-2020/components/indexedlinese-t.js","m12-2020/components/indexedlineset-erg.js","m12-2020/components/materia-l.js","m12-2020/components/multiselect-box.js","m12-2020/components/schraub-e.js","m12-2020/components/schraube-n.js","m12-2020/components/schraubeextrusio-n.js","m12-2020/components/screw-tablehead.js","m12-2020/components/screw-tablerow.js","m12-2020/components/selectbox-item.js","m12-2020/components/shap-e.js","m12-2020/components/shape-erg.js","m12-2020/components/tex-t.js","m12-2020/components/text-erg.js","m12-2020/components/tooltip-fenster.js","m12-2020/components/transfor-m.js","m12-2020/components/transform-erg.js","m12-2020/components/viewpoin-t.js","m12-2020/components/welcome-page.js","m12-2020/components/x-tree-branch.js","m12-2020/components/x-tree-checkbox.js","m12-2020/components/x-tree-children.js","m12-2020/components/x-tree-collapsed-icon.js","m12-2020/components/x-tree-expanded-icon.js","m12-2020/components/x-tree-node.js","m12-2020/components/x-tree-toggle.js","m12-2020/components/x-tree.js","m12-2020/controllers/application.js","m12-2020/controllers/auflager.js","m12-2020/controllers/downloadcenter.js","m12-2020/controllers/ergebnis.js","m12-2020/controllers/gabellager.js","m12-2020/controllers/impressum.js","m12-2020/controllers/lasteinwirkung.js","m12-2020/controllers/optionen.js","m12-2020/controllers/projektdaten.js","m12-2020/controllers/supercontroller.js","m12-2020/controllers/traeger.js","m12-2020/controllers/verbindungsmittel.js","m12-2020/controllers/x3drenderer.js","m12-2020/data-adapter.js","m12-2020/formats.js","m12-2020/helpers/app-version.js","m12-2020/helpers/format-date.js","m12-2020/helpers/format-message.js","m12-2020/helpers/format-number.js","m12-2020/helpers/format-relative.js","m12-2020/helpers/format-time.js","m12-2020/helpers/pluralize.js","m12-2020/helpers/send.js","m12-2020/helpers/singularize.js","m12-2020/helpers/t.js","m12-2020/initializers/app-version.js","m12-2020/initializers/container-debug-adapter.js","m12-2020/initializers/ember-data-data-adapter.js","m12-2020/initializers/ember-data.js","m12-2020/initializers/export-application-global.js","m12-2020/initializers/model-locale.js","m12-2020/instance-initializers/ember-data.js","m12-2020/mixins/model-validator.js","m12-2020/mixins/object-validator.js","m12-2020/models/anschlussgeometrie.js","m12-2020/models/ansichtsvektoren.js","m12-2020/models/appearance.js","m12-2020/models/application.js","m12-2020/models/auflager.js","m12-2020/models/bauteil.js","m12-2020/models/boxsize.js","m12-2020/models/camera-property.js","m12-2020/models/cone.js","m12-2020/models/cylinder.js","m12-2020/models/diffusecolor.js","m12-2020/models/dimension.js","m12-2020/models/erweiterteeigenschaft.js","m12-2020/models/faserrichtungvektor.js","m12-2020/models/gabellager.js","m12-2020/models/lagewinkel.js","m12-2020/models/lasteinwirkung.js","m12-2020/models/masskette.js","m12-2020/models/optionen.js","m12-2020/models/orientation.js","m12-2020/models/orthovektor.js","m12-2020/models/platte.js","m12-2020/models/position.js","m12-2020/models/projektdaten.js","m12-2020/models/punkt.js","m12-2020/models/richtungsvektor.js","m12-2020/models/richtungsvektor0.js","m12-2020/models/rotation.js","m12-2020/models/schraube.js","m12-2020/models/screw-property.js","m12-2020/models/traeger.js","m12-2020/models/translation.js","m12-2020/models/verbindungsmittel.js","m12-2020/models/x3ddefault.js","m12-2020/router.js","m12-2020/routes/application.js","m12-2020/routes/auflager.js","m12-2020/routes/ergebnis.js","m12-2020/routes/gabellager.js","m12-2020/routes/lasteinwirkung.js","m12-2020/routes/optionen.js","m12-2020/routes/projektdaten.js","m12-2020/routes/traeger.js","m12-2020/routes/verbindungsmittel.js","m12-2020/serializers/-default.js","m12-2020/serializers/-json-api.js","m12-2020/serializers/-rest.js","m12-2020/services/intl.js","m12-2020/services/store.js","m12-2020/templates/application.js","m12-2020/templates/auflager.js","m12-2020/templates/components/appearanc-e.js","m12-2020/templates/components/appearance-erg.js","m12-2020/templates/components/arctwo-d.js","m12-2020/templates/components/con-e.js","m12-2020/templates/components/custom-input.js","m12-2020/templates/components/file-picker.js","m12-2020/templates/components/gabel-lager.js","m12-2020/templates/components/gabellager-masskette.js","m12-2020/templates/components/indexedfaceset-erg.js","m12-2020/templates/components/indexedlinese-t.js","m12-2020/templates/components/indexedlineset-erg.js","m12-2020/templates/components/language-select.js","m12-2020/templates/components/multiselect-box.js","m12-2020/templates/components/plz-autocomplete.js","m12-2020/templates/components/schraub-e.js","m12-2020/templates/components/schraube-n.js","m12-2020/templates/components/screw-tablehead.js","m12-2020/templates/components/screw-tablerow.js","m12-2020/templates/components/selectbox-item.js","m12-2020/templates/components/shap-e.js","m12-2020/templates/components/shape-erg.js","m12-2020/templates/components/tex-t.js","m12-2020/templates/components/text-erg.js","m12-2020/templates/components/transfor-m.js","m12-2020/templates/components/transform-erg.js","m12-2020/templates/downloadcenter.js","m12-2020/templates/ergebnis.js","m12-2020/templates/gabellager.js","m12-2020/templates/impressum.js","m12-2020/templates/lasteinwirkung.js","m12-2020/templates/optionen.js","m12-2020/templates/projektdaten.js","m12-2020/templates/traeger.js","m12-2020/templates/verbindungsmittel.js","m12-2020/transforms/boolean.js","m12-2020/transforms/date.js","m12-2020/transforms/number.js","m12-2020/transforms/string.js","m12-2020/translations/en-us.js","m12-2020/utils/intl/missing-message.js","vendor/ember-cli/app-suffix.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["'use strict';\n\n\n","define(\"m12-2020/adapters/-json-api\", [\"exports\", \"@ember-data/adapter/json-api\"], function (_exports, _jsonApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _jsonApi.default;\n    }\n  });\n});","define(\"m12-2020/adapters/application\", [\"exports\", \"@ember-data/adapter/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  class ApplicationAdapter extends _rest.default {}\n\n  _exports.default = ApplicationAdapter;\n});","define(\"m12-2020/adapters/projektdaten\", [\"exports\", \"@ember-data/adapter/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  class ApplicationAdapter extends _rest.default {}\n\n  _exports.default = ApplicationAdapter;\n});","define(\"m12-2020/adapters/x3ddefault\", [\"exports\", \"@ember-data/adapter/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  class ApplicationAdapter extends _rest.default {}\n\n  _exports.default = ApplicationAdapter;\n});","define(\"m12-2020/app\", [\"exports\", \"ember-resolver\", \"ember-load-initializers\", \"m12-2020/config/environment\"], function (_exports, _emberResolver, _emberLoadInitializers, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n  class App extends Ember.Application {\n    constructor(...args) {\n      super(...args);\n\n      _defineProperty(this, \"modulePrefix\", _environment.default.modulePrefix);\n\n      _defineProperty(this, \"podModulePrefix\", _environment.default.podModulePrefix);\n\n      _defineProperty(this, \"Resolver\", _emberResolver.default);\n    }\n\n  }\n\n  _exports.default = App;\n  (0, _emberLoadInitializers.default)(App, _environment.default.modulePrefix);\n});","define(\"m12-2020/cldrs/en\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  /*jslint eqeq: true*/\n  var _default = [{\n    \"locale\": \"en-US\",\n    \"parentLocale\": \"en\"\n  }, {\n    \"locale\": \"en\",\n    \"pluralRuleFunction\": function (n, ord) {\n      var s = String(n).split(\".\"),\n          v0 = !s[1],\n          t0 = Number(s[0]) == n,\n          n10 = t0 && s[0].slice(-1),\n          n100 = t0 && s[0].slice(-2);\n      if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";\n      return n == 1 && v0 ? \"one\" : \"other\";\n    },\n    \"fields\": {\n      \"year\": {\n        \"displayName\": \"year\",\n        \"relative\": {\n          \"0\": \"this year\",\n          \"1\": \"next year\",\n          \"-1\": \"last year\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} year\",\n            \"other\": \"in {0} years\"\n          },\n          \"past\": {\n            \"one\": \"{0} year ago\",\n            \"other\": \"{0} years ago\"\n          }\n        }\n      },\n      \"year-short\": {\n        \"displayName\": \"yr.\",\n        \"relative\": {\n          \"0\": \"this yr.\",\n          \"1\": \"next yr.\",\n          \"-1\": \"last yr.\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} yr.\",\n            \"other\": \"in {0} yr.\"\n          },\n          \"past\": {\n            \"one\": \"{0} yr. ago\",\n            \"other\": \"{0} yr. ago\"\n          }\n        }\n      },\n      \"month\": {\n        \"displayName\": \"month\",\n        \"relative\": {\n          \"0\": \"this month\",\n          \"1\": \"next month\",\n          \"-1\": \"last month\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} month\",\n            \"other\": \"in {0} months\"\n          },\n          \"past\": {\n            \"one\": \"{0} month ago\",\n            \"other\": \"{0} months ago\"\n          }\n        }\n      },\n      \"month-short\": {\n        \"displayName\": \"mo.\",\n        \"relative\": {\n          \"0\": \"this mo.\",\n          \"1\": \"next mo.\",\n          \"-1\": \"last mo.\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} mo.\",\n            \"other\": \"in {0} mo.\"\n          },\n          \"past\": {\n            \"one\": \"{0} mo. ago\",\n            \"other\": \"{0} mo. ago\"\n          }\n        }\n      },\n      \"day\": {\n        \"displayName\": \"day\",\n        \"relative\": {\n          \"0\": \"today\",\n          \"1\": \"tomorrow\",\n          \"-1\": \"yesterday\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} day\",\n            \"other\": \"in {0} days\"\n          },\n          \"past\": {\n            \"one\": \"{0} day ago\",\n            \"other\": \"{0} days ago\"\n          }\n        }\n      },\n      \"day-short\": {\n        \"displayName\": \"day\",\n        \"relative\": {\n          \"0\": \"today\",\n          \"1\": \"tomorrow\",\n          \"-1\": \"yesterday\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} day\",\n            \"other\": \"in {0} days\"\n          },\n          \"past\": {\n            \"one\": \"{0} day ago\",\n            \"other\": \"{0} days ago\"\n          }\n        }\n      },\n      \"hour\": {\n        \"displayName\": \"hour\",\n        \"relative\": {\n          \"0\": \"this hour\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} hour\",\n            \"other\": \"in {0} hours\"\n          },\n          \"past\": {\n            \"one\": \"{0} hour ago\",\n            \"other\": \"{0} hours ago\"\n          }\n        }\n      },\n      \"hour-short\": {\n        \"displayName\": \"hr.\",\n        \"relative\": {\n          \"0\": \"this hour\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} hr.\",\n            \"other\": \"in {0} hr.\"\n          },\n          \"past\": {\n            \"one\": \"{0} hr. ago\",\n            \"other\": \"{0} hr. ago\"\n          }\n        }\n      },\n      \"minute\": {\n        \"displayName\": \"minute\",\n        \"relative\": {\n          \"0\": \"this minute\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} minute\",\n            \"other\": \"in {0} minutes\"\n          },\n          \"past\": {\n            \"one\": \"{0} minute ago\",\n            \"other\": \"{0} minutes ago\"\n          }\n        }\n      },\n      \"minute-short\": {\n        \"displayName\": \"min.\",\n        \"relative\": {\n          \"0\": \"this minute\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} min.\",\n            \"other\": \"in {0} min.\"\n          },\n          \"past\": {\n            \"one\": \"{0} min. ago\",\n            \"other\": \"{0} min. ago\"\n          }\n        }\n      },\n      \"second\": {\n        \"displayName\": \"second\",\n        \"relative\": {\n          \"0\": \"now\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} second\",\n            \"other\": \"in {0} seconds\"\n          },\n          \"past\": {\n            \"one\": \"{0} second ago\",\n            \"other\": \"{0} seconds ago\"\n          }\n        }\n      },\n      \"second-short\": {\n        \"displayName\": \"sec.\",\n        \"relative\": {\n          \"0\": \"now\"\n        },\n        \"relativeTime\": {\n          \"future\": {\n            \"one\": \"in {0} sec.\",\n            \"other\": \"in {0} sec.\"\n          },\n          \"past\": {\n            \"one\": \"{0} sec. ago\",\n            \"other\": \"{0} sec. ago\"\n          }\n        }\n      }\n    },\n    \"numbers\": {\n      \"decimal\": {\n        \"long\": [[1000, {\n          \"one\": [\"0 thousand\", 1],\n          \"other\": [\"0 thousand\", 1]\n        }], [10000, {\n          \"one\": [\"00 thousand\", 2],\n          \"other\": [\"00 thousand\", 2]\n        }], [100000, {\n          \"one\": [\"000 thousand\", 3],\n          \"other\": [\"000 thousand\", 3]\n        }], [1000000, {\n          \"one\": [\"0 million\", 1],\n          \"other\": [\"0 million\", 1]\n        }], [10000000, {\n          \"one\": [\"00 million\", 2],\n          \"other\": [\"00 million\", 2]\n        }], [100000000, {\n          \"one\": [\"000 million\", 3],\n          \"other\": [\"000 million\", 3]\n        }], [1000000000, {\n          \"one\": [\"0 billion\", 1],\n          \"other\": [\"0 billion\", 1]\n        }], [10000000000, {\n          \"one\": [\"00 billion\", 2],\n          \"other\": [\"00 billion\", 2]\n        }], [100000000000, {\n          \"one\": [\"000 billion\", 3],\n          \"other\": [\"000 billion\", 3]\n        }], [1000000000000, {\n          \"one\": [\"0 trillion\", 1],\n          \"other\": [\"0 trillion\", 1]\n        }], [10000000000000, {\n          \"one\": [\"00 trillion\", 2],\n          \"other\": [\"00 trillion\", 2]\n        }], [100000000000000, {\n          \"one\": [\"000 trillion\", 3],\n          \"other\": [\"000 trillion\", 3]\n        }]],\n        \"short\": [[1000, {\n          \"one\": [\"0K\", 1],\n          \"other\": [\"0K\", 1]\n        }], [10000, {\n          \"one\": [\"00K\", 2],\n          \"other\": [\"00K\", 2]\n        }], [100000, {\n          \"one\": [\"000K\", 3],\n          \"other\": [\"000K\", 3]\n        }], [1000000, {\n          \"one\": [\"0M\", 1],\n          \"other\": [\"0M\", 1]\n        }], [10000000, {\n          \"one\": [\"00M\", 2],\n          \"other\": [\"00M\", 2]\n        }], [100000000, {\n          \"one\": [\"000M\", 3],\n          \"other\": [\"000M\", 3]\n        }], [1000000000, {\n          \"one\": [\"0B\", 1],\n          \"other\": [\"0B\", 1]\n        }], [10000000000, {\n          \"one\": [\"00B\", 2],\n          \"other\": [\"00B\", 2]\n        }], [100000000000, {\n          \"one\": [\"000B\", 3],\n          \"other\": [\"000B\", 3]\n        }], [1000000000000, {\n          \"one\": [\"0T\", 1],\n          \"other\": [\"0T\", 1]\n        }], [10000000000000, {\n          \"one\": [\"00T\", 2],\n          \"other\": [\"00T\", 2]\n        }], [100000000000000, {\n          \"one\": [\"000T\", 3],\n          \"other\": [\"000T\", 3]\n        }]]\n      }\n    }\n  }];\n  _exports.default = _default;\n});","define(\"m12-2020/component-managers/glimmer\", [\"exports\", \"@glimmer/component/-private/ember-component-manager\"], function (_exports, _emberComponentManager) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberComponentManager.default;\n    }\n  });\n});","define(\"m12-2020/components/appearanc-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Appearance = Ember.Component.extend({\n    tagName: 'appearance',\n    layoutName: 'appearanc-e',\n    attributeBindings: ['sorttype'],\n    sorttype: \"auto\"\n  });\n  var _default = Appearance;\n  _exports.default = _default;\n});","define(\"m12-2020/components/arctwo-d\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Transform = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'arctwo-d',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['testClassNameXXX'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    translation: Ember.computed('model.firstObject.{hWinkel,vWinkel}', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var cords;\n\n      if (name === 'hWinkel') {\n        cords = '0 0 0';\n      } else if (name === 'vWinkel') {\n        var ursprungsradius = 3;\n        var winkel = Math.PI / 2 - Number(m06.objectAt(0).get('hWinkel')) * Math.PI / 180; // var hypolaenge = ursprungsradius/(Math.cos(winkel));\n        // var hypodelta = ursprungsradius - hypolaenge;\n\n        var xVerschiebung = Math.cos(winkel) * ursprungsradius - ursprungsradius;\n        var zVerschiebung1 = -xVerschiebung * Math.tan(winkel);\n        cords = xVerschiebung + ' 0 ' + zVerschiebung1; //console.log(m06.objectAt(0).get('hWinkel') +' '+ winkel +' '+ xVerschiebung +' '+ zVerschiebung1);\n      }\n\n      return cords;\n    }),\n    rotation: Ember.computed('model.firstObject.{hWinkel,vWinkel}', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var values;\n\n      if (name === 'hWinkel') {\n        values = '1 0 0 -1.5707';\n      } else if (name === 'vWinkel') {\n        var winkel = 1.5707 - Number(m06.objectAt(0).get('hWinkel')) * Math.PI / 180;\n        values = '0 1 0 ' + winkel;\n      }\n\n      return values;\n    }),\n    anfangsWinkel: Ember.computed('model.firstObject.{hWinkel,vWinkel}', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var value;\n\n      if (name === 'hWinkel') {\n        var hwinkel = Number(m06.objectAt(0).get('hWinkel'));\n        value = 4.7107 - hwinkel * Math.PI / 180;\n      } else if (name === 'vWinkel') {\n        value = 3.14;\n      }\n\n      return value;\n    }),\n    endWinkel: Ember.computed('model.firstObject.{hWinkel,vWinkel}', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var value;\n\n      if (name === 'hWinkel') {\n        value = 4.7107;\n      } else if (name === 'vWinkel') {\n        var vwinkel = Number(m06.objectAt(0).get('vWinkel'));\n        value = Math.PI + vwinkel * Math.PI / 180;\n      }\n\n      return value;\n    }),\n    radius: Ember.computed('model.firstObject.{hWinkel,hWinkelAktiv}', function () {\n      var name = this.get('name');\n      var value = 4.7107;\n\n      if (name === 'hWinkel') {\n        value = 1.5;\n      } else if (name === 'vWinkel') {\n        value = 3;\n      }\n\n      return value;\n    }),\n    emissivecolor: Ember.computed('model.firstObject.{hWinkelAktiv,vWinkelAktiv}', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var emsvcolor = '0 0 0';\n\n      if (m06.objectAt(0).get('hWinkelAktiv') === true && name === 'hWinkel') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (m06.objectAt(0).get('vWinkelAktiv') === true && name === 'vWinkel') {\n        emsvcolor = '1 0 0';\n      }\n\n      return emsvcolor;\n    })\n  });\n  var _default = Transform;\n  _exports.default = _default;\n});","define(\"m12-2020/components/bo-x\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Box = Ember.Component.extend({\n    tagName: 'box',\n    attributeBindings: ['size', 'solid', 'ccw', 'usegeocache', 'lit'],\n    solid: true,\n    ccw: true,\n    usegeocache: true,\n    lit: true,\n    size: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var bauteile = m06.m06default.objectAt(0).get('bauteile');\n      var values;\n      bauteile.forEach(function (item, index) {\n        if (item.id === name) {\n          values = bauteile.objectAt(index).get('boxsizes').objectAt(0).get('x') + \" \" + bauteile.objectAt(index).get('boxsizes').objectAt(0).get('y') + \" \" + bauteile.objectAt(index).get('boxsizes').objectAt(0).get('z');\n        }\n      });\n      return values;\n    })\n  });\n  var _default = Box;\n  _exports.default = _default;\n});","define(\"m12-2020/components/con-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Cone = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'con-e',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: [''],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    translation: Ember.computed('foobar', function () {\n      return '0 -0.1 0';\n    }),\n    rotation: Ember.computed('foobar', function () {\n      return '0 0 0 3.14159';\n    }),\n    coneTagID: Ember.computed('foobar', function () {\n      return 'SpitzeLastenpfeil';\n    }),\n    coneBottomradius: Ember.computed('foobar', function () {\n      return '0.075';\n    }),\n    coneHeight: Ember.computed('foobar', function () {\n      return '0.2';\n    }),\n    emissivecolor: Ember.computed('model.firstObject.{htbreiteAktiv,hthoeheAktiv,ntbreiteAktiv,nthoeheAktiv,hWinkelAktiv,vWinkelAktiv,bemessungslastAktiv}', function () {\n      var name = this.get('name');\n      var x3ddefault = this.get('model');\n      var emsvcolor = '0 0 0';\n\n      if (x3ddefault.objectAt(0).get('bemessungslastAktiv') === true && name === 'lastenPfeil') {\n        emsvcolor = '1 0 0';\n      }\n\n      return emsvcolor;\n    })\n  });\n  var _default = Cone;\n  _exports.default = _default;\n});","define(\"m12-2020/components/coordinat-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Coordinate = Ember.Component.extend({\n    tagName: 'coordinate',\n    attributeBindings: ['point'],\n    point: Ember.computed('model.x3ddefault.bauteile', function () {\n      var name = this.get('name');\n      var bauteile = this.get('model.x3ddefault.bauteile');\n      var values;\n      var item = bauteile.findBy('id', name);\n      values = item.punkt.p1 + \" \" + item.punkt.p2 + \" \" + item.punkt.p3 + \" \" + item.punkt.p4;\n      return values;\n    })\n  });\n  var _default = Coordinate;\n  _exports.default = _default;\n});","define(\"m12-2020/components/cylinde-r\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Cylinder = Ember.Component.extend({\n    tagName: 'cylinder'\n  });\n  var _default = Cylinder;\n  _exports.default = _default;\n});","define(\"m12-2020/components/ember-jstree\", [\"exports\", \"ember-cli-jstree/components/ember-jstree\"], function (_exports, _emberJstree) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberJstree.default;\n    }\n  });\n});","define(\"m12-2020/components/extrusio-n\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Extrusion = Ember.Component.extend({\n    tagName: 'extrusion',\n    attributeBindings: ['endCap', 'solid', 'creaseAngle', 'crosssection', 'orientation', 'scale', 'spine'],\n    endCap: true,\n    solid: true,\n    ispickable: \"0\",\n    creaseAngle: 7,\n    //crossection beschreibt die zu extrodierende Grundform in der xz-Ebene\n    crosssection: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var values = false;\n      var x;\n      var z;\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === \"box\") {\n        x = item.get('boxsizes').objectAt(0).get('x') / 10;\n        z = item.get('boxsizes').objectAt(0).get('z') / 10;\n        values = '[(' + -x / 2 + ',' + -z / 2 + '),(' + -x / 2 + ',' + z / 2 + '),(' + x / 2 + ',' + z / 2 + '),(' + x / 2 + ',' + -z / 2 + '),(' + -x / 2 + ',' + -z / 2 + ')]';\n      }\n\n      return values;\n    }),\n    //orientation beschreibt die Richtung in der die Extrusion erfolgt\n    //Wird die Extrusion in mehreren Schritten/Stufen durchgeführt, ist die Richtung für jede Stufe anzugeben.\n    orientation: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var values = '0 1 0 0, 0 1 0 0';\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === \"box\") {\n        values = '[(0,0,0,1)]';\n      }\n\n      return values;\n    }),\n    //scale beschreibt die Skalierung der Grundfläche während eines Extrusionschritts\n    //Wird die Extrusion in mehreren Schritten/Stufen durchgeführt, ist die Skalierung für jeden Schritt/Stufe anzugeben.\n    scale: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var values = '0 0, 0.025 0.025, 0.05 0.05, 0.07 0.07';\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === \"box\") {\n        values = '[(1,1)]';\n      }\n\n      return values;\n    }),\n    //spine beschreibt die Länge der Extrusion in y-Richtung\n    //Die Extrusion kann in mehreren Schritten/Stufen erfolgen\n    spine: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var values = '0 0 0';\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === \"box\") {\n        var y = item.get('boxsizes').objectAt(0).get('y') / 10;\n\n        if (name.substring(0, 17) === 'traufkonstruktion') {\n          this.get('model').objectAt(0).get('bauteile').findBy('id', 'sparren1').get('boxsizes').objectAt(0).get('y') / 10;\n        }\n\n        values = '[(0,0,0), (0 ' + y + ' 0)]';\n      }\n\n      return values;\n    })\n  });\n  var _default = Extrusion;\n  _exports.default = _default;\n});","define(\"m12-2020/components/extrusion-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Extrusion = Ember.Component.extend({\n    tagName: 'extrusion',\n    attributeBindings: ['endCap', 'solid', 'creaseAngle', 'crosssection', 'orientation', 'scale', 'spine'],\n    endCap: true,\n    solid: true,\n    ispickable: \"0\",\n    creaseAngle: 7,\n    schraubenLaenge: function () {\n      // Die Schraubenänge sollte ein vielfaches von 6 sein\n      // da eine Schraubenumdrehung aus 6 Stufen besteht\n      var name = this.get('name');\n      var bauteile = this.get('model').objectAt(0).get('bauteile');\n      var x = 0;\n      x = bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('length');\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n      var headID = Number(item.get('screwProperties').objectAt(0).get('headformID'));\n\n      if ((headID === 1 || headID === 2 || headID === 3 || headID === 7 || headID === 10 || headID === 11) && Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('headheight')) >= 0.2) {} else if (Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('headheight')) < 0.2) {\n        x = x + 0.05;\n      } else {\n        x = x - Number(item.get('screwProperties').objectAt(0).get('headheight'));\n      }\n\n      return Math.abs(x);\n    },\n    //crossection beschreibt die zu extrodierende Grundform in der xz-Ebene\n    crosssection: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var values = false;\n      var x;\n      var y;\n      var z;\n\n      if (name === 'queranschluss2') {\n        name = 'queranschluss1';\n      }\n\n      var item = bauteile.findBy('id', name);\n\n      if (item.get('typ') === \"box\") {\n        x = item.get('boxsizes').objectAt(0).get('x') / 10;\n        y = item.get('boxsizes').objectAt(0).get('y') / 10;\n        z = item.get('boxsizes').objectAt(0).get('z') / 10;\n        var deltaXht = 0;\n        var deltaXnt = 0;\n        var xMittelbauteil = 0;\n        var xSeitenbauteil = 0;\n        var ueberstand = 2;\n        var x1 = 0,\n            x2 = 0;\n        var verstaerkung = 0;\n\n        if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === false) {\n          verstaerkung = Number(x3d.get('dickeBlass'));\n        } else if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === true) {\n          verstaerkung = Number(x3d.get('dickeWerner'));\n        }\n\n        switch (name) {\n          case 'nebenTraeger':\n            // x = 2.5*bauteile.findBy('id', 'queranschluss1').get('boxsizes').objectAt(0).get('x')/10;\n            deltaXnt = Math.abs(x3d.get('xSeitenbauteil') / 10) + ueberstand;\n            xMittelbauteil = Math.abs(x3d.get('xMittelbauteil') / 10);\n            break;\n\n          case 'hauptTraeger1':\n            deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n            xSeitenbauteil = Math.abs(x3d.get('xSeitenbauteil') / 10);\n            break;\n\n          case 'hauptTraeger2':\n            deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n            xSeitenbauteil = Math.abs(x3d.get('xSeitenbauteil') / 10);\n            break;\n\n          case 'verstaerkungBlass1':\n            deltaXnt = Math.abs(x3d.get('xSeitenbauteil') / 10) + ueberstand;\n            xMittelbauteil = Math.abs(x3d.get('xMittelbauteil') / 10);\n            z = verstaerkung / 10;\n            break;\n\n          case 'verstaerkungBlass2':\n            deltaXnt = Math.abs(x3d.get('xSeitenbauteil') / 10) + ueberstand;\n            xMittelbauteil = Math.abs(x3d.get('xMittelbauteil') / 10);\n            z = verstaerkung / 10;\n            break;\n\n          case 'verstaerkungWerner1':\n            deltaXnt = Math.abs(x3d.get('xSeitenbauteil') / 10) + ueberstand;\n            xMittelbauteil = Math.abs(x3d.get('xMittelbauteil') / 10);\n            z = verstaerkung / 10;\n            break;\n\n          case 'verstaerkungWerner2':\n            deltaXnt = Math.abs(x3d.get('xSeitenbauteil') / 10) + ueberstand;\n            xMittelbauteil = Math.abs(x3d.get('xMittelbauteil') / 10);\n            z = verstaerkung / 10;\n            break;\n        }\n\n        values = '[(' + (-deltaXnt - xSeitenbauteil) + ',' + -z / 2 + '),(' + (-deltaXnt - xSeitenbauteil) + ',' + z / 2 + '),(' + (deltaXht + xMittelbauteil) + ',' + z / 2 + '),(' + (deltaXht + xMittelbauteil) + ',' + -z / 2 + '),(' + (-deltaXnt - xSeitenbauteil) + ',' + -z / 2 + ')]';\n      }\n\n      if (name.substring(0, 8) === 'schraube' || item.get('typ') === \"verbindungsmittel\") {\n        var schraubenDurchmesser = bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('diameter') * 0.5;\n        var kopfformID = parseInt(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('headformID'));\n        x = schraubenDurchmesser / 2;\n\n        if (kopfformID === 3) {\n          var x2 = schraubenDurchmesser * Math.cos(1.0472) / 2;\n          z = schraubenDurchmesser * Math.sin(1.0472) / 2;\n          values = [-x, 0, -x2, z, x2, z, x, 0, x2, -z, -x2, -z, -x, 0].toString();\n        } else {\n          var x2 = schraubenDurchmesser * Math.cos(0.5236) / 2;\n          var x3 = schraubenDurchmesser * Math.cos(1.0472) / 2;\n          var z2 = schraubenDurchmesser * Math.sin(0.5236) / 2;\n          var z3 = schraubenDurchmesser * Math.sin(1.0472) / 2;\n          z = x * 0.5 - 0.05;\n          values = [-x, 0, -x2, z2, -x3, z3, 0, x, x3, z3, x2, z2, x, 0, x2, -z2, x3, -z3, 0, -x, -x3, -z3, -x2, -z2, -x, 0].toString();\n        }\n      } else if (name === 'bBox') {\n        values = [-x / 2, -z / 2, -x / 2, z / 2, y / 2, z / 2, x / 2, -z / 2, -x / 2, -z / 2].toString();\n      }\n\n      return values;\n    }),\n    //orientation beschreibt die Richtung in der die Extrusion erfolgt\n    //Wird die Extrusion in mehreren Schritten/Stufen durchgeführt, ist die Richtung für jede Stufe anzugeben.\n    orientation: function () {\n      var name = this.get('name');\n\n      if (name === 'queranschluss2') {\n        name = 'queranschluss1';\n      }\n\n      var x3ddefault = this.get('model');\n      var bauteile = x3ddefault.objectAt(0).get('bauteile');\n      var values = '0 1 0 0, 0 1 0 0';\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === \"box\") {\n        values = '[(0,0,0,1)]';\n      }\n\n      if ((name.substring(0, 8) === 'schraube' || item.get('typ') === \"verbindungsmittel\") && Number(item.get('screwProperties').objectAt(0).get('headheight')) >= 0.2) {\n        var l = Number(this.schraubenLaenge());\n        var delta = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter') / 40;\n        var stufen = Math.floor(l / (10 * delta));\n\n        if (stufen % 2 !== 0) {\n          stufen = stufen + 1;\n        }\n\n        var sum = 0;\n\n        for (var i = 0; i < stufen / 6; i++) {\n          for (var j = 1; j < 7; j++) {\n            sum = sum + 1;\n\n            if ((sum + 2) * delta > Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthtip')) / 10) {\n              if (sum * delta > l / 10 - Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthhead')) / 10) {\n                //Rotationswerte für das Gewinde unter dem Kopf\n                values = values + ', 0 1 0 ' + j * 1.047;\n              } else {\n                //Rotationswerte für den Schafft - im Schaftbereich keine Rotation, daher 0\n                values = values + ', 0 1 0 0';\n              }\n            } else {\n              //Rotationswerte für das Gewinde an der Spitze\n              values = values + ', 0 1 0 ' + j * 1.047;\n            }\n\n            if (sum === stufen) {\n              break;\n            }\n\n            ;\n          }\n        }\n\n        values = values + ', 0 1 0 0';\n      }\n\n      return values;\n    }.property('model.firstObject.transformHelper'),\n    //scale beschreibt die Skalierung der Grundfläche während eines Extrusionschritts\n    //Wird die Extrusion in mehreren Schritten/Stufen durchgeführt, ist die Skalierung für jeden Schritt/Stufe anzugeben.\n    scale: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n\n      if (name === 'queranschluss2') {\n        name = 'queranschluss1';\n      }\n\n      var x3ddefault = this.get('model');\n      var bauteile = x3ddefault.objectAt(0).get('bauteile');\n      var values = '0 0, 0.025 0.025, 0.05 0.05, 0.07 0.07';\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === \"box\") {\n        values = '[(1,1)]';\n      }\n\n      if (name.substring(0, 8) === 'schraube' && Number(item.get('screwProperties').objectAt(0).get('headheight')) >= 0.2 || item.get('typ') === \"verbindungsmittel\" && Number(item.get('screwProperties').objectAt(0).get('headheight')) >= 0.2) {\n        var l = Number(this.schraubenLaenge());\n        var delta = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter') / 40;\n        var stufen = Math.floor(l / (10 * delta));\n\n        if (stufen % 2 !== 0) {\n          stufen = stufen + 1;\n        }\n\n        for (var i = 0; i < stufen; i++) {\n          if ((i + 4) * delta > Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthtip')) / 10) {\n            if ((i + 4) * delta > l / 10 - Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthhead')) / 10 && (i + 4) * delta < Number(this.schraubenLaenge() / 10)) {\n              //Skalierungswerte für das Gewinde unter dem Kopf\n              if (i % 2 !== 0) {\n                values = values + ', 0.0975 0.0975';\n              } else {\n                values = values + ', 0.2 0.2';\n              }\n            } else {\n              //Skalierungswerte für den Schaft\n              values = values + ', 0.125 0.125';\n            }\n          } else {\n            //Skalierungswerte für das Gewinde an der Spitze\n            if ((i + 4) * delta < Number(this.schraubenLaenge() / 10)) {\n              if (i % 2 !== 0) {\n                values = values + ', 0.0975 0.0975';\n              } else {\n                values = values + ', 0.2 0.2';\n              }\n            } else {\n              //Skalierungswerte für den Kopfanfang\n              values = values + ', 0.125 0.125';\n            }\n          }\n        } //Mittels des kopfskalierungsfakrors wird der Durchmesser der Schraue an den Durchmesser des Kopfes angepasst\n\n\n        var headdiameter = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headdiameter') / 4;\n        var screwdiameter = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter');\n        var kopfformID = parseInt(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headformID'));\n        var kopffomSkalWerte = ''; //Entsprechend der Kopfformid kann der Schraubenkopf über max 7 Stufen extrodiert werden\n\n        switch (kopfformID) {\n          //Linsensenkkopf\n          case 0:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + 0.75 * headdiameter + ' ' + 0.75 * headdiameter;\n            break;\n          //PanHead\n\n          case 1:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.75 * headdiameter) + ' ' + Number(0.75 * headdiameter);\n            break;\n          //Scheibenkopf\n\n          case 2:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.6 * headdiameter) + ' ' + Number(0.6 * headdiameter) + ', ' + Number(0.5 * headdiameter) + ' ' + Number(0.5 * headdiameter) + ', ' + Number(0.4 * headdiameter) + ' ' + Number(0.4 * headdiameter);\n            break;\n          //Sechskantkopf\n\n          case 3:\n            kopffomSkalWerte = Number(headdiameter) + ' ' + Number(headdiameter) + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter;\n            break;\n          //Senkfräskopf\n\n          case 4:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter;\n            break;\n          //Senkkopf\n\n          case 5:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter;\n            break;\n          //Zylinderkopf\n\n          case 6:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + 0.9 * headdiameter + ' ' + 0.9 * headdiameter;\n            break;\n          //Tellerkopf\n\n          case 7:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.6 * headdiameter) + ' ' + Number(0.6 * headdiameter) + ', ' + Number(0.5 * headdiameter) + ' ' + Number(0.5 * headdiameter) + ', ' + Number(0.4 * headdiameter) + ' ' + Number(0.4 * headdiameter);\n            break;\n          //Senkkopf HSP\n\n          case 8:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter;\n            break;\n          //Birnenkopf\n\n          case 9:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + 0.85 * headdiameter + ' ' + 0.85 * headdiameter + ', ' + 0.75 * headdiameter + ' ' + 0.75 * headdiameter;\n            break;\n          //Außentorx\n\n          case 10:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.7 * headdiameter) + ' ' + Number(0.7 * headdiameter) + ', ' + Number(0.675 * headdiameter) + ' ' + Number(0.675 * headdiameter);\n            break;\n          //Scheibenkopf Form 2\n\n          case 11:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.6 * headdiameter) + ' ' + Number(0.6 * headdiameter) + ', ' + Number(0.5 * headdiameter) + ' ' + Number(0.5 * headdiameter) + ', ' + Number(0.4 * headdiameter) + ' ' + Number(0.4 * headdiameter);\n            break;\n          //ohne Kopf\n\n          case 99:\n            break;\n          //KlammerRueckenNormal\n\n          case 98:\n            break;\n          //KlammerRueckenBreit\n\n          case 97:\n            break;\n        }\n\n        values = values + ', ' + kopffomSkalWerte;\n      } else if (name.substring(0, 8) === 'schraube' && Number(item.get('screwProperties').objectAt(0).get('headheight')) < 0.2 || item.get('typ') === \"verbindungsmittel\" && Number(item.get('screwProperties').objectAt(0).get('headheight')) < 0.2) {\n        var l = Number(this.schraubenLaenge());\n        var delta = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter') / 2;\n        var stufen = Math.floor(l / delta - 4);\n\n        for (var i = 0; i < stufen; i++) {\n          if ((i + 4) * (delta / 10) > Number(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthtip')) / 10) {\n            if ((i + 4) * (delta / 10) > (l - Number(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthhead'))) / 10) {\n              //Skalierungswerte für das Gewinde unter dem Kopf\n              values = values + ', 0.175 0.175, 0.2 0.2';\n            } else {\n              //Skalierungswerte für den Schaft\n              values = values + ', 0.195 0.195, 0.195 0.195';\n            }\n          } else {\n            //Skalierungswerte für das Gewinde an der Spitze\n            values = values + ', 0.175 0.175, 0.2 0.2';\n          }\n        } //Mittels des kopfskalierungsfaktors wird der Durchmesser der Schraue an den Durchmesser des Kopfes angepasst\n\n\n        var headdiameter = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headdiameter');\n        var screwdiameter = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter');\n        var kopfskalierungsfaktor = 0.2 * headdiameter / screwdiameter;\n        var kopfformID = parseInt(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headformID'));\n        var kopffomSkalWerte = '';\n        kopffomSkalWerte = 0.2 + ' ' + 0.2 + ', ' + 0.2 + ' ' + 0.2 + ', ' + 0.2 + ' ' + 0.2 + ', ' + 0.2 + ' ' + 0.2 + ', ' + Number(kopfskalierungsfaktor) + ' ' + Number(kopfskalierungsfaktor) + ', ' + Number(kopfskalierungsfaktor) + ' ' + Number(kopfskalierungsfaktor) + ', ' + Number(kopfskalierungsfaktor) + ' ' + Number(kopfskalierungsfaktor);\n        values = values + ', ' + kopffomSkalWerte;\n      }\n\n      return values;\n    }),\n    //spine beschreibt die Länge der Extrusion in y-Richtung\n    //Die Extrusion kann in mehreren Schritten/Stufen erfolgen\n    spine: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n\n      if (name === 'queranschluss2') {\n        name = 'queranschluss1';\n      }\n\n      var x3ddefault = this.get('model');\n      var bauteile = x3ddefault.objectAt(0).get('bauteile');\n      var values = '0 0 0';\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === \"box\") {\n        var y = item.get('boxsizes').objectAt(0).get('y') / 10;\n        values = '[(0,0,0), (0 ' + y + ' 0)]';\n      }\n\n      if (name.substring(0, 8) === 'schraube' || item.get('typ') === \"verbindungsmittel\") {\n        var x = 0;\n        var y = 0;\n        var z = 0; //Länge der Stufen der Extursion\n        //Länge der Schraube = Länge der Stufen * Stufen\n\n        var delta = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter') / 40; //Sufen der Extursion\n\n        var stufen = Math.floor(Number(this.schraubenLaenge() / (10 * delta)));\n\n        if (stufen % 2 !== 0) {\n          stufen = stufen + 1;\n        }\n\n        var schraubenLaenge = this.schraubenLaenge() / 10;\n\n        for (var i = 0; i < stufen; i++) {\n          y = y + delta;\n          values = values + ', ' + x + ' ' + y + ' ' + z;\n        }\n\n        var headheight = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headheight') / 10;\n\n        if (y > schraubenLaenge) {\n          y = y - (y - schraubenLaenge);\n          values = values + ', ' + x + ' ' + y + ' ' + z;\n        } else if (y < schraubenLaenge) {\n          y = y + (schraubenLaenge - y);\n          values = values + ', ' + x + ' ' + y + ' ' + z;\n        } else {\n          values = values + ', ' + x + ' ' + y + ' ' + z;\n        }\n\n        values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z;\n        var kopfformID = parseInt(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headformID')); //Entsprechend der Kopfformid wird über die Höhe des Kopfes die Form extrudiert\n\n        switch (kopfformID) {\n          //Linsensenkkopf\n          case 0:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.05 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.075 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.085 * headheight) + ' ' + z;\n            break;\n          //PanHead\n\n          case 1:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.8 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Scheibenkopf\n\n          case 2:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.4 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 0.7 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Sechskantkopf\n\n          case 3:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Senkfräskopf\n\n          case 4:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Senkkopf\n\n          case 5:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Zylinderkopf\n\n          case 6:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.9 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Tellerkopf\n\n          case 7:\n            values = values + ', ' + x + ' ' + (y + 0.4 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 0.7 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Senkkopf HSP\n\n          case 8:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Birnenkopf\n\n          case 9:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.05 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.075 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.085 * headheight) + ' ' + z;\n            break;\n          //Außentorx\n\n          case 10:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.35 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 0.35 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Scheibenkopf Form 2\n\n          case 11:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.4 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 0.7 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n        }\n      }\n\n      return values;\n    })\n  });\n  var _default = Extrusion;\n  _exports.default = _default;\n});","define(\"m12-2020/components/file-picker\", [\"exports\", \"ember-cli-file-picker/components/file-picker\"], function (_exports, _filePicker) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _filePicker.default;\n    }\n  });\n});","define(\"m12-2020/components/fontstyl-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Fontstyle = Ember.Component.extend({\n    tagName: 'fontstyle'\n  });\n  var _default = Fontstyle;\n  _exports.default = _default;\n});","define(\"m12-2020/components/gabel-lager\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Transform = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'gabel-lager',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['testClassNameXXX'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    objektSkalierung: 1,\n    translation: Ember.computed('model.firstObject.transformHelper', function () {\n      return \"0 \" + 0 + \" 0\";\n    }),\n    rotation: Ember.computed('model.firstObject.transformHelper', function () {\n      return '0 0 0 0';\n    }),\n    koordinaten: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var values = null;\n      var item = bauteile.findBy('id', name);\n      var x = item.get('boxsizes').objectAt(0).get('x') / 10;\n      var y = item.get('boxsizes').objectAt(0).get('y') / 10;\n      var z = item.get('boxsizes').objectAt(0).get('z') / 10;\n      var spaltmass = Number(item.get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n      var traegerbreite = bauteile.findBy('id', \"traeger\").get('boxsizes').objectAt(0).get('z') / 10;\n      var traegerhoehe = bauteile.findBy('id', \"traeger\").get('boxsizes').objectAt(0).get('y') / 10;\n      var zinkenbreite = z;\n      var stuetzbreite = traegerbreite + 2 * zinkenbreite + 2 * spaltmass;\n      var stutzhoehe = 0.5 * traegerhoehe;\n      var h2 = 0;\n      var h3 = x3d.get('hGabellagerEingetragen') === false ? traegerhoehe * 0.9 : y;\n      var p0 = -(x / 2) + ' ' + -stutzhoehe + ' ' + -(stuetzbreite / 2 - zinkenbreite);\n      var p1 = -(x / 2) + ' ' + -stutzhoehe + ' ' + (stuetzbreite / 2 - zinkenbreite);\n      var p2 = x / 2 + ' ' + -stutzhoehe + ' ' + (stuetzbreite / 2 - zinkenbreite);\n      var p3 = x / 2 + ' ' + -stutzhoehe + ' ' + -(stuetzbreite / 2 - zinkenbreite);\n      var p4 = -(x / 2) + ' ' + -stutzhoehe + ' ' + -(stuetzbreite / 2 - zinkenbreite);\n      var p5 = -(x / 2) + ' ' + -stutzhoehe + ' ' + (stuetzbreite / 2 - zinkenbreite);\n      var p6 = x / 2 + ' ' + -stutzhoehe + ' ' + (stuetzbreite / 2 - zinkenbreite);\n      var p7 = x / 2 + ' ' + -stutzhoehe + ' ' + -(stuetzbreite / 2 - zinkenbreite);\n      var p8 = -(x / 2) + ' ' + -stutzhoehe + ' ' + -(stuetzbreite / 2);\n      var p9 = -(x / 2) + ' ' + -stutzhoehe + ' ' + stuetzbreite / 2;\n      var p10 = x / 2 + ' ' + -stutzhoehe + ' ' + stuetzbreite / 2;\n      var p11 = x / 2 + ' ' + -stutzhoehe + ' ' + -(stuetzbreite / 2);\n      var p12 = -(x / 2) + ' ' + h2 + ' ' + -(traegerbreite / 2 + spaltmass);\n      var p13 = -(x / 2) + ' ' + h2 + ' ' + (traegerbreite / 2 + spaltmass);\n      var p14 = x / 2 + ' ' + h2 + ' ' + (traegerbreite / 2 + spaltmass);\n      var p15 = x / 2 + ' ' + h2 + ' ' + -(traegerbreite / 2 + spaltmass);\n      var p16 = -(x / 2) + ' ' + h3 + ' ' + -(stuetzbreite / 2);\n      var p17 = -(x / 2) + ' ' + h3 + ' ' + stuetzbreite / 2;\n      var p18 = x / 2 + ' ' + h3 + ' ' + stuetzbreite / 2;\n      var p19 = x / 2 + ' ' + h3 + ' ' + -(stuetzbreite / 2);\n      var p20 = -(x / 2) + ' ' + h3 + ' ' + -(traegerbreite / 2 + spaltmass);\n      var p21 = -(x / 2) + ' ' + h3 + ' ' + (traegerbreite / 2 + spaltmass);\n      var p22 = x / 2 + ' ' + h3 + ' ' + (traegerbreite / 2 + spaltmass);\n      var p23 = x / 2 + ' ' + h3 + ' ' + -(traegerbreite / 2 + spaltmass);\n      values = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9 + ', ' + p10 + ', ' + p11 + ', ' + p12 + ', ' + p13 + ', ' + p14 + ', ' + p15 + ', ' + p16 + ', ' + p17 + ', ' + p18 + ', ' + p19 + ', ' + p20 + ', ' + p21 + ', ' + p22 + ', ' + p23; // console.log(values);\n\n      return values;\n    }),\n    koordinatenIndex: Ember.computed('model.firstObject.transformHelper', function () {\n      var values = \"0 3 2 1 -1 1 2 6 5 -1 5 6 10 9 -1 9 10 18 17 -1 21 17 18 22 -1 13 21 22 14 -1 12 13 14 15 -1 12 15 23 20 -1 16 20 23 19 -1 8 16 19 11 -1 4 8 11 7 -1 0 4 7 3 -1 0 1 13 12 -1 4 20 16 8 -1 5 9 17 21 -1 2 3 15 14 -1 7 11 19 23 -1 6 22 18 10 -1\";\n      return values;\n    }),\n    konturKoordinatenIndex: Ember.computed('model.firstObject.transformHelper', function () {\n      var values = \"0 1 5 9 17 21 13 12 20 16 8 4 0 -1 3 2 6 10 18 22 14 15 23 19 11 7 3 -1 9 10 -1 17 18 -1 21 22 -1 13 14 -1 12 15 -1 20 23 -1 16 19 -1 8 11 -1\";\n      return values;\n    }),\n    farbIndex: Ember.computed('model.firstObject.transformHelper', function () {\n      var values = \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\";\n      return values;\n    }),\n    farbe: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n      var values = item.get('diffusecolors').objectAt(0).get('rot') + \" \" + item.get('diffusecolors').objectAt(0).get('gruen') + \" \" + item.get('diffusecolors').objectAt(0).get('blau');\n      return values;\n    }),\n    transparency: Ember.computed('model.firstObject.istGitterModell', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n      var value = item.get('appearances').objectAt(0).get('transparency');\n\n      if (x3d.get('istGitterModell') === true) {\n        value = 1;\n      }\n\n      return value;\n    }),\n    hoeheMasskette: 0.5,\n    abstandVomBauteil: 0.15,\n    abstandVonDerMasslinie: 0.05,\n    x: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('x')) / 10;\n    }),\n    y: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y')) / 10;\n    }),\n    z: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('z')) / 10;\n    }),\n    spaltmass: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'gabellager').get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n    }),\n    traegerbreite: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z')) / 10;\n    }),\n    traegerhoehe: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'traeger').get('boxsizes').objectAt(0).get('y')) / 10;\n    }),\n    traegerlaenge: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'traeger').get('boxsizes').objectAt(0).get('x')) / 10;\n    }),\n    auflagerhoehe: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'auflager').get('boxsizes').objectAt(0).get('y')) / 10;\n    }),\n    auflagerlaenge: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'auflager').get('boxsizes').objectAt(0).get('x')) / 10;\n    }),\n    winkelRadinat: function (grad) {\n      return grad * Math.PI / 180;\n    },\n    gabelhoeheEingetragen: Ember.computed('model.firstObject.hGabellagerEingetragen', function () {\n      return this.get('model').objectAt(0).get('hGabellagerEingetragen');\n    }),\n    gabelhoeheMasslinien: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var drehwinkelX;\n      var drehwinkelY;\n      var drehwinkelZ;\n      var x1 = this.get('x') / 2;\n      var y1 = 0;\n      var z1 = this.get('traegerbreite') / 2 + this.get('spaltmass') + this.get('z');\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : x1;\n      var y2 = x3d.get('hGabellagerEingetragen') === false ? this.get('traegerhoehe') * 0.9 : this.get('y');\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x1 = this.get('traegerlaenge') / 2;\n        }\n\n        z1 = z1 + this.get('abstandVomBauteil');\n        drehwinkelX = this.winkelRadinat(90);\n        drehwinkelY = 0;\n        drehwinkelZ = -this.winkelRadinat(90);\n      } else {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x1 = this.get('traegerlaenge') / 2;\n        }\n\n        x1 = x1 + this.get('abstandVomBauteil');\n        drehwinkelX = 0;\n        drehwinkelY = 0;\n        drehwinkelZ = -this.winkelRadinat(90);\n      }\n\n      var x2 = x1;\n      var z2 = z1;\n      return this.getMassketteKoordinaten({\n        x: x1,\n        y: y1,\n        z: z1\n      }, {\n        x: x2,\n        y: y2,\n        z: z2\n      }, {}, {\n        x: drehwinkelX,\n        y: drehwinkelY,\n        z: drehwinkelZ\n      });\n    }),\n    gabelhoeheTextTranslation: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var x = this.get('x') / 2;\n      var y = this.get('y') / 2;\n      var z = this.get('z') + this.get('spaltmass') + this.get('traegerbreite') / 2;\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : x;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x = this.get('traegerlaenge') / 2;\n        }\n\n        z = z + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      } else {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x = this.get('traegerlaenge') / 2;\n        }\n\n        x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      }\n\n      return x + ' ' + y + ' ' + z;\n    }),\n    gabelhoeheTextRotation: Ember.computed('model.firstObject.transformHelper', function () {\n      var values;\n      var x3d = this.get('model').objectAt(0);\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        values = '-1 1 1 ' + this.winkelRadinat(240);\n      } else {\n        values = '0 0 1 ' + -this.winkelRadinat(90);\n      }\n\n      return values;\n    }),\n    gabelhoeheText: Ember.computed('model.firstObject.transformHelper', function () {\n      return (this.get('y') * 10).toFixed(1);\n    }),\n    gabelhoeheColor: Ember.computed('model.firstObject.hGabellagerAktiv', function () {\n      var x3d = this.get('model').objectAt(0);\n\n      if (x3d.get('hGabellagerAktiv') === true) {\n        return '1 0 0';\n      } else {\n        return '0 0 0';\n      }\n    }),\n    gabellaengeEingetragen: Ember.computed('model.firstObject.lGabellagerEingetragen', function () {\n      return this.get('model').objectAt(0).get('lGabellagerEingetragen');\n    }),\n    gabellaengeMasslinien: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var drehwinkelX;\n      var drehwinkelY;\n      var drehwinkelZ;\n      var x1 = this.get('x') / 2;\n      var y1 = -0.5 * this.get('traegerhoehe');\n      var z1 = this.get('traegerbreite') / 2 + this.get('spaltmass') + this.get('z');\n      var x2 = -x1;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        z1 = z1 + this.get('hoeheMasskette') + 2 * this.get('abstandVomBauteil');\n        drehwinkelX = this.winkelRadinat(90);\n        drehwinkelY = 0;\n        drehwinkelZ = 0;\n      } else {\n        y1 = y1 - this.get('hoeheMasskette') - 2 * this.get('abstandVomBauteil');\n        drehwinkelX = this.winkelRadinat(180);\n        drehwinkelY = 0;\n        drehwinkelZ = 0;\n      }\n\n      var y2 = y1;\n      var z2 = z1;\n      return this.getMassketteKoordinaten({\n        x: x1,\n        y: y1,\n        z: z1\n      }, {\n        x: x2,\n        y: y2,\n        z: z2\n      }, {}, {\n        x: drehwinkelX,\n        y: drehwinkelY,\n        z: drehwinkelZ\n      });\n    }),\n    gabellaengeTextTranslation: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var x = 0;\n      var y = -0.5 * this.get('traegerhoehe');\n      var z = this.get('z') + this.get('spaltmass') + this.get('traegerbreite') / 2;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        z = z + 2 * this.get('hoeheMasskette') + 2 * this.get('abstandVomBauteil') - this.get('abstandVonDerMasslinie');\n      } else {\n        y = y - 2 * this.get('hoeheMasskette') - 2 * this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      }\n\n      return x + ' ' + y + ' ' + z;\n    }),\n    gabellaengeTextRotation: Ember.computed('model.firstObject.transformHelper', function () {\n      var values;\n      var x3d = this.get('model').objectAt(0);\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        values = '1 0 0 ' + -this.winkelRadinat(90);\n      } else {\n        values = '0 0 0 0';\n      }\n\n      return values;\n    }),\n    gabellaengeText: Ember.computed('model.firstObject.transformHelper', function () {\n      return (this.get('x') * 10).toFixed(1);\n    }),\n    gabellaengeColor: Ember.computed('model.firstObject.lGabellagerAktiv', function () {\n      var x3d = this.get('model').objectAt(0);\n\n      if (x3d.get('lGabellagerAktiv') === true) {\n        return '1 0 0';\n      } else {\n        return '0 0 0';\n      }\n    }),\n    gabelbreiteEingetragen: Ember.computed('model.firstObject.bGabellagerEingetragen', function () {\n      return this.get('model').objectAt(0).get('bGabellagerEingetragen');\n    }),\n    gabelbreiteMasslinien1: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var drehwinkelX;\n      var drehwinkelY;\n      var drehwinkelZ;\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      var x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n      var y1 = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n      var z1 = -this.get('spaltmass') - this.get('traegerbreite') / 2;\n      var z2 = -this.get('z') - this.get('spaltmass') - this.get('traegerbreite') / 2;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x1 = this.get('traegerlaenge') / 2;\n        }\n\n        x1 = x1 + this.get('abstandVomBauteil');\n        drehwinkelX = 0;\n        drehwinkelY = -this.winkelRadinat(90);\n        drehwinkelZ = -this.winkelRadinat(90);\n      } else {\n        y1 = y1 + this.get('abstandVomBauteil');\n        drehwinkelX = 0;\n        drehwinkelY = -this.winkelRadinat(90);\n        drehwinkelZ = 0;\n      }\n\n      var x2 = x1;\n      var y2 = y1;\n      return this.getMassketteKoordinaten({\n        x: x1,\n        y: y1,\n        z: z1\n      }, {\n        x: x2,\n        y: y2,\n        z: z2\n      }, {}, {\n        x: drehwinkelX,\n        y: drehwinkelY,\n        z: drehwinkelZ\n      });\n    }),\n    gabelbreiteMasslinien2: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var drehwinkelX;\n      var drehwinkelY;\n      var drehwinkelZ;\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      var x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n      var y1 = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n      var z1 = this.get('z') + this.get('spaltmass') + this.get('traegerbreite') / 2;\n      var z2 = this.get('spaltmass') + this.get('traegerbreite') / 2;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x1 = this.get('traegerlaenge') / 2;\n        }\n\n        x1 = x1 + this.get('abstandVomBauteil');\n        drehwinkelX = 0;\n        drehwinkelY = -this.winkelRadinat(90);\n        drehwinkelZ = -this.winkelRadinat(90);\n      } else {\n        y1 = y1 + this.get('abstandVomBauteil');\n        drehwinkelX = 0;\n        drehwinkelY = -this.winkelRadinat(90);\n        drehwinkelZ = 0;\n      }\n\n      var x2 = x1;\n      var y2 = y1;\n      return this.getMassketteKoordinaten({\n        x: x1,\n        y: y1,\n        z: z1\n      }, {\n        x: x2,\n        y: y2,\n        z: z2\n      }, {}, {\n        x: drehwinkelX,\n        y: drehwinkelY,\n        z: drehwinkelZ\n      });\n    }),\n    gabelbreiteTextTranslation1: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      var x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n      var y = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n      var z = -this.get('z') / 2 - this.get('spaltmass') - this.get('traegerbreite') / 2;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x = this.get('traegerlaenge') / 2;\n        }\n\n        x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      } else {\n        y = y + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      }\n\n      return x + ' ' + y + ' ' + z;\n    }),\n    gabelbreiteTextTranslation2: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      var x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n      var y = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n      var z = +this.get('z') / 2 + this.get('spaltmass') + this.get('traegerbreite') / 2;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x = this.get('traegerlaenge') / 2;\n        }\n\n        x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      } else {\n        y = y + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      }\n\n      return x + ' ' + y + ' ' + z;\n    }),\n    gabelbreiteTextRotation: Ember.computed('model.firstObject.transformHelper', function () {\n      var values;\n      var x3d = this.get('model').objectAt(0);\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        values = '1 1 1 ' + this.winkelRadinat(240);\n      } else {\n        values = '0 1 0 ' + -this.winkelRadinat(90);\n      }\n\n      return values;\n    }),\n    gabelbreiteText: Ember.computed('model.firstObject.transformHelper', function () {\n      return (this.get('z') * 10).toFixed(1);\n    }),\n    gabelbreiteColor: Ember.computed('model.firstObject.bGabellagerAktiv', function () {\n      var x3d = this.get('model').objectAt(0);\n\n      if (x3d.get('bGabellagerAktiv') === true) {\n        return '1 0 0';\n      } else {\n        return '0 0 0';\n      }\n    }),\n    spaltmassEingetragen: Ember.computed('model.firstObject.aGabellagerEingetragen', function () {\n      return this.get('model').objectAt(0).get('aGabellagerEingetragen');\n    }),\n    gabelspaltmassMasslinien1: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var drehwinkelX;\n      var drehwinkelY;\n      var drehwinkelZ;\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      var x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n      var y1 = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n      var z1 = -this.get('traegerbreite') / 2;\n      var z2 = -this.get('spaltmass') - this.get('traegerbreite') / 2;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x1 = this.get('traegerlaenge') / 2;\n        }\n\n        x1 = x1 + this.get('abstandVomBauteil');\n        drehwinkelX = 0;\n        drehwinkelY = -this.winkelRadinat(90);\n        drehwinkelZ = -this.winkelRadinat(90);\n      } else {\n        y1 = y1 + this.get('abstandVomBauteil');\n        drehwinkelX = 0;\n        drehwinkelY = -this.winkelRadinat(90);\n        drehwinkelZ = 0;\n      }\n\n      var x2 = x1;\n      var y2 = y1;\n      return this.getMassketteKoordinaten({\n        x: x1,\n        y: y1,\n        z: z1\n      }, {\n        x: x2,\n        y: y2,\n        z: z2\n      }, {}, {\n        x: drehwinkelX,\n        y: drehwinkelY,\n        z: drehwinkelZ\n      });\n    }),\n    gabelspaltmassMasslinien2: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var drehwinkelX;\n      var drehwinkelY;\n      var drehwinkelZ;\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      var x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n      var y1 = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n      var z1 = this.get('spaltmass') + this.get('traegerbreite') / 2;\n      var z2 = this.get('traegerbreite') / 2;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x1 = this.get('traegerlaenge') / 2;\n        }\n\n        x1 = x1 + this.get('abstandVomBauteil');\n        drehwinkelX = 0;\n        drehwinkelY = -this.winkelRadinat(90);\n        drehwinkelZ = -this.winkelRadinat(90);\n      } else {\n        y1 = y1 + this.get('abstandVomBauteil');\n        drehwinkelX = 0;\n        drehwinkelY = -this.winkelRadinat(90);\n        drehwinkelZ = 0;\n      }\n\n      var x2 = x1;\n      var y2 = y1;\n      return this.getMassketteKoordinaten({\n        x: x1,\n        y: y1,\n        z: z1\n      }, {\n        x: x2,\n        y: y2,\n        z: z2\n      }, {}, {\n        x: drehwinkelX,\n        y: drehwinkelY,\n        z: drehwinkelZ\n      });\n    }),\n    gabelspaltmassTextTranslation1: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      var x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n      var y = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n      var z = -this.get('spaltmass') / 2 - this.get('traegerbreite') / 2;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x = this.get('traegerlaenge') / 2;\n        }\n\n        x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      } else {\n        y = y + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      }\n\n      return x + ' ' + y + ' ' + z;\n    }),\n    gabelspaltmassTextTranslation2: Ember.computed('model.firstObject.transformHelper', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n      var x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n      var y = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n      var z = this.get('spaltmass') / 2 + this.get('traegerbreite') / 2;\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n          x = this.get('traegerlaenge') / 2;\n        }\n\n        x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      } else {\n        y = y + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n      }\n\n      return x + ' ' + y + ' ' + z;\n    }),\n    gabelspaltmassTextRotation: Ember.computed('model.firstObject.transformHelper', function () {\n      var values;\n      var x3d = this.get('model').objectAt(0);\n\n      if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        values = '1 1 1 ' + this.winkelRadinat(240);\n      } else {\n        values = '0 1 0 ' + -this.winkelRadinat(90);\n      }\n\n      return values;\n    }),\n    gabelspaltmassText: Ember.computed('model.firstObject.transformHelper', function () {\n      return (this.get('spaltmass') * 10).toFixed(1);\n    }),\n    gabelspaltmassColor: Ember.computed('model.firstObject.aGabellagerAktiv', function () {\n      var x3d = this.get('model').objectAt(0);\n\n      if (x3d.get('aGabellagerAktiv') === true) {\n        return '1 0 0';\n      } else {\n        return '0 0 0';\n      }\n    }),\n    getMassketteKoordinaten: function (punkt1, punkt2, drehachsen, drehwinkel) {\n      var skalierungsfaktor = 1;\n      var b05 = 0.05 * skalierungsfaktor;\n      var b1 = 0.1 * skalierungsfaktor;\n      var b5 = 0.5 * skalierungsfaktor;\n      var b45 = b5 - b05;\n      var b55 = b5 + b05;\n      var b6 = 0.6 * skalierungsfaktor;\n      var dp = new Object();\n      var deltaX = 0;\n      var deltaY = 0;\n      var p0 = Number(punkt1.x) + ' ' + punkt1.y + ' ' + punkt1.z;\n      var p1 = Number(punkt2.x) + ' ' + (Number(punkt2.y) + Number(deltaY)) + ' ' + punkt2.z;\n      dp = this.drehungXAchse({\n        x: 0,\n        y: b6,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p2 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      var p3 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      dp = this.drehungXAchse({\n        x: b1,\n        y: b5,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p4 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      dp = this.drehungXAchse({\n        x: -b1,\n        y: b5,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p5 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      dp = this.drehungXAchse({\n        x: -b05,\n        y: b45,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p6 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      var p8 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      dp = this.drehungXAchse({\n        x: b05,\n        y: b55,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p7 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      var p9 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      var koordinaten = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      return koordinaten;\n    },\n    drehungXAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x;\n      r.y = v.y * Math.cos(omega) - v.z * Math.sin(omega);\n      r.z = v.y * Math.sin(omega) + v.z * Math.cos(omega);\n      return r;\n    },\n    drehungYAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x * Math.cos(omega) + v.z * Math.sin(omega);\n      r.y = v.y;\n      r.z = -v.x * Math.sin(omega) + v.z * Math.cos(omega);\n      return r;\n    },\n    drehungZAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x * Math.cos(omega) - v.y * Math.sin(omega);\n      r.y = v.x * Math.sin(omega) + v.y * Math.cos(omega);\n      r.z = v.z;\n      return r;\n    },\n    ansichtLinks: false,\n    ansichtOben: false,\n    ansichtFront: false,\n    // setView: computed('model.firstObject.lastViewpoint', function () {\n    //   var x3d = this.get('model').objectAt(0);\n    //   var bauteile = x3d.get('bauteile');\n    //\n    //   console.log(\"***** setView *****\");\n    //\n    //   if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') === true){\n    //     this.set('ansichtLinks', true);\n    //   }else{\n    //     this.set('ansichtLinks', false);\n    //   }\n    //\n    //   if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true){\n    //     this.set('ansichtOben', true);\n    //   }else{\n    //     this.set('ansichtOben', false);\n    //   }\n    //\n    //   if (bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind') === true){\n    //     this.set('ansichtFront', true);\n    //   }else{\n    //     this.set('ansichtFront', false);\n    //   }\n    //\n    //   console.log(\"ansichtLinks: \"+this.get('ansichtLinks'));\n    //   console.log(\"ansichtOben: \"+this.get('ansichtOben'));\n    //   console.log(\"ansichtFront: \"+this.get('ansichtFront'));\n    //\n    //   return true;\n    // }),\n    textgroesse: Ember.computed('model.firstObject.{skalierungsfaktor,transformHelper}', function () {\n      var skalierungsfaktor = this.get('model').objectAt(0).get('skalierungsfaktor');\n      return 0.3 * skalierungsfaktor;\n    })\n  });\n  var _default = Transform;\n  _exports.default = _default;\n});","define(\"m12-2020/components/gabellager-masskette\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Transform = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'gabel-lager',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['testClassNameXXX'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    objektSkalierung: 1,\n    hoeheAnzeigen: Ember.computed('foobar', function () {\n      return this.get('hoeheAnzeigen');\n    }),\n    textgroesse: Ember.computed('model.firstObject.{skalierungsfaktor,transformHelper}', function () {\n      var skalierungsfaktor = this.get('model').objectAt(0).get('skalierungsfaktor');\n      return 0.3 * skalierungsfaktor;\n    }),\n    hoeheMasskette: 0.5,\n    abstandVomBauteil: 0.15,\n    abstandVonDerMasslinie: 0.05,\n    x: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('x')) / 10;\n    }),\n    y: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y')) / 10;\n    }),\n    z: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('z')) / 10;\n    }),\n    spaltmass: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'gabellager').get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n    }),\n    traegerbreite: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z')) / 10;\n    }),\n    traegerhoehe: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'traeger').get('boxsizes').objectAt(0).get('y')) / 10;\n    }),\n    traegerlaenge: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'traeger').get('boxsizes').objectAt(0).get('x')) / 10;\n    }),\n    auflagerhoehe: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'auflager').get('boxsizes').objectAt(0).get('y')) / 10;\n    }),\n    auflagerlaenge: Ember.computed('model.firstObject.transformHelper', function () {\n      return Number(this.get('model').objectAt(0).get('bauteile').findBy('id', 'auflager').get('boxsizes').objectAt(0).get('x')) / 10;\n    }),\n    winkelRadinat: function (grad) {\n      return grad * Math.PI / 180;\n    },\n    gabelhoeheEingetragen: Ember.computed('model.firstObject.hGabellagerEingetragen', function () {\n      return this.get('model').objectAt(0).get('hGabellagerEingetragen');\n    }),\n    gabelMasslinien: Ember.computed('model.firstObject.transformHelper', function () {\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var drehwinkelX;\n      var drehwinkelY;\n      var drehwinkelZ;\n      var x1, y1, z1, x2, y2, z2, ueberstand;\n\n      switch (typ) {\n        case 'hoehe':\n          x1 = this.get('x') / 2;\n          y1 = 0;\n          z1 = this.get('traegerbreite') / 2 + this.get('spaltmass') + this.get('z');\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : x1;\n          y2 = x3d.get('hGabellagerEingetragen') === false ? this.get('traegerhoehe') * 0.9 : this.get('y');\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x1 = this.get('traegerlaenge') / 2;\n            }\n\n            z1 = z1 + this.get('abstandVomBauteil');\n            drehwinkelX = this.winkelRadinat(90);\n            drehwinkelY = 0;\n            drehwinkelZ = -this.winkelRadinat(90);\n          } else {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x1 = this.get('traegerlaenge') / 2;\n            }\n\n            x1 = x1 + this.get('abstandVomBauteil');\n            drehwinkelX = 0;\n            drehwinkelY = 0;\n            drehwinkelZ = -this.winkelRadinat(90);\n          }\n\n          x2 = x1;\n          z2 = z1;\n          break;\n\n        case 'breite1':\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n          y1 = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n          z1 = -this.get('spaltmass') - this.get('traegerbreite') / 2;\n          z2 = -this.get('z') - this.get('spaltmass') - this.get('traegerbreite') / 2;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x1 = this.get('traegerlaenge') / 2;\n            }\n\n            x1 = x1 + this.get('abstandVomBauteil');\n            drehwinkelX = 0;\n            drehwinkelY = -this.winkelRadinat(90);\n            drehwinkelZ = -this.winkelRadinat(90);\n          } else {\n            y1 = y1 + this.get('abstandVomBauteil');\n            drehwinkelX = 0;\n            drehwinkelY = -this.winkelRadinat(90);\n            drehwinkelZ = 0;\n          }\n\n          x2 = x1;\n          y2 = y1;\n          break;\n\n        case 'breite2':\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n          y1 = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n          z1 = this.get('z') + this.get('spaltmass') + this.get('traegerbreite') / 2;\n          z2 = this.get('spaltmass') + this.get('traegerbreite') / 2;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x1 = this.get('traegerlaenge') / 2;\n            }\n\n            x1 = x1 + this.get('abstandVomBauteil');\n            drehwinkelX = 0;\n            drehwinkelY = -this.winkelRadinat(90);\n            drehwinkelZ = -this.winkelRadinat(90);\n          } else {\n            y1 = y1 + this.get('abstandVomBauteil');\n            drehwinkelX = 0;\n            drehwinkelY = -this.winkelRadinat(90);\n            drehwinkelZ = 0;\n          }\n\n          x2 = x1;\n          y2 = y1;\n          break;\n\n        case 'laenge':\n          x1 = this.get('x') / 2;\n          y1 = -0.5 * this.get('traegerhoehe');\n          z1 = this.get('traegerbreite') / 2 + this.get('spaltmass') + this.get('z');\n          x2 = -x1;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            z1 = z1 + this.get('hoeheMasskette') + 2 * this.get('abstandVomBauteil');\n            drehwinkelX = this.winkelRadinat(90);\n            drehwinkelY = 0;\n            drehwinkelZ = 0;\n          } else {\n            y1 = y1 - this.get('hoeheMasskette') - 2 * this.get('abstandVomBauteil');\n            drehwinkelX = this.winkelRadinat(180);\n            drehwinkelY = 0;\n            drehwinkelZ = 0;\n          }\n\n          y2 = y1;\n          z2 = z1;\n          break;\n\n        case 'spaltmass1':\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n          y1 = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n          z1 = -this.get('traegerbreite') / 2;\n          z2 = -this.get('spaltmass') - this.get('traegerbreite') / 2;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x1 = this.get('traegerlaenge') / 2;\n            }\n\n            x1 = x1 + this.get('abstandVomBauteil');\n            drehwinkelX = 0;\n            drehwinkelY = -this.winkelRadinat(90);\n            drehwinkelZ = -this.winkelRadinat(90);\n          } else {\n            y1 = y1 + this.get('abstandVomBauteil');\n            drehwinkelX = 0;\n            drehwinkelY = -this.winkelRadinat(90);\n            drehwinkelZ = 0;\n          }\n\n          x2 = x1;\n          y2 = y1;\n          break;\n\n        case 'spaltmass2':\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x1 = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n          y1 = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n          z1 = this.get('spaltmass') + this.get('traegerbreite') / 2;\n          z2 = this.get('traegerbreite') / 2;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x1 = this.get('traegerlaenge') / 2;\n            }\n\n            x1 = x1 + this.get('abstandVomBauteil');\n            drehwinkelX = 0;\n            drehwinkelY = -this.winkelRadinat(90);\n            drehwinkelZ = -this.winkelRadinat(90);\n          } else {\n            y1 = y1 + this.get('abstandVomBauteil');\n            drehwinkelX = 0;\n            drehwinkelY = -this.winkelRadinat(90);\n            drehwinkelZ = 0;\n          }\n\n          x2 = x1;\n          y2 = y1;\n          break;\n      }\n\n      return this.getMassketteKoordinaten({\n        x: x1,\n        y: y1,\n        z: z1\n      }, {\n        x: x2,\n        y: y2,\n        z: z2\n      }, {}, {\n        x: drehwinkelX,\n        y: drehwinkelY,\n        z: drehwinkelZ\n      });\n    }),\n    gabelTextTranslation: Ember.computed('model.firstObject.transformHelper', function () {\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var x, y, z, ueberstand;\n\n      switch (typ) {\n        case 'hoehe':\n          x = this.get('x') / 2;\n          y = this.get('y') / 2;\n          z = this.get('z') + this.get('spaltmass') + this.get('traegerbreite') / 2;\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : x;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x = this.get('traegerlaenge') / 2;\n            }\n\n            z = z + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          } else {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x = this.get('traegerlaenge') / 2;\n            }\n\n            x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          }\n\n          break;\n\n        case 'breite1':\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n          y = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n          z = -this.get('z') / 2 - this.get('spaltmass') - this.get('traegerbreite') / 2;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x = this.get('traegerlaenge') / 2;\n            }\n\n            x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          } else {\n            y = y + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          }\n\n          break;\n\n        case 'breite2':\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n          y = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n          z = +this.get('z') / 2 + this.get('spaltmass') + this.get('traegerbreite') / 2;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x = this.get('traegerlaenge') / 2;\n            }\n\n            x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          } else {\n            y = y + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          }\n\n          break;\n\n        case 'laenge':\n          x = 0;\n          y = -0.5 * this.get('traegerhoehe');\n          z = this.get('z') + this.get('spaltmass') + this.get('traegerbreite') / 2;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            z = z + 2 * this.get('hoeheMasskette') + 2 * this.get('abstandVomBauteil') - this.get('abstandVonDerMasslinie');\n          } else {\n            y = y - 2 * this.get('hoeheMasskette') - 2 * this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          }\n\n          break;\n\n        case 'spaltmass1':\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n          y = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n          z = -this.get('spaltmass') / 2 - this.get('traegerbreite') / 2;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x = this.get('traegerlaenge') / 2;\n            }\n\n            x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          } else {\n            y = y + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          }\n\n          break;\n\n        case 'spaltmass2':\n          ueberstand = Number(bauteile.findBy('id', \"auflager\").get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n          x = this.get('auflagerlaenge') / 2 + ueberstand > this.get('x') / 2 ? this.get('auflagerlaenge') / 2 + ueberstand : this.get('x') / 2;\n          y = this.get('traegerhoehe') + 0.1 > this.get('y') ? this.get('traegerhoehe') + 0.1 : this.get('y');\n          z = this.get('spaltmass') / 2 + this.get('traegerbreite') / 2;\n\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === false) {\n              x = this.get('traegerlaenge') / 2;\n            }\n\n            x = x + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          } else {\n            y = y + this.get('hoeheMasskette') + this.get('abstandVomBauteil') + this.get('abstandVonDerMasslinie');\n          }\n\n          break;\n      }\n\n      return x + ' ' + y + ' ' + z;\n    }),\n    gabelTextRotation: Ember.computed('model.firstObject.transformHelper', function () {\n      var typ = this.get('typ');\n      var values;\n      var x3d = this.get('model').objectAt(0);\n\n      switch (typ) {\n        case 'hoehe':\n          if (x3d.get('bauteile').findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            values = '-1 1 1 ' + this.winkelRadinat(240);\n          } else {\n            values = '0 0 1 ' + -this.winkelRadinat(90);\n          }\n\n          break;\n\n        case 'breite1':\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            values = '1 1 1 ' + this.winkelRadinat(240);\n          } else {\n            values = '0 1 0 ' + -this.winkelRadinat(90);\n          }\n\n          break;\n\n        case 'breite2':\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            values = '1 1 1 ' + this.winkelRadinat(240);\n          } else {\n            values = '0 1 0 ' + -this.winkelRadinat(90);\n          }\n\n          break;\n\n        case 'laenge':\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            values = '1 0 0 ' + -this.winkelRadinat(90);\n          } else {\n            values = '0 0 0 0';\n          }\n\n          break;\n\n        case 'spaltmass1':\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            values = '1 1 1 ' + this.winkelRadinat(240);\n          } else {\n            values = '0 1 0 ' + -this.winkelRadinat(90);\n          }\n\n          break;\n\n        case 'spaltmass2':\n          if (x3d.get('bauteile').findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            values = '1 1 1 ' + this.winkelRadinat(240);\n          } else {\n            values = '0 1 0 ' + -this.winkelRadinat(90);\n          }\n\n          break;\n      }\n\n      return values;\n    }),\n    gabelText: Ember.computed('model.firstObject.transformHelper', function () {\n      var typ = this.get('typ');\n      var value;\n\n      switch (typ) {\n        case 'hoehe':\n          value = this.get('y');\n          break;\n\n        case 'breite1':\n          value = this.get('z');\n          break;\n\n        case 'breite2':\n          value = this.get('z');\n          break;\n\n        case 'laenge':\n          value = this.get('x');\n          break;\n\n        case 'spaltmass1':\n          value = this.get('spaltmass');\n          break;\n\n        case 'spaltmass2':\n          value = this.get('spaltmass');\n          break;\n      }\n\n      return (value * 10).toFixed(1);\n    }),\n    gabelColor: Ember.computed('model.firstObject.{hGabellagerAktiv,lGabellagerAktiv,bGabellagerAktiv,aGabellagerAktiv}', function () {\n      var x3d = this.get('model').objectAt(0);\n      var typ = this.get('typ');\n      var value;\n\n      switch (typ) {\n        case 'hoehe':\n          if (x3d.get('hGabellagerAktiv') === true) {\n            value = '1 0 0';\n          } else {\n            value = '0 0 0';\n          }\n\n          break;\n\n        case 'breite1':\n          if (x3d.get('bGabellagerAktiv') === true) {\n            value = '1 0 0';\n          } else {\n            value = '0 0 0';\n          }\n\n          break;\n\n        case 'breite2':\n          if (x3d.get('bGabellagerAktiv') === true) {\n            value = '1 0 0';\n          } else {\n            value = '0 0 0';\n          }\n\n          break;\n\n        case 'laenge':\n          if (x3d.get('lGabellagerAktiv') === true) {\n            value = '1 0 0';\n          } else {\n            value = '0 0 0';\n          }\n\n          break;\n\n        case 'spaltmass1':\n          if (x3d.get('aGabellagerAktiv') === true) {\n            value = '1 0 0';\n          } else {\n            value = '0 0 0';\n          }\n\n          break;\n\n        case 'spaltmass2':\n          if (x3d.get('aGabellagerAktiv') === true) {\n            value = '1 0 0';\n          } else {\n            value = '0 0 0';\n          }\n\n          break;\n      }\n\n      return value;\n    }),\n    wertEingetragen: Ember.computed('model.firstObject.{hGabellagerEingetragen,lGabellagerEingetragen,bGabellagerEingetragen,aGabellagerEingetragen}', function () {\n      var typ = this.get('typ');\n      var value;\n\n      switch (typ) {\n        case 'hoehe':\n          value = this.get('model').objectAt(0).get('hGabellagerEingetragen');\n          break;\n\n        case 'breite1':\n          value = this.get('model').objectAt(0).get('bGabellagerEingetragen');\n          break;\n\n        case 'breite2':\n          value = this.get('model').objectAt(0).get('bGabellagerEingetragen');\n          break;\n\n        case 'laenge':\n          value = this.get('model').objectAt(0).get('lGabellagerEingetragen');\n          break;\n\n        case 'spaltmass1':\n          value = this.get('model').objectAt(0).get('aGabellagerEingetragen');\n          break;\n\n        case 'spaltmass2':\n          value = this.get('model').objectAt(0).get('aGabellagerEingetragen');\n          break;\n      }\n\n      return value;\n    }),\n    rendern: Ember.computed('model.firstObject.lastViewpoint', function () {\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var value = true;\n\n      switch (typ) {\n        case 'hoehe':\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            value = false;\n          }\n\n          break;\n\n        case 'breite1':\n          if (bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            value = false;\n          }\n\n          break;\n\n        case 'breite2':\n          if (bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            value = false;\n          }\n\n          break;\n\n        case 'laenge':\n          if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            value = false;\n          }\n\n          break;\n\n        case 'spaltmass1':\n          if (bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            value = false;\n          }\n\n          break;\n\n        case 'spaltmass2':\n          if (bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind') === true) {\n            value = false;\n          }\n\n          break;\n      }\n\n      return value;\n    }),\n    getMassketteKoordinaten: function (punkt1, punkt2, drehachsen, drehwinkel) {\n      var skalierungsfaktor = 1;\n      var b05 = 0.05 * skalierungsfaktor;\n      var b1 = 0.1 * skalierungsfaktor;\n      var b5 = 0.5 * skalierungsfaktor;\n      var b45 = b5 - b05;\n      var b55 = b5 + b05;\n      var b6 = 0.6 * skalierungsfaktor;\n      var dp = new Object();\n      var deltaX = 0;\n      var deltaY = 0;\n      var p0 = Number(punkt1.x) + ' ' + punkt1.y + ' ' + punkt1.z;\n      var p1 = Number(punkt2.x) + ' ' + (Number(punkt2.y) + Number(deltaY)) + ' ' + punkt2.z;\n      dp = this.drehungXAchse({\n        x: 0,\n        y: b6,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p2 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      var p3 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      dp = this.drehungXAchse({\n        x: b1,\n        y: b5,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p4 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      dp = this.drehungXAchse({\n        x: -b1,\n        y: b5,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p5 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      dp = this.drehungXAchse({\n        x: -b05,\n        y: b45,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p6 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      var p8 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      dp = this.drehungXAchse({\n        x: b05,\n        y: b55,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p7 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      var p9 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      var koordinaten = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      return koordinaten;\n    },\n    drehungXAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x;\n      r.y = v.y * Math.cos(omega) - v.z * Math.sin(omega);\n      r.z = v.y * Math.sin(omega) + v.z * Math.cos(omega);\n      return r;\n    },\n    drehungYAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x * Math.cos(omega) + v.z * Math.sin(omega);\n      r.y = v.y;\n      r.z = -v.x * Math.sin(omega) + v.z * Math.cos(omega);\n      return r;\n    },\n    drehungZAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x * Math.cos(omega) - v.y * Math.sin(omega);\n      r.y = v.x * Math.sin(omega) + v.y * Math.cos(omega);\n      r.z = v.z;\n      return r;\n    }\n  });\n  var _default = Transform;\n  _exports.default = _default;\n});","define(\"m12-2020/components/indexedfaceset-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Indexedfaceeset = Ember.Component.extend({\n    tagName: 'IndexedFaceSet',\n    layoutName: 'indexedfaceset-erg',\n    attributeBindings: ['coordIndex', 'colorindex', 'colorPerVertex', 'ccw'],\n    classNames: ['testClassNameXXX'],\n    colorPerVertex: \"false\",\n    bboxsize: \"-1,-1,-1\",\n    ccw: \"true\",\n    objektSkalierung: 1,\n    ueberstand: 2,\n    yDeltaOben: 0,\n    yDeltaUnten: 0,\n    koordinaten: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.vWinkel', 'model.firstObject.hWinkel', 'model.firstObject.istHt', 'model.firstObject.schraubenGekreuzt', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = x3d.get('bauteile').findBy('id', name);\n      var p0 = '0 0 0',\n          p1 = '0 0 0',\n          p2 = '0 0 0',\n          p3 = '0 0 0',\n          p4 = '0 0 0',\n          p5 = '0 0 0',\n          p6 = '0 0 0',\n          p7 = '0 0 0',\n          p8 = '0 0 0',\n          p9 = '0 0 0';\n      var cords = \"\";\n\n      if (item.get('typ') === \"platte\") {\n        var x0 = 0;\n        var y0 = 0;\n        var z0 = 0;\n        var rx = 0;\n        var ry = 0;\n        var rz = 0;\n        var dicke = 0;\n\n        for (var n = 0; n <= 1; n++) {\n          for (var i = 0; i < item.get('punkt').length; i++) {\n            // console.log(i+\" ::: \"+(i+2)+\" ::: \"+(i+1));\n            var i2 = i + 2 > item.get('punkt').length - 1 ? i + 2 - item.get('punkt').length : i + 2;\n            var i1 = i + 1 > item.get('punkt').length - 1 ? i + 1 - item.get('punkt').length : i + 1; // console.log(i+\" ::: \"+(i2)+\" ::: \"+(i1));\n            // console.log(this.getPosition(item.get('punkt').objectAt(i).get('x'), item.get('punkt').objectAt(i).get('y'), item.get('punkt').objectAt(i2).get('x'), item.get('punkt').objectAt(i2).get('y'), item.get('punkt').objectAt(i1).get('x'), item.get('punkt').objectAt(i1).get('y')));\n\n            x0 = Number(item.get('punkt').objectAt(i).get('x')) / 10;\n            y0 = Number(item.get('punkt').objectAt(i).get('y')) / 10;\n            z0 = Number(item.get('punkt').objectAt(i).get('z')) / 10;\n            cords = cords + (x0 + rx * dicke) + ' ' + (y0 + ry * dicke) + ' ' + (z0 + rz * dicke) + ' ';\n          }\n\n          rx = Number(item.get('richtungsvektor').objectAt(0).get('x'));\n          ry = Number(item.get('richtungsvektor').objectAt(0).get('y'));\n          rz = Number(item.get('richtungsvektor').objectAt(0).get('z'));\n          dicke = Number(item.get('platte').objectAt(0).get('thickness')) / 10;\n        }\n\n        console.log(cords);\n      } else if (name.substring(0, 12) === 'hauptTraeger' || name.substring(0, 18) === 'verstaerkungWerner') {\n        var x = item.get('boxsizes').objectAt(0).get('x') / 10;\n        var y = item.get('boxsizes').objectAt(0).get('y') / 10;\n        var z = 0;\n\n        if (name.substring(0, 18) === 'verstaerkungWerner') {\n          z = x3d.get('dickeWerner') / 10;\n        } else {\n          z = item.get('boxsizes').objectAt(0).get('z') / 10;\n        }\n\n        var deltaXht = 0;\n        var deltaXnt = 0;\n        var xMittelbauteil = 0;\n        var xSeitenbauteilUnten = 0;\n        var xPlusSeitenbauteilUnten = 0;\n        var xSeitenbauteilOben = 0;\n        var ueberstand = Number(this.get('ueberstand'));\n        var x1 = 0,\n            x2 = 0;\n\n        switch (name) {\n          case 'nebenTraeger':\n            // x = 2.5*bauteile.findBy('id', 'queranschluss1').get('boxsizes').objectAt(0).get('x')/10;\n            deltaXnt = Math.abs(x3d.get('xSeitenbauteil') / 10) + ueberstand;\n            xMittelbauteil = Math.abs(x3d.get('xMittelbauteil') / 10);\n            break;\n\n          case 'hauptTraeger1':\n            deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n            xSeitenbauteilOben = this.getXSeitenbauteilOben();\n            xSeitenbauteilUnten = this.getXSeitenbauteilUnten();\n            xPlusSeitenbauteilUnten = this.getXDeltaSeitenbauteilUnten(xSeitenbauteilUnten);\n            break;\n\n          case 'hauptTraeger2':\n            deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n            xSeitenbauteilOben = this.getXSeitenbauteilOben();\n            xSeitenbauteilUnten = this.getXSeitenbauteilUnten();\n            xPlusSeitenbauteilUnten = this.getXDeltaSeitenbauteilUnten(xSeitenbauteilUnten);\n            break;\n\n          case 'verstaerkungWerner1':\n            deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n            xSeitenbauteilOben = this.getXSeitenbauteilOben();\n            xSeitenbauteilUnten = this.getXSeitenbauteilUnten();\n            xPlusSeitenbauteilUnten = this.getXDeltaSeitenbauteilUnten(xSeitenbauteilUnten);\n            break;\n\n          case 'verstaerkungWerner2':\n            deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n            xSeitenbauteilOben = this.getXSeitenbauteilOben();\n            xSeitenbauteilUnten = this.getXSeitenbauteilUnten();\n            xPlusSeitenbauteilUnten = this.getXDeltaSeitenbauteilUnten(xSeitenbauteilUnten);\n            break;\n        }\n\n        var p0 = -deltaXnt - xPlusSeitenbauteilUnten + ' ' + (0 + Number(this.get('yDeltaUnten'))) + ' ' + -z / 2;\n        var p1 = -deltaXnt - xPlusSeitenbauteilUnten + ' ' + (0 + Number(this.get('yDeltaUnten'))) + ' ' + z / 2;\n        var p2 = deltaXht + xMittelbauteil + ' ' + (0 + Number(this.get('yDeltaUnten'))) + ' ' + z / 2;\n        var p3 = deltaXht + xMittelbauteil + ' ' + (0 + Number(this.get('yDeltaUnten'))) + ' ' + -z / 2;\n        var p4 = -deltaXnt - xSeitenbauteilOben + ' ' + (y - Number(this.get('yDeltaOben'))) + ' ' + -z / 2;\n        var p5 = -deltaXnt - xSeitenbauteilOben + ' ' + (y - Number(this.get('yDeltaOben'))) + ' ' + z / 2;\n        var p6 = deltaXht + xMittelbauteil + ' ' + (y - Number(this.get('yDeltaOben'))) + ' ' + z / 2;\n        var p7 = deltaXht + xMittelbauteil + ' ' + (y - Number(this.get('yDeltaOben'))) + ' ' + -z / 2;\n        var p8 = 0 + ' ' + 0 + ' ' + 0;\n        var p9 = 0 + ' ' + 0 + ' ' + 0;\n\n        if (x3d.get('ausmittigerstabanschluss') === true && (name.substring(0, 12) === 'hauptTraeger' || name.substring(0, 18) === 'verstaerkungWerner')) {\n          p8 = -deltaXnt - xSeitenbauteilUnten - this.getXExzentrizitaet('x') + ' ' + this.getXExzentrizitaet('y') + ' ' + -z / 2;\n          p9 = -deltaXnt - xSeitenbauteilUnten - this.getXExzentrizitaet('x') + ' ' + this.getXExzentrizitaet('y') + ' ' + z / 2;\n        }\n\n        cords = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      }\n\n      return cords;\n    }),\n    coordIndex: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.istHt', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = x3d.get('bauteile').findBy('id', name);\n      var values = ''; // var values = \"0 3 2 1 0 -1 1 2 6 5 1 -1 4 5 6 7 4 -1 0 4 7 3 0 -1 0 1 5 4 0 -1 2 3 7 6 2 -1\";\n\n      var values = \"\"; // Grundfläche\n\n      for (var i = 0; i < item.get('punkt').length; i++) {\n        values = values + \" \" + i;\n      }\n\n      values = values + \" 0 -1 \"; // n-1 Seitenflächen\n\n      for (var i = 0; i < item.get('punkt').length - 1; i++) {\n        values = values + i + \" \" + (i + item.get('punkt').length) + \" \" + (i + item.get('punkt').length + 1) + \" \" + (i + 1) + \" \" + i + \" \" + -1 + \" \";\n      } // n.-Seitenfläche\n\n\n      values = values + 0 + \" \" + (item.get('punkt').length - 1) + \" \" + (item.get('punkt').length - 1 + item.get('punkt').length) + \" \" + item.get('punkt').length + \" \" + 0 + \" \" + -1 + \" \";\n      var arr = []; // Abschlussfläche\n\n      for (var i = 0; i < item.get('punkt').length; i++) {\n        arr.push(i + item.get('punkt').length);\n      }\n\n      var str = arr.reverse().toString();\n      values = values + \" \" + item.get('punkt').length + \" \" + str.replace(/,/g, \" \") + \" -1 \";\n      return values;\n    }),\n    colorindex: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.istHt', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = x3d.get('bauteile').findBy('id', name);\n      var values = \"\";\n\n      for (var i = 0; i < item.get('punkt').length + 2; i++) {\n        values = values + \" 0\";\n      }\n\n      return values;\n    }),\n    farbe: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.istHt', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = x3d.get('bauteile').findBy('id', name);\n      var values;\n      var rot = 0,\n          gruen = 0,\n          blau = 0;\n\n      if (x3d.get('ergebnisGeladen') !== true || item.get('typ') !== \"platte\") {\n        rot = Number(item.get('diffusecolors').objectAt(0).get('rot'));\n        gruen = Number(item.get('diffusecolors').objectAt(0).get('gruen'));\n        blau = Number(item.get('diffusecolors').objectAt(0).get('blau'));\n      } else {\n        var materialtextur = Number(item.get('platte').objectAt(0).get('matid')); // console.log('materialtextur: '+materialtextur);\n\n        switch (materialtextur) {\n          case 1:\n            //Beton\n            // console.log('Beton');\n            rot = 0;\n            gruen = 0.52;\n            blau = 0.88;\n            break;\n\n          case 10:\n            //Holz\n            // console.log('Holz');\n            rot = 0.52;\n            gruen = 0.385;\n            blau = 0.02;\n            break;\n\n          case 20:\n            //Schalung\n            // console.log('Schalung');\n            rot = 0.8;\n            gruen = 0.65;\n            blau = 0;\n            break;\n        }\n      }\n\n      values = rot + ' ' + gruen + ' ' + blau; // console.log(values);\n\n      return values;\n    }),\n    getXSeitenbauteilOben: function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      ;\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var value = 0;\n\n      if (alfa !== 0 && alfa !== 90) {\n        var exzentrizitaet = 0;\n\n        if (x3d.get('ausmittigerstabanschluss') === true) {\n          exzentrizitaet = x3d.get('exzentrizitaetDiagonale');\n        } else {\n          exzentrizitaet = Number(hDiag / 2 / Math.sin(alfa * Math.PI / 180)) + Number(hGurt / 2 / Math.tan(alfa * Math.PI / 180));\n\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1 && Number(ueDiagVert) > hDiag * Math.cos(alfa * Math.PI / 180)) {\n            exzentrizitaet = exzentrizitaet + (ueDiagVert - hDiag * Math.cos(alfa * Math.PI / 180)) / Math.tan(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            exzentrizitaet = exzentrizitaet + ueDiagVert / Math.tan(alfa * Math.PI / 180);\n          }\n        }\n\n        value = (exzentrizitaet / Math.cos(alfa * Math.PI / 180) - hDiag / 2 * Math.tan(alfa * Math.PI / 180)) / 10;\n      } else if (alfa === 90) {\n        value = hGurt / 20;\n      } else {\n        value = Math.abs(x3d.get('xSeitenbauteil') / 10) + Math.sin(alfa * Math.PI / 180) * ueDiagVert / 10;\n      }\n\n      if (value < -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')))) {\n        var xOben = Math.abs(value) - Math.abs(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n        var yDeltaOben = Math.abs(xOben) / Math.tan(alfa * Math.PI / 180);\n        this.set('yDeltaOben', yDeltaOben);\n        value = -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n      } else {\n        this.set('yDeltaOben', 0);\n      }\n\n      return value;\n    },\n    getXSeitenbauteilUnten: function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var exzentrizitaet = x3d.get('exzentrizitaetDiagonale');\n      var v1 = 0,\n          v2 = 0,\n          l = 0,\n          value = 0;\n      v1 = hDiag / 2 / Math.sin(alfa * Math.PI / 180) + hGurt / 2 / Math.tan(alfa * Math.PI / 180) - exzentrizitaet;\n      v2 = hDiag / Math.sin(alfa * Math.PI / 180);\n      l = v2 - v1;\n\n      if (alfa !== 0 && alfa !== 90) {\n        value = hGurt / 2 / Math.sin(alfa * Math.PI / 180) - (v2 - hDiag / 2 / Math.sin(alfa * Math.PI / 180)) * Math.cos(alfa * Math.PI / 180);\n\n        if (x3d.get('ausmittigerstabanschluss') === false) {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1 && Number(ueDiagVert) >= Number((hDiag * Math.cos(alfa * Math.PI / 180)).toFixed(1))) {\n            value = value + hDiag / Math.tan(alfa * Math.PI / 180) + (ueDiagVert - hDiag * Math.cos(alfa * Math.PI / 180)) / Math.sin(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = value + ueDiagVert / Math.sin(alfa * Math.PI / 180);\n          }\n        } else if (x3d.get('ausmittigerstabanschluss') === true) {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1) {\n            // value = value + (l-ueDiagVert/Math.tan(alfa * Math.PI / 180)) * Math.cos(alfa * Math.PI / 180) + ueDiagVert/Math.sin(alfa * Math.PI / 180);\n            value = value + ueDiagVert / Math.sin(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = value + ueDiagVert / Math.sin(alfa * Math.PI / 180);\n          }\n\n          if (value >= Number(((hDiag / 2 + exzentrizitaet / Math.sin(alfa * Math.PI / 180)) * Math.tan(alfa * Math.PI / 180)).toFixed(1))) {\n            value = (hDiag / 2 + exzentrizitaet / Math.sin(alfa * Math.PI / 180)) * Math.tan(alfa * Math.PI / 180);\n          }\n        }\n\n        value = value / 10;\n      } else if (alfa === 90) {\n        value = hGurt / 20;\n      } else {\n        value = Math.abs(x3d.get('xSeitenbauteil') / 10) + Math.sin(alfa * Math.PI / 180) * ueDiagVert / 10;\n      }\n\n      if (value < -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')))) {\n        var xUnten = Math.abs(value) - Math.abs(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n        var yDeltaUnten = Math.abs(xUnten) * Math.tan(alfa * Math.PI / 180);\n        this.set('yDeltaUnten', yDeltaUnten);\n      } else {\n        this.set('yDeltaUnten', 0);\n      }\n\n      return value;\n    },\n    getXDeltaSeitenbauteilUnten: function (value) {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n\n      if (value < -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')))) {\n        value = -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n      }\n\n      return value;\n    },\n    getXExzentrizitaet: function (achse) {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      ;\n      var exzentrizitaet = Number(x3d.get('exzentrizitaetDiagonale'));\n      var v1 = 0,\n          v2 = 0,\n          l = 0,\n          value = 0;\n      v1 = hDiag / 2 / Math.sin(alfa * Math.PI / 180) + hGurt / 2 / Math.tan(alfa * Math.PI / 180) - exzentrizitaet;\n      v2 = hDiag / Math.sin(alfa * Math.PI / 180);\n      l = v2 - v1;\n\n      if (l - ueDiagVert / Math.tan(alfa * Math.PI / 180) >= 0) {\n        if (achse === 'x') {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1) {\n            value = 0;\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = (l - ueDiagVert / Math.tan(alfa * Math.PI / 180)) * Math.cos(alfa * Math.PI / 180);\n          }\n        } else if (achse === 'y') {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1) {\n            value = (l - ueDiagVert / Math.tan(alfa * Math.PI / 180)) / Math.sin(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = (l - ueDiagVert / Math.tan(alfa * Math.PI / 180)) * Math.sin(alfa * Math.PI / 180);\n          }\n        }\n      }\n\n      value = value / 10;\n      return value;\n    },\n    getPosition: function (x1, y1, x2, y2, xp, yp) {\n      return (yp - y1) * (x2 - x1) - (y2 - y1) * (xp - x1);\n    }\n  });\n  var _default = Indexedfaceeset;\n  _exports.default = _default;\n});","define(\"m12-2020/components/indexedlinese-t\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Transform = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'indexedlinese-t',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['testClassNameXXX'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    objektSkalierung: 1,\n    translation: Ember.computed('model.firstObject.{transformHelper,viewpointHelper}', function () {\n      var name = this.get('name');\n      var x3d = this.get('model');\n      var x = 0;\n      var y = 0;\n      var z = 0;\n      var cords;\n      var item = x3d.objectAt(0).get('bauteile').findBy('id', name);\n\n      if (name === 'lastenPfeil') {\n        x = item.get('translations').objectAt(0).get('x');\n        y = item.get('translations').objectAt(0).get('y');\n        z = item.get('translations').objectAt(0).get('z');\n        cords = x + ' ' + y + ' ' + z;\n      }\n\n      return cords;\n    }),\n    rotation: Ember.computed('model.firstObject.{transformHelper,viewpointHelper}', function () {\n      var name = this.get('name');\n      var x3d = this.get('model');\n      var values;\n      var item = x3d.objectAt(0).get('bauteile').findBy('id', name);\n\n      if (name === 'lastenPfeil') {\n        values = item.get('rotations').objectAt(0).get('x') + \" \" + item.get('rotations').objectAt(0).get('y') + \" \" + item.get('rotations').objectAt(0).get('z') + \" \" + item.get('rotations').objectAt(0).get('winkel');\n      }\n\n      if (name === 'hWinkel') {\n        values = '1 0 0 -1.5707';\n      }\n\n      return values;\n    }),\n    koordinaten: Ember.computed('model.firstObject.{transformHelper,viewpointHelper,vWinkel,hWinkel,istHt,skalierungsfaktor,schraubenGekreuzt}', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var x = 0;\n      var y = 0;\n      var z = 0;\n      var skalierungsfaktor = x3d.get('skalierungsfaktor');\n      var cords;\n      var p1 = new Object();\n      var p2 = new Object();\n      var drehachsen = new Object();\n      var drehwinkel = new Object();\n      var w90Grad = 89 * Math.PI / 180;\n      var w180Grad = 180 * Math.PI / 180;\n      var hoeheMasskette = 0.5;\n      var abstandVomBauteil = 0.15;\n      var item = x3d.get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === 'box') {\n        x = item.get('boxsizes').objectAt(0).get('x') / 10;\n        y = item.get('boxsizes').objectAt(0).get('y') / 10;\n        z = item.get('boxsizes').objectAt(0).get('z') / 10;\n\n        if (typ === 'kontur') {\n          cords = this.getKonturKoordinaten(x, y, z);\n        }\n\n        if (typ === 'faserrichtung' && item.id === 'traeger') {\n          var delta = 0.15;\n          x = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20;\n          y = 0.15;\n          z = item.get('boxsizes').objectAt(0).get('z') / 20;\n          cords = -x + 0.15 + delta + ' ' + (y + delta * 2) + ' ' + z + ', ' + (-x + 0.15) + ' ' + (y + delta) + ' ' + z + ', ' + (-x + 1) + ' ' + (y + delta) + ' ' + z + ', ' + (-x + 0.85) + ' ' + y + ' ' + z;\n        }\n\n        if (typ === 'breite') {\n          switch (name) {\n            case 'traeger':\n              p1.x = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20;\n              p1.y = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10 + 0.1 > bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y') / 10 ? bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10 : bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y') / 10 - 0.1;\n              p1.z = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20;\n              p2.x = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20;\n              p2.y = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10 + 0.1 > bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y') / 10 ? bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10 : bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y') / 10 - 0.1;\n              p2.z = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20);\n\n              if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n                p1.x = p1.x + abstandVomBauteil;\n                p2.x = p1.x;\n                drehwinkel.x = 0;\n                drehwinkel.y = -w90Grad;\n                drehwinkel.z = -w90Grad;\n              } else {\n                p1.y = p1.y + abstandVomBauteil;\n                p2.y = p1.y;\n                drehwinkel.x = 0;\n                drehwinkel.y = -w90Grad;\n                drehwinkel.z = 0;\n              }\n\n              cords = this.getMassketteKoordinaten(p1, p2, drehachsen, drehwinkel);\n              break;\n\n            case 'auflager':\n              p1.x = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20;\n              p1.y = 0;\n              p1.z = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20;\n              p2.x = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20;\n              p2.z = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20);\n\n              if (x3d.get('gabellager') === true) {\n                p1.y = p1.y - Number(bauteile.findBy('id', \"traeger\").get('boxsizes').objectAt(0).get('y')) / 20;\n              }\n\n              p2.y = p1.y;\n\n              if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n                if (x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === true) {\n                  p1.x = p1.x + Number(item.get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n\n                  if (x3d.get('gabellager') === true) {\n                    p1.x = p1.x > Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('x')) / 20 ? p1.x : p1.x + (Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('x')) / 20 - p1.x);\n                  }\n                } else {\n                  p1.x = bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('x') / 20;\n                }\n\n                p1.x = -p1.x - abstandVomBauteil;\n                p2.x = p1.x;\n                drehwinkel.x = 0;\n                drehwinkel.y = -w90Grad;\n                drehwinkel.z = w90Grad;\n              } else {\n                p1.x = -p1.x;\n                p2.x = p1.x;\n                p1.y = p1.y - abstandVomBauteil;\n                p2.y = p1.y;\n                drehwinkel.x = 0;\n                drehwinkel.y = -w90Grad;\n                drehwinkel.z = w180Grad;\n              }\n\n              cords = this.getMassketteKoordinaten(p1, p2, drehachsen, drehwinkel);\n              break;\n\n            case 'auflagernaheEinzellast':\n              p1.x = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20);\n              p1.y = 0;\n              p1.z = -(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z') / 20);\n              p2.x = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20) - bauteile.findBy('id', name).get('translations').objectAt(0).get('x') / 10;\n              p2.y = 0;\n              p2.z = -(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z') / 20);\n\n              if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n                if (x3d.get('gabellager') === true) {\n                  p1.z = p1.z - Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('z')) / 10 - Number(bauteile.findBy('id', \"gabellager\").get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n                }\n\n                p1.z = p1.z - abstandVomBauteil;\n                p2.z = p1.z;\n                drehwinkel.x = -w90Grad;\n                drehwinkel.y = 0;\n                drehwinkel.z = 0;\n              } else {\n                p1.y = p1.y + abstandVomBauteil;\n                p2.y = p1.y;\n                drehwinkel.x = 0;\n                drehwinkel.y = 0;\n                drehwinkel.z = 0;\n              }\n\n              cords = this.getMassketteKoordinaten(p1, p2, drehachsen, drehwinkel);\n              break;\n          }\n        }\n\n        if (typ === 'hoehe' && name === 'traeger') {\n          z = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20;\n          p1.x = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20);\n          p1.y = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10;\n          p1.z = -z;\n          p2.x = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20);\n          p2.y = 0;\n          p2.z = -z;\n\n          if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            if (x3d.get('gabellager') === true) {\n              p1.z = p1.z - Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('z')) / 10 - Number(bauteile.findBy('id', \"gabellager\").get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n            }\n\n            p1.z = p1.z - abstandVomBauteil;\n            p2.z = p1.z;\n            drehwinkel.x = -w90Grad;\n            drehwinkel.y = 0;\n            drehwinkel.z = w90Grad;\n          } else {\n            p1.x = p1.x - abstandVomBauteil;\n            p2.x = p1.x;\n            drehwinkel.x = 0;\n            drehwinkel.y = 0;\n            drehwinkel.z = w90Grad;\n          }\n\n          cords = this.getMassketteKoordinaten(p1, p2, drehachsen, drehwinkel);\n        }\n\n        if (typ === 'sicherheitsAbstand' && name === 'traeger') {\n          z = item.get('boxsizes').objectAt(0).get('z') / 20;\n          p1.x = item.get('boxsizes').objectAt(0).get('x') / 20;\n          p1.y = item.get('boxsizes').objectAt(0).get('y') / 10 - Number(x3d.get('sicherheitsAbstand')) / 10;\n          p1.z = z;\n          p2.x = item.get('boxsizes').objectAt(0).get('x') / 20;\n          p2.y = item.get('boxsizes').objectAt(0).get('y') / 10;\n          p2.z = z;\n\n          if (x3d.get('gabellager') === true) {\n            var ueberstand = Number(bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n            var auflager = Number(bauteile.findBy('id', 'auflager').get('boxsizes').objectAt(0).get('x')) / 10;\n\n            if (bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === true) {\n              p1.x = auflager / 2 + ueberstand > Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('x')) / 20 ? p1.x : p1.x - auflager / 2 + Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('x')) / 20;\n            }\n\n            var gabelhoehe = x3d.get('hGabellagerEingetragen') === true ? Number(bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y') / 10) : 0.9 * Number(item.get('boxsizes').objectAt(0).get('y')) / 10;\n\n            if (Number(item.get('boxsizes').objectAt(0).get('y')) / 10 - Number(x3d.get('sicherheitsAbstand')) / 10 < gabelhoehe) {\n              delta = abstandVomBauteil + hoeheMasskette;\n            }\n\n            p1.z = p1.z + Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('z')) / 10 + Number(bauteile.findBy('id', \"gabellager\").get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n          }\n\n          if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            p1.z = p1.z + abstandVomBauteil + delta;\n            drehwinkel.x = w90Grad;\n            drehwinkel.y = 0;\n            drehwinkel.z = -w90Grad;\n          } else {\n            p1.x = p1.x + abstandVomBauteil + delta;\n            drehwinkel.x = 0;\n            drehwinkel.y = 0;\n            drehwinkel.z = -w90Grad;\n          }\n\n          p2.x = p1.x;\n          p2.z = p1.z;\n          cords = this.getMassketteKoordinaten(p1, p2, drehachsen, drehwinkel);\n        }\n\n        if (typ === 'laenge' && name === 'auflager') {\n          z = Number(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z')) / 20;\n          p1.x = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20;\n          p1.y = 0;\n          p1.z = z;\n          p2.x = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20);\n\n          if (x3d.get('gabellager') === true) {\n            p1.y = p1.y - Number(bauteile.findBy('id', \"traeger\").get('boxsizes').objectAt(0).get('y')) / 20;\n            p1.z = p1.z + Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('z')) / 10 + Number(bauteile.findBy('id', \"gabellager\").get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n          }\n\n          p2.y = p1.y;\n          p2.z = p1.z;\n\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n            p1.z = p1.z + abstandVomBauteil;\n            p2.z = p1.z;\n            drehwinkel.x = w90Grad;\n            drehwinkel.y = 0;\n            drehwinkel.z = 0;\n          } else {\n            p1.y = p1.y - abstandVomBauteil;\n            p2.y = p1.y;\n            drehwinkel.x = w180Grad;\n            drehwinkel.y = 0;\n            drehwinkel.z = 0;\n          }\n\n          cords = this.getMassketteKoordinaten(p1, p2, drehachsen, drehwinkel);\n        }\n\n        if (typ === 'ueberstand' && name === 'auflager') {\n          z = Number(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z')) / 20;\n          p1.x = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20);\n          p1.y = 0;\n          p1.z = z;\n          p2.x = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20) - bauteile.findBy('id', name).get('erweiterteeigenschaften').objectAt(0).get('ueberstand') / 10;\n          p2.z = z;\n\n          if (x3d.get('gabellager') === true) {\n            p1.y = p1.y - Number(bauteile.findBy('id', \"traeger\").get('boxsizes').objectAt(0).get('y')) / 20;\n            p1.z = p1.z + Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('z')) / 10 + Number(bauteile.findBy('id', \"gabellager\").get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n          }\n\n          p2.y = p1.y;\n\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n            p1.z = p1.z + abstandVomBauteil;\n            drehwinkel.x = w90Grad;\n            drehwinkel.y = 0;\n            drehwinkel.z = 0;\n          } else {\n            p1.y = p1.y - abstandVomBauteil;\n            p2.y = p1.y;\n            drehwinkel.x = w180Grad;\n            drehwinkel.y = 0;\n            drehwinkel.z = 0;\n          }\n\n          p2.z = p1.z;\n          cords = this.getMassketteKoordinaten(p1, p2, drehachsen, drehwinkel);\n        }\n      }\n\n      if (name.substring(0, 8) === 'schraube' && x3d.get('ergebnisGeladen')) {\n        var p0, p3, p4, p5, p6, p7, p8, p9;\n        var b05 = 0.05 * skalierungsfaktor;\n        var b1 = 0.1 * skalierungsfaktor;\n        var b5 = 0.5 * skalierungsfaktor;\n        var b45 = b5 - b05;\n        var b55 = b5 + b05;\n        var b6 = 0.6 * skalierungsfaktor;\n        var xVerschiebung = item.get('translations').objectAt(0).get('x') / 10;\n        var zVerschiebung = item.get('translations').objectAt(0).get('z') / 10;\n        var schraubenlaenge = (item.get('screwProperties').objectAt(0).get('length') + item.get('screwProperties').objectAt(0).get('headheight')) / 10;\n        var alpha = item.get('rotations').objectAt(0).get('z');\n        var beta = item.get('rotations').objectAt(0).get('y');\n\n        if (alpha > 1.5707 && !x3d.get('schraubenGekreuzt')) {\n          alpha = 1.5707 - (alpha - 1.5707);\n          xVerschiebung = xVerschiebung * -1;\n        }\n\n        var posFaktor = 1;\n\n        if (alpha > 1.5707) {\n          posFaktor = -1;\n        }\n\n        var xKopfPos = Math.cos(beta) * (Math.cos(alpha) * schraubenlaenge) + xVerschiebung;\n        var zKopfPos = Math.sin(beta) * (Math.cos(alpha) * schraubenlaenge) - zVerschiebung;\n        var xBezugspunkt = 0;\n        var yBezugspunkt = 0;\n        var zBezugspunkt = 0;\n\n        if (x3d.get('istHt')) {\n          zBezugspunkt = x3d.get('bauteile').findBy('id', 'sparren2').get('boxsizes').objectAt(0).get('z') / 20 + 0.25;\n        } else {\n          zBezugspunkt = x3d.get('bauteile').findBy('id', 'sparren2').get('boxsizes').objectAt(0).get('y') / 20 + 0.25;\n        }\n\n        b5 = 0.2 * skalierungsfaktor;\n        b45 = b5 - b05;\n        b55 = b5 + b05;\n        b6 = 0.3 * skalierungsfaktor;\n\n        if (typ === 'xPos') {\n          p0 = xKopfPos + ' ' + yBezugspunkt + ' ' + -zBezugspunkt;\n          p1 = xBezugspunkt + ' ' + yBezugspunkt + ' ' + -zBezugspunkt;\n\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') || bauteile.findBy('id', 'viewpointDefault').get('cameraProperties').objectAt(0).get('setBind')) {\n            p2 = xBezugspunkt + ' ' + yBezugspunkt + ' ' + -(zBezugspunkt + b6);\n            p3 = xKopfPos + ' ' + yBezugspunkt + ' ' + -(zBezugspunkt + b6);\n            p4 = xKopfPos + posFaktor * b1 + ' ' + yBezugspunkt + ' ' + -(zBezugspunkt + b5);\n            p5 = xBezugspunkt - posFaktor * b1 + ' ' + yBezugspunkt + ' ' + -(zBezugspunkt + b5);\n            p6 = xBezugspunkt - b05 + ' ' + yBezugspunkt + ' ' + -(zBezugspunkt + b45);\n            p7 = xBezugspunkt + b05 + ' ' + yBezugspunkt + ' ' + -(zBezugspunkt + b55);\n            p8 = xKopfPos - b05 + ' ' + yBezugspunkt + ' ' + -(zBezugspunkt + b45);\n            p9 = xKopfPos + b05 + ' ' + yBezugspunkt + ' ' + -(zBezugspunkt + b55);\n          } else if (bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind')) {\n            p2 = xBezugspunkt + ' ' + (yBezugspunkt + b6) + ' ' + -zBezugspunkt;\n            p3 = xKopfPos + ' ' + (yBezugspunkt + b6) + ' ' + -zBezugspunkt;\n            p4 = xKopfPos + posFaktor * b1 + ' ' + (yBezugspunkt + b5) + ' ' + -zBezugspunkt;\n            p5 = xBezugspunkt - posFaktor * b1 + ' ' + (yBezugspunkt + b5) + ' ' + -zBezugspunkt;\n            p6 = xBezugspunkt - b05 + ' ' + (yBezugspunkt + b45) + ' ' + -zBezugspunkt;\n            p7 = xBezugspunkt + b05 + ' ' + (yBezugspunkt + b55) + ' ' + -zBezugspunkt;\n            p8 = xKopfPos - b05 + ' ' + (yBezugspunkt + b45) + ' ' + -zBezugspunkt;\n            p9 = xKopfPos + b05 + ' ' + (yBezugspunkt + b55) + ' ' + -zBezugspunkt;\n          }\n        }\n\n        if (typ === 'zPos') {\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') && !x3d.objectAt(0).get('istHt')) {\n            xBezugspunkt = x3d.get('bauteile').findBy('id', 'sparren2').get('boxsizes').objectAt(0).get('x') / 10 + 0.75;\n          } else {\n            xBezugspunkt = x3d.get('bauteile').findBy('id', 'sparren2').get('boxsizes').objectAt(0).get('x') / 10 + 0.3;\n          }\n\n          if (zKopfPos > 0) {\n            posFaktor = 1;\n            zBezugspunkt = -x3d.get('bauteile').findBy('id', 'sparren2').get('boxsizes').objectAt(0).get('z') / 20;\n          } else {\n            posFaktor = -1;\n            zBezugspunkt = x3d.get('bauteile').findBy('id', 'sparren2').get('boxsizes').objectAt(0).get('z') / 20;\n          }\n\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') || bauteile.findBy('id', 'viewpointDefault').get('cameraProperties').objectAt(0).get('setBind')) {\n            if (zKopfPos > 0) {\n              xBezugspunkt = xBezugspunkt + 0.4;\n            }\n\n            p0 = xBezugspunkt + ' ' + yBezugspunkt + ' ' + -zKopfPos;\n            p1 = xBezugspunkt + ' ' + yBezugspunkt + ' ' + zBezugspunkt;\n            p2 = xBezugspunkt + b6 + ' ' + yBezugspunkt + ' ' + zBezugspunkt;\n            p3 = xBezugspunkt + b6 + ' ' + yBezugspunkt + ' ' + -zKopfPos;\n            p4 = xBezugspunkt + b5 + ' ' + yBezugspunkt + ' ' + (-zKopfPos + b1 * posFaktor);\n            p5 = xBezugspunkt + b5 + ' ' + yBezugspunkt + ' ' + (zBezugspunkt - b1 * posFaktor);\n            p6 = xBezugspunkt + b45 + ' ' + yBezugspunkt + ' ' + (zBezugspunkt - b05);\n            p7 = xBezugspunkt + b55 + ' ' + yBezugspunkt + ' ' + (zBezugspunkt + b05);\n            p8 = xBezugspunkt + b45 + ' ' + yBezugspunkt + ' ' + (-zKopfPos - b05);\n            p9 = xBezugspunkt + b55 + ' ' + yBezugspunkt + ' ' + (-zKopfPos + b05);\n          } else if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            if (zKopfPos > 0) {\n              yBezugspunkt = yBezugspunkt + 0.4;\n            }\n\n            p0 = xBezugspunkt + ' ' + yBezugspunkt + ' ' + -zKopfPos;\n            p1 = xBezugspunkt + ' ' + yBezugspunkt + ' ' + zBezugspunkt;\n            p2 = xBezugspunkt + ' ' + (yBezugspunkt + b6) + ' ' + zBezugspunkt;\n            p3 = xBezugspunkt + ' ' + (yBezugspunkt + b6) + ' ' + -zKopfPos;\n            p4 = xBezugspunkt + ' ' + (yBezugspunkt + b5) + ' ' + (-zKopfPos + b1 * posFaktor);\n            p5 = xBezugspunkt + ' ' + (yBezugspunkt + b5) + ' ' + (zBezugspunkt - b1 * posFaktor);\n            p6 = xBezugspunkt + ' ' + (yBezugspunkt + b45) + ' ' + (zBezugspunkt - b05);\n            p7 = xBezugspunkt + ' ' + (yBezugspunkt + b55) + ' ' + (zBezugspunkt + b05);\n            p8 = xBezugspunkt + ' ' + (yBezugspunkt + b45) + ' ' + (-zKopfPos - b05);\n            p9 = xBezugspunkt + ' ' + (yBezugspunkt + b55) + ' ' + (-zKopfPos + b05);\n          }\n        }\n\n        cords = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      }\n\n      if (name === 'lastenPfeil') {\n        cords = '0 0 0 0 -1 0';\n      }\n\n      return cords;\n    }),\n    koordinatenIndex: Ember.computed('model.firstObject.{transformHelper,viewpointHelper}', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model');\n      var bauteile = x3d.objectAt(0).get('bauteile');\n      var values = \"1 2 -1 0 3 -1 4 5 -1 6 7 -1 8 9 -1\";\n      var item = x3d.objectAt(0).get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === 'box') {\n        if (typ === 'kontur') {\n          values = \"0 1 2 3 0 -1 4 5 6 7 4 -1 0 4 -1 1 5 -1 2 6 -1 3 7\";\n        }\n\n        if (typ === 'faserrichtung') {\n          values = \"0 1 -1 1 2 -1 2 3 -1\";\n        }\n      } else {\n        if (name === 'lastenPfeil') {\n          values = \"0 1 -1\";\n        }\n\n        if (name.substring(0, 8) === 'schraube' && x3d.objectAt(0).get('ergebnisGeladen')) {\n          if (typ === 'xPos' && bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = \"0 0\";\n          } else if (typ === 'zPos' && bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = \"0 0\";\n          } else {\n            values = \"1 2 -1 0 3 -1 4 5 -1 6 7 -1 8 9 -1\";\n          }\n        }\n      }\n\n      return values;\n    }),\n    istLastenpfeil: Ember.computed('foobar', function () {\n      var istLastenpfeil = false;\n\n      if (this.get('name') === 'lastenPfeil') {\n        istLastenpfeil = true;\n      }\n\n      return istLastenpfeil;\n    }),\n    emissivecolor: Ember.computed('model.firstObject.{htbreiteAktiv,hthoeheAktiv,abreiteAktiv,alaengeAktiv,spabstandAktiv,bemessungslastAktiv,sicherheitsAbstandAktiv,ueberstandAktiv,spaltmassAktiv}', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var emsvcolor = '0 0 0';\n\n      if (x3d.get('htbreiteAktiv') === true && name === 'traeger' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('hthoeheAktiv') === true && name === 'traeger' && typ === 'hoehe') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('abreiteAktiv') === true && name === 'auflager' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('alaengeAktiv') === true && name === 'auflager' && typ === 'laenge') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('glbreiteAktiv') === true && name === 'grundlatte1' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('sicherheitsAbstandAktiv') === true && name === 'traeger' && typ === 'sicherheitsAbstand') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('ueberstandAktiv') === true && name === 'auflager' && typ === 'ueberstand') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('spaltmassAktiv') === true && name === 'auflagernaheEinzellast' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('bemessungslastAktiv') === true && name === 'lastenPfeil') {\n        emsvcolor = '1 0 0';\n      }\n\n      return emsvcolor;\n    }),\n    getKonturKoordinaten: function (x, y, z) {\n      var p0 = -x / 2 + ' ' + 0 + ' ' + -z / 2;\n      var p1 = -x / 2 + ' ' + 0 + ' ' + z / 2;\n      var p2 = x / 2 + ' 0 ' + z / 2;\n      var p3 = x / 2 + ' 0 ' + -z / 2;\n      var p4 = -x / 2 + ' ' + y + ' ' + -z / 2;\n      var p5 = -x / 2 + ' ' + y + ' ' + z / 2;\n      var p6 = x / 2 + ' ' + y + ' ' + z / 2;\n      var p7 = x / 2 + ' ' + y + ' ' + -z / 2;\n      var p8 = 0;\n      var p9 = 0;\n      var koordinaten = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      return koordinaten;\n    },\n    getMassketteKoordinaten: function (punkt1, punkt2, drehachsen, drehwinkel) {\n      var skalierungsfaktor = 1;\n      var b05 = 0.05 * skalierungsfaktor;\n      var b1 = 0.1 * skalierungsfaktor;\n      var b5 = 0.5 * skalierungsfaktor;\n      var b45 = b5 - b05;\n      var b55 = b5 + b05;\n      var b6 = 0.6 * skalierungsfaktor;\n      var dp = new Object();\n      var deltaX = 0;\n      var deltaY = 0;\n      var p0 = Number(punkt1.x) + ' ' + punkt1.y + ' ' + punkt1.z;\n      var p1 = Number(punkt2.x) + ' ' + (Number(punkt2.y) + Number(deltaY)) + ' ' + punkt2.z;\n      dp = this.drehungXAchse({\n        x: 0,\n        y: b6,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p2 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      var p3 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      dp = this.drehungXAchse({\n        x: b1,\n        y: b5,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p4 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      dp = this.drehungXAchse({\n        x: -b1,\n        y: b5,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p5 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      dp = this.drehungXAchse({\n        x: -b05,\n        y: b45,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p6 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      var p8 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      dp = this.drehungXAchse({\n        x: b05,\n        y: b55,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p7 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      var p9 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      var koordinaten = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      return koordinaten;\n    },\n    drehungXAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x;\n      r.y = v.y * Math.cos(omega) - v.z * Math.sin(omega);\n      r.z = v.y * Math.sin(omega) + v.z * Math.cos(omega);\n      return r;\n    },\n    drehungYAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x * Math.cos(omega) + v.z * Math.sin(omega);\n      r.y = v.y;\n      r.z = -v.x * Math.sin(omega) + v.z * Math.cos(omega);\n      return r;\n    },\n    drehungZAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x * Math.cos(omega) - v.y * Math.sin(omega);\n      r.y = v.x * Math.sin(omega) + v.y * Math.cos(omega);\n      r.z = v.z;\n      return r;\n    }\n  });\n  var _default = Transform;\n  _exports.default = _default;\n});","define(\"m12-2020/components/indexedlineset-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Indexedlineset = Ember.Component.extend({\n    tagName: 'Transform',\n    layoutName: 'indexedlineset-erg',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['testClassNameXXX'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    objektSkalierung: 1,\n    ueberstand: 2,\n    yDeltaOben: 0,\n    yDeltaUnten: 0,\n    translation: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n\n      if (name === 'queranschluss2') {\n        name = 'queranschluss1';\n      }\n\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var bezug = this.get('typ');\n      var x = 0;\n      var y = 0;\n      var z = 0;\n      var cords;\n      var item = x3d.get('bauteile').findBy('id', name);\n\n      if (typ === 'lastenPfeil') {\n        x = item.get('translations').objectAt(0).get('x');\n\n        if (x3d.get('ergebnisGeladen') === true) {\n          y = (Number(bauteile.findBy('id', 'mittelbauteil').get('punkt').objectAt(1).get('y')) + (Number(bauteile.findBy('id', 'mittelbauteil').get('punkt').objectAt(0).get('y')) - Number(bauteile.findBy('id', 'mittelbauteil').get('punkt').objectAt(1).get('y'))) / 2) / 10;\n          x = this.scherkraftXWert(y) / 10;\n        } else {\n          y = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y') / 20;\n        }\n\n        if (name === 'scherkraftPfeil') {\n          if (x3d.get('ergebnisGeladen') === true) {\n            var verstaerkung = 0;\n\n            if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === false) {\n              verstaerkung = x3d.get('dickeBlass') / 10;\n            } else if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === true) {\n              verstaerkung = x3d.get('dickeWerner') / 10 * 2;\n            }\n\n            z = Number(bauteile.findBy('id', 'seitenbauteil0').get('platte').objectAt(0).get('thickness')) / 20 + verstaerkung;\n\n            if (x3d.get('zweiSchaerflaechen') === true) {\n              z = z + Number(bauteile.findBy('id', 'mittelbauteil').get('platte').objectAt(0).get('thickness')) / 20;\n            }\n          } else {\n            z = 0;\n          }\n        } else {\n          z = item.get('translations').objectAt(0).get('z');\n        }\n\n        cords = x + ' ' + y + ' ' + z;\n      }\n\n      return cords;\n    }),\n    rotation: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var values;\n      var item = x3d.get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === 'lastenPfeil') {\n        var winkel = item.get('rotations').objectAt(0).get('winkel');\n\n        if (name === 'scherkraftPfeil') {\n          if (x3d.get('ergebnisGeladen')) {\n            winkel = 1.5708 + x3d.get('vWinkel') * Math.PI / 180;\n          }\n\n          winkel = Number(winkel) + Number(x3d.get('vWinkelScherkraft')) * Math.PI / 180;\n        }\n\n        values = item.get('rotations').objectAt(0).get('x') + \" \" + item.get('rotations').objectAt(0).get('y') + \" \" + item.get('rotations').objectAt(0).get('z') + \" \" + winkel;\n      }\n\n      return values;\n    }),\n    koordinaten: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.{viewpointHelper,vWinkel,hWinkel,istHt,skalierungsfaktor,schraubenGekreuzt}', function () {\n      console.log(\"##### indexedlineset-erg koordinaten #####\");\n      var name = this.get('name');\n\n      if (name === 'queranschluss2') {\n        name = 'queranschluss1';\n      }\n\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var hwinkel = Number(x3d.get('hWinkel')) * Math.PI / 180;\n      var vwinkel = Number(x3d.get('vWinkel')) * Math.PI / 180;\n      var x = 0;\n      var y = 0;\n      var z = 0;\n      var skalierungsfaktor = x3d.get('skalierungsfaktor');\n      var cords = \"1 2 3 -1 3 2 1 -1\";\n      var p1 = new Object();\n      var p2 = new Object();\n      var drehwinkel = new Object();\n      var w90Grad = 90 * Math.PI / 180;\n      var w180Grad = 180 * Math.PI / 180;\n      var item = x3d.get('bauteile').findBy('id', name);\n      var ueberstand = Number(this.get('ueberstand'));\n      var verstaerkung = 0;\n\n      if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === false) {\n        verstaerkung = x3d.get('dickeBlass') / 10;\n      } else if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === true) {\n        verstaerkung = x3d.get('dickeWerner') / 10;\n      }\n\n      if (x3d.get('ergebnisGeladen') === false && item.get('typ') === 'box') {\n        x = item.get('boxsizes').objectAt(0).get('x') / 10;\n        y = item.get('boxsizes').objectAt(0).get('y') / 10;\n        z = item.get('boxsizes').objectAt(0).get('z') / 10;\n\n        if (typ === 'kontur') {\n          if (name === 'nebenTraeger') {\n            cords = this.getKonturKoordinaten(x, y, z);\n          } else {\n            cords = this.getKonturKoordinaten(x, y, z);\n          }\n        }\n\n        if (x3d.get('ergebnisGeladen') === false && typ === 'faserrichtung' && (name.substring(0, 12) === 'hauptTraeger' || name === 'nebenTraeger')) {\n          cords = this.getFaserrichtungsPfeile(item);\n        }\n\n        switch (typ) {\n          case 'breite':\n            var xVerschiebung = -Math.abs(x3d.get('xSeitenbauteil') / 10);\n            var yVerschiebung = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10;\n\n            if (name === 'nebenTraeger') {\n              xVerschiebung = -Math.abs(x3d.get('xSeitenbauteil') / 10) - ueberstand;\n            }\n\n            if (name.substring(0, 12) === 'hauptTraeger' && hwinkel !== 0) {\n              p1.x = -Number(this.getXSeitenbauteilOben());\n              p2.x = -Number(this.getXSeitenbauteilOben());\n              p1.z = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20;\n              p2.z = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20);\n            } else if (name.substring(0, 17) === 'verstaerkungBlass') {\n              p1.x = Math.abs(x3d.get('xMittelbauteil') / 10);\n              p2.x = Math.abs(x3d.get('xMittelbauteil') / 10);\n              p1.z = verstaerkung / 2;\n              p2.z = -verstaerkung / 2;\n            } else if (name.substring(0, 18) === 'verstaerkungWerner') {\n              p1.x = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n              p2.x = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n              p1.z = verstaerkung / 2;\n              p2.z = -verstaerkung / 2;\n            } else {\n              p1.x = xVerschiebung;\n              p2.x = xVerschiebung;\n              p1.z = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20;\n              p2.z = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20);\n            }\n\n            p1.y = yVerschiebung;\n            p2.y = yVerschiebung;\n\n            if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n              var richtung = 1;\n\n              if (name.substring(0, 18) === 'verstaerkungWerner' || name.substring(0, 17) === 'verstaerkungBlass') {\n                richtung = -1;\n              }\n\n              drehwinkel.x = 0;\n              drehwinkel.y = -w90Grad;\n              drehwinkel.z = richtung * w90Grad;\n            } else {\n              drehwinkel.x = 0;\n              drehwinkel.y = -w90Grad;\n              drehwinkel.z = 0;\n            }\n\n            cords = this.getMassketteKoordinaten(p1, p2, drehwinkel);\n            break;\n\n          case 'hoehe':\n            var xVerschiebung = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20;\n            var zVerschiebung = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20;\n\n            if (name === 'nebenTraeger') {\n              p1.x = -Math.abs(x3d.get('xSeitenbauteil') / 10) - ueberstand;\n              p1.y = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10;\n              p1.z = -zVerschiebung;\n              p2.x = -Math.abs(x3d.get('xSeitenbauteil') / 10) - ueberstand;\n              p2.y = 0;\n              p2.z = -zVerschiebung;\n\n              if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n                if (x3d.get('zweiSchaerflaechen') === true && name === 'nebenTraeger') {\n                  p1.z = p1.z - Number(bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('z')) / 10;\n                }\n\n                p1.z = p1.z - verstaerkung;\n                p1.z = p1.z - verstaerkung;\n                p2.z = p1.z;\n                drehwinkel.x = -w90Grad;\n                drehwinkel.y = 0;\n                drehwinkel.z = w90Grad;\n              } else {\n                drehwinkel.x = 0;\n                drehwinkel.y = 0;\n                drehwinkel.z = w90Grad;\n              }\n            } else if (name === 'hauptTraeger1') {\n              p1.x = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n              p1.y = 0;\n              p1.z = zVerschiebung;\n              p2.x = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n              p2.y = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10;\n              p2.z = zVerschiebung;\n\n              if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n                drehwinkel.x = w90Grad;\n                drehwinkel.y = 0;\n                drehwinkel.z = -w90Grad;\n              } else {\n                drehwinkel.x = 0;\n                drehwinkel.y = 0;\n                drehwinkel.z = -w90Grad;\n              }\n            }\n\n            cords = this.getMassketteKoordinaten(p1, p2, drehwinkel);\n            break;\n\n          case 'setztiefe':\n            p1.x = -Math.abs(x3d.get('xSeitenbauteil') / 10);\n            p1.y = 0;\n            p1.z = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20;\n            p2.x = -Math.abs(x3d.get('xSeitenbauteil') / 10);\n            p2.y = 0;\n            p2.z = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20 - bauteile.findBy('id', 'schraubeStandard1').get('screwProperties').objectAt(0).get('setztiefe') / 10;\n\n            if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n              p1.x = -Math.abs(x3d.get('xSeitenbauteil') / 10) - 1 - skalierungsfaktor * 0.5;\n              p1.y = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10;\n              p2.x = -Math.abs(x3d.get('xSeitenbauteil') / 10) - 1 - skalierungsfaktor * 0.5;\n              p2.y = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10;\n              drehwinkel.x = 0;\n              drehwinkel.y = -w90Grad;\n              drehwinkel.z = w90Grad;\n            } else {\n              drehwinkel.x = 0;\n              drehwinkel.y = -w90Grad;\n              drehwinkel.z = -w180Grad;\n            }\n\n            cords = this.getMassketteKoordinaten(p1, p2, drehwinkel);\n            break;\n        }\n      }\n\n      if (name === 'bBox' && typ === 'kontur') {\n        x = item.get('boxsizes').objectAt(0).get('x') / 10;\n        y = item.get('boxsizes').objectAt(0).get('y') / 10;\n        z = item.get('boxsizes').objectAt(0).get('z') / 10;\n        cords = [-x / 2, 0, -z / 2, -x / 2, 0, z / 2, y / 2, 0, z / 2, x / 2, 0, -z / 2, -x / 2, y, -z / 2, -x / 2, y, z / 2, y / 2, y, z / 2, x / 2, y, -z / 2].toString();\n      } // console.log(bauteile);\n      // console.log(\"name: \"+name);\n      // console.log(\"item\");\n      // console.log(item);\n\n\n      if (x3d.get('ergebnisGeladen') === true && item.get('typ') === 'platte') {\n        switch (typ) {\n          case 'kontur':\n            cords = this.getErgebnisKonturKoordinaten();\n            break;\n\n          case 'faserrichtung':\n            cords = this.getFaserrichtungsPfeile(item);\n            break;\n\n          case 'breite':\n            p2.x = Number(item.get('punkt').objectAt(0).get('x')) / 10;\n            p2.y = Number(item.get('punkt').objectAt(0).get('y')) / 10;\n            p2.z = Number(item.get('punkt').objectAt(0).get('z')) / 10;\n            p1.x = Number(item.get('punkt').objectAt(0).get('x')) / 10;\n            p1.y = Number(item.get('punkt').objectAt(0).get('y')) / 10;\n            p1.z = Number(item.get('punkt').objectAt(0).get('z')) / 10 + Number(item.get('platte').objectAt(0).get('thickness')) / 10;\n\n            if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n              drehwinkel.x = 0;\n              drehwinkel.y = -w90Grad;\n              drehwinkel.z = w90Grad;\n            } else {\n              drehwinkel.x = 0;\n              drehwinkel.y = -w90Grad;\n              drehwinkel.z = 0;\n            }\n\n            cords = this.getMassketteKoordinaten(p1, p2, drehwinkel);\n            break;\n\n          case 'hoehe':\n            if (name === 'mittelbauteil') {\n              p2.y = Number(item.get('punkt').objectAt(1).get('y')) / 10;\n              p1.y = Number(item.get('punkt').objectAt(0).get('y')) / 10;\n\n              if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n                p2.x = Number(item.get('punkt').objectAt(1).get('x')) / 10;\n                p2.z = Number(item.get('punkt').objectAt(1).get('z')) / 10 - 0.5 - this.postionDurchSkalierung(1);\n                p1.x = Number(item.get('punkt').objectAt(0).get('x')) / 10;\n\n                if (x3d.get('zweiSchaerflaechen') === true) {\n                  p2.z = p2.z - Number(x3d.get('bauteile').findBy('id', 'seitenbauteil1').get('platte').objectAt(0).get('thickness')) / 10;\n                  p2.z = p2.z - verstaerkung;\n                }\n\n                p1.z = p2.z;\n                drehwinkel.x = -w90Grad;\n                drehwinkel.y = 0;\n                drehwinkel.z = w90Grad;\n              } else {\n                p2.x = Number(item.get('punkt').objectAt(1).get('x')) / 10 - 0.5 - this.postionDurchSkalierung(1);\n                p2.z = Number(item.get('punkt').objectAt(1).get('z')) / 10;\n                p1.x = Number(item.get('punkt').objectAt(0).get('x')) / 10 - 0.5 - this.postionDurchSkalierung(1);\n                p1.z = Number(item.get('punkt').objectAt(0).get('z')) / 10;\n                drehwinkel.x = 0;\n                drehwinkel.y = 0;\n                drehwinkel.z = w90Grad;\n              }\n            } else if (name === 'seitenbauteil0') {\n              p1.x = Number(item.get('punkt').objectAt(2).get('x')) / 10;\n              p1.y = Number(item.get('punkt').objectAt(2).get('y')) / 10;\n              p1.z = Number(item.get('punkt').objectAt(2).get('z')) / 10 + Number(item.get('platte').objectAt(0).get('thickness')) / 10;\n              p2.x = Number(item.get('punkt').objectAt(3).get('x')) / 10;\n              p2.y = Number(item.get('punkt').objectAt(3).get('y')) / 10;\n              p2.z = Number(item.get('punkt').objectAt(3).get('z')) / 10 + Number(item.get('platte').objectAt(0).get('thickness')) / 10;\n\n              if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n                drehwinkel.x = w90Grad;\n                drehwinkel.y = 0;\n                drehwinkel.z = -w90Grad + vwinkel;\n              } else {\n                drehwinkel.x = 0;\n                drehwinkel.y = 0;\n                drehwinkel.z = -w90Grad + vwinkel;\n              }\n            }\n\n            cords = this.getMassketteKoordinaten(p1, p2, drehwinkel);\n            break;\n        }\n      }\n\n      if (name === typ) {\n        p1.x = item.get('punkt').objectAt(1).get('x') / 10;\n        p1.y = item.get('punkt').objectAt(1).get('y') / 10;\n        p1.z = item.get('punkt').objectAt(1).get('z') / 10;\n        p2.x = item.get('punkt').objectAt(0).get('x') / 10;\n        p2.y = item.get('punkt').objectAt(0).get('y') / 10;\n        p2.z = item.get('punkt').objectAt(0).get('z') / 10;\n        var richtungsvektor1 = new Object();\n        var richtungsvektor2 = new Object();\n        var sichtEbene = \"AnsichtXY\";\n\n        if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n          sichtEbene = \"AnsichtXZ\";\n        } else if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n          sichtEbene = \"AnsichtYZ\";\n        }\n\n        sichtEbene = 'masskette' + sichtEbene + item.id.substring(0, item.id.length - 3);\n        richtungsvektor1.x = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('x'));\n        richtungsvektor1.y = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('y'));\n        richtungsvektor1.z = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('z'));\n        richtungsvektor2 = richtungsvektor1;\n        var ebene = Number(item.get('masskette').objectAt(0).get('ebene'));\n        cords = this.getVektorKoordinaten(p1, p2, richtungsvektor1, richtungsvektor2, ebene);\n      }\n\n      if (typ === 'lastenPfeil') {\n        //Lastenpfeile werden in y-Richtung gezeichnet und müssen anschließend gedreht werden.\n        //Grund sind die Pfeilspitzen (Cone) die nur in y-Richtung erstellt werden können und\n        //anschließend gedreht werden müssen. Daher sind y-Werte und z-Werte vertauscht.\n        var endpunkt1 = 0;\n        var endpunkt2 = 0;\n        var verschiebungZ = 0;\n        var x1 = 0;\n\n        if (name === 'axialkraftPfeil') {\n          endpunkt1 = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / 20;\n\n          if (x3d.get('zweiSchaerflaechen')) {\n            endpunkt1 = endpunkt1 + bauteile.findBy('id', 'hauptTraeger2').get('boxsizes').objectAt(0).get('z') / 10 + verstaerkung;\n          }\n\n          endpunkt2 = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / 20 + bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('z') / 10 + verstaerkung;\n        } else if (name === 'scherkraftPfeil') {\n          endpunkt1 = 2;\n          endpunkt2 = 2;\n\n          if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === true) {\n            verstaerkung = verstaerkung * 2;\n          }\n\n          if (x3d.get('ergebnisGeladen') === true) {\n            // verschiebungZ = Number(bauteile.findBy('id', 'mittelbauteil').get('platte').objectAt(0).get('thickness'))/20 + Number(bauteile.findBy('id', 'seitenbauteil0').get('platte').objectAt(0).get('thickness'))/20 + verstaerkung;\n            verschiebungZ = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / 20 + bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('z') / 20 + verstaerkung;\n          } else {\n            verschiebungZ = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / 20 + bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('z') / 20 + verstaerkung;\n          }\n        }\n\n        if (x3d.get('zweiSchaerflaechen')) {\n          cords = x1 + ' ' + 0 + ' ' + -verschiebungZ + ', ' + x1 + ' ' + (endpunkt1 + 1) + ' ' + -verschiebungZ + ', ' + x1 + ' ' + 0 + ' 0, ' + x1 + ' ' + (-endpunkt2 - 1) + ' 0, ' + x1 + ' ' + 0 + ' ' + -2 * verschiebungZ + ', ' + x1 + ' ' + (-endpunkt2 - 1) + ' ' + -2 * verschiebungZ;\n        } else {\n          cords = x1 + ' ' + 0 + ' ' + -verschiebungZ + ', ' + x1 + ' ' + (endpunkt1 + 1) + ' ' + -verschiebungZ + ', ' + x1 + ' ' + 0 + ' 0, ' + x1 + ' ' + (-endpunkt2 - 1) + ' 0';\n        }\n      }\n\n      if (this.get('typ') === 'vWinkel' && name === 'hauptTraeger1') {\n        var r1 = 0;\n        var w1 = 0;\n        var w2 = x3d.get('vWinkel');\n        r1 = Number(bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('x')) / 20 + 3;\n        cords = this.getArc2dCords(w1 * Math.PI / 180, w2 * Math.PI / 180, r1);\n      }\n\n      if (typ === 'vWinkelScherkraft' && name === 'hauptTraeger1') {\n        var r1 = 0;\n        var w1 = Number(x3d.get('vWinkel'));\n        var w2 = Number(x3d.get('vWinkelScherkraft'));\n        r1 = Number(bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('x')) / 20 + 4;\n        cords = this.getArc2dCords(w1 * Math.PI / 180, (w1 + w2) * Math.PI / 180, r1);\n      }\n\n      return cords;\n    }),\n    koordinatenIndex: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.istHt', function () {\n      console.log(\"##### indexedlineset-erg koordinaten index #####\");\n      var name = this.get('name');\n\n      if (name === 'queranschluss2') {\n        name = 'queranschluss1';\n      }\n\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var values = \"1 2 -1 0 3 -1 4 5 -1 6 7 -1 8 9 -1\";\n      var item = x3d.get('bauteile').findBy('id', name);\n\n      if (item.get('typ') === 'box' || item.get('typ') === 'platte') {\n        if (typ === 'kontur') {\n          if (x3d.get('ausmittigerstabanschluss') === true && (name.substring(0, 12) === 'hauptTraeger' || name.substring(0, 18) === 'verstaerkungWerner')) {\n            values = \"0 1 2 3 0 -1 4 5 6 7 4 -1 0 8 4 -1 1 9 5 -1 2 6 -1 3 7 -1 8 9\";\n          } else if (x3d.get('ausmittigerstabanschluss') === true && name.substring(0, 13) === 'seitenbauteil') {\n            values = \"0 1 2 3 8 0 -1 4 5 6 7 9 4 -1 8 9 -1 0 4 -1 1 5 -1 2 6 -1 3 7 -1\";\n          } else {\n            if (item.get('typ') === 'box') {\n              values = \"0 1 2 3 0 -1 4 5 6 7 4 -1 0 4 -1 1 5 -1 2 6 -1 3 7\";\n            }\n\n            if (item.get('typ') === 'platte') {\n              values = \"\";\n\n              for (var i = 0; i < item.get('punkt').length; i++) {\n                values = values + \" \" + i;\n              }\n\n              values = values + \" 0 -1 \";\n              var arr = []; // Abschlussfläche\n\n              for (var i = 0; i < item.get('punkt').length; i++) {\n                arr.push(i + item.get('punkt').length);\n              }\n\n              var str = arr.reverse().toString();\n              values = values + item.get('punkt').length + \" \" + str.replace(/,/g, \" \") + \" -1 \";\n              values = values + 0 + \" \" + item.get('punkt').length + \" -1 1 \" + (1 + item.get('punkt').length) + \" -1 2 \" + (2 + item.get('punkt').length) + \" -1 \" + (item.get('punkt').length - 1) + \" \" + (item.get('punkt').length - 1 + item.get('punkt').length) + \" -1\";\n            }\n          }\n        }\n\n        if (typ === 'faserrichtung') {\n          values = \"0 1 -1 1 2 -1 2 3 -1\";\n        }\n      } else {\n        if (typ === 'lastenPfeil') {\n          if (x3d.get('zweiSchaerflaechen')) {\n            values = \"0 1 -1 2 3 -1 4 5 -1\";\n          } else {\n            values = \"0 1 -1 2 3 -1\";\n          }\n        }\n\n        if (name.substring(0, 8) === 'schraube' && x3d.get('ergebnisGeladen')) {\n          if (typ === 'xPos' && bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = \"0 0\";\n          } else if (typ === 'zPos' && bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = \"0 0\";\n          } else {\n            values = \"1 2 -1 0 3 -1 4 5 -1 6 7 -1 8 9 -1\";\n          }\n        }\n      }\n\n      if (this.get('typ') === 'vWinkel' && name === 'hauptTraeger1' || typ === 'vWinkelScherkraft' && name === 'hauptTraeger1') {\n        values = \"0 1 -1 2 3 -1\";\n      }\n\n      return values;\n    }),\n    istLastenpfeil: Ember.computed('', function () {\n      var istLastenpfeil = false;\n\n      if (this.get('typ') === 'lastenPfeil') {\n        istLastenpfeil = true;\n      }\n\n      return istLastenpfeil;\n    }),\n    zweiSchaerflaechen: Ember.computed('model.firstObject.zweiSchaerflaechen', function () {\n      var value = false;\n      var x3d = this.get('model').objectAt(0);\n\n      if (this.get('name') === 'scherkraftPfeil' && x3d.get('zweiSchaerflaechen')) {\n        value = true;\n      }\n\n      return value;\n    }),\n    emissivecolor: Ember.computed('model.firstObject.exzentrizitaetDiagonaleAktiv', 'model.firstObject.ueberstandDiagonaleVertikalAktiv', 'model.firstObject.htbreiteAktiv', 'model.firstObject.hthoeheAktiv', 'model.firstObject.ntbreiteAktiv', 'model.firstObject.nthoeheAktiv', 'model.firstObject.axialkraftAktiv', 'model.firstObject.scherkraftAktiv', 'model.firstObject.vWinkelAktiv', 'model.firstObject.vWinkelScherkraftAktiv', 'model.firstObject.setztiefeAktiv', 'model.firstObject.dickeWernerAktiv', 'model.firstObject.dickeBlassAktiv', function () {\n      var name = this.get('name');\n\n      if (name === 'queranschluss2') {\n        name = 'queranschluss1';\n      }\n\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var item = x3d.get('bauteile').findBy('id', name);\n      var emsvcolor = '0 0 0';\n\n      if (x3d.get('ntbreiteAktiv') === true && name === 'nebenTraeger' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('nthoeheAktiv') === true && name === 'nebenTraeger' && typ === 'hoehe') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('htbreiteAktiv') === true && name.substring(0, 12) === 'hauptTraeger' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('hthoeheAktiv') === true && name.substring(0, 12) === 'hauptTraeger' && typ === 'hoehe') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('setztiefeAktiv') === true && name === 'hauptTraeger1' && typ === 'setztiefe') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('vWinkelScherkraftAktiv') === true && name === 'hauptTraeger1' && typ === 'vWinkelScherkraft') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('vWinkelAktiv') === true && name === 'hauptTraeger1' && typ === 'vWinkel') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('axialkraftAktiv') === true && name === 'axialkraftPfeil' && typ === 'lastenPfeil') {\n        emsvcolor = '1 0 0';\n      } else if (x3d.get('axialkraftAktiv') === false && name === 'axialkraftPfeil' && typ === 'lastenPfeil') {\n        emsvcolor = item.get('diffusecolors').objectAt(0).get('rot') + \" \" + item.get('diffusecolors').objectAt(0).get('gruen') + \" \" + item.get('diffusecolors').objectAt(0).get('blau');\n      }\n\n      if (x3d.get('scherkraftAktiv') === true && name === 'scherkraftPfeil' && typ === 'lastenPfeil') {\n        emsvcolor = '1 0 0';\n      } else if (x3d.get('scherkraftAktiv') === false && name === 'scherkraftPfeil' && typ === 'lastenPfeil') {\n        emsvcolor = item.get('diffusecolors').objectAt(0).get('rot') + \" \" + item.get('diffusecolors').objectAt(0).get('gruen') + \" \" + item.get('diffusecolors').objectAt(0).get('blau');\n      }\n\n      if ((x3d.get('dickeBlassAktiv') === true || x3d.get('dickeWernerAktiv') === true) && name.substring(0, 12) === 'verstaerkung' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('ueberstandDiagonaleVertikalAktiv') === true && name === 'nebenTraeger' && typ === 'ueberstandDiagonaleVertikal') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('exzentrizitaetDiagonaleAktiv') === true && name === 'nebenTraeger' && typ === 'exzentrizitaetDiagonale') {\n        emsvcolor = '1 0 0';\n      }\n\n      return emsvcolor;\n    }),\n    getUrsprungMasskette: function (ursprung, richtung, verschiebung) {\n      ursprung.x = ursprung.x + richtung.x * verschiebung;\n      ursprung.y = ursprung.y + richtung.y * verschiebung;\n      ursprung.z = ursprung.z + richtung.z * verschiebung;\n      return ursprung;\n    },\n    getKonturKoordinaten: function (x, y, z) {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var deltaXht = 0;\n      var deltaXnt = 0;\n      var xMittelbauteil = 0;\n      var xSeitenbauteilUnten = 0;\n      var xPlusSeitenbauteilUnten = 0;\n      var xSeitenbauteilOben = 0;\n      var ueberstand = Number(this.get('ueberstand'));\n      var x1 = 0,\n          x2 = 0;\n      var verstaerkung = 0;\n\n      if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === false) {\n        verstaerkung = Number(x3d.get('dickeBlass'));\n      } else if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === true) {\n        verstaerkung = Number(x3d.get('dickeWerner'));\n      }\n\n      switch (name) {\n        case 'nebenTraeger':\n          // x = 2.5*bauteile.findBy('id', 'queranschluss1').get('boxsizes').objectAt(0).get('x')/10;\n          deltaXnt = Math.abs(x3d.get('xSeitenbauteil') / 10) + ueberstand;\n          xMittelbauteil = Math.abs(x3d.get('xMittelbauteil') / 10);\n          break;\n\n        case 'hauptTraeger1':\n          deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n          xSeitenbauteilOben = this.getXSeitenbauteilOben();\n          xSeitenbauteilUnten = this.getXSeitenbauteilUnten();\n          xPlusSeitenbauteilUnten = this.getXDeltaSeitenbauteilUnten(xSeitenbauteilUnten);\n          break;\n\n        case 'hauptTraeger2':\n          deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n          xSeitenbauteilOben = this.getXSeitenbauteilOben();\n          xSeitenbauteilUnten = this.getXSeitenbauteilUnten();\n          xPlusSeitenbauteilUnten = this.getXDeltaSeitenbauteilUnten(xSeitenbauteilUnten);\n          break;\n\n        case 'verstaerkungBlass1':\n          deltaXnt = Math.abs(x3d.get('xSeitenbauteil') / 10) + ueberstand;\n          xMittelbauteil = Math.abs(x3d.get('xMittelbauteil') / 10);\n          z = verstaerkung / 10;\n          break;\n\n        case 'verstaerkungBlass2':\n          deltaXnt = Math.abs(x3d.get('xSeitenbauteil') / 10) + ueberstand;\n          xMittelbauteil = Math.abs(x3d.get('xMittelbauteil') / 10);\n          z = verstaerkung / 10;\n          break;\n\n        case 'verstaerkungWerner1':\n          deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n          xSeitenbauteilOben = this.getXSeitenbauteilOben();\n          xSeitenbauteilUnten = this.getXSeitenbauteilUnten();\n          xPlusSeitenbauteilUnten = this.getXDeltaSeitenbauteilUnten(xSeitenbauteilUnten);\n          z = verstaerkung / 10;\n          break;\n\n        case 'verstaerkungWerner2':\n          deltaXht = Math.abs(x3d.get('xMittelbauteil') / 10) + ueberstand;\n          xSeitenbauteilOben = this.getXSeitenbauteilOben();\n          xSeitenbauteilUnten = this.getXSeitenbauteilUnten();\n          xPlusSeitenbauteilUnten = this.getXDeltaSeitenbauteilUnten(xSeitenbauteilUnten);\n          z = verstaerkung / 10;\n          break;\n      }\n\n      var p0 = -deltaXnt - xPlusSeitenbauteilUnten + ' ' + (0 + Number(this.get('yDeltaUnten'))) + ' ' + -z / 2;\n      var p1 = -deltaXnt - xPlusSeitenbauteilUnten + ' ' + (0 + Number(this.get('yDeltaUnten'))) + ' ' + z / 2;\n      var p2 = deltaXht + xMittelbauteil + ' ' + (0 + Number(this.get('yDeltaUnten'))) + ' ' + z / 2;\n      var p3 = deltaXht + xMittelbauteil + ' ' + (0 + Number(this.get('yDeltaUnten'))) + ' ' + -z / 2;\n      var p4 = -deltaXnt - xSeitenbauteilOben + ' ' + (y - Number(this.get('yDeltaOben'))) + ' ' + -z / 2;\n      var p5 = -deltaXnt - xSeitenbauteilOben + ' ' + (y - Number(this.get('yDeltaOben'))) + ' ' + z / 2;\n      var p6 = deltaXht + xMittelbauteil + ' ' + (y - Number(this.get('yDeltaOben'))) + ' ' + z / 2;\n      var p7 = deltaXht + xMittelbauteil + ' ' + (y - Number(this.get('yDeltaOben'))) + ' ' + -z / 2;\n      var p8 = 0;\n      var p9 = 0;\n\n      if (x3d.get('ausmittigerstabanschluss') === true && (name.substring(0, 12) === 'hauptTraeger' || name.substring(0, 18) === 'verstaerkungWerner')) {\n        p8 = -deltaXnt - xSeitenbauteilUnten - this.getXExzentrizitaet('x') + ' ' + this.getXExzentrizitaet('y') + ' ' + -z / 2;\n        p9 = -deltaXnt - xSeitenbauteilUnten - this.getXExzentrizitaet('x') + ' ' + this.getXExzentrizitaet('y') + ' ' + z / 2;\n      } // this.setMaximalPunkte('p0', p0.split(\" \")[0], p0.split(\" \")[1], p0.split(\" \")[2]);\n      // this.setMaximalPunkte('p1', p1.split(\" \")[0], p1.split(\" \")[1], p1.split(\" \")[2]);\n      // this.setMaximalPunkte('p2', p2.split(\" \")[0], p2.split(\" \")[1], p2.split(\" \")[2]);\n      // this.setMaximalPunkte('p3', p3.split(\" \")[0], p3.split(\" \")[1], p3.split(\" \")[2]);\n      // this.setMaximalPunkte('p4', p4.split(\" \")[0], p4.split(\" \")[1], p4.split(\" \")[2]);\n      // this.setMaximalPunkte('p5', p5.split(\" \")[0], p5.split(\" \")[1], p5.split(\" \")[2]);\n      // this.setMaximalPunkte('p6', p6.split(\" \")[0], p6.split(\" \")[1], p6.split(\" \")[2]);\n      // this.setMaximalPunkte('p7', p7.split(\" \")[0], p7.split(\" \")[1], p7.split(\" \")[2]);\n      // this.setMaximalPunkte('p8', p8.split(\" \")[0], p8.split(\" \")[1], p8.split(\" \")[2]);\n      // this.setMaximalPunkte('p9', p9.split(\" \")[0], p9.split(\" \")[1], p9.split(\" \")[2]);\n      // console.log('name:'+name);\n      // console.log('p0: '+p0);\n      // console.log('p1: '+p1);\n      // console.log('p2: '+p2);\n      // console.log('p3: '+p3);\n      // console.log('p4: '+p4);\n      // console.log('p5: '+p5);\n      // console.log('p6: '+p6);\n      // console.log('p7: '+p7);\n      // console.log('p8: '+p8);\n      // console.log('p9: '+p9);\n\n\n      var koordinaten = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      return koordinaten;\n    },\n    getXSeitenbauteilOben: function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      ;\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var value = 0;\n\n      if (alfa !== 0 && alfa !== 90) {\n        var exzentrizitaet = 0;\n\n        if (x3d.get('ausmittigerstabanschluss') === true) {\n          exzentrizitaet = x3d.get('exzentrizitaetDiagonale');\n        } else {\n          exzentrizitaet = Number(hDiag / 2 / Math.sin(alfa * Math.PI / 180)) + Number(hGurt / 2 / Math.tan(alfa * Math.PI / 180));\n\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1 && Number(ueDiagVert) > hDiag * Math.cos(alfa * Math.PI / 180)) {\n            exzentrizitaet = exzentrizitaet + (ueDiagVert - hDiag * Math.cos(alfa * Math.PI / 180)) / Math.tan(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            exzentrizitaet = exzentrizitaet + ueDiagVert / Math.tan(alfa * Math.PI / 180);\n          }\n        }\n\n        value = (exzentrizitaet / Math.cos(alfa * Math.PI / 180) - hDiag / 2 * Math.tan(alfa * Math.PI / 180)) / 10;\n      } else if (alfa === 90) {\n        value = hGurt / 20;\n      } else {\n        value = Math.abs(x3d.get('xSeitenbauteil') / 10) + Math.sin(alfa * Math.PI / 180) * ueDiagVert / 10;\n      }\n\n      if (value < -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')))) {\n        var xOben = Math.abs(value) - Math.abs(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n        var yDeltaOben = Math.abs(xOben) / Math.tan(alfa * Math.PI / 180);\n        this.set('yDeltaOben', yDeltaOben);\n        value = -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n      } else {\n        this.set('yDeltaOben', 0);\n      }\n\n      return value;\n    },\n    getXSeitenbauteilUnten: function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      ;\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var exzentrizitaet = x3d.get('exzentrizitaetDiagonale');\n      var v1 = 0,\n          v2 = 0,\n          l = 0,\n          value = 0;\n      v1 = hDiag / 2 / Math.sin(alfa * Math.PI / 180) + hGurt / 2 / Math.tan(alfa * Math.PI / 180) - exzentrizitaet;\n      v2 = hDiag / Math.sin(alfa * Math.PI / 180);\n      l = v2 - v1;\n\n      if (alfa !== 0 && alfa !== 90) {\n        value = hGurt / 2 / Math.sin(alfa * Math.PI / 180) - (v2 - hDiag / 2 / Math.sin(alfa * Math.PI / 180)) * Math.cos(alfa * Math.PI / 180);\n\n        if (x3d.get('ausmittigerstabanschluss') === false) {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1 && Number(ueDiagVert) >= Number((hDiag * Math.cos(alfa * Math.PI / 180)).toFixed(1))) {\n            value = value + hDiag / Math.tan(alfa * Math.PI / 180) + (ueDiagVert - hDiag * Math.cos(alfa * Math.PI / 180)) / Math.sin(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = value + ueDiagVert / Math.sin(alfa * Math.PI / 180);\n          }\n        } else if (x3d.get('ausmittigerstabanschluss') === true) {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1) {\n            // value = value + (l-ueDiagVert/Math.tan(alfa * Math.PI / 180)) * Math.cos(alfa * Math.PI / 180) + ueDiagVert/Math.sin(alfa * Math.PI / 180);\n            value = value + ueDiagVert / Math.sin(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = value + ueDiagVert / Math.sin(alfa * Math.PI / 180);\n          }\n\n          if (value >= Number(((hDiag / 2 + exzentrizitaet / Math.sin(alfa * Math.PI / 180)) * Math.tan(alfa * Math.PI / 180)).toFixed(1))) {\n            value = (hDiag / 2 + exzentrizitaet / Math.sin(alfa * Math.PI / 180)) * Math.tan(alfa * Math.PI / 180);\n          }\n        }\n\n        value = value / 10;\n      } else if (alfa === 90) {\n        value = hGurt / 20;\n      } else {\n        value = Math.abs(x3d.get('xSeitenbauteil') / 10) + Math.sin(alfa * Math.PI / 180) * ueDiagVert / 10;\n      }\n\n      if (value < -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')))) {\n        var xUnten = Math.abs(value) - Math.abs(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n        var yDeltaUnten = Math.abs(xUnten) * Math.tan(alfa * Math.PI / 180);\n        this.set('yDeltaUnten', yDeltaUnten); // value = -(Math.abs(x3d.get('xMittelbauteil')/10) + Number(this.get('ueberstand')));\n      } else {\n        this.set('yDeltaUnten', 0);\n      }\n\n      return value;\n    },\n    getXDeltaSeitenbauteilUnten: function (value) {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n\n      if (value < -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')))) {\n        value = -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n      }\n\n      return value;\n    },\n    getXExzentrizitaet: function (achse) {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      ;\n      var exzentrizitaet = Number(x3d.get('exzentrizitaetDiagonale'));\n      var v1 = 0,\n          v2 = 0,\n          l = 0,\n          value = 0;\n      v1 = hDiag / 2 / Math.sin(alfa * Math.PI / 180) + hGurt / 2 / Math.tan(alfa * Math.PI / 180) - exzentrizitaet;\n      v2 = hDiag / Math.sin(alfa * Math.PI / 180);\n      l = v2 - v1;\n\n      if (l - ueDiagVert / Math.tan(alfa * Math.PI / 180) >= 0) {\n        if (achse === 'x') {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1) {\n            value = 0;\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = (l - ueDiagVert / Math.tan(alfa * Math.PI / 180)) * Math.cos(alfa * Math.PI / 180);\n          }\n        } else if (achse === 'y') {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1) {\n            value = (l - ueDiagVert / Math.tan(alfa * Math.PI / 180)) / Math.sin(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = (l - ueDiagVert / Math.tan(alfa * Math.PI / 180)) * Math.sin(alfa * Math.PI / 180);\n          }\n        }\n      }\n\n      value = value / 10;\n      return value;\n    },\n    getErgebnisKonturKoordinaten: function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = x3d.get('bauteile').findBy('id', name); // var p0 = '0 0 0', p1 = '0 0 0', p2 = '0 0 0', p3 = '0 0 0', p4 = '0 0 0', p5 = '0 0 0', p6 = '0 0 0', p7 = '0 0 0', p8 = '0 0 0', p9 = '0 0 0';\n      //\n\n      var x0 = 0;\n      var y0 = 0;\n      var z0 = 0; // var x1 = Number(item.get('punkt').objectAt(1).get('x'))/10;\n      // var y1 = Number(item.get('punkt').objectAt(1).get('y'))/10;\n      // var z1 = Number(item.get('punkt').objectAt(1).get('z'))/10;\n      // var x2 = Number(item.get('punkt').objectAt(2).get('x'))/10;\n      // var y2 = Number(item.get('punkt').objectAt(2).get('y'))/10;\n      // var z2 = Number(item.get('punkt').objectAt(2).get('z'))/10;\n      // var x3 = Number(item.get('punkt').objectAt(3).get('x'))/10;\n      // var y3 = Number(item.get('punkt').objectAt(3).get('y'))/10;\n      // var z3 = Number(item.get('punkt').objectAt(3).get('z'))/10;\n\n      var rx = 0;\n      var ry = 0;\n      var rz = 0;\n      var dicke = 0; //hintere Ebene\n      // p0 = x0 +' '+ y0 +' '+ z0;\n      // p1 = x1 +' '+ y1 +' '+ z1;\n      // p2 = x2 +' '+ y2 +' '+ z2;\n      // p3 = x3 +' '+ y3 +' '+ z3;\n      // fordere Ebene\n      // p4 = (x0+rx*dicke) +' '+ (y0+ry*dicke) +' '+ (z0+rz*dicke);\n      // p5 = (x1+rx*dicke) +' '+ (y1+ry*dicke) +' '+ (z1+rz*dicke);\n      // p6 = (x2+rx*dicke) +' '+ (y2+ry*dicke) +' '+ (z2+rz*dicke);\n      // p7 = (x3+rx*dicke) +' '+ (y3+ry*dicke) +' '+ (z3+rz*dicke);\n      // var x4 = 0, y4 = 0, z4 = 0;\n      //\n      // if(item.get('punkt').length > 4){\n      //   x4 = Number(item.get('punkt').objectAt(4).get('x'))/10;\n      //   y4 = Number(item.get('punkt').objectAt(4).get('y'))/10;\n      //   z4 = Number(item.get('punkt').objectAt(4).get('z'))/10;\n      // }\n      //\n      // var p8 = x4 +' '+ y4 +' '+ z4;\n      // var p9 = x4+' '+ y4+' '+ (z4+dicke);\n      // var cords = p0 +', '+ p1 +', '+ p2 +', '+ p3 +', '+ p4 +', '+ p5 +', '+ p6 +', '+ p7+', '+ p8 +', '+ p9;\n\n      var cords = \"\";\n\n      for (var n = 0; n <= 1; n++) {\n        for (var i = 0; i < item.get('punkt').length; i++) {\n          x0 = Number(item.get('punkt').objectAt(i).get('x')) / 10;\n          y0 = Number(item.get('punkt').objectAt(i).get('y')) / 10;\n          z0 = Number(item.get('punkt').objectAt(i).get('z')) / 10;\n          cords = cords + (x0 + rx * dicke) + ' ' + (y0 + ry * dicke) + ' ' + (z0 + rz * dicke) + ' ';\n        }\n\n        rx = Number(item.get('richtungsvektor').objectAt(0).get('x'));\n        ry = Number(item.get('richtungsvektor').objectAt(0).get('y'));\n        rz = Number(item.get('richtungsvektor').objectAt(0).get('z'));\n        dicke = Number(item.get('platte').objectAt(0).get('thickness')) / 10;\n      }\n\n      return cords;\n    },\n    getMassketteKoordinaten: function (punkt1, punkt2, drehwinkel) {\n      var typ = this.get('typ');\n      var skalierungsfaktor = 1;\n      var b05 = 0.05 * skalierungsfaktor;\n      var b1 = 0.1 * skalierungsfaktor;\n      var b5 = 0.5 * skalierungsfaktor;\n      var b45 = b5 - b05;\n      var b55 = b5 + b05;\n      var b6 = 0.6 * skalierungsfaktor;\n      var hwinkel = Number(this.get('model').objectAt(0).get('hWinkel')) * Math.PI / 180;\n      var vwinkel = Number(this.get('model').objectAt(0).get('vWinkel')) * Math.PI / 180;\n      var dp = new Object();\n      var deltaX = 0;\n      var deltaY = 0;\n      var p0 = Number(punkt1.x) + ' ' + punkt1.y + ' ' + punkt1.z;\n      var p1 = Number(punkt2.x) + ' ' + (Number(punkt2.y) + Number(deltaY)) + ' ' + punkt2.z;\n      dp = this.drehungXAchse({\n        x: 0,\n        y: b6,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p2 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      var p3 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      dp = this.drehungXAchse({\n        x: b1,\n        y: b5,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p4 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      dp = this.drehungXAchse({\n        x: -b1,\n        y: b5,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p5 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      dp = this.drehungXAchse({\n        x: -b05,\n        y: b45,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p6 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      var p8 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      dp = this.drehungXAchse({\n        x: b05,\n        y: b55,\n        z: 0\n      }, drehwinkel.x);\n      dp = this.drehungYAchse(dp, drehwinkel.y);\n      dp = this.drehungZAchse(dp, drehwinkel.z);\n      var p7 = punkt1.x + dp.x + deltaX + ' ' + (punkt1.y + dp.y) + ' ' + (punkt1.z + dp.z);\n      var p9 = punkt2.x + dp.x + deltaX + ' ' + (punkt2.y + dp.y) + ' ' + (punkt2.z + dp.z);\n      var koordinaten = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      return koordinaten;\n    },\n    delta: function (l, winkel) {\n      var value = l * Math.cos(winkel);\n      return value;\n    },\n    winkel: function (x, y) {\n      return Math.atan(x / y);\n    },\n    vektorenWinkel: function (v1, v2) {\n      var zaehler = v1.x * v2.x + v1.y * v2.y + v1.z * v2.z; // console.log('zaehler: '+zaehler);\n\n      var n1 = Math.sqrt(Math.pow(v1.x, 2) + Math.pow(v1.y, 2) + Math.pow(v1.z, 2)); // console.log('n1: '+n1);\n\n      var n2 = Math.sqrt(Math.pow(v2.x, 2) + Math.pow(v2.y, 2) + Math.pow(v2.z, 2)); // console.log('n2: '+n2);\n\n      var nenner = n1 * n2; // console.log('nenner: '+nenner);\n      // console.log('zaehler/nenner: '+zaehler/nenner);\n\n      var alpha = Math.acos((zaehler / nenner).toFixed(6));\n      return alpha;\n    },\n    differenzVektor: function (v2, v1) {\n      var vResult = new Object();\n      vResult.x = v2.x - v1.x;\n      vResult.y = v2.y - v1.y;\n      vResult.z = v2.z - v1.z;\n      return vResult;\n    },\n    drehungXAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x;\n      r.y = v.y * Math.cos(omega) - v.z * Math.sin(omega);\n      r.z = v.y * Math.sin(omega) + v.z * Math.cos(omega);\n      return r;\n    },\n    drehungYAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x * Math.cos(omega) + v.z * Math.sin(omega);\n      r.y = v.y;\n      r.z = -v.x * Math.sin(omega) + v.z * Math.cos(omega);\n      return r;\n    },\n    drehungZAchse: function (v, omega) {\n      var r = new Object();\n      r.x = v.x * Math.cos(omega) - v.y * Math.sin(omega);\n      r.y = v.x * Math.sin(omega) + v.y * Math.cos(omega);\n      r.z = v.z;\n      return r;\n    },\n    getArc2dCords: function (w1, w2, r) {\n      var cords = '0 0 0 0 0 0 0 0 0 0 0 0';\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var yVerschiebung = Number(bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y')) / 20;\n      var z = 0;\n      var p1 = new Object();\n      var p2 = new Object();\n      var p3 = new Object();\n      var p4 = new Object();\n      p1.x = r * Math.cos(w1);\n      p1.y = r * Math.sin(w1);\n      p1.z = z;\n      p2.x = (r + 1) * Math.cos(w1);\n      p2.y = (r + 1) * Math.sin(w1);\n      p2.z = z;\n      p3.x = r * Math.cos(w2);\n      p3.y = r * Math.sin(w2);\n      p3.z = z;\n      p4.x = (r + 1) * Math.cos(w2);\n      p4.y = (r + 1) * Math.sin(w2);\n      p4.z = z;\n      cords = p1.x + ' ' + p1.y + ' ' + p1.z + ' ' + p2.x + ' ' + p2.y + ' ' + p2.z + ' ' + p3.x + ' ' + p3.y + ' ' + p3.z + ' ' + p4.x + ' ' + p4.y + ' ' + p4.z;\n      return cords;\n    },\n    getFaserrichtungsPfeile: function (item) {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var name = this.get('name');\n      var delta = 0.15;\n      var ueberstand = Number(this.get('ueberstand'));\n      var x = 0,\n          y = 0,\n          z = 0;\n      var winkel = 0;\n\n      if (item.get('typ') === 'box') {\n        x = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20;\n        y = 0.15;\n        z = item.get('boxsizes').objectAt(0).get('z') / 20;\n        var xSeitenbauteil = Math.abs(Number(x3d.get('xSeitenbauteil'))) / 10;\n        var xMittelbauteil = Math.abs(Number(x3d.get('xMittelbauteil'))) / 10;\n\n        if (name === 'hauptTraeger1' || name === 'hauptTraeger2') {\n          x = -x / 2 - ueberstand + delta;\n        } else {\n          x = x + xMittelbauteil / 2;\n        }\n      } else if (item.get('typ') === 'platte') {\n        var rx = Number(item.get('richtungsvektor').objectAt(0).get('x'));\n        var ry = Number(item.get('richtungsvektor').objectAt(0).get('y'));\n        var rz = Number(item.get('richtungsvektor').objectAt(0).get('z'));\n        var dicke = item.get('platte').objectAt(0).get('thickness') / 10;\n        x = -Number(item.get('punkt').objectAt(1).get('x')) / 10 - rx * dicke;\n        y = Number(item.get('punkt').objectAt(1).get('y')) / 10 + 0.15 + ry * dicke;\n        z = Number(item.get('punkt').objectAt(1).get('z')) / 10 + rz * dicke;\n\n        if (name.substring(0, 21) === 'verstaerkungdiagonale' || name.substring(0, 13) === 'seitenbauteil') {\n          var x10 = Number(item.get('punkt').objectAt(Number(item.get('punkt').length) - 1).get('x')) - Number(item.get('punkt').objectAt(0).get('x'));\n          var y10 = Number(item.get('punkt').objectAt(Number(item.get('punkt').length) - 1).get('y')) - Number(item.get('punkt').objectAt(0).get('y'));\n          var z10 = Number(item.get('punkt').objectAt(Number(item.get('punkt').length) - 1).get('z')) - Number(item.get('punkt').objectAt(0).get('z'));\n          winkel = this.vektorenWinkel({\n            x: 1,\n            y: 0,\n            z: 0\n          }, {\n            x: x10,\n            y: y10,\n            z: z10\n          });\n        }\n      }\n\n      var cords = -x + this.deltaX(0.15 + delta, delta * 2, winkel) + ' ' + (y + this.deltaY(0.15 + delta, delta * 2, winkel)) + ' ' + z + ', ' + (-x + this.deltaX(delta, delta, winkel)) + ' ' + (y + this.deltaY(delta, delta, winkel)) + ' ' + z + ', ' + (-x + this.deltaX(1, delta, winkel)) + ' ' + (y + this.deltaY(1, delta, winkel)) + ' ' + z + ', ' + (-x + this.deltaX(0.85, 0, winkel)) + ' ' + (y + this.deltaY(0.85, 0, winkel)) + ' ' + z;\n      return cords;\n    },\n    deltaX: function (x, y, winkel) {\n      var erg = x * Math.cos(winkel) - y * Math.sin(winkel);\n      return erg;\n    },\n    deltaY: function (x, y, winkel) {\n      var erg = x * Math.sin(winkel) + y * Math.cos(winkel);\n      return erg;\n    },\n    getMittelwert: function (a, b) {\n      return (a + b) / 2;\n    },\n    scherkraftXWert: function (yGurt) {\n      var ergebnis = 0;\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var vWinkel = x3d.get('vWinkel');\n      var P1 = bauteile.findBy('id', 'seitenbauteil0').get('punkt').objectAt(0);\n      var P2 = bauteile.findBy('id', 'seitenbauteil0').get('punkt').objectAt(bauteile.findBy('id', 'seitenbauteil0').get('punkt').length - 1);\n      var P3 = bauteile.findBy('id', 'seitenbauteil0').get('punkt').objectAt(bauteile.findBy('id', 'seitenbauteil0').get('punkt').length - 2);\n      var x1 = P1.get('x');\n      var y1 = P1.get('y');\n      var x2 = P2.get('x');\n      var y2 = P2.get('y');\n      var x3 = P3.get('x');\n      var y3 = P3.get('y');\n\n      if (Number(vWinkel) === 0) {\n        var Pmittelbauteil4 = bauteile.findBy('id', 'mittelbauteil').get('punkt').objectAt(bauteile.findBy('id', 'mittelbauteil').get('punkt').length - 1);\n        var xmb4 = Pmittelbauteil4.get('x');\n        ergebnis = x1 + (xmb4 - x1) / 2;\n      } else if (Number(vWinkel) === 90) {\n        ergebnis = x3 + (x2 - x3) / 2;\n      } else {\n        var dx = (x2 - x3) / 2;\n        var dy = (y2 - y3) / 2;\n        var m = (y2 - y1) / (x2 - x1);\n        var n = y3 + dy - m * (x3 + dx);\n        ergebnis = (yGurt * 10 - n) / m;\n      }\n\n      return ergebnis;\n    },\n    postionDurchSkalierung: function (richtung) {\n      var x3d = this.get('model').objectAt(0);\n      var skalierungsfaktor = x3d.get('skalierungsfaktor') + 0.6;\n      var value = 0.2 * skalierungsfaktor;\n      return value;\n    },\n    getVektorKoordinaten: function (punkt1, punkt2, r1, r2, ebene) {\n      var dr = 0.2 * (ebene - 1);\n      var b05 = 0.05;\n      var b1 = 0.1;\n      var b5 = 0.5;\n      var b45 = b5 - b05;\n      var b55 = b5 + b05;\n      var b6 = 0.6;\n      var verschiebung = b5 * (ebene - 1) + dr;\n      var p0 = Number(punkt1.x) + verschiebung * Number(r1.x) + ' ' + (Number(punkt1.y) + verschiebung * Number(r1.y)) + ' ' + (Number(punkt1.z) + verschiebung * Number(r1.z));\n      var p1 = Number(punkt2.x) + verschiebung * Number(r2.x) + ' ' + (Number(punkt2.y) + verschiebung * Number(r2.y)) + ' ' + (Number(punkt2.z) + verschiebung * Number(r2.z));\n      var p2 = Number(punkt2.x) + (b6 + verschiebung) * Number(r2.x) + ' ' + (Number(punkt2.y) + (b6 + verschiebung) * Number(r2.y)) + ' ' + (Number(punkt2.z) + (b6 + verschiebung) * Number(r2.z));\n      var p3 = Number(punkt1.x) + (b6 + verschiebung) * Number(r1.x) + ' ' + (Number(punkt1.y) + (b6 + verschiebung) * Number(r1.y)) + ' ' + (Number(punkt1.z) + (b6 + verschiebung) * Number(r1.z));\n      var p4 = this.getXYZ(punkt1, punkt2, r1, r2, b5 + verschiebung, b1);\n      var p5 = this.getXYZ(punkt2, punkt1, r2, r1, b5 + verschiebung, b1);\n      var p6 = this.getXYZ(punkt2, punkt1, r2, r1, b45 + verschiebung, b05);\n      var p8 = this.getXYZ(punkt1, punkt2, r1, r2, b45 + verschiebung, -b05);\n      var p7 = this.getXYZ(punkt2, punkt1, r2, r1, b55 + verschiebung, -b05);\n      var p9 = this.getXYZ(punkt1, punkt2, r1, r2, b55 + verschiebung, b05);\n      var koordinaten = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      return koordinaten;\n    },\n    vektorLaenge: function (x, y, z) {\n      return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2));\n    },\n    getXYZ: function (punkt1, punkt2, r1, r2, richtungsAbstand, seitenAbstand) {\n      var p1_2 = {\n        x: Number(punkt1.x) + richtungsAbstand * Number(r1.x),\n        y: Number(punkt1.y) + richtungsAbstand * Number(r1.y),\n        z: Number(punkt1.z) + richtungsAbstand * Number(r1.z)\n      };\n      var p2_2 = {\n        x: Number(punkt2.x) + richtungsAbstand * Number(r2.x),\n        y: Number(punkt2.y) + richtungsAbstand * Number(r2.y),\n        z: Number(punkt2.z) + richtungsAbstand * Number(r2.z)\n      };\n      var r3 = {\n        x: p2_2.x - p1_2.x,\n        y: p2_2.y - p1_2.y,\n        z: p2_2.z - p1_2.z\n      };\n      var lr3 = this.vektorLaenge(r3.x, r3.y, r3.z);\n\n      if (lr3 === 0) {\n        console.log(\"!!!!! Bei \" + this.get('name') + \" Division durch 0 !!!!!\");\n        console.log('punkt1');\n        console.log(punkt1);\n        console.log('punkt2');\n        console.log(punkt2);\n        console.log('Länge von punkt2 zu punkt1');\n        console.log(lr3);\n        console.log(' ');\n        lr3 = 1;\n      }\n\n      var r3Einheitsvektor = {\n        x: r3.x / lr3,\n        y: r3.y / lr3,\n        z: r3.z / lr3\n      };\n      var x = p1_2.x + r3Einheitsvektor.x * (lr3 + seitenAbstand);\n      var y = p1_2.y + r3Einheitsvektor.y * (lr3 + seitenAbstand);\n      var z = p1_2.z + r3Einheitsvektor.z * (lr3 + seitenAbstand);\n      return x + ' ' + y + ' ' + z;\n    }\n  });\n  var _default = Indexedlineset;\n  _exports.default = _default;\n});","define(\"m12-2020/components/materia-l\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Material = Ember.Component.extend({\n    tagName: 'material',\n    attributeBindings: ['diffusecolor', 'transparency', 'ambientintensity', 'emissivecolor', 'shininess', 'specularcolor'],\n    ambientintensity: \"0.2\",\n    emissivecolor: \"0,0,0\",\n    shininess: \"0.2\",\n    specularcolor: \"0,0,0\",\n    diffusecolor: Ember.computed('model.x3ddefault.bauteile', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var bauteile = m06.objectAt(0).get('bauteile');\n      var values;\n      var item = bauteile.findBy('id', name);\n      values = item.get('diffusecolors').objectAt(0).get('rot') + \" \" + item.get('diffusecolors').objectAt(0).get('gruen') + \" \" + item.get('diffusecolors').objectAt(0).get('blau');\n      return values;\n    }),\n    transparency: Ember.computed('model.x3ddefault.{bauteile,istGitterModell}', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var bauteile = m06.objectAt(0).get('bauteile');\n      var value;\n      var item = bauteile.findBy('id', name);\n\n      if (item.get('typ') === 'box' && !m06.get('istGitterModell')) {\n        value = item.get('appearances').objectAt(0).get('transparency');\n      } else if (item.get('typ') === 'box' && m06.get('istGitterModell')) {\n        value = 1;\n      } else {\n        value = 0;\n      }\n\n      return value;\n    })\n  });\n  var _default = Material;\n  _exports.default = _default;\n});","define(\"m12-2020/components/multiselect-box\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var Multiselectbox = Ember.Component.extend((_obj = {\n    tagName: 'div',\n    layoutName: 'multiselect-box',\n    attributeBindings: [],\n    classNames: ['multiSelectBox'],\n    objekte: Ember.computed('parameterobjekte', function () {\n      return this.get('parameterobjekte').findBy('id', this.get('parameter')).values.sort(function (a, b) {\n        return parseFloat(a[\"id\"]) - parseFloat(b[\"id\"]);\n      });\n    }),\n\n    filtern(_id, _checked) {\n      this.cfilter(this.get('parameter'), _id, _checked);\n    }\n\n  }, (_applyDecoratedDescriptor(_obj, \"filtern\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"filtern\"), _obj)), _obj));\n  var _default = Multiselectbox;\n  _exports.default = _default;\n});","define(\"m12-2020/components/schraub-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Schraube = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'schraub-e',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['schraubenKlasse'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    center: Ember.computed('foobar', function () {\n      var values = '0 0 0';\n      return values;\n    }),\n    translation: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var x,\n          y,\n          z = 0;\n\n      if (x3d.get('ergebnisGeladen') === true) {\n        x = bauteile.findBy('id', name).get('punkt').objectAt(0).get('x') / 10;\n        y = bauteile.findBy('id', name).get('punkt').objectAt(0).get('y') / 10;\n        z = bauteile.findBy('id', name).get('punkt').objectAt(0).get('z') / 10;\n      } else {\n        x = bauteile.findBy('id', name).get('translations').objectAt(0).get('x') / 10;\n        y = bauteile.findBy('id', 'auflager').get('boxsizes').objectAt(0).get('y') / 10 + bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('length') / 10;\n        z = bauteile.findBy('id', name).get('translations').objectAt(0).get('z') / 10;\n      }\n\n      var values = x + ' ' + y + ' ' + z;\n      return values;\n    }),\n    // Rotation in der XY-Ebene, um die z-Achse\n    // Rotation in der XY-Ebene, um die z-Achse\n    rotation: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.vWinkel', 'model.firstObject.hWinkel', 'model.firstObject.schraubenGekreuzt', function () {\n      var self = this;\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile'); // var drehwinckelXAchse = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('rotations').findBy('id', name).get('x');\n      // var drehwinckelYAchse = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('rotations').findBy('id', name).get('y');\n\n      var values = '';\n      var drehwinckelYAchse = 0,\n          drehwinckelZAchse = 0;\n      var x = 0,\n          y = 0,\n          z = 0;\n\n      if (x3d.get('ergebnisGeladen') === true) {\n        x = bauteile.findBy('id', name).get('richtungsvektor').objectAt(0).get('x');\n        y = bauteile.findBy('id', name).get('richtungsvektor').objectAt(0).get('y');\n        z = bauteile.findBy('id', name).get('richtungsvektor').objectAt(0).get('z');\n\n        if (Math.abs(y) !== 1) {\n          drehwinckelYAchse = self.getWinkel({\n            x: x,\n            y: 0,\n            z: z\n          }, {\n            x: 0,\n            y: 0,\n            z: 1\n          });\n        } else {\n          drehwinckelYAchse = self.getWinkel({\n            x: x,\n            y: y,\n            z: z\n          }, {\n            x: 0,\n            y: 0,\n            z: 1\n          });\n        }\n\n        drehwinckelZAchse = self.getWinkel({\n          x: x,\n          y: y,\n          z: z\n        }, {\n          x: 0,\n          y: 1,\n          z: 0\n        });\n      } else {\n        drehwinckelZAchse = Number(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('rotations').objectAt(0).get('z'));\n      }\n\n      var vorzeichen = 1;\n\n      if (x !== 0) {\n        vorzeichen = x / Math.abs(x);\n      }\n\n      var xWertRotationsachse = Math.cos(drehwinckelYAchse);\n      var zWertRotationsachse = vorzeichen * -Math.sin(drehwinckelYAchse); // console.log('Bauteil: '+name);\n      // console.log('x: '+x+' y: '+y+' z: '+z);\n      // console.log('xWertRotationsachse: '+xWertRotationsachse);\n      // console.log('zWertRotationsachse: '+zWertRotationsachse);\n      // console.log('drehwinckelZAchse: '+drehwinckelZAchse);\n\n      values = xWertRotationsachse + ' 0 ' + zWertRotationsachse + ' ' + drehwinckelZAchse;\n      return values;\n    }),\n    getWinkel: function (vektor, bezugsVektor) {\n      var self = this;\n      var xx = vektor.x * bezugsVektor.x;\n      var yy = vektor.y * bezugsVektor.y;\n      var zz = vektor.z * bezugsVektor.z;\n      var l_vektor = self.vektorLaenge(vektor);\n      var l_bezugsVektor = self.vektorLaenge(bezugsVektor);\n      var winkel = Math.acos((xx + yy + zz) / (l_vektor * l_bezugsVektor));\n      return winkel;\n    },\n    vektorLaenge: function (v) {\n      return Math.sqrt(Math.pow(v.x, 2) + Math.pow(v.y, 2) + Math.pow(v.z, 2));\n    }\n  });\n  var _default = Schraube;\n  _exports.default = _default;\n});","define(\"m12-2020/components/schraube-n\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Schrauben = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'schraube-n',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['schraubenKlasse'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    center: Ember.computed('foobar', function () {\n      var values = '0 0 0';\n      return values;\n    }),\n    translation: Ember.computed('model.firstObject.{transformHelper,istHt,schraubenGekreuzt}', function () {\n      var values = '0 0 0';\n      return values;\n    }),\n    rotation: Ember.computed('model.firstObject.{transformHelper,vWinkel,hWinkel,schraubenGekreuzt}', function () {\n      var values = '0 0 0 0';\n      return values;\n    }),\n    schraubenListe: Ember.computed('model.firstObject.schraubenlisteAktualisiert', function () {\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = this.get('model').objectAt(0).get('bauteile');\n      var count = 0; // var schrListe = Set.create();\n\n      var schrListe = Ember.A([]);\n      bauteile.forEach(function (item) {\n        if (item.get('typ') === x3d.get('aktuellerSchraubenTyp')) {\n          count = count + 1;\n          schrListe.pushObject(item);\n        }\n      }); // if(this.get('model').objectAt(0).get('ergebnisGeladen')){\n      //   this.setAbstaende(schrListe);\n      // }\n\n      return schrListe.toArray();\n    }),\n    setAbstaende: function (schrliste) {\n      var x3d = this.get('model').objectAt(0);\n      var liste1 = [];\n      var liste2 = [];\n      schrliste.forEach(function (item) {\n        var xVerschiebung = item.get('translations').objectAt(0).get('x');\n        var yVerschiebung = item.get('translations').objectAt(0).get('y');\n        var zVerschiebung = item.get('translations').objectAt(0).get('z');\n        var schraubenlaenge = item.get('screwProperties').objectAt(0).get('length');\n        var alpha = item.get('rotations').objectAt(0).get('z');\n        var beta = item.get('rotations').objectAt(0).get('y');\n\n        if (alpha > 1.5707 && !x3d.get('schraubenGekreuzt')) {\n          alpha = 1.5707 - (alpha - 1.5707);\n          xVerschiebung = xVerschiebung * -1;\n        }\n\n        var xKopfPos = Math.cos(beta) * (Math.cos(alpha) * schraubenlaenge) + xVerschiebung;\n        var zKopfPos = zVerschiebung + Math.sin(beta) * (yVerschiebung / Math.tan(alpha));\n\n        if (xKopfPos > 0) {\n          liste2.push(zKopfPos);\n        } else {\n          liste1.push(zKopfPos);\n        }\n      });\n      liste1.sort(function (a, b) {\n        return a - b;\n      });\n      liste2.sort(function (a, b) {\n        return b - a;\n      });\n    },\n    getWinkel: function (vektor, bezugsVektor) {\n      var self = this;\n      var xx = vektor.x * bezugsVektor.x;\n      var yy = vektor.y * bezugsVektor.y;\n      var zz = vektor.z * bezugsVektor.z;\n      var l_vektor = self.vektorLaenge(vektor);\n      var l_bezugsVektor = self.vektorLaenge(bezugsVektor);\n      var winkel = Math.acos((xx + yy + zz) / (l_vektor * l_bezugsVektor));\n      return winkel;\n    },\n    vektorLaenge: function (v) {\n      return Math.sqrt(Math.pow(v.x, 2) + Math.pow(v.y, 2) + Math.pow(v.z, 2));\n    },\n    schraubenabstaende1: Ember.computed('model.firstObject.{schraubenabstand1,schraubenlisteAktualisiert}', function () {\n      if (this.get('model').objectAt(0).get('schraubenAbstand1') !== 0) {\n        return true;\n      } else {\n        return false;\n      }\n    }),\n    schraubenabstaende2: Ember.computed('model.firstObject.{schraubenabstand2,schraubenlisteAktualisiert}', function () {\n      if (this.get('model').objectAt(0).get('schraubenAbstand2') !== 0) {\n        return true;\n      } else {\n        return false;\n      }\n    }),\n    gekreuzteSchrauben: Ember.computed('model.firstObject.schraubenGekreuzt', function () {\n      if (this.get('model').objectAt(0).get('schraubenGekreuzt')) {\n        return true;\n      } else {\n        return false;\n      }\n    })\n  });\n  var _default = Schrauben;\n  _exports.default = _default;\n});","define(\"m12-2020/components/schraubeextrusio-n\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Extrusion = Ember.Component.extend({\n    tagName: 'extrusion',\n    attributeBindings: ['endCap', 'solid', 'creaseAngle', 'crosssection', 'orientation', 'scale', 'spine'],\n    endCap: true,\n    solid: true,\n    ispickable: \"0\",\n    creaseAngle: 7,\n    schraubenLaenge: function () {\n      // Die Schraubenänge sollte ein vielfaches von 6 sein\n      // da eine Schraubenumdrehung aus 6 Stufen besteht\n      var name = this.get('name');\n      var bauteile = this.get('model').objectAt(0).get('bauteile');\n      var x = 0;\n      x = bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('length');\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n      var headID = Number(item.get('screwProperties').objectAt(0).get('headformID'));\n\n      if ((headID === 1 || headID === 2 || headID === 3 || headID === 7 || headID === 10 || headID === 11) && Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('headheight')) > 0.2) {} else if (Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('headheight')) < 0.2) {\n        x = x + 0.05;\n      } else {\n        x = x - Number(item.get('screwProperties').objectAt(0).get('headheight'));\n      }\n\n      return Math.abs(x);\n    },\n    //crossection beschreibt die zu extrodierende Grundform in der xz-Ebene\n    crosssection: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var values = false;\n      var x;\n      var y;\n      var z;\n      var item = bauteile.findBy('id', name);\n\n      if (name.substring(0, 8) === 'schraube' || item.get('typ') === \"verbindungsmittel\") {\n        var schraubenDurchmesser = bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('diameter') * 0.5;\n        var kopfformID = parseInt(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('headformID'));\n        x = schraubenDurchmesser / 2;\n\n        if (kopfformID === 3) {\n          var x2 = schraubenDurchmesser * Math.cos(1.0472) / 2;\n          z = schraubenDurchmesser * Math.sin(1.0472) / 2;\n          values = [-x, 0, -x2, z, x2, z, x, 0, x2, -z, -x2, -z, -x, 0].toString();\n        } else {\n          var x2 = schraubenDurchmesser * Math.cos(0.5236) / 2;\n          var x3 = schraubenDurchmesser * Math.cos(1.0472) / 2;\n          var z2 = schraubenDurchmesser * Math.sin(0.5236) / 2;\n          var z3 = schraubenDurchmesser * Math.sin(1.0472) / 2;\n          z = x * 0.5 - 0.05;\n          values = [-x, 0, -x2, z2, -x3, z3, 0, x, x3, z3, x2, z2, x, 0, x2, -z2, x3, -z3, 0, -x, -x3, -z3, -x2, -z2, -x, 0].toString();\n        }\n      }\n\n      return values;\n    }),\n    //orientation beschreibt die Richtung in der die Extrusion erfolgt\n    //Wird die Extrusion in mehreren Schritten/Stufen durchgeführt, ist die Richtung für jede Stufe anzugeben.\n    orientation: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var x3ddefault = this.get('model');\n      var bauteile = x3ddefault.objectAt(0).get('bauteile');\n      var values = '0 1 0 0, 0 1 0 0';\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if ((name.substring(0, 8) === 'schraube' || item.get('typ') === \"verbindungsmittel\") && Number(item.get('screwProperties').objectAt(0).get('headheight')) > 0.2) {\n        var schraubenlaenge = Number(this.schraubenLaenge());\n        var delta = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter') / 40;\n        var stufen = Math.floor(schraubenlaenge / (10 * delta));\n\n        if (stufen % 2 !== 0) {\n          stufen = stufen + 1;\n        }\n\n        var sum = 0;\n\n        for (var i = 0; i < stufen / 6; i++) {\n          for (var j = 1; j < 7; j++) {\n            sum = sum + 1;\n\n            if ((sum + 2) * delta > Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthtip')) / 10) {\n              if (sum * delta > schraubenlaenge / 10 - Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthhead')) / 10) {\n                //Rotationswerte für das Gewinde unter dem Kopf\n                values = values + ', 0 1 0 ' + j * 1.047;\n              } else {\n                //Rotationswerte für den Schafft - im Schaftbereich keine Rotation, daher 0\n                values = values + ', 0 1 0 0';\n              }\n            } else {\n              //Rotationswerte für das Gewinde an der Spitze\n              values = values + ', 0 1 0 ' + j * 1.047;\n            }\n\n            if (sum === stufen) {\n              break;\n            }\n\n            ;\n          }\n        }\n\n        values = values + ', 0 1 0 0';\n      }\n\n      return values;\n    }),\n    //scale beschreibt die Skalierung der Grundfläche während eines Extrusionschritts\n    //Wird die Extrusion in mehreren Schritten/Stufen durchgeführt, ist die Skalierung für jeden Schritt/Stufe anzugeben.\n    scale: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var x3ddefault = this.get('model');\n      var bauteile = x3ddefault.objectAt(0).get('bauteile');\n      var values = '0 0, 0.025 0.025, 0.05 0.05, 0.07 0.07';\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if (name.substring(0, 8) === 'schraube' && Number(item.get('screwProperties').objectAt(0).get('headheight')) > 0.2 || item.get('typ') === \"verbindungsmittel\" && Number(item.get('screwProperties').objectAt(0).get('headheight')) > 0.2) {\n        var schraubenlaenge = Number(this.schraubenLaenge());\n        var delta = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter') / 40;\n        var stufen = Math.floor(schraubenlaenge / (10 * delta));\n\n        if (stufen % 2 !== 0) {\n          stufen = stufen + 1;\n        }\n\n        for (var i = 0; i < stufen; i++) {\n          if ((i + 4) * delta > Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthtip')) / 10) {\n            if ((i + 4) * delta > schraubenlaenge / 10 - Number(bauteile.findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthhead')) / 10 && (i + 4) * delta < schraubenlaenge / 10) {\n              //Skalierungswerte für das Gewinde unter dem Kopf\n              if (i % 2 !== 0) {\n                values = values + ', 0.0975 0.0975';\n              } else {\n                values = values + ', 0.2 0.2';\n              }\n            } else {\n              //Skalierungswerte für den Schaft\n              values = values + ', 0.125 0.125';\n            }\n          } else {\n            //Skalierungswerte für das Gewinde an der Spitze\n            if ((i + 4) * delta < schraubenlaenge / 10) {\n              if (i % 2 !== 0) {\n                values = values + ', 0.0975 0.0975';\n              } else {\n                values = values + ', 0.2 0.2';\n              }\n            } else {\n              //Skalierungswerte für den Kopfanfang\n              values = values + ', 0.125 0.125';\n            }\n          }\n        } //Mittels des kopfskalierungsfakrors wird der Durchmesser der Schraue an den Durchmesser des Kopfes angepasst\n\n\n        var headdiameter = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headdiameter') / 4;\n        var screwdiameter = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter');\n        var kopfformID = parseInt(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headformID'));\n        var kopffomSkalWerte = ''; //Entsprechend der Kopfformid kann der Schraubenkopf über max 7 Stufen extrodiert werden\n\n        switch (kopfformID) {\n          //Linsensenkkopf\n          case 0:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + 0.75 * headdiameter + ' ' + 0.75 * headdiameter;\n            break;\n          //PanHead\n\n          case 1:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.75 * headdiameter) + ' ' + Number(0.75 * headdiameter);\n            break;\n          //Scheibenkopf\n\n          case 2:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.6 * headdiameter) + ' ' + Number(0.6 * headdiameter) + ', ' + Number(0.5 * headdiameter) + ' ' + Number(0.5 * headdiameter) + ', ' + Number(0.4 * headdiameter) + ' ' + Number(0.4 * headdiameter);\n            break;\n          //Sechskantkopf\n\n          case 3:\n            kopffomSkalWerte = Number(headdiameter) + ' ' + Number(headdiameter) + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter;\n            break;\n          //Senkfräskopf\n\n          case 4:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter;\n            break;\n          //Senkkopf\n\n          case 5:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter;\n            break;\n          //Zylinderkopf\n\n          case 6:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + 0.9 * headdiameter + ' ' + 0.9 * headdiameter;\n            break;\n          //Tellerkopf\n\n          case 7:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.6 * headdiameter) + ' ' + Number(0.6 * headdiameter) + ', ' + Number(0.5 * headdiameter) + ' ' + Number(0.5 * headdiameter) + ', ' + Number(0.4 * headdiameter) + ' ' + Number(0.4 * headdiameter);\n            break;\n          //Senkkopf HSP\n\n          case 8:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter;\n            break;\n          //Birnenkopf\n\n          case 9:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + 0.85 * headdiameter + ' ' + 0.85 * headdiameter + ', ' + 0.75 * headdiameter + ' ' + 0.75 * headdiameter;\n            break;\n          //Außentorx\n\n          case 10:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.7 * headdiameter) + ' ' + Number(0.7 * headdiameter) + ', ' + Number(0.675 * headdiameter) + ' ' + Number(0.675 * headdiameter);\n            break;\n          //Scheibenkopf Form 2\n\n          case 11:\n            kopffomSkalWerte = headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + headdiameter + ' ' + headdiameter + ', ' + Number(0.6 * headdiameter) + ' ' + Number(0.6 * headdiameter) + ', ' + Number(0.5 * headdiameter) + ' ' + Number(0.5 * headdiameter) + ', ' + Number(0.4 * headdiameter) + ' ' + Number(0.4 * headdiameter);\n            break;\n          //ohne Kopf\n\n          case 99:\n            break;\n          //KlammerRueckenNormal\n\n          case 98:\n            break;\n          //KlammerRueckenBreit\n\n          case 97:\n            break;\n        }\n\n        values = values + ', ' + kopffomSkalWerte;\n      } else if (name.substring(0, 8) === 'schraube' && Number(item.get('screwProperties').objectAt(0).get('headheight')) < 0.2 || item.get('typ') === \"verbindungsmittel\" && Number(item.get('screwProperties').objectAt(0).get('headheight')) < 0.2) {\n        var schraubenlaenge = Number(this.schraubenLaenge());\n        var delta = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter') / 2;\n        var stufen = Math.floor(schraubenlaenge / delta - 4);\n\n        for (var i = 0; i < stufen; i++) {\n          if ((i + 4) * (delta / 10) > Number(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthtip')) / 10) {\n            if ((i + 4) * (delta / 10) > (schraubenlaenge - Number(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('threadlengthhead'))) / 10) {\n              //Skalierungswerte für das Gewinde unter dem Kopf\n              values = values + ', 0.175 0.175, 0.2 0.2';\n            } else {\n              //Skalierungswerte für den Schaft\n              values = values + ', 0.195 0.195, 0.195 0.195';\n            }\n          } else {\n            //Skalierungswerte für das Gewinde an der Spitze\n            values = values + ', 0.175 0.175, 0.2 0.2';\n          }\n        } //Mittels des kopfskalierungsfaktors wird der Durchmesser der Schraue an den Durchmesser des Kopfes angepasst\n\n\n        var headdiameter = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headdiameter');\n        var screwdiameter = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter');\n        var kopfskalierungsfaktor = 0.2 * headdiameter / screwdiameter;\n        var kopfformID = parseInt(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headformID'));\n        var kopffomSkalWerte = '';\n        kopffomSkalWerte = 0.2 + ' ' + 0.2 + ', ' + 0.2 + ' ' + 0.2 + ', ' + 0.2 + ' ' + 0.2 + ', ' + 0.2 + ' ' + 0.2 + ', ' + Number(kopfskalierungsfaktor) + ' ' + Number(kopfskalierungsfaktor) + ', ' + Number(kopfskalierungsfaktor) + ' ' + Number(kopfskalierungsfaktor) + ', ' + Number(kopfskalierungsfaktor) + ' ' + Number(kopfskalierungsfaktor);\n        values = values + ', ' + kopffomSkalWerte;\n      }\n\n      return values;\n    }),\n    //spine beschreibt die Länge der Extrusion in y-Richtung\n    //Die Extrusion kann in mehreren Schritten/Stufen erfolgen\n    spine: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var x3ddefault = this.get('model');\n      var bauteile = x3ddefault.objectAt(0).get('bauteile');\n      var values = '0 0 0';\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n\n      if (name.substring(0, 8) === 'schraube' || item.get('typ') === \"verbindungsmittel\") {\n        var x = 0;\n        var y = 0;\n        var z = 0;\n        var schraubenLaenge = Number(this.schraubenLaenge()); //Länge der Stufen der Extursion\n        //Länge der Schraube = Länge der Stufen * Stufen\n\n        var delta = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('diameter') / 40; //Sufen der Extursion\n\n        var stufen = Math.floor(schraubenLaenge / (10 * delta));\n\n        if (stufen % 2 !== 0) {\n          stufen = stufen + 1;\n        }\n\n        schraubenLaenge = schraubenLaenge / 10;\n\n        for (var i = 0; i < stufen; i++) {\n          y = y + delta;\n          values = values + ', ' + x + ' ' + y + ' ' + z;\n        }\n\n        var headheight = this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headheight') / 10;\n\n        if (y > schraubenLaenge) {\n          y = y - (y - schraubenLaenge);\n          values = values + ', ' + x + ' ' + y + ' ' + z;\n        } else if (y < schraubenLaenge) {\n          y = y + (schraubenLaenge - y);\n          values = values + ', ' + x + ' ' + y + ' ' + z;\n        } else {\n          values = values + ', ' + x + ' ' + y + ' ' + z;\n        }\n\n        values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z;\n        var kopfformID = parseInt(this.get('model').objectAt(0).get('bauteile').findBy('id', name).get('screwProperties').objectAt(0).get('headformID')); //Entsprechend der Kopfformid wird über die Höhe des Kopfes die Form extrudiert\n\n        switch (kopfformID) {\n          //Linsensenkkopf\n          case 0:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.05 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.075 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.085 * headheight) + ' ' + z;\n            break;\n          //PanHead\n\n          case 1:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.8 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Scheibenkopf\n\n          case 2:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.4 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 0.7 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Sechskantkopf\n\n          case 3:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Senkfräskopf\n\n          case 4:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Senkkopf\n\n          case 5:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Zylinderkopf\n\n          case 6:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.9 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Tellerkopf\n\n          case 7:\n            values = values + ', ' + x + ' ' + (y + 0.4 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 0.7 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Senkkopf HSP\n\n          case 8:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Birnenkopf\n\n          case 9:\n            values = values + ', ' + x + ' ' + (y + headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.05 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.075 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 1.085 * headheight) + ' ' + z;\n            break;\n          //Außentorx\n\n          case 10:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.35 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 0.35 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n          //Scheibenkopf Form 2\n\n          case 11:\n            values = values + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + y + ' ' + z + ', ' + x + ' ' + (y + 0.4 * headheight) + ' ' + z + ', ' + x + ' ' + (y + 0.7 * headheight) + ' ' + z + ', ' + x + ' ' + (y + headheight) + ' ' + z;\n            break;\n        }\n      }\n\n      return values;\n    })\n  });\n  var _default = Extrusion;\n  _exports.default = _default;\n});","define(\"m12-2020/components/screw-tablehead\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var Multiselectbox = Ember.Component.extend((_obj = {\n    tagName: 'th',\n    layoutName: 'screw-tablerhead',\n    attributeBindings: [],\n    classNames: ['systemtablehead'],\n    displayedArrow: \"\",\n    hideUpArrow: false,\n    hideDownArrow: false,\n    hideAuswahl: true,\n    alleschrauben: true,\n\n    toggleAuswahl(e) {\n      this.set(\"hideAuswahl\", !this.get(\"hideAuswahl\"));\n    },\n\n    sortUp(_param) {\n      this.set('hiddenArrow', \"Up\");\n      this.set('down', true);\n      this.controllerSortUp(_param);\n    },\n\n    sortDown(_param) {\n      this.set('hiddenArrow', \"Down\");\n      this.controllerSortDown(_param);\n    },\n\n    thfilter(_parameter, _id, _checked) {\n      this.cfilter(_parameter, _id, _checked);\n    },\n\n    thtoggkleAllChecked: Ember.observer('alleschrauben', function () {\n      var self = this;\n      this.cToggkleAllChecked(self.get('parameter'), self.get('alleschrauben'));\n    })\n  }, (_applyDecoratedDescriptor(_obj, \"toggleAuswahl\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"toggleAuswahl\"), _obj), _applyDecoratedDescriptor(_obj, \"sortUp\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"sortUp\"), _obj), _applyDecoratedDescriptor(_obj, \"sortDown\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"sortDown\"), _obj), _applyDecoratedDescriptor(_obj, \"thfilter\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"thfilter\"), _obj)), _obj));\n  var _default = Multiselectbox;\n  _exports.default = _default;\n});","define(\"m12-2020/components/screw-tablerow\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var Multiselectbox = Ember.Component.extend((_obj = {\n    tagName: 'tr',\n    layoutName: 'screw-tablerow',\n    attributeBindings: [],\n    hideTip: true,\n    // click(item){\n    //   console.log(\"click click\");\n    //   console.log(item);\n    //   // console.log(this.get('item').artNr+\" \"+this.get('item').valid+\" \"+this.get('item').produktInfo+\" \"+this.get('item').cad);\n    //\n    //   // this.controllerSetSelectedScrew(this.item.artNr, this.item.valid, this.item.produktInfo, this.item.cad);\n    // },\n    itemID: Ember.computed('item', function () {\n      return this.item.ArtNr.toString().replace(/ /g, \"\");\n    }),\n\n    toggleTip(e) {\n      this.set(\"hideTip\", !this.get(\"hideTip\"));\n      var xPos = e.element.offsetLeft + e.element.offsetWidth + 32;\n      var yPos = e.element.getBoundingClientRect().top + window.scrollY;\n\n      if (this.get('hideTip') === false) {\n        $(\"#tooltipfenster\").append(this.item.ToolTipText);\n      } else {\n        $(\"#tooltipfenster\").text(\"\");\n      }\n\n      $(\"#tooltipfenster\").toggleClass(\"displayNone\");\n      $(\"#tooltipfenster\").toggleClass(\"VM_Okay\" + this.item.VM_Okay);\n      $(\"#tooltipfenster\").offset({\n        left: xPos,\n        top: yPos\n      });\n    },\n\n    setSelectedScrew(_artNr, _valid, _produktInfo, _cad) {\n      this.cSetSelectedScrew(_artNr, _valid, _produktInfo, _cad);\n    }\n\n  }, (_applyDecoratedDescriptor(_obj, \"toggleTip\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"toggleTip\"), _obj), _applyDecoratedDescriptor(_obj, \"setSelectedScrew\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setSelectedScrew\"), _obj)), _obj));\n  var _default = Multiselectbox;\n  _exports.default = _default;\n});","define(\"m12-2020/components/selectbox-item\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Multiselectbox = Ember.Component.extend({\n    tagName: 'div',\n    layoutName: 'selectbox-item',\n    attributeBindings: [],\n    classNames: ['multiSelectBox'],\n    // checked: computed('value.checked', function(){\n    //   return this.get('value').checked;\n    // }),\n    watchValueChecked: Ember.observer('value.checked', function () {\n      this.filter(this.get('value').id, this.get('value').checked);\n    })\n  });\n  var _default = Multiselectbox;\n  _exports.default = _default;\n});","define(\"m12-2020/components/shap-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Shape = Ember.Component.extend({\n    tagName: 'shape',\n    layoutName: 'shap-e',\n    attributeBindings: ['bboxcenter', 'bboxsize', 'ispickable', 'DEF', 'USE'],\n    bboxcenter: \"0,0,0\",\n    bboxsize: \"-1,-1,-1\",\n    ispickable: \"0\",\n    DEF: Ember.computed('foobar', function () {\n      var name = this.get('name');\n      var value = '';\n\n      if (name === 'schraube') {\n        value = 'schraube';\n      }\n\n      return value;\n    }),\n    istExtrusion: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name'); // console.log(\"shape name: \");\n      // console.log(name);\n\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = bauteile.findBy('id', name);\n      var istextrusion = false;\n\n      if (item.get('typ') === \"box\") {\n        istextrusion = true;\n      }\n\n      return istextrusion;\n    }),\n    istSchraube: Ember.computed('foobar', function () {\n      var name = this.get('name');\n      var x3d = this.get('model');\n      var bauteile = x3d.objectAt(0).get('bauteile');\n      var item = bauteile.findBy('id', name);\n      var istSchraube = false;\n\n      if (name.substring(0, 8) === 'schraube' || item.get('typ') === 'verbindungsmittel') {\n        istSchraube = true;\n      }\n\n      return istSchraube;\n    })\n  });\n  var _default = Shape;\n  _exports.default = _default;\n});","define(\"m12-2020/components/shape-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Shape = Ember.Component.extend({\n    tagName: 'Shape',\n    layoutName: 'shape-erg',\n    attributeBindings: ['bboxcenter', 'bboxsize', 'ispickable', 'DEF', 'USE'],\n    bboxcenter: \"0,0,0\",\n    bboxsize: \"-1,-1,-1\",\n    ispickable: \"0\",\n    DEF: Ember.computed('', function () {\n      var name = this.get('name');\n      var value = '';\n\n      if (name === 'schraube') {\n        value = 'schraube';\n      }\n\n      return value;\n    }),\n    // TODO: besser DEF USE für die Schrauben verwenden. Bislang noch keine Lösung gefunden\n    // USE: function () {\n    //   var name = this.get('name');\n    //\n    //   var value = '';\n    //\n    //   if (name === 'schraube2'){\n    //     value = 'schraube';\n    //   }\n    //   return value;\n    //\n    // }.property(''),\n    istExtrusion: Ember.computed('', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var istextrusion = false;\n      var item = bauteile.findBy('id', name);\n\n      if (item.get('typ') === \"verbindungsmittel\") {\n        istextrusion = true;\n      }\n\n      if (name.substring(0, 8) === 'schraube' || name === 'nebenTraeger' || name.substring(0, 17) === 'verstaerkungBlass') {\n        istextrusion = true;\n      }\n\n      return istextrusion;\n    }),\n    istFaceset: Ember.computed('', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var istFaceset = false;\n      var item = bauteile.findBy('id', name);\n\n      if (item.get('typ') === \"platte\" || name.substring(0, 12) === 'hauptTraeger' || name.substring(0, 18) === 'verstaerkungWerner') {\n        istFaceset = true;\n      }\n\n      return istFaceset;\n    })\n  });\n  var _default = Shape;\n  _exports.default = _default;\n});","define(\"m12-2020/components/tex-t\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var x3dText = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'tex-t',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['testClassNameXXX'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    austrittspunktRechts: false,\n    translation: Ember.computed('model.firstObject.{transformHelper,viewpointHelper,skalierungsfaktor,schraubenlisteAktualisiert}', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var variable = this.get('variable');\n      var x = 0;\n      var y = 0;\n      var z = 0;\n      var cords;\n      var item = x3d.get('bauteile').findBy('id', name);\n      var hoeheMasskette = 0.5;\n      var abstandVomBauteil = 0.15;\n      var abstandVonDerMasslinie = 0.05;\n      var gabelbreite = 0;\n      var ueberstand = 0;\n\n      if (x3d.get('gabellager') === true) {\n        gabelbreite = Number(this.get('model').objectAt(0).get('bauteile').findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('z')) / 10 + Number(bauteile.findBy('id', \"gabellager\").get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n      }\n\n      if (name === 'auflager' || name === 'traeger' || name === 'auflagernaheEinzellast') {\n        x = item.get('boxsizes').objectAt(0).get('x') / 10;\n        y = item.get('boxsizes').objectAt(0).get('y') / 10;\n        z = item.get('boxsizes').objectAt(0).get('z') / 10;\n\n        if (name === 'traeger') {\n          if (variable === 'breite') {\n            y = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10 + 0.1 > bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y') / 10 ? bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10 : bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y') / 10 - 0.1;\n\n            if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n              cords = x / 2 + hoeheMasskette + abstandVonDerMasslinie + abstandVomBauteil + ' ' + y + ' ' + 0;\n            } else {\n              cords = x / 2 + ' ' + (y + abstandVomBauteil + hoeheMasskette + abstandVonDerMasslinie) + ' ' + 0;\n            }\n          } else if (variable === 'hoehe') {\n            if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n              cords = -(x / 2) + ' ' + y / 2 + ' ' + (-z / 2 - hoeheMasskette - abstandVonDerMasslinie - abstandVomBauteil - gabelbreite);\n            } else {\n              cords = -(x / 2) - hoeheMasskette - abstandVonDerMasslinie - abstandVomBauteil + ' ' + y / 2 + ' ' + -(z / 2);\n            }\n          } else if (variable === 'sicherheitsAbstand') {\n            var delta = 0;\n\n            if (x3d.get('gabellager') === true) {\n              ueberstand = bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('ueberstand') / 10;\n              var auflager = bauteile.findBy('id', 'auflager').get('boxsizes').objectAt(0).get('x') / 10;\n              var gabellager = Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('x')) / 10;\n\n              if (bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === true) {\n                x = auflager / 2 + ueberstand > gabellager / 2 ? x : x - auflager + gabellager;\n              }\n\n              var gabelhoehe = x3d.get('hGabellagerEingetragen') === true ? Number(bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('y') / 10) : 0.9 * Number(item.get('boxsizes').objectAt(0).get('y')) / 10;\n\n              if (Number(item.get('boxsizes').objectAt(0).get('y')) / 10 - Number(x3d.get('sicherheitsAbstand')) / 10 < gabelhoehe) {\n                delta = abstandVomBauteil + hoeheMasskette;\n              }\n            }\n\n            var dz = 0;\n\n            if (x3d.get('gabellager') === true) {\n              dz = Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('z')) / 10 + Number(bauteile.findBy('id', \"gabellager\").get('erweiterteeigenschaften').objectAt(0).get('abstandsmass')) / 10;\n            }\n\n            if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n              cords = x / 2 + ' ' + (y - Number(x3d.get('sicherheitsAbstand')) / 20) + ' ' + (z / 2 + hoeheMasskette + abstandVonDerMasslinie + abstandVomBauteil + delta + dz);\n            } else {\n              cords = x / 2 + hoeheMasskette + abstandVonDerMasslinie + abstandVomBauteil + delta + ' ' + (y - Number(x3d.get('sicherheitsAbstand')) / 20) + ' ' + (z / 2 + dz);\n            }\n          }\n        }\n\n        if (name === 'auflager') {\n          y = 0;\n\n          if (x3d.get('gabellager') === true) {\n            y = y - Number(this.get('model').objectAt(0).get('bauteile').findBy('id', \"traeger\").get('boxsizes').objectAt(0).get('y')) / 20;\n          }\n\n          z = Number(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z')) / 10;\n\n          if (variable === 'breite') {\n            if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n              if (bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === true) {\n                ueberstand = Number(item.get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) / 10;\n\n                if (x3d.get('gabellager') === true) {\n                  ueberstand = x / 2 + ueberstand > Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('x')) / 20 ? ueberstand : Number(bauteile.findBy('id', \"gabellager\").get('boxsizes').objectAt(0).get('x')) / 20 - x / 2;\n                }\n              } else {\n                x = bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('x') / 10;\n              }\n\n              cords = -ueberstand - x / 2 - hoeheMasskette - abstandVonDerMasslinie - abstandVomBauteil + ' ' + y + ' ' + 0;\n            } else {\n              cords = -x / 2 + ' ' + (y - hoeheMasskette + abstandVonDerMasslinie - abstandVomBauteil) + ' ' + 0;\n            }\n          } else if (variable === 'laenge') {\n            if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n              cords = 0 + ' ' + y + ' ' + (z / 2 + hoeheMasskette - abstandVonDerMasslinie + abstandVomBauteil + gabelbreite);\n            } else {\n              cords = 0 + ' ' + (y - hoeheMasskette + abstandVonDerMasslinie - abstandVomBauteil) + ' ' + (z / 2 + gabelbreite);\n            }\n          } else if (variable === 'ueberstand') {\n            x = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 10) - bauteile.findBy('id', name).get('erweiterteeigenschaften').objectAt(0).get('ueberstand') / 10;\n\n            if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n              cords = x / 2 + ' ' + y + ' ' + (z / 2 + hoeheMasskette - abstandVonDerMasslinie + abstandVomBauteil + gabelbreite);\n            } else {\n              cords = x / 2 + ' ' + (y - hoeheMasskette + abstandVonDerMasslinie - abstandVomBauteil) + ' ' + (z / 2 + gabelbreite);\n            }\n          }\n        }\n\n        if (name === 'auflagernaheEinzellast') {\n          if (variable === 'breite') {\n            z = Number(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z')) / 20;\n            x = -(bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 10) - bauteile.findBy('id', name).get('translations').objectAt(0).get('x') / 10;\n\n            if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n              cords = x / 2 + ' ' + 0 + ' ' + (-z - hoeheMasskette - abstandVonDerMasslinie - abstandVomBauteil - gabelbreite);\n            } else {\n              cords = x / 2 + ' ' + (+hoeheMasskette + abstandVonDerMasslinie + abstandVomBauteil) + ' ' + -z;\n            }\n          }\n        }\n      }\n\n      if (name === 'lastenPfeil') {\n        cords = 0 + ' ' + -1.2 + ' 0';\n      }\n\n      return cords;\n    }),\n    rotation: Ember.computed('model.firstObject.{transformHelper,viewpointHelper}', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var variable = this.get('variable');\n      var values;\n      var w90Grad = 89 * Math.PI / 180;\n      var w240Grad = 240 * Math.PI / 180;\n\n      if (name === 'traeger') {\n        if (variable === 'breite') {\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = '1 1 1 ' + w240Grad;\n          } else {\n            values = '0 1 0 ' + -w90Grad;\n          }\n        } else if (variable === 'hoehe') {\n          if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = '1 1 -1 ' + w240Grad;\n          } else {\n            values = '0 0 1 ' + w90Grad;\n          }\n        } else if (variable === 'sicherheitsAbstand') {\n          if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = '-1 1 1 ' + w240Grad;\n          } else {\n            values = '0 0 1 ' + -w90Grad;\n          }\n        }\n      }\n\n      if (name === 'auflager') {\n        if (variable === 'breite') {\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = '1 -1 -1 ' + w240Grad;\n          } else {\n            values = '0 1 0 ' + -w90Grad;\n          }\n        } else if (variable === 'laenge') {\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = '1 0 0 ' + -w90Grad;\n          } else {\n            values = '0 0 0 0';\n          }\n        } else if (variable === 'ueberstand') {\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = '1 0 0 ' + -w90Grad;\n          } else {\n            values = '0 0 0 0';\n          }\n        }\n      }\n\n      if (name === 'auflagernaheEinzellast') {\n        if (variable === 'breite') {\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = '1 0 0 ' + -w90Grad;\n          } else {\n            values = '0 1 0 ' + 0;\n          }\n        }\n      }\n\n      if (name.substring(0, 8) === 'schraube') {\n        if (this.get('typ') === 'xPos') {\n          if (this.austrittspunktRechts) {\n            values = '0 0 1 -1.5707';\n          } else {\n            if (bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind')) {\n              values = '0 0 0 0';\n            } else {\n              values = '1 0 0 -1.5707';\n            }\n          }\n        }\n\n        if (this.get('typ') === 'zPos') {\n          if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = '0 1 0 -1.5707';\n          } else {\n            values = '1 1 1 4.2';\n          }\n        }\n      }\n\n      if (name === 'lastenPfeil') {\n        values = '0 0 0 0';\n      }\n\n      return values;\n    }),\n    wert: Ember.computed('model.firstObject.{transformHelper,viewpointHelper,istHt,schraubenGekreuzt,schraubenlisteAktualisiert}', function () {\n      var self = this;\n      var name = this.get('name');\n      var variable = this.get('variable');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var value = 'test';\n      var item = x3d.get('bauteile').findBy('id', name);\n\n      if (name === 'auflager') {\n        if (variable === 'laenge' && x3d.get('aLaengeEingetragen')) {\n          value = item.get('boxsizes').objectAt(0).get('x');\n        } else if (variable === 'breite' && x3d.get('aBreiteEingetragen')) {\n          value = item.get('boxsizes').objectAt(0).get('z');\n        } else if (variable === 'ueberstand' && Number(item.get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) !== 0 && x3d.get('ueberstandEingetragen')) {\n          value = item.get('erweiterteeigenschaften').objectAt(0).get('ueberstand');\n        }\n      }\n\n      if (name === 'traeger') {\n        if (variable === 'hoehe' && x3d.get('htHoeheEingetragen')) {\n          value = item.get('boxsizes').objectAt(0).get('y');\n        } else if (variable === 'breite' && x3d.get('htBreiteEingetragen')) {\n          value = item.get('boxsizes').objectAt(0).get('z');\n        } else if (variable === 'sicherheitsAbstand' && x3d.get('sicherheitsAbstandEingetragen')) {\n          value = x3d.get('sicherheitsAbstand');\n        }\n      }\n\n      if (name === 'auflagernaheEinzellast') {\n        if (variable === 'breite' && x3d.get('abstandsmassEingetragen')) {\n          value = item.get('translations').objectAt(0).get('x');\n        }\n      }\n\n      if (name.substring(0, 8) === 'schraube' && x3d.get('ergebnisGeladen')) {\n        if (this.get('typ') === 'xPos' && !bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n          var xKopfPos = this.getSchraubeKopfPos(name, 'x');\n          value = Math.abs((xKopfPos * 10).toFixed(1));\n          value = parseFloat(value).toFixed(1);\n        }\n\n        if (this.get('typ') === 'zPos' && !bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind')) {\n          switch (this.get('variable')) {\n            case 'randAbstand1':\n              value = x3d.get('randAbstand1');\n              value = parseFloat(value).toFixed(1);\n              break;\n\n            case 'randAbstand2':\n              value = x3d.get('randAbstand2');\n              value = parseFloat(value).toFixed(1);\n              break;\n\n            case 'schraubenAbstand1':\n              value = x3d.get('schraubenAbstand1');\n              value = parseFloat(value).toFixed(1);\n              break;\n\n            case 'schraubenAbstand2':\n              value = x3d.get('schraubenAbstand2');\n              value = parseFloat(value).toFixed(1);\n              break;\n          }\n        }\n      }\n\n      if (name === 'lastenPfeil') {\n        value = x3d.get('bemessungslast');\n        value = parseFloat(value).toFixed(1) + ' kN';\n      }\n\n      return value;\n    }),\n    showIt: Ember.computed('wert', function () {\n      if (this.get('wert') !== 'test' && isNaN(this.get('wert')) === false) {\n        return \"true\";\n      } else {\n        return \"false\";\n      }\n    }),\n    diffusecolor: Ember.computed('model.firstObject.{htbreiteAktiv,hthoeheAktiv,abreiteAktiv,alaengeAktiv,sicherheitsAbstandAktiv,vWinkelAktiv,bemessungslastAktiv,ueberstandAktiv,spaltmassAktiv}', function () {\n      var name = this.get('name');\n      var typ = this.get('variable');\n      var x3d = this.get('model').objectAt(0);\n      var emsvcolor = '0 0 0';\n\n      if (x3d.get('htbreiteAktiv') === true && name === 'traeger' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('hthoeheAktiv') === true && name === 'traeger' && typ === 'hoehe') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('abreiteAktiv') === true && name === 'auflager' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('alaengeAktiv') === true && name === 'auflager' && typ === 'laenge') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('bemessungslastAktiv') === true && name === 'lastenPfeil') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('ueberstandAktiv') === true && name === 'auflager' && typ === 'ueberstand') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('sicherheitsAbstandAktiv') === true && name === 'traeger' && typ === 'sicherheitsAbstand') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('spaltmassAktiv') === true && name === 'auflagernaheEinzellast' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      return emsvcolor;\n    }),\n    textgroesse: Ember.computed('model.firstObject.{skalierungsfaktor,transformHelper}', function () {\n      var skalierungsfaktor = this.get('model').objectAt(0).get('skalierungsfaktor');\n      return 0.3 * skalierungsfaktor;\n    }),\n    getSchraubeKopfPos: function (name, achse) {\n      var value = 0;\n      var x3d = this.get('model').objectAt(0);\n      var item = x3d.get('bauteile').findBy('id', name);\n      var xVerschiebung = item.get('translations').objectAt(0).get('x') / 10;\n      var yVerschiebung = item.get('translations').objectAt(0).get('y') / 10;\n      var zVerschiebung = item.get('translations').objectAt(0).get('z') / 10;\n      var schraubenlaenge = item.get('screwProperties').objectAt(0).get('length') / 10;\n      var alpha = item.get('rotations').objectAt(0).get('z');\n      var beta = item.get('rotations').objectAt(0).get('y');\n\n      if (alpha > 1.5707 && !x3d.get('schraubenGekreuzt')) {\n        alpha = 1.5707 - (alpha - 1.5707);\n        xVerschiebung = xVerschiebung * -1;\n      }\n\n      var xKopfPos;\n\n      if (xVerschiebung > 0) {\n        var vwinkel = x3d.get('vWinkel');\n        var xGesamt = yVerschiebung / Math.tan(alpha - 1.5707);\n        var x2 = Math.abs(xGesamt) - xVerschiebung / Math.cos(beta);\n        var gamma = Math.PI - (alpha - 1.5707) - vwinkel * Math.PI / 180;\n        var a = x2 * Math.sin(alpha - 1.5707) / Math.sin(gamma);\n        xKopfPos = Math.cos(vwinkel * Math.PI / 180) * a * -1;\n        xKopfPos = Math.cos(beta) * xKopfPos;\n      } else {\n        xKopfPos = -(Math.cos(beta) * yVerschiebung / Math.tan(alpha) - xVerschiebung);\n\n        if (Number(xKopfPos) > Number(x3d.get('bauteile').findBy('id', 'traeger').get('boxsizes').objectAt(0).get('x') / 10)) {\n          this.austrittspunktRechts = true;\n          xKopfPos = (xKopfPos - x3d.get('bauteile').findBy('id', 'traeger').get('boxsizes').objectAt(0).get('x') / 10) * Math.sin(alpha);\n        }\n      }\n\n      var zKopfPos = Math.sin(beta) * (Math.cos(alpha) * schraubenlaenge) - zVerschiebung;\n\n      if (achse === 'x') {\n        value = xKopfPos;\n      } else if (achse === 'z') {\n        value = zKopfPos;\n      }\n\n      return value;\n    }\n  });\n  var _default = x3dText;\n  _exports.default = _default;\n});","define(\"m12-2020/components/text-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var x3dText = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'text-erg',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['testClassNameXXX'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    austrittspunktRechts: false,\n    translation: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.skalierungsfaktor', 'model.firstObject.schraubenlisteAktualisiert', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var typ = this.get('typ');\n      var vwinkel = Number(x3d.get('vWinkel')) * Math.PI / 180;\n      var x = 0;\n      var y = 0;\n      var z = 0;\n\n      if (bauteile.findBy('id', name).get('typ') === 'box') {\n        x = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('x') / 20;\n        y = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('y') / 10;\n        z = bauteile.findBy('id', name).get('boxsizes').objectAt(0).get('z') / 20;\n      }\n\n      if (name === 'nebenTraeger') {\n        x = x + 2;\n      }\n\n      var cords;\n      var skalierungsfaktor = x3d.get('skalierungsfaktor') + 0.6;\n      var item = x3d.get('bauteile').findBy('id', name);\n      var ueberstand = 2;\n      var hoeheMasskette = 0.5;\n      var abstandVomBauteil = 0.15;\n      var abstandVonDerMasslinie = 0.05;\n\n      if (name === 'lastenPfeil') {\n        y = -2.5 - 0.3 * skalierungsfaktor + 0.3 / skalierungsfaktor;\n      }\n\n      cords = x + ' ' + y + ' ' + z;\n\n      if (x3d.get('ergebnisGeladen') && name === typ) {\n        var p1 = new Object();\n        var p2 = new Object();\n        var ansichtsvektor1 = new Object();\n        var ansichtsvektor2 = new Object();\n        var richtungsvektor1 = new Object();\n        p1.x = item.get('punkt').objectAt(1).get('x') / 10;\n        p1.y = item.get('punkt').objectAt(1).get('y') / 10;\n        p1.z = item.get('punkt').objectAt(1).get('z') / 10;\n        p2.x = item.get('punkt').objectAt(0).get('x') / 10;\n        p2.y = item.get('punkt').objectAt(0).get('y') / 10;\n        p2.z = item.get('punkt').objectAt(0).get('z') / 10;\n        var sichtEbene = 'masskette' + this.getSichtEbene() + item.id.substring(0, item.id.length - 3);\n        ansichtsvektor1.x = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('x'));\n        ansichtsvektor1.y = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('y'));\n        ansichtsvektor1.z = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('z'));\n        richtungsvektor1.x = Number(item.get('richtungsvektor').objectAt(0).get('x'));\n        richtungsvektor1.y = Number(item.get('richtungsvektor').objectAt(0).get('y'));\n        richtungsvektor1.z = Number(item.get('richtungsvektor').objectAt(0).get('z'));\n        ansichtsvektor2 = ansichtsvektor1;\n        var abstandMassketteText = abstandVonDerMasslinie;\n\n        if (ansichtsvektor1.y === -1) {\n          // abstandMassketteText = (abstandMassketteText *2 + 0.1);\n          abstandVonDerMasslinie = -abstandVonDerMasslinie;\n        } else if (ansichtsvektor1.y === -1 && richtungsvektor1.z === 1) {\n          // abstandMassketteText = (abstandMassketteText *2 + 0.1);\n          abstandVonDerMasslinie = -abstandVonDerMasslinie;\n        } else if (ansichtsvektor1.z === 1 && richtungsvektor1.x !== 0) {\n          // abstandMassketteText = (abstandMassketteText *2 + 0.1);\n          abstandVonDerMasslinie = -abstandVonDerMasslinie;\n        }\n\n        var ebene = Number(item.get('masskette').objectAt(0).get('ebene'));\n        var lueckeZwischenMassketten = 0.2 * (ebene - 1);\n        var verschiebung = hoeheMasskette + (ebene - 1) * hoeheMasskette + lueckeZwischenMassketten;\n        cords = this.getXYZ(p1, p2, ansichtsvektor1, ansichtsvektor2, abstandVonDerMasslinie + verschiebung);\n      }\n\n      return cords;\n    }),\n    rotation: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.viewpointHelper', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var typ = this.get('typ');\n      var values;\n      var x = 0,\n          y = 0,\n          z = 0,\n          omega = 0;\n      var w90Grad = 90 * Math.PI / 180;\n      var w180Grad = 180 * Math.PI / 180;\n      var w240Grad = 240 * Math.PI / 180;\n      var item = bauteile.findBy('id', name);\n\n      switch (typ) {\n        case 'breite':\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n            var richtung = 1;\n\n            if (name.substring(0, 18) === 'verstaerkungWerner' || name.substring(0, 17) === 'verstaerkungBlass') {\n              richtung = -1;\n            }\n\n            x = richtung * 1;\n            y = -1;\n            z = -1;\n            omega = richtung * 4.188;\n          } else {\n            x = 0;\n            y = 1;\n            z = 0;\n            omega = -w90Grad;\n          }\n\n          break;\n\n        case 'hoehe':\n          var drehrichtung = 1;\n          var vWinkel = 0;\n\n          if (name === 'hauptTraeger1') {\n            drehrichtung = -1;\n          }\n\n          if (name === 'seitenbauteil0') {\n            drehrichtung = -1;\n            vWinkel = Number(x3d.get('vWinkel')) * Math.PI / 180;\n          }\n\n          if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            x = drehrichtung * 1;\n            y = 1;\n            z = drehrichtung * -1;\n            omega = 4.1888;\n          } else {\n            x = 0;\n            y = 0;\n            z = 1;\n            omega = drehrichtung * (w90Grad - vWinkel);\n          }\n\n          break;\n\n        case 'setztiefe':\n          if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n            x = 1;\n            y = -1;\n            z = -1;\n            omega = 4.1888;\n          } else {\n            x = 0;\n            y = 1;\n            z = 0;\n            omega = -w90Grad;\n          }\n\n          break;\n\n        case 'lastenPfeil':\n          var vwinkel = Number(x3d.get('vWinkel')) * Math.PI / 180;\n          var vwinkelScherkraft = Number(x3d.get('vWinkelScherkraft')) * Math.PI / 180;\n          break;\n\n        case 'vWinkel':\n          var vwinkel = Number(x3d.get('vWinkel')) * Math.PI / 180;\n          x = 0;\n          y = 0;\n          z = 1;\n          omega = -w90Grad + vwinkel / 2;\n          break;\n\n        case 'vWinkelScherkraft':\n          var vwinkel = Number(x3d.get('vWinkel')) * Math.PI / 180;\n          var vwinkelScherkraft = Number(x3d.get('vWinkelScherkraft')) * Math.PI / 180;\n          x = 0;\n          y = 0;\n          z = 1;\n          omega = -w90Grad + vwinkel + vwinkelScherkraft / 2;\n          break;\n\n        case 'ueberstandDiagonaleVertikal':\n          break;\n\n        case 'exzentrizitaetDiagonale':\n          x = 1;\n          y = 0;\n          z = 0;\n          omega = w180Grad;\n          break;\n      }\n\n      if (x3d.get('ergebnisGeladen') && name === typ) {\n        var sichtEbene = 'masskette' + this.getSichtEbene() + item.id.substring(0, item.id.length - 3);\n        var ax = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('x'));\n        var ay = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('y'));\n        var az = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('z'));\n        var rx = Number(item.get('richtungsvektor').objectAt(0).get('x'));\n        var ry = Number(item.get('richtungsvektor').objectAt(0).get('y'));\n        var rz = Number(item.get('richtungsvektor').objectAt(0).get('z'));\n\n        if (rz !== 0) {\n          rz = rz * rz / Math.abs(rz);\n        }\n\n        var kreuzprodukt = this.getKreuzprodukt({\n          x: 1,\n          y: 0,\n          z: 0\n        }, {\n          x: rx,\n          y: ry,\n          z: rz\n        });\n        omega = this.getWinkel({\n          x: 1,\n          y: 0,\n          z: 0\n        }, {\n          x: rx,\n          y: ry,\n          z: rz\n        });\n        x = kreuzprodukt.x;\n        y = kreuzprodukt.y;\n        z = kreuzprodukt.z; // console.log('sichtebene: '+this.getSichtEbene()+'  ::: name: '+name);\n\n        if (ax > 0 && this.getSichtEbene() === \"AnsichtXY\" || az > 0 && (this.getSichtEbene() === \"AnsichtYZ\" || 0 < ry && ry < 1 && this.getSichtEbene() === \"AnsichtXZ\")) {\n          // console.log('ax: '+ax+' > 0 || az: '+az+' > 0');\n          omega = -(Math.PI - omega);\n        }\n\n        if (ax < 0 && this.getSichtEbene() === \"AnsichtXZ\" && ry === 0) {\n          // console.log('ax: '+ax+' < 0');\n          omega = -omega;\n        }\n\n        if (ax === 0 && this.getSichtEbene() === \"AnsichtXZ\" && ry === 1) {\n          // console.log('ax: '+ax+' === 0');\n          omega = -omega;\n        }\n      }\n\n      if (name === 'lastenPfeil') {\n        y = -2.5 - 0.3 * skalierungsfaktor + 0.3 / skalierungsfaktor;\n      }\n\n      values = x + ' ' + y + ' ' + z + ' ' + omega;\n\n      if (name.substring(0, 8) === 'schraube') {\n        if (this.get('typ') === 'xPos') {\n          if (this.austrittspunktRechts) {\n            values = '0 0 1 -1.5707';\n          } else {\n            if (bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind')) {\n              values = '0 0 0 0';\n            } else {\n              values = '1 0 0 -1.5707';\n            }\n          }\n        }\n\n        if (this.get('typ') === 'zPos') {\n          if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n            values = '0 1 0 -1.5707';\n          } else {\n            values = '1 1 1 4.2';\n          }\n        }\n      }\n\n      return values;\n    }),\n    wert: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var value = ' ';\n      var item = x3d.get('bauteile').findBy('id', name);\n\n      switch (typ) {\n        case 'breite':\n          if (x3d.get('ntBreiteEingetragen') && name === 'nebenTraeger') {\n            value = Number(item.get('boxsizes').objectAt(0).get('z'));\n            value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n          } else if (x3d.get('htBreiteEingetragen') && name.substring(0, 12) === 'hauptTraeger') {\n            value = Number(item.get('boxsizes').objectAt(0).get('z'));\n            value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n          } else if (name === 'mittelbauteil' || name === 'seitenbauteil0') {\n            value = Number(item.get('platte').objectAt(0).get('thickness'));\n            value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n          } else if (name.substring(0, 12) === 'verstaerkung') {\n            if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === false) {\n              value = Number(x3d.get('dickeBlass'));\n            } else if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === true) {\n              value = Number(x3d.get('dickeWerner'));\n            }\n\n            value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma'));\n          }\n\n          break;\n\n        case 'hoehe':\n          if (x3d.get('ntHoeheEingetragen') && name === 'nebenTraeger') {\n            value = Number(item.get('boxsizes').objectAt(0).get('y'));\n            value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n          } else if (x3d.get('htHoeheEingetragen') && name.substring(0, 12) === 'hauptTraeger') {\n            value = Number(item.get('boxsizes').objectAt(0).get('y'));\n            value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n          } else if (name === 'mittelbauteil') {\n            value = Number(item.get('punkt').objectAt(0).get('y')) + Math.abs(Number(item.get('punkt').objectAt(1).get('y')));\n            value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n          } else if (name === 'seitenbauteil0') {\n            value = Number(bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y'));\n            value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n          }\n\n          break;\n\n        case 'setztiefe':\n          if (x3d.get('setztiefeEingetragen')) {\n            value = Number(bauteile.findBy('id', 'schraubeStandard1').get('screwProperties').objectAt(0).get('setztiefe'));\n            value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n          }\n\n          break;\n\n        case 'lastenPfeil':\n          if (x3d.get('scherkraftEingetragen') && name === 'scherkraftPfeil') {\n            value = Number(x3d.get('scherkraft'));\n            value = (Number(value) * Number(x3d.get('kraefteFaktor'))).toFixed(Number(x3d.get('kraefteNachkomma'))) + ' ' + x3d.get('kraefteLabel');\n          } else if (x3d.get('axialkraftEingetragen') && name === 'axialkraftPfeil') {\n            value = Number(x3d.get('axialkraft'));\n            value = (Number(value) * Number(x3d.get('kraefteFaktor'))).toFixed(Number(x3d.get('kraefteNachkomma'))) + ' ' + x3d.get('kraefteLabel');\n          }\n\n          break;\n\n        case 'vWinkel':\n          if (x3d.get('vWinkelEingetragen')) {\n            value = String(Number(x3d.get('vWinkel')).toFixed(1)) + '°';\n          }\n\n          break;\n\n        case 'vWinkelScherkraft':\n          if (x3d.get('vWinkelScherkraftEingetragen')) {\n            value = String(Number(x3d.get('vWinkelScherkraft')).toFixed(1)) + '°';\n          }\n\n          break;\n\n        case 'ueberstandDiagonaleVertikal':\n          value = x3d.get('ueberstandDiagonaleVertikal');\n          value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n\n          break;\n\n        case 'exzentrizitaetDiagonale':\n          value = x3d.get('exzentrizitaetDiagonale');\n          value = this.styleString(value, x3d.get('laengenLabel'), x3d.get('laengenFaktor'), x3d.get('laengenNachkomma')); // value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n\n          break;\n      }\n\n      if (name.substring(0, 8) === 'schraube' && x3d.get('ergebnisGeladen')) {\n        if (this.get('typ') === 'xPos' && !bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n          var xKopfPos = this.getSchraubeKopfPos(name, 'x');\n          value = Math.abs((xKopfPos * 10).toFixed(1));\n          value = parseFloat(value).toFixed(1);\n        }\n\n        if (this.get('typ') === 'zPos' && !bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind')) {\n          switch (this.get('typ')) {\n            case 'randAbstand1':\n              value = x3d.get('randAbstand1');\n              value = parseFloat(value).toFixed(1);\n              break;\n\n            case 'randAbstand2':\n              value = x3d.get('randAbstand2');\n              value = parseFloat(value).toFixed(1);\n              break;\n\n            case 'schraubenAbstand1':\n              value = x3d.get('schraubenAbstand1');\n              value = parseFloat(value).toFixed(1);\n              break;\n\n            case 'schraubenAbstand2':\n              value = x3d.get('schraubenAbstand2');\n              value = parseFloat(value).toFixed(1);\n              break;\n          }\n        }\n\n        value = (Number(value) * Number(x3d.get('laengenFaktor'))).toFixed(Number(x3d.get('laengenNachkomma')));\n      }\n\n      if (x3d.get('ergebnisGeladen') && name === typ && item.get('masskette').objectAt(0).get('masstext') !== \"\") {\n        value = item.get('masskette').objectAt(0).get('masstext'); // value = value.substr(0, value.length-1)\n      }\n\n      return String(value);\n    }),\n    diffusecolor: Ember.computed('model.firstObject.exzentrizitaetDiagonaleAktiv', 'model.firstObject.ueberstandDiagonaleVertikalAktiv', 'model.firstObject.htbreiteAktiv', 'model.firstObject.hthoeheAktiv', 'model.firstObject.ntbreiteAktiv', 'model.firstObject.nthoeheAktiv', 'model.firstObject.axialkraftAktiv', 'model.firstObject.scherkraftAktiv', 'model.firstObject.vWinkelAktiv', 'model.firstObject.vWinkelScherkraftAktiv', 'model.firstObject.setztiefeAktiv', 'model.firstObject.dickeBlassAktiv', 'model.firstObject.dickeWernerAktiv', function () {\n      var name = this.get('name');\n      var typ = this.get('typ');\n      var x3d = this.get('model').objectAt(0);\n      var emsvcolor = '0 0 0';\n\n      if (x3d.get('ntbreiteAktiv') === true && name === 'nebenTraeger' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('nthoeheAktiv') === true && name === 'nebenTraeger' && typ === 'hoehe') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('htbreiteAktiv') === true && name.substring(0, 12) === 'hauptTraeger' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('hthoeheAktiv') === true && name === 'hauptTraeger1' && typ === 'hoehe') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('setztiefeAktiv') === true && name === 'hauptTraeger1' && typ === 'setztiefe') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('scherkraftAktiv') === true && name === 'scherkraftPfeil') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('axialkraftAktiv') === true && name === 'axialkraftPfeil') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('vWinkelAktiv') === true && typ === 'vWinkel') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('vWinkelScherkraftAktiv') === true && typ === 'vWinkelScherkraft') {\n        emsvcolor = '1 0 0';\n      }\n\n      if ((x3d.get('dickeBlassAktiv') === true || x3d.get('dickeWernerAktiv') === true) && name.substring(0, 12) === 'verstaerkung' && typ === 'breite') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('ueberstandDiagonaleVertikalAktiv') === true && name === 'nebenTraeger' && typ === 'ueberstandDiagonaleVertikal') {\n        emsvcolor = '1 0 0';\n      }\n\n      if (x3d.get('exzentrizitaetDiagonaleAktiv') === true && name === 'nebenTraeger' && typ === 'exzentrizitaetDiagonale') {\n        emsvcolor = '1 0 0';\n      }\n\n      return String(emsvcolor);\n    }),\n    textgroesse: Ember.computed('model.firstObject.skalierungsfaktor', 'model.firstObject.transformHelper', function () {\n      var skalierungsfaktor = this.get('model').objectAt(0).get('skalierungsfaktor');\n      var value = 0.3 * skalierungsfaktor;\n      return value;\n    }),\n    getSchraubeKopfPos: function (name, achse) {\n      var value = 0;\n      var x3d = this.get('model');\n      var item = x3d.objectAt(0).get('bauteile').findBy('id', name);\n      var xVerschiebung = item.get('translations').objectAt(0).get('x') / 10;\n      var yVerschiebung = item.get('translations').objectAt(0).get('y') / 10;\n      var zVerschiebung = item.get('translations').objectAt(0).get('z') / 10;\n      var schraubenlaenge = item.get('screwProperties').objectAt(0).get('length') / 10;\n      var alpha = item.get('rotations').objectAt(0).get('z');\n      var beta = item.get('rotations').objectAt(0).get('y');\n\n      if (alpha > 1.5707 && !x3d.objectAt(0).get('schraubenGekreuzt')) {\n        alpha = 1.5707 - (alpha - 1.5707);\n        xVerschiebung = xVerschiebung * -1;\n      }\n\n      var delta = item.get('screwProperties').objectAt(0).get('headdiameter') / 20 * Math.cos(alpha); // var xKopfPos = -(Math.cos(beta)*yVerschiebung/Math.tan(alpha) - xVerschiebung);\n\n      var xKopfPos;\n\n      if (xVerschiebung > 0) {\n        var vwinkel = x3d.objectAt(0).get('vWinkel');\n        var xGesamt = yVerschiebung / Math.tan(alpha - 1.5707);\n        var x2 = Math.abs(xGesamt) - xVerschiebung / Math.cos(beta);\n        var gamma = Math.PI - (alpha - 1.5707) - vwinkel * Math.PI / 180;\n        var a = x2 * Math.sin(alpha - 1.5707) / Math.sin(gamma);\n        xKopfPos = Math.cos(vwinkel * Math.PI / 180) * a * -1;\n        xKopfPos = Math.cos(beta) * xKopfPos;\n      } else {\n        xKopfPos = -(Math.cos(beta) * yVerschiebung / Math.tan(alpha) - xVerschiebung);\n\n        if (Number(xKopfPos) > Number(x3d.objectAt(0).get('bauteile').findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('x') / 10)) {\n          this.austrittspunktRechts = true;\n          xKopfPos = (xKopfPos - x3d.objectAt(0).get('bauteile').findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('x') / 10) * Math.sin(alpha);\n        }\n      }\n\n      var zKopfPos = Math.sin(beta) * (Math.cos(alpha) * schraubenlaenge) - zVerschiebung;\n\n      if (achse === 'x') {\n        value = xKopfPos;\n      } else if (achse === 'z') {\n        value = zKopfPos;\n      }\n\n      return value;\n    },\n    getMittelwert: function (a, b) {\n      return (a + b) / 2;\n    },\n    getXSeitenbauteilOben: function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      ;\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var value = 0;\n\n      if (alfa !== 0 && alfa !== 90) {\n        var exzentrizitaet = 0;\n\n        if (x3d.get('ausmittigerstabanschluss') === true) {\n          exzentrizitaet = x3d.get('exzentrizitaetDiagonale');\n        } else {\n          exzentrizitaet = Number(hDiag / 2 / Math.sin(alfa * Math.PI / 180)) + Number(hGurt / 2 / Math.tan(alfa * Math.PI / 180));\n\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1 && Number(ueDiagVert) > hDiag * Math.cos(alfa * Math.PI / 180)) {\n            exzentrizitaet = exzentrizitaet + (ueDiagVert - hDiag * Math.cos(alfa * Math.PI / 180)) / Math.tan(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            exzentrizitaet = exzentrizitaet + ueDiagVert / Math.tan(alfa * Math.PI / 180);\n          }\n        }\n\n        value = (exzentrizitaet / Math.cos(alfa * Math.PI / 180) - hDiag / 2 * Math.tan(alfa * Math.PI / 180)) / 10;\n      } else {\n        value = Math.abs(x3d.get('xSeitenbauteil') / 10 + Math.sin(alfa * Math.PI / 180) * ueDiagVert / 10);\n      }\n\n      return value;\n    },\n    scherkraftXWert: function (yGurt) {\n      var ergebnis = 0;\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var vWinkel = x3d.get('vWinkel');\n      var P1 = bauteile.findBy('id', 'seitenbauteil0').get('punkt').objectAt(0);\n      var P2 = bauteile.findBy('id', 'seitenbauteil0').get('punkt').objectAt(bauteile.findBy('id', 'seitenbauteil0').get('punkt').length - 1);\n      var P3 = bauteile.findBy('id', 'seitenbauteil0').get('punkt').objectAt(bauteile.findBy('id', 'seitenbauteil0').get('punkt').length - 2);\n      var x1 = P1.get('x');\n      var y1 = P1.get('y');\n      var x2 = P2.get('x');\n      var y2 = P2.get('y');\n      var x3 = P3.get('x');\n      var y3 = P3.get('y');\n\n      if (Number(vWinkel) === 0) {\n        var Pmittelbauteil4 = bauteile.findBy('id', 'mittelbauteil').get('punkt').objectAt(bauteile.findBy('id', 'mittelbauteil').get('punkt').length - 1);\n        var xmb4 = Pmittelbauteil4.get('x');\n        ergebnis = x1 + (xmb4 - x1) / 2;\n      } else if (Number(vWinkel) === 90) {\n        ergebnis = x3 + (x2 - x3) / 2;\n      } else {\n        var dx = (x2 - x3) / 2;\n        var dy = (y2 - y3) / 2;\n        var m = (y2 - y1) / (x2 - x1);\n        var n = y3 + dy - m * (x3 + dx);\n        ergebnis = (yGurt * 10 - n) / m;\n      }\n\n      return ergebnis;\n    },\n    scherkraftYWert: function (x) {\n      var y = 0;\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var vWinkel = x3d.get('vWinkel');\n      var P1 = bauteile.findBy('id', 'seitenbauteil0').get('punkt').objectAt(0);\n      var P2 = bauteile.findBy('id', 'seitenbauteil0').get('punkt').objectAt(bauteile.findBy('id', 'seitenbauteil0').get('punkt').length - 1);\n      var P3 = bauteile.findBy('id', 'seitenbauteil0').get('punkt').objectAt(bauteile.findBy('id', 'seitenbauteil0').get('punkt').length - 2);\n      var x1 = P1.get('x');\n      var y1 = P1.get('y');\n      var x2 = P2.get('x');\n      var y2 = P2.get('y');\n      var x3 = P3.get('x');\n      var y3 = P3.get('y');\n      var dx = (x2 - x3) / 2;\n      var dy = (y2 - y3) / 2;\n      var m = (y2 - y1) / (x2 - x1);\n      var n = y3 + dy - m * (x3 + dx);\n      y = m * (10 * x) + n;\n      return y;\n    },\n    postionDurchSkalierung: function (richtung) {\n      var x3d = this.get('model').objectAt(0);\n      var skalierungsfaktor = x3d.get('skalierungsfaktor') + 0.6; // var value = ((0.6*skalierungsfaktor) + richtung*(0.14/skalierungsfaktor));\n\n      var value = 0.20 * skalierungsfaktor;\n      return -1;\n    },\n    vektorLaenge: function (x, y, z) {\n      return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2));\n    },\n    getXYZ: function (punkt1, punkt2, r1, r2, richtungsAbstand) {\n      var p1_2 = {\n        x: Number(punkt1.x) + richtungsAbstand * Number(r1.x),\n        y: Number(punkt1.y) + richtungsAbstand * Number(r1.y),\n        z: Number(punkt1.z) + richtungsAbstand * Number(r1.z)\n      };\n      var p2_2 = {\n        x: Number(punkt2.x) + richtungsAbstand * Number(r2.x),\n        y: Number(punkt2.y) + richtungsAbstand * Number(r2.y),\n        z: Number(punkt2.z) + richtungsAbstand * Number(r2.z)\n      };\n      var r3 = {\n        x: p2_2.x - p1_2.x,\n        y: p2_2.y - p1_2.y,\n        z: p2_2.z - p1_2.z\n      };\n      var lr3 = this.vektorLaenge(r3.x, r3.y, r3.z);\n      var r3Einheitsvektor = {\n        x: r3.x / lr3,\n        y: r3.y / lr3,\n        z: r3.z / lr3\n      };\n      var x = p1_2.x + r3Einheitsvektor.x * (lr3 / 2);\n      var y = p1_2.y + r3Einheitsvektor.y * (lr3 / 2);\n      var z = p1_2.z + r3Einheitsvektor.z * (lr3 / 2);\n      return x + ' ' + y + ' ' + z;\n    },\n    getWinkel: function (vektor, bezugsVektor) {\n      var self = this;\n      var xx = vektor.x * bezugsVektor.x;\n      var yy = vektor.y * bezugsVektor.y;\n      var zz = vektor.z * bezugsVektor.z;\n      var l_vektor = self.vektorLaenge(vektor.x, vektor.y, vektor.z);\n      var l_bezugsVektor = self.vektorLaenge(bezugsVektor.x, bezugsVektor.y, bezugsVektor.z);\n      var winkel = Math.acos((xx + yy + zz) / (l_vektor * l_bezugsVektor));\n      return winkel;\n    },\n    getKreuzprodukt: function (vektor, bezugsVektor) {\n      var x = vektor.y * bezugsVektor.z - vektor.z * bezugsVektor.y;\n      var y = vektor.z * bezugsVektor.x - vektor.x * bezugsVektor.z;\n      var z = vektor.x * bezugsVektor.y - vektor.y * bezugsVektor.x;\n      return {\n        x: x,\n        y: y,\n        z: z\n      };\n    },\n    getSichtEbene: function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = x3d.get('bauteile').findBy('id', name);\n      var sichtEbene = \"AnsichtXY\";\n\n      if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n        sichtEbene = \"AnsichtXZ\";\n      } else if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n        sichtEbene = \"AnsichtYZ\";\n      }\n\n      return sichtEbene;\n    },\n    yRotation: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.schraubenlisteAktualisiert', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = bauteile.findBy('id', name);\n      var typ = this.get('typ');\n      var x = 0;\n      var y = 0;\n      var z = 0;\n      var beta = 0;\n\n      if (x3d.get('ergebnisGeladen') && name === typ) {\n        var sichtEbene = 'masskette' + this.getSichtEbene() + item.id.substring(0, item.id.length - 3);\n        var ax = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('x'));\n        var ay = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('y'));\n        var az = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('z'));\n        var rx = Number(item.get('richtungsvektor').objectAt(0).get('x'));\n        var ry = Number(item.get('richtungsvektor').objectAt(0).get('y'));\n        var rz = Number(item.get('richtungsvektor').objectAt(0).get('z'));\n\n        if (rz !== 0) {\n          rz = rz * rz / Math.abs(rz);\n        }\n\n        var drehachse = this.getKreuzprodukt({\n          x: 1,\n          y: 0,\n          z: 0\n        }, {\n          x: rx,\n          y: ry,\n          z: rz\n        });\n        var drehwinkel = this.getWinkel({\n          x: 1,\n          y: 0,\n          z: 0\n        }, {\n          x: rx,\n          y: ry,\n          z: rz\n        });\n\n        if (ax > 0 && this.getSichtEbene() === \"AnsichtXY\" || az > 0 && this.getSichtEbene() === \"AnsichtYZ\") {\n          drehwinkel = -(Math.PI - drehwinkel);\n        }\n\n        var bezugsvektor = new Object();\n        bezugsvektor.x = 0;\n        bezugsvektor.y = 0;\n        bezugsvektor.z = 0;\n        bezugsvektor.x = drehachse.x * drehachse.y * (1 - Math.cos(drehwinkel)) - drehachse.z * Math.sin(drehwinkel);\n        bezugsvektor.y = Math.pow(drehachse.y, 2) * (1 - Math.cos(drehwinkel)) + Math.cos(drehwinkel);\n        bezugsvektor.z = drehachse.y * drehachse.z * (1 - Math.cos(drehwinkel)) + drehachse.x * Math.sin(drehwinkel);\n        var kreuzprodukt = this.getKreuzprodukt({\n          x: ax,\n          y: ay,\n          z: az\n        }, {\n          x: bezugsvektor.x,\n          y: bezugsvektor.y,\n          z: bezugsvektor.z\n        });\n        beta = this.getWinkel({\n          x: bezugsvektor.x,\n          y: bezugsvektor.y,\n          z: bezugsvektor.z\n        }, {\n          x: ax,\n          y: ay,\n          z: az\n        }); // console.log('beta: '+beta);\n\n        if ((az < 0 || az > 0 && rx > 0) && this.getSichtEbene() === \"AnsichtYZ\") {\n          beta = -beta;\n        }\n\n        if (Math.abs(beta) === Math.PI) {\n          beta = 0;\n        }\n\n        if (ax === 0 && this.getSichtEbene() === \"AnsichtXZ\" && rx === 1) {\n          beta = -beta;\n        }\n\n        if (ax > 0 && this.getSichtEbene() === \"AnsichtXZ\") {\n          beta = -beta;\n        }\n\n        if (ax < 0 && this.getSichtEbene() === \"AnsichtXZ\" && ry === 0) {\n          beta = -beta;\n        }\n\n        if (az > 0 && rx < 0 && (this.getSichtEbene() === \"AnsichtXZ\" || this.getSichtEbene() === \"AnsichtYZ\")) {\n          beta = -beta;\n        } // console.log('yRotation x: 1 y: 0 z: 0 beta: '+beta);\n        // console.log(' ');\n\n      }\n\n      var cords = 1 + ' ' + 0 + ' ' + 0 + ' ' + beta;\n      return cords;\n    }),\n    styleString: function (value, laengenLabel, laengenFaktor, laengenNachkomma) {\n      if (laengenLabel === 'mm' && (value.toString().indexOf('.') === -1 || Number((Number(value) * Number(laengenFaktor)).toString().substring(Number(value.toString().indexOf('.')) + 1, value.toString().length)) === 0)) {\n        value = (Number(value) * Number(laengenFaktor)).toFixed(0);\n      } else {\n        value = (Number(value) * Number(laengenFaktor)).toFixed(Number(laengenNachkomma));\n      }\n\n      return value;\n    }\n  });\n  var _default = x3dText;\n  _exports.default = _default;\n});","define(\"m12-2020/components/tooltip-fenster\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var Multiselectbox = Ember.Component.extend((_obj = {\n    tagName: 'div',\n    layoutName: 'tooltip-fenster',\n    attributeBindings: [],\n    // classNames: [],\n    // classNameBindings: ['hideTip'],\n    hideTip: true,\n    // hideTip: computed('display', function() {\n    //     console.log(this.get('display'));\n    //     return this.get('display');\n    //   }),\n    text: Ember.computed('text', function () {\n      return this.get('text');\n    }),\n\n    toggleTip() {\n      ;\n    }\n\n  }, (_applyDecoratedDescriptor(_obj, \"toggleTip\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"toggleTip\"), _obj)), _obj));\n  var _default = Multiselectbox;\n  _exports.default = _default;\n});","define(\"m12-2020/components/transfor-m\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Transform = Ember.Component.extend({\n    tagName: 'transform',\n    layoutName: 'transfor-m',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['testClassNameXXX'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    // center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    test: 1337,\n    center: Ember.computed('bar', function () {\n      var values = '0 0 0';\n      return values;\n    }),\n    translation: Ember.computed('model.firstObject.{transformHelper}', function () {\n      var name = this.get('name'); // console.log(\"transform name: \");\n      // console.log(name);\n\n      var x3d = this.get('model').objectAt(0); // console.log(\"x3d\");\n      // console.log(x3d);\n\n      var item = this.get('model').objectAt(0).get('bauteile').findBy('id', name);\n      var values = '0 0 0';\n      var x = 0;\n      var y = 0;\n      var z = 0;\n\n      switch (name) {\n        case 'traeger':\n          if (this.get('model').objectAt(0).get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager')) {\n            x = +(item.get('boxsizes').objectAt(0).get('x') / 20 - this.get('model').objectAt(0).get('bauteile').findBy('id', 'auflager').get('boxsizes').objectAt(0).get('x') / 20) - this.get('model').objectAt(0).get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('ueberstand') / 10;\n          }\n\n          y = this.get('model').objectAt(0).get('bauteile').findBy('id', 'auflager').get('boxsizes').objectAt(0).get('y') / 10;\n          break;\n\n        case 'auflagernaheEinzellast':\n          x = item.get('translations').objectAt(0).get('x') / 10;\n          y = this.get('model').objectAt(0).get('bauteile').findBy('id', 'auflager').get('boxsizes').objectAt(0).get('y') / 10 + this.get('model').objectAt(0).get('bauteile').findBy('id', 'traeger').get('boxsizes').objectAt(0).get('y') / 10;\n          break;\n      }\n\n      values = x + ' ' + y + ' ' + z;\n      return values;\n    }),\n    rotation: Ember.computed('model.firstObject.{transformHelper,vWinkel,hWinkel,schraubenGekreuzt}', function () {\n      var values = '0 0 0 0';\n      return values;\n    }),\n    getOutline: Ember.computed('foobar', function () {\n      var name = this.get('name');\n      var bauteile = this.get('model').objectAt(0).get('bauteile');\n      var istVolumen = false;\n\n      if (bauteile.findBy('id', name).get('typ') === 'box') {\n        istVolumen = true;\n      }\n\n      return istVolumen;\n    }),\n    istAuflager: Ember.computed('foobar', function () {\n      var value = false;\n      var name = this.get('name');\n\n      if (name === 'auflager') {\n        value = true;\n      }\n\n      return value;\n    }),\n    istTraeger: Ember.computed('model.firstObject.transformHelper', function () {\n      var value = false;\n      var name = this.get('name');\n\n      if (name === 'traeger') {\n        value = true;\n      }\n\n      return value;\n    }),\n    ueberstand: Ember.computed('model.firstObject.transformHelper', function () {\n      var name = this.get('name');\n      var bauteile = this.get('model').objectAt(0).get('bauteile');\n      var istVolumen = false;\n\n      if (name === 'auflager' && bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') && Number(bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) !== 0) {\n        istVolumen = true;\n      }\n\n      return istVolumen;\n    }),\n    abstaendeAnzeigen: Ember.computed('model.firstObject.abstaendeAnzeigen', function () {\n      var x3d = this.get('model').objectAt(0);\n      return x3d.get('abstaendeAnzeigen');\n    }),\n    ansichtLinks: Ember.computed('model.firstObject.lastViewpoint', function () {\n      var value = \"true\";\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n\n      if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        value = \"false\";\n      }\n\n      return value;\n    }),\n    ansichtFront: Ember.computed('model.firstObject.lastViewpoint', function () {\n      var value = \"true\";\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n\n      if (bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind') === true && name !== 'auflagernaheEinzellast' || bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') && name === 'auflagernaheEinzellast') {\n        value = \"false\";\n      }\n\n      return value;\n    }),\n    ansichtOben: Ember.computed('model.firstObject.lastViewpoint', function () {\n      var value = \"true\";\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n\n      if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        value = \"false\";\n      }\n\n      return value;\n    }),\n    routeOptionenAktiv: Ember.computed('model.firstObject.{routeOptionenAktiv,sicherheitsAbstand}', function () {\n      if (Number(this.get('model').objectAt(0).get('sicherheitsAbstand')) !== 0) {\n        return this.get('model').objectAt(0).get('routeOptionenAktiv');\n      } else {\n        return false;\n      }\n    }),\n    istHolzbauteil: Ember.computed('model.firstObject.lastViewpoint', function () {\n      if (this.get('name') !== \"auflager\") {\n        return true;\n      } else {\n        return false;\n      }\n    }),\n    anzeigen: Ember.computed('model.firstObject.lastViewpoint', function () {\n      return true;\n    })\n  });\n  var _default = Transform;\n  _exports.default = _default;\n});","define(\"m12-2020/components/transform-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Transform = Ember.Component.extend({\n    tagName: 'Transform',\n    layoutName: 'transform-erg',\n    attributeBindings: ['translation', 'rotation', 'bboxcenter', 'bboxsize', 'center', 'scale', 'scaleorientation'],\n    classNames: ['testClassNameXXX'],\n    bboxcenter: \"0 0 0\",\n    bboxsize: \"-1,-1,-1\",\n    // center: \"0 0 0\",\n    scale: \"1,1,1\",\n    scaleorientation: \"0,0,0,0\",\n    test: 1337,\n    massstab: function () {\n      var value = this.get('model').objectAt(0).get('massstab');\n      return value;\n    },\n    center: Ember.computed('model.firstObject.transformHelper', function () {\n      var values = '0 0 0';\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = bauteile.findBy('id', name);\n      var massstab = this.massstab();\n\n      if (name.substring(0, 12) === 'hauptTraeger' || name.substring(0, 18) === 'verstaerkungWerner') {\n        values = '0 ' + Number(item.get('boxsizes').objectAt(0).get('y')) / (2 * massstab) + ' 0';\n      }\n\n      return values;\n    }),\n    translation: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.istHt', 'model.firstObject.schraubenGekreuzt', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var item = bauteile.findBy('id', name);\n      var values = '0 0 0';\n      var xVerschiebung = 0,\n          yVerschiebung = 0,\n          zVerschiebung = 0,\n          verstaerkung = 0,\n          deltaVerstaerkung = 0;\n      var massstab = this.massstab();\n\n      if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === false) {\n        verstaerkung = Number(x3d.get('dickeBlass')) / massstab;\n        deltaVerstaerkung = verstaerkung;\n      } else if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === true && x3d.get('sFolgeHolzHolz') === true) {\n        verstaerkung = Number(x3d.get('dickeWerner')) / massstab;\n        deltaVerstaerkung = 2 * verstaerkung;\n      } else if (x3d.get('verstaerkungBlass') === true && x3d.get('verstaerkungWerner') === true && x3d.get('sFolgeHolzHolz') === false) {\n        verstaerkung = Number(x3d.get('dickeWerner')) / massstab;\n        deltaVerstaerkung = verstaerkung;\n      }\n\n      switch (name) {\n        case 'nebenTraeger':\n          xVerschiebung = item.get('translations').objectAt(0).get('x') / massstab;\n          yVerschiebung = -(bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y') / massstab - bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y') / massstab) / 2;\n          zVerschiebung = item.get('translations').objectAt(0).get('z') / massstab;\n          break;\n\n        case 'hauptTraeger1':\n          xVerschiebung = item.get('translations').objectAt(0).get('x') / massstab;\n          yVerschiebung = item.get('translations').objectAt(0).get('y') / massstab;\n          zVerschiebung = item.get('boxsizes').objectAt(0).get('z') / (2 * massstab) + bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / (2 * massstab) + deltaVerstaerkung;\n          break;\n\n        case 'hauptTraeger2':\n          xVerschiebung = item.get('translations').objectAt(0).get('x') / massstab;\n          yVerschiebung = item.get('translations').objectAt(0).get('y') / massstab;\n          zVerschiebung = -(item.get('boxsizes').objectAt(0).get('z') / (2 * massstab) + bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / (2 * massstab) + deltaVerstaerkung);\n          break;\n\n        case 'verstaerkungBlass1':\n          xVerschiebung = item.get('translations').objectAt(0).get('x') / massstab;\n          yVerschiebung = -(bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y') / massstab - bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y') / massstab) / 2;\n          zVerschiebung = verstaerkung / 2 + bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / (2 * massstab);\n          break;\n\n        case 'verstaerkungBlass2':\n          xVerschiebung = item.get('translations').objectAt(0).get('x') / massstab;\n          yVerschiebung = -(bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y') / massstab - bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y') / massstab) / 2;\n          zVerschiebung = -(verstaerkung / 2 + bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / (2 * massstab));\n          break;\n\n        case 'verstaerkungWerner1':\n          xVerschiebung = item.get('translations').objectAt(0).get('x') / massstab;\n          yVerschiebung = item.get('translations').objectAt(0).get('y') / massstab;\n          zVerschiebung = 1.5 * verstaerkung + bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / (2 * massstab);\n          break;\n\n        case 'verstaerkungWerner2':\n          xVerschiebung = item.get('translations').objectAt(0).get('x') / massstab;\n          yVerschiebung = item.get('translations').objectAt(0).get('y') / massstab;\n          zVerschiebung = -(1.5 * verstaerkung + bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('z') / (2 * massstab));\n          break;\n      }\n\n      values = xVerschiebung + \" \" + yVerschiebung + \" \" + zVerschiebung;\n      return values;\n    }),\n    rotation: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.vWinkel', 'model.firstObject.hWinkel', 'model.firstObject.schraubenGekreuzt', function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var values = '0 0 0 0';\n\n      if (name.substring(0, 8) === 'schraube' || name === 'cylinder') {\n        values = '0 0 0 0';\n      } else if (name.substring(0, 12) === 'hauptTraeger' || name.substring(0, 18) === 'verstaerkungWerner') {\n        var vwinkel = x3d.get('vWinkel') * Math.PI / 180;\n        values = '0 0 1 ' + vwinkel;\n      } else if (name.substring(0, 5) !== 'plate') {// values= ( bauteile.findBy('id', name).get('rotations').objectAt(0).get('x') +' '+ bauteile.findBy('id', name).get('rotations').objectAt(0).get('y') +' '+ bauteile.findBy('id', name).get('rotations').objectAt(0).get('z') +' '+ bauteile.findBy('id', name).get('rotations').objectAt(0).get('winkel'));\n      }\n\n      return values;\n    }),\n    getOutline: Ember.computed('', function () {\n      var name = this.get('name');\n      var bauteile = this.get('model').objectAt(0).get('bauteile');\n      var istVolumen = false;\n\n      if (bauteile.findBy('id', name).get('typ') === 'box' || bauteile.findBy('id', name).get('typ') === 'platte') {\n        istVolumen = true;\n      }\n\n      return istVolumen;\n    }),\n    getMassketteHoehe: Ember.computed('model.firstObject.lastViewpoint', 'model.firstObject.abstaendeAnzeigen', function () {\n      var value = false;\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n\n      if (x3d.get('ergebnisGeladen') !== true && x3d.get('abstaendeAnzeigen') && (this.get('name') === 'nebenTraeger' || this.get('name') === 'hauptTraeger1' || this.get('name') === 'mittelbauteil' || this.get('name') === 'seitenbauteil0' && Number(x3d.get('vWinkel')) === 0) && bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind') !== true) {\n        value = true;\n      }\n\n      return value;\n    }),\n    getMassketteBreite: Ember.computed('model.firstObject.lastViewpoint', 'model.firstObject.abstaendeAnzeigen', function () {\n      var value = false;\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n\n      if (x3d.get('ergebnisGeladen') !== true && x3d.get('abstaendeAnzeigen') && (this.get('name') === 'nebenTraeger' || this.get('name') === 'hauptTraeger1' || this.get('name') === 'mittelbauteil' || this.get('name') === 'seitenbauteil0' || this.get('name') === 'verstaerkungBlass1' || this.get('name') === 'verstaerkungWerner1' && x3d.get('sFolgeHolzHolz') === true) && bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind') !== true) {\n        value = true;\n      }\n\n      return value;\n    }),\n    getMassketteSetztiefe: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.lastViewpoint', 'model.firstObject.abstaendeAnzeigen', function () {\n      var value = false;\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n\n      if (x3d.get('abstaendeAnzeigen') && this.get('name') === 'hauptTraeger1' && Number(bauteile.findBy('id', 'schraubeStandard1').get('screwProperties').objectAt(0).get('setztiefe')) !== 0 && bauteile.findBy('id', 'viewpointFront').get('cameraProperties').objectAt(0).get('setBind') !== true) {\n        value = true;\n      }\n\n      return value;\n    }),\n    getscherkraftPfeil: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.lastViewpoint', function () {\n      var value = false;\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n\n      if ((this.get('name') === 'hauptTraeger1' || name === 'seitenbauteil0') && x3d.get('scherkraftEingetragen') === true && bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind') !== true) {\n        value = true;\n      }\n\n      return value;\n    }),\n    istHolz: Ember.computed('model.firstObject.transformHelper', 'model.firstObject.ergebnisGeladen', function () {\n      var value = true;\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n\n      if (this.get('name') === 'hauptTraeger1' && (x3d.get('ergebnisGeladen') === true || x3d.get('sFolgeHolzHolz') === false)) {\n        value = false;\n      }\n\n      return false;\n    })\n  });\n  var _default = Transform;\n  _exports.default = _default;\n});","define(\"m12-2020/components/viewpoin-t\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var Viewpoint = Ember.Component.extend({\n    tagName: 'OrthoViewpoint',\n    attributeBindings: ['orientation', 'position', 'fieldofview', 'centerofrotation', 'description', 'set_bind', 'jump', 'retainUserOffsets'],\n    centerofrotation: \"0 0 0\",\n    description: 'camera',\n    jump: true,\n    retainUserOffsets: false,\n    fieldofview: Ember.computed('foobar', function () {\n      var values = '-5, -5, 5, 5';\n      return values;\n    }),\n    orientation: Ember.computed('foobar', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var values;\n      var item = m06.objectAt(0).get('bauteile').findBy('id', name);\n      values = item.get('orientations').objectAt(0).get('x') + \" \" + item.get('orientations').objectAt(0).get('y') + \" \" + item.get('orientations').objectAt(0).get('z') + \" \" + item.get('orientations').objectAt(0).get('winkel');\n      return values;\n    }),\n    position: Ember.computed('foobar', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var values;\n      var item = m06.objectAt(0).get('bauteile').findBy('id', name);\n      var x = item.get('positions').objectAt(0).get('x');\n      var y = item.get('positions').objectAt(0).get('y');\n      var z = item.get('positions').objectAt(0).get('z');\n      values = x + \" \" + y + \" \" + z;\n      return values;\n    }),\n    //set_bind wird in bower_components/viewpointmanagement/vpmanagement.js gesetzt\n    set_bind: Ember.computed('foobar', function () {\n      var name = this.get('name');\n      var m06 = this.get('model');\n      var value = '';\n      var item = m06.objectAt(0).get('bauteile').findBy('id', name);\n      value = item.get('cameraProperties').objectAt(0).get('setBind');\n      return value;\n    })\n  });\n  var _default = Viewpoint;\n  _exports.default = _default;\n});","define(\"m12-2020/components/welcome-page\", [\"exports\", \"ember-welcome-page/components/welcome-page\"], function (_exports, _welcomePage) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _welcomePage.default;\n    }\n  });\n});","define(\"m12-2020/components/x-tree-branch\", [\"exports\", \"ember-simple-tree/components/x-tree-branch\"], function (_exports, _xTreeBranch) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _xTreeBranch.default;\n    }\n  });\n});","define(\"m12-2020/components/x-tree-checkbox\", [\"exports\", \"ember-simple-tree/components/x-tree-checkbox\"], function (_exports, _xTreeCheckbox) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _xTreeCheckbox.default;\n    }\n  });\n});","define(\"m12-2020/components/x-tree-children\", [\"exports\", \"ember-simple-tree/components/x-tree-children\"], function (_exports, _xTreeChildren) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _xTreeChildren.default;\n    }\n  });\n});","define(\"m12-2020/components/x-tree-collapsed-icon\", [\"exports\", \"ember-simple-tree/components/x-tree-collapsed-icon\"], function (_exports, _xTreeCollapsedIcon) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _xTreeCollapsedIcon.default;\n    }\n  });\n});","define(\"m12-2020/components/x-tree-expanded-icon\", [\"exports\", \"ember-simple-tree/components/x-tree-expanded-icon\"], function (_exports, _xTreeExpandedIcon) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _xTreeExpandedIcon.default;\n    }\n  });\n});","define(\"m12-2020/components/x-tree-node\", [\"exports\", \"ember-simple-tree/components/x-tree-node\"], function (_exports, _xTreeNode) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _xTreeNode.default;\n    }\n  });\n});","define(\"m12-2020/components/x-tree-toggle\", [\"exports\", \"ember-simple-tree/components/x-tree-toggle\"], function (_exports, _xTreeToggle) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _xTreeToggle.default;\n    }\n  });\n});","define(\"m12-2020/components/x-tree\", [\"exports\", \"ember-simple-tree/components/x-tree\"], function (_exports, _xTree) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _xTree.default;\n    }\n  });\n});","define(\"m12-2020/controllers/application\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  //Schaltet die Deprication Warnungen aus\n  Ember.deprecate = function () {};\n\n  var _default = Ember.Controller.extend((_obj = {\n    version: \"##version##\",\n    loggedIn: true,\n    wuerth: false,\n    swg: false,\n    verbaende: true,\n    environment: \"m12studidev\",\n    // \"offline\" = offline Version, \"m12\" = default würth,  \"m12dev\" = würth dev, \"m12swg\" = default swg,  \"m12swgdev\" = swg dev\n    initialized: false,\n    calculationid: \"\",\n    debug: true,\n    xml: false,\n    projektdatenInvalid: false,\n    traegerInvalid: true,\n    auflagerInvalid: true,\n    gabellagerInvalid: false,\n    optionenInvalid: false,\n    lasteinwirkungInvalid: true,\n    verbindungsmittelInvalid: true,\n    schraubenInfo: \"\",\n    schraubenCAD: \"\",\n    produktkatalog: \"http://www.holzbauverbinder.de/produktinfo/wuerth/katalog/katalog_de.pdf\",\n    eta: \"http://www.holzbauverbinder.de/produktinfo/wuerth/eta/eta-110190_de.pdf\",\n    unsaved: true,\n    intl: Ember.inject.service(),\n    // current: readOnly('i18n.locale'),\n    bemessungsvorschrift: \"EC5 (DE)\",\n    server: \"\",\n    pfad: \"\",\n    username: '',\n    sessionid: '',\n    si: \"DE\",\n    so: \"DE\",\n    kl: \"DE\",\n    kat: \"DE\",\n    lc: \"EC 1 NAD (DE)\",\n    ln: \"DE\",\n    tc: \"EC 5 NAD (DE)\",\n    tn: \"DE\",\n    model: \"\",\n    getLanguages: function () {\n      var languages = {\n        DE: \"deutsch\",\n        DK: \"dansk\",\n        EN: \"englisch\",\n        FR: \"franzoesisch\",\n        IT: \"italienisch\",\n        NL: \"nederlands\",\n        PL: \"polnisch\",\n        ES: \"espanol\",\n        FI: \"suomi\",\n        SE: \"schwedisch\"\n      };\n      return languages;\n    },\n    getCountries: function () {\n      var countries = {\n        CL: \"chile\",\n        DK: \"daenemark\",\n        DE: \"deutschland\",\n        EN: \"england\",\n        FI: \"finnland\",\n        FR: \"frankreich\",\n        NL: \"niederlande\",\n        IT: \"italien\",\n        LU: \"luxemburg\",\n        HR: \"kroatien\",\n        NO: \"norwegen\",\n        AT: \"oesterreich\",\n        PL: \"polen\",\n        RO: \"rumaenien\",\n        SE: \"schweden\",\n        CH: \"schweiz\",\n        SK: \"slowakei\",\n        SI: \"slowenien\",\n        ES: \"spanien\",\n        CZ: \"tschechien\",\n        HU: \"ungarn\"\n      };\n      return countries;\n    },\n    selectedLanguage: \"deutsch\",\n    selectedCountry: \"deutschland\",\n    appController: Ember.inject.controller('application'),\n    superController: Ember.inject.controller('supercontroller'),\n    downloadcenterController: Ember.inject.controller('downloadcenter'),\n    impressumController: Ember.inject.controller('impressum'),\n    projektdatenController: Ember.inject.controller('projektdaten'),\n    traegerController: Ember.inject.controller('traeger'),\n    auflagerController: Ember.inject.controller('auflager'),\n    lasteinwirkungController: Ember.inject.controller('lasteinwirkung'),\n    verbindungsmittelController: Ember.inject.controller('verbindungsmittel'),\n    x3dRendererController: Ember.inject.controller('x3drenderer'),\n    init: function () {\n      this._super();\n    },\n    initialisierung: function () {\n      var self = this;\n      var username = self.getParameterByName('user_name');\n      var sessionid = self.getParameterByName('user_sessionid');\n      var applicationdata = self.get('appController').get('model').application.objectAt(0);\n      self.setCountryVars();\n      self.set('username', username);\n      self.set('sessionid', sessionid);\n\n      _jquery.default.ajax({\n        type: \"POST\",\n        //url: \"http://127.0.0.1:8000/Nutzerverwaltung/authentifiziereSession/\",\n        url: \"http://www.holzbauverbinder.de/navigator/Nutzerverwaltung/authentifiziereSession/\",\n        data: {\n          username: username,\n          sessionid: sessionid\n        }\n      }).done(function (res) {\n        var authenticationResult = res.split(\";\"); // console.log(authenticationResult);\n\n        var auth = parseInt(authenticationResult[0]);\n        var level = parseInt(authenticationResult[1]); // console.log(authenticationResult);\n\n        if (auth == -1) {\n          console.log(\"login unsuccessful.\");\n        } else if (auth == 0) {\n          self.set('loggedIn', true);\n\n          if (level == 0) {\n            self.set('bauderMaster', false);\n          } else if (level >= 1) {\n            self.set('bauderMaster', true);\n          }\n\n          applicationdata.set('userName', username);\n          console.log(\"login successful!\");\n        } // applicationdata.set('userName', username);\n\n\n        applicationdata.set('spracheinput', self.get('si'));\n        self.send('setSpracheInput', self.get('si'));\n        applicationdata.set('spracheoutput', self.get('so'));\n        applicationdata.set('kennungland', self.get('kl'));\n        applicationdata.set('katalog', self.get('kat'));\n        applicationdata.set('loadsCode', self.get('lc'));\n        applicationdata.set('loadsNA', self.get('ln'));\n        applicationdata.set('timberCode', self.get('tc'));\n        applicationdata.set('timberNA', self.get('tn'));\n        self.set('selectedCountry', self.get('intl').t(self.getCountries()[self.get('kl')]));\n        var server = externalConfig[environment].server; // var pfad = externalConfig[environment].pfad;\n\n        _jquery.default.ajax({\n          type: \"POST\",\n          url: server + \"m12/DE/initialisiereGUI/\" + self.get('superController').erzeugeAufrufzusatz(false),\n          data: {}\n        }).done(function (data, statusText, xhr) {\n          self.get('superController').logaufruf(\"initialisiereGUI\", xhr.status);\n        });\n      }); // self.store.createRecord('lasteinwirkung', {});\n      // self.store.createRecord('anschlussgeometrie', {});\n      // self.store.createRecord('projektdaten', {});\n\n\n      var environment = externalConfig.environments[self.environment];\n      console.log('self.environment: ' + self.environment);\n      console.log('environment: ' + environment);\n      self.set('server', externalConfig[environment].server);\n      self.set('pfad', externalConfig[environment].pfad);\n      self.get('intl').addTranslations('cz', externalTranslations.cz);\n      self.get('intl').addTranslations('de', externalTranslations.de);\n      self.get('intl').addTranslations('dk', externalTranslations.dk);\n      self.get('intl').addTranslations('ee', externalTranslations.ee);\n      self.get('intl').addTranslations('en', externalTranslations.en);\n      self.get('intl').addTranslations('es', externalTranslations.es);\n      self.get('intl').addTranslations('fi', externalTranslations.fi);\n      self.get('intl').addTranslations('fr', externalTranslations.fr);\n      self.get('intl').addTranslations('gr', externalTranslations.gr);\n      self.get('intl').addTranslations('hr', externalTranslations.hr);\n      self.get('intl').addTranslations('hu', externalTranslations.hu);\n      self.get('intl').addTranslations('it', externalTranslations.it);\n      self.get('intl').addTranslations('lt', externalTranslations.lt);\n      self.get('intl').addTranslations('lv', externalTranslations.lv);\n      self.get('intl').addTranslations('nl', externalTranslations.nl);\n      self.get('intl').addTranslations('no', externalTranslations.no);\n      self.get('intl').addTranslations('pl', externalTranslations.pl);\n      self.get('intl').addTranslations('pt', externalTranslations.pt);\n      self.get('intl').addTranslations('ro', externalTranslations.ro);\n      self.get('intl').addTranslations('se', externalTranslations.se);\n      self.get('intl').addTranslations('si', externalTranslations.si);\n      self.get('intl').addTranslations('sk', externalTranslations.sk); // self.store.createRecord('projektdaten', {});\n      // console.log(\"ping\");\n\n      self.transitionToRoute('/projektdaten');\n    },\n    getParameterByName: function (name, url) {\n      if (!url) {\n        url = window.location.href;\n      }\n\n      name = name.replace(/[[\\]]/g, \"\\\\$&\");\n      var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n          results = regex.exec(url);\n      if (!results) return null;\n      if (!results[2]) return '';\n      return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n    },\n    setCountryVars: function () {\n      var self = this;\n      var si = self.getParameterByName('spracheinput');\n      var so = self.getParameterByName('spracheoutput');\n      var kl = self.getParameterByName('kennungland');\n      var kat = self.getParameterByName('katalog');\n      var lc = self.getParameterByName('loadsCode');\n      var ln = self.getParameterByName('loadsNA');\n      var tc = self.getParameterByName('timberCode');\n      var tn = self.getParameterByName('timberNA');\n\n      if (window.location.href.indexOf(\"timberCode\") == -1) {\n        self.set('si', \"DE\");\n        self.set('so', \"DE\");\n        self.set('kl', \"DE\");\n        self.set('kat', \"DE\");\n        self.set('lc', \"EC1\");\n        self.set('ln', \"DE\");\n        self.set('tc', \"EC5\");\n        self.set('tn', \"DE\");\n        self.set('bemessungsvorschrift', \"EC5 (DE)\");\n      } else {\n        self.set('si', si);\n        self.set('so', so);\n        self.set('kl', kl);\n        self.set('kat', kat);\n        self.set('lc', lc);\n        self.set('ln', ln);\n        self.set('tc', tc);\n        self.set('tn', tn);\n\n        if (tc.slice(10, tc.length - 1).length === 2) {\n          self.set('bemessungsvorschrift', \"EC5 (\" + tc.slice(10, tc.length - 1) + \")\");\n        } else {\n          if (tc.slice(10, tc.length - 1) === \"D\") {\n            self.set('bemessungsvorschrift', \"EC5 (DE)\");\n          } else if (tc.slice(10, tc.length - 1) === \"A\") {\n            self.set('bemessungsvorschrift', \"EC5 (AT)\");\n          } else if (tc.slice(10, tc.length - 1) === \"I\") {\n            self.set('bemessungsvorschrift', \"EC5 (IT)\");\n          } else if (tc.slice(10, tc.length - 1) === \"F\") {\n            self.set('bemessungsvorschrift', \"EC5 (FR)\");\n          }\n        } //self.send('setSpracheInput', si);\n\n      }\n    },\n    resetApplication: function () {\n      var self = this;\n      var applicationdata = self.get('appController').get('model').application.objectAt(0);\n      applicationdata.set('treeLoaded', false);\n      applicationdata.set('initialized', false);\n      applicationdata.set('pdfErstellt', false);\n      var application = self.get('appController');\n      application.set('verbindungsmittelInvalid', true);\n      var downloadcenter = self.get('downloadcenterController');\n      downloadcenter.set('pdfErstellt', false);\n      self.transitionToRoute('/projektdaten');\n    },\n\n    setSpracheInput(spracheInput) {\n      var self = this;\n      this.get('intl').set('locale', spracheInput.toLowerCase());\n      var applicationdata = self.get('appController').get('model').application.objectAt(0);\n      applicationdata.set('spracheinput', spracheInput);\n      applicationdata.set('spracheoutput', spracheInput);\n      self.send('setCountryCode', spracheInput);\n      self.set('selectedLanguage', this.get('intl').t(this.getLanguages()[spracheInput]));\n\n      if (spracheInput == \"DE\") {\n        self.set('hilfelink', 'http://holzbauverbinder.de/hilfe/wuerth/html/de/m12___querdrucknachweis_und_querdruckverstarkung_.html?ms=AAAA&st=MA%3D%3D&sct=MTAxNg%3D%3D&mw=MzAw#'); // Würth\n      } else {\n        self.set('hilfelink', 'http://holzbauverbinder.de/hilfe/wuerth/html/en/m12___lateral_pressure_reinforcement.html?ms=AAAA&st=MA%3D%3D&sct=OTky&mw=MzAw#'); // Würth\n      }\n\n      self.get('impressumController').set('selectedLanguage', spracheInput);\n      self.get('traegerController').setSelectFieldsContent();\n      self.get('auflagerController').setSelectFieldsContent();\n      self.get('lasteinwirkungController').setSelectFieldsContent();\n      self.resetApplication();\n    },\n\n    setCountryCode(countryCode) {\n      countryCode = countryCode === \"EN\" ? \"UK\" : countryCode;\n      var self = this;\n      var applicationdata = self.get('appController').get('model').application.objectAt(0);\n      applicationdata.set('kennungland', countryCode);\n      var firm = applicationdata.get('firm');\n      var projektdaten = self.get('projektdatenController');\n\n      if (countryCode === \"DE\") {\n        projektdaten.set('plzservice', true);\n      } else {\n        projektdaten.set('plzservice', false);\n      }\n\n      var downloadcenter = self.get('downloadcenterController');\n      var cC = countryCode;\n      var eta = \"120196\";\n\n      if (typeof linksDB.firm.findBy('id', firm) === \"undefined\") {\n        firm = \"SWG\";\n      }\n\n      if (typeof linksDB.firm.findBy('id', firm).produktinfos.land.findBy('countryCode', cC) === \"undefined\") {\n        cC = \"EN\";\n      }\n\n      if (firm === \"WUERTH\") {\n        eta = \"110190\";\n      }\n\n      var prodkaturl = \"\";\n      var etaurl = \"\";\n\n      if (self.get('environment') === \"offline\") {\n        prodkaturl = linksDB.firm.findBy('id', firm).produktinfos.land.findBy('countryCode', cC).links.findBy(\"id\", \"katalog\").offline;\n        etaurl = linksDB.firm.findBy('id', firm).produktinfos.land.findBy('countryCode', cC).links.findBy(\"id\", eta).offline;\n      } else {\n        prodkaturl = linksDB.firm.findBy('id', firm).produktinfos.land.findBy('countryCode', cC).links.findBy(\"id\", \"katalog\").file;\n        etaurl = linksDB.firm.findBy('id', firm).produktinfos.land.findBy('countryCode', cC).links.findBy(\"id\", eta).file;\n      }\n\n      self.set('eta', etaurl);\n      self.set('produktkatalog', prodkaturl);\n      downloadcenter.set('eta', etaurl);\n      downloadcenter.set('produktkatalog', prodkaturl);\n      self.set('selectedCountry', self.get('intl').t(self.getCountries()[countryCode]));\n      self.resetApplication();\n    },\n\n    setETA(eta) {\n      var applicationdata = self.get('appController').get('model').application.objectAt(0);\n      applicationdata.set('kennungland', eta);\n      var etaurl = \"assets/public/docs/eta_\" + eta.toLowerCase() + \".pdf\";\n      this.set('eta', etaurl);\n    },\n\n    setBemessungsvorschrift(bemessungsvorschrift) {\n      var self = this;\n      var applicationdata = self.get('appController').get('model').application.objectAt(0);\n\n      if (bemessungsvorschrift === \"DE\" || bemessungsvorschrift === \"AT\") {\n        applicationdata.set('loadsNA', bemessungsvorschrift);\n        applicationdata.set('timberNA', bemessungsvorschrift);\n      } else {\n        if (bemessungsvorschrift === \"DK\" || bemessungsvorschrift === \"FI\") {\n          applicationdata.set('loadsNA', \"DE\");\n          applicationdata.set('timberNA', bemessungsvorschrift);\n        } else {\n          if (bemessungsvorschrift === \"IT\") {\n            applicationdata.set('loadsNA', \"DE\");\n            applicationdata.set('timberNA', bemessungsvorschrift);\n          } else if (bemessungsvorschrift === \"FR\") {\n            applicationdata.set('loadsNA', bemessungsvorschrift);\n            applicationdata.set('timberNA', bemessungsvorschrift);\n          }\n        }\n      }\n\n      applicationdata.set('loadsCode', \"EC1\");\n      applicationdata.set('timberCode', \"EC5\");\n      self.set('bemessungsvorschrift', \"EC5 (\" + bemessungsvorschrift + \")\");\n      var lasteinwirkung = self.get('lasteinwirkungController');\n      lasteinwirkung.set('timberNA', bemessungsvorschrift);\n      lasteinwirkung.setSelectFieldsContent();\n      self.resetApplication();\n    },\n\n    downloadcenter() {\n      this.transitionToRoute('/downloadcenter');\n    },\n\n    verbindungsmittel() {\n      var applicationdata = this.get('appController').get('model').application.objectAt(0);\n\n      if (applicationdata.get('treeLoaded') === false) {\n        console.log(\"jetzt müsste der Tree neu geladen werden.\");\n        this.get('lasteinwirkungController').proceedInput();\n      } else {\n        console.log(\"jetzt müsste der Tree NICHT neu geladen werden.\");\n      }\n    },\n\n    ergebnisAction() {\n      this.get('verbindungsmittelController').proceedInput();\n    },\n\n    newAction() {\n      var self = this;\n      var protocol = window.location.protocol;\n      var host = window.location.host;\n      var applicationdata = self.get('appController').get('model').application.objectAt(0);\n      var si = applicationdata.get('spracheinput');\n      var so = applicationdata.get('spracheoutput');\n      var kl = applicationdata.get('kennungland');\n      var kat = applicationdata.get('katalog');\n      var lc = applicationdata.get('loadsCode');\n      var ln = applicationdata.get('loadsNA');\n      var tc = applicationdata.get('timberCode');\n      var tn = applicationdata.get('timberNA');\n      var bv = self.get('bemessungsvorschrift');\n      window.location.href = protocol + \"//\" + host + \"/?user_name=\" + self.get('username') + \"&user_sessionid=\" + self.get('sessionid') + \"&spracheinput=\" + si + \"&spracheoutput=\" + so + \"&kennungland=\" + kl + \"&katalog=\" + kat + \"&loadsCode=\" + lc + \"&loadsNA=\" + ln + \"&timberCode=\" + tc + \"&timberNA=\" + tn + \"&bemessungsvorschrift=\" + bv;\n    },\n\n    saveAction() {\n      var self = this;\n      self.transitionToRoute('/downloadcenter');\n      var dc = self.get('downloadcenterController');\n      dc.set('savingInProgress', true);\n      var applicationdata = self.get('appController').get('model').application.objectAt(0);\n      var applicationdataJSON = JSON.stringify(applicationdata);\n      var projektdatendata = self.get('appController').get('model').projektdaten.objectAt(0);\n      var JSONdata = JSON.stringify(self.get('superController').uebergabedatenErzeugen());\n      var initialized = applicationdata.get('initialized');\n      var parasToSave = JSON.parse(JSONdata);\n      var dataToSave = JSON.stringify(auxiliary.save([applicationdata._data, projektdatendata._data, parasToSave]));\n      console.log(JSON.stringify(dataToSave)); //var dingsbums = JSON.stringify(dataToSave);\n\n      var server = self.get('server');\n      var pfad = self.get('pfad');\n\n      if (!initialized) {\n        _jquery.default.ajax({\n          type: \"POST\",\n          url: server + \"m12/DE/initialisiereBerechnung/\" + self.get('superController').erzeugeAufrufzusatz(false),\n          //url: \"http://136.243.4.143/berechnungsservice/m06/DE/erzeugeSchraubenliste/\",\n          data: {\n            kennung: applicationdataJSON,\n            // projektdaten: projektdatendataJSON,\n            paras: JSONdata,\n            modul: \"m12\",\n            pfad: pfad\n          }\n        }).done(function (data, statusText, xhr) {\n          var cid = data;\n          applicationdata.set('Calculation_ID', cid);\n          applicationdata.set('initialized', true);\n          dc.set('cid', data);\n          self.get('superController').logaufruf(\"initialisiereBerechnung\", xhr.status);\n\n          _jquery.default.ajax({\n            type: \"POST\",\n            url: server + \"speichereBerechnung/\" + cid + \"/\" + self.get('superController').erzeugeAufrufzusatz(false),\n            data: {\n              // kennung: applicationdataJSON,\n              // paras: JSONdata\n              dataToSave: dataToSave\n            }\n          }).done(function (data, statusText, xhr) {\n            self.get('superController').logaufruf(\"speichereBerechnung\", xhr.status);\n            dc.set('saveFile', data);\n            dc.set('savingInProgress', false);\n            dc.set('saved', true); //console.log(data);\n            //window.open(data);\n            // datei öffnen, bzw. link anzeigen\n          });\n        });\n      } else {\n        var cid = applicationdata.get('Calculation_ID');\n\n        _jquery.default.ajax({\n          type: \"POST\",\n          url: server + \"speichereBerechnung/\" + cid + \"/\" + self.get('superController').erzeugeAufrufzusatz(false),\n          data: {\n            // kennung: applicationdataJSON,\n            // paras: JSONdata\n            dataToSave: dataToSave\n          }\n        }).done(function (data, statusText, xhr) {\n          self.get('superController').logaufruf(\"speichereBerechnung\", xhr.status);\n          dc.set('saveFile', data);\n          dc.set('savingInProgress', false);\n          dc.set('saved', true); //console.log(data);\n          //window.open(data);\n          // datei öffnen, bzw. link anzeigen\n        });\n      }\n\n      self.set('unsaved', false);\n    },\n\n    /**\n     * This action is called when a file has been loaded.\n     *\n     * @method ACTION: fileLoaded\n     */\n    fileLoaded: function (file) {\n      var self = this;\n\n      if (self.xml) {\n        var test = self.parseXml(file.data);\n        console.log(xml2json(test, \"\"));\n      } else {\n        var applicationdata = self.get('appController').get('model').application.objectAt(0);\n        var projektdaten = self.get('projektdatenController');\n        var lasteinwirkung = self.get('lasteinwirkungController');\n        var traeger = self.get('traegerController');\n        var auflager = self.get('auflagerController');\n        var optionen = self.get('optionenController');\n        var values = JSON.parse(file.data);\n        self.send('setSpracheInput', values.spracheinput);\n        applicationdata.set('katalog', values.katalog);\n        self.send('setBemessungsvorschrift', values.timberNA);\n        applicationdata.set('kennungland', values.kennungland);\n        applicationdata.set('userID', values.userID);\n        applicationdata.set('userName', values.userName);\n        projektdaten.setValues(JSON.parse(file.data));\n        lasteinwirkung.setValues(JSON.parse(file.data));\n        traeger.setValues(JSON.parse(file.data)); // wegen x3d aktuell noch auskommentiert.\n\n        auflager.setValues(JSON.parse(file.data)); // wegen x3d aktuell noch auskommentiert.\n\n        optionen.setValues(JSON.parse(file.data)); // wegen x3d aktuell noch auskommentiert.\n      }\n    },\n    parseXml: function (xml) {\n      var dom = null;\n\n      if (window.DOMParser) {\n        try {\n          dom = new DOMParser().parseFromString(xml, \"text/xml\");\n        } catch (e) {\n          dom = null;\n        }\n      } else if (window.ActiveXObject) {\n        try {\n          dom = new ActiveXObject('Microsoft.XMLDOM');\n          dom.async = false;\n          if (!dom.loadXML(xml)) // parse error ..\n            window.alert(dom.parseError.reason + dom.parseError.srcText);\n        } catch (e) {\n          dom = null;\n        }\n      } else alert(\"cannot parse xml string!\");\n\n      return dom;\n    },\n\n    contactAction() {\n      var self = this;\n      self.transitionToRoute('/contact');\n    },\n\n    produktkatalogAnzeigen() {\n      var self = this;\n      self.transitionToRoute('/contact');\n    },\n\n    etaAnzeigen() {\n      var self = this;\n      self.transitionToRoute('/contact');\n    },\n\n    toggleForm() {\n      (0, _jquery.default)('.clearfix').toggleClass('formZu');\n      (0, _jquery.default)('#formToggler').toggleClass('open');\n      setTimeout(function () {\n        var x3dGrafik = document.getElementById(\"threedee\");\n        var x3d = document.getElementById(\"x3d\"); // var canvas = document.getElementsByTagName(\"canvas\");\n        // var x3druntime = document.getElementById('x3d').runtime;\n        // canvas[0].setAttribute('width', Number($(window).width()) - Number(x3dGrafik.offsetLeft) - 20);\n\n        x3d.setAttribute('width', Number((0, _jquery.default)(window).width()) - Number(x3dGrafik.offsetLeft) - 20); // canvas[0].setAttribute('hight', Number($(window).width()) - Number(x3dGrafik.offsetLeft) - 20);\n        // x3d.setAttribute('height', Number(x3druntime.getWidth()) * 3 / 5);\n\n        x3d.setAttribute('height', Number((0, _jquery.default)(window).height()) - 200);\n      }, 400);\n    },\n\n    setCameraActiv(camera) {\n      var lastCamera = this.get('model').x3ddefault.objectAt(0).get('bauteile').findBy('id', this.get('model').x3ddefault.objectAt(0).get('lastViewpoint'));\n      this.get('model').x3ddefault.objectAt(0).set('lastViewpoint', camera);\n      var activeCamera = this.get('model').x3ddefault.objectAt(0).get('bauteile').findBy('id', camera);\n      lastCamera.get('cameraProperties').objectAt(0).set('setBind', false);\n      activeCamera.get('cameraProperties').objectAt(0).set('setBind', true);\n      this.zentriertObjekt();\n      document.getElementById(camera).setAttribute('set_bind', 'true');\n      this.get('model').x3ddefault.objectAt(0).set('transformHelper', !this.get('model').x3ddefault.objectAt(0).get('transformHelper'));\n    },\n\n    setDrahtgittermodel() {\n      this.get('model').x3ddefault.objectAt(0).set('istGitterModell', !this.get('model').x3ddefault.objectAt(0).get('istGitterModell'));\n    },\n\n    miniertX3D() {// console.log(\"miniertX3D: \");\n    },\n\n    zentriertObjekt: function () {\n      var x3d = this.get('model').x3ddefault.objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var x = 0,\n          y = 0,\n          z = 0;\n      var hoeheMasskette = 0.5;\n      var textgroesse = 0.3 * Number(x3d.get('skalierungsfaktor'));\n      var winkelBegrenzung = 1;\n      var laengeLastenpfeil = 1.5;\n\n      if (x3d.get('ergebnisGeladen') === true) {\n        var dimensionen = x3d.get('dimensionen');\n        x = Number(this.getAbstandPunkte(dimensionen.findBy('name', 'ergebnisgrafikMaximalWerte').get('x'), dimensionen.findBy('name', 'ergebnisgrafikMinialWerte').get('x'))) / 10 + 2 * (hoeheMasskette + textgroesse);\n        y = Number(this.getAbstandPunkte(dimensionen.findBy('name', 'ergebnisgrafikMaximalWerte').get('y'), dimensionen.findBy('name', 'ergebnisgrafikMinialWerte').get('y'))) / 10 + 2 * (hoeheMasskette + textgroesse);\n        z = Number(this.getAbstandPunkte(dimensionen.findBy('name', 'ergebnisgrafikMaximalWerte').get('z'), dimensionen.findBy('name', 'ergebnisgrafikMinialWerte').get('z'))) / 10 + 2 * (hoeheMasskette + textgroesse);\n      } else {\n        x = bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('x') / 10 + 2 * (hoeheMasskette + textgroesse);\n        y = bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('y') / 10 + 2 * (hoeheMasskette + textgroesse);\n        z = bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z') / 10 + 2 * (hoeheMasskette + textgroesse);\n      }\n\n      var arr = [x, y, z];\n      arr.sort(function (a, b) {\n        return b - a;\n      });\n      var d = 0;\n      var val = Number(arr[0]);\n\n      if (bauteile.findBy('id', 'viewpointDefault').get('cameraProperties').objectAt(0).get('setBind') === true) {\n        d = Math.sqrt(Math.pow(val, 2) + Math.pow(val * 0.4, 2) + Math.pow(val, 2));\n      } else {\n        d = arr[0];\n      }\n\n      x3d.set('aktuelleDistance', d); // resetViewpoint() zu finden in /vendor/viewpointmanagement/vpmanagements.js\n      // setzt die viewpoints zurück\n\n      resetViewpoint(d);\n    },\n    defaultTranslation: Ember.computed('model.x3ddefault.firstObject.transformHelper', 'model.x3ddefault.firstObject.ergebnisGeladen', function () {\n      var x3d = this.get('model').x3ddefault.objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var x = null;\n      var y = null;\n      var z = null;\n\n      if (x3d.get('ergebnisGeladen') === false) {\n        if (bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager') === true) {\n          x = -(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('x') / 20 - bauteile.findBy('id', 'auflager').get('boxsizes').objectAt(0).get('x') / 20 - bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('ueberstand') / 10);\n        } else {\n          x = 0;\n        }\n\n        y = -Number(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('y')) * 2 / 30;\n        z = 0;\n      } else {\n        var dimensionen = x3d.get('dimensionen');\n        x = -(Number(dimensionen.findBy('name', 'ergebnisgrafikMaximalWerte').get('x')) + Number(dimensionen.findBy('name', 'ergebnisgrafikMinialWerte').get('x'))) / 20;\n        y = -(Number(dimensionen.findBy('name', 'ergebnisgrafikMaximalWerte').get('y')) + Number(dimensionen.findBy('name', 'ergebnisgrafikMinialWerte').get('y'))) / 20;\n        z = -(Number(dimensionen.findBy('name', 'ergebnisgrafikMaximalWerte').get('z')) + Number(dimensionen.findBy('name', 'ergebnisgrafikMinialWerte').get('z'))) / 20;\n      }\n\n      var values = x + ' ' + y + ' ' + z;\n      return values;\n    }),\n    eingabenUngueltig: Ember.computed('projektdatenInvalid', 'traegerInvalid', 'auflagerInvalid', 'optionenInvalid', 'lasteinwirkungInvalid', 'gabellagerInvalid', function () {\n      var self = this;\n      var value = true;\n\n      if (self.get('projektdatenInvalid') === false && self.get('traegerInvalid') === false && self.get('auflagerInvalid') === false && self.get('optionenInvalid') === false && self.get('lasteinwirkungInvalid') === false && self.get('gabellagerInvalid') === false) {\n        value = false;\n      }\n\n      return value;\n    }),\n    schraubenAnzeigen: Ember.computed('ergebnisGeladen', 'verbindungsmittelInvalid', function () {\n      var self = this;\n      var ergebnisGeladen = this.get('model').x3ddefault.objectAt(0).get('ergebnisGeladen'); // console.log(\"ergebnisGeladen: \"+ergebnisGeladen);\n      // console.log(\"keineSchraubenliste: \"+self.get('verbindungsmittelController').get('keineSchraubenliste'));\n\n      if (ergebnisGeladen === true && self.get('verbindungsmittelController').get('keineSchraubenliste') === false || ergebnisGeladen === false && this.get('model').x3ddefault.objectAt(0).get(\"gabellager\") === true) {\n        return true;\n      } else {\n        return false;\n      }\n    }),\n    gabellager: Ember.computed('model.x3ddefault.firstObject.gabellager', function () {\n      var ergebnisGeladen = this.get('model').x3ddefault.objectAt(0).get('ergebnisGeladen');\n\n      if (ergebnisGeladen === false && this.get('model').x3ddefault.objectAt(0).get(\"gabellager\") === true) {\n        return \"true\";\n      } else {\n        return \"false\";\n      }\n    }),\n    gabellagerReiter: Ember.computed('model.x3ddefault.firstObject.gabellager', function () {\n      return this.get('model').x3ddefault.objectAt(0).get(\"gabellager\");\n    }),\n    auflagernaheEinzellastAnzeigen: Ember.computed('model.x3ddefault.firstObject.ergebnisGeladen', 'model.x3ddefault.firstObject.transformHelper', function () {\n      var x3ddefault = this.get('model').x3ddefault.objectAt(0);\n      var ergebnisGeladen = x3ddefault.get('ergebnisGeladen');\n\n      if (ergebnisGeladen === false && x3ddefault.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('auflagernaheeinzellast') === true) {\n        return \"true\";\n      } else {\n        return \"false\";\n      }\n    }),\n    plattenListe: Ember.computed('model.x3ddefault.firstObject.schraubenlisteAktualisiert', 'model.x3ddefault.firstObject.transformHelper', 'model.x3ddefault.firstObject.ergebnisGeladen', function () {\n      // console.log(\"##### plattenListe #####\");\n      var x3d = this.get('appController').get('model').x3ddefault.objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var platesArray = Ember.A([]);\n      bauteile.forEach(function (item) {\n        if (item.get('typ') === \"platte\") {\n          platesArray.pushObject(item);\n        }\n      });\n      return platesArray.toArray();\n    }),\n    ergebnisMassketten: Ember.computed('model.x3ddefault.firstObject.schraubenlisteAktualisiert', 'model.x3ddefault.firstObject.viewpointHelper', 'model.x3ddefault.firstObject.lastViewpoint', function () {\n      var x3d = this.get('appController').get('model').x3ddefault.objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var masskettenArray = Ember.A([]);\n\n      if (x3d.get('ergebnisGeladen') === true) {\n        bauteile.forEach(function (item) {\n          if (item.get('typ') === \"masskette\" && item.get('masskette').objectAt(0).get('masstext') !== \"0.00\" && item.get('masskette').objectAt(0).get('masstext') !== \"0.0\") {\n            masskettenArray.pushObject(item);\n          }\n        });\n      }\n\n      return masskettenArray.toArray();\n    }),\n    ergebnisGeladen: Ember.computed('model.x3ddefault.firstObject.ergebnisGeladen', function () {\n      // console.log(\"##### ERGEBNIS GELADEN #####\");\n      var x3d = this.get('appController').get('model').x3ddefault.objectAt(0);\n      var value = x3d.get('ergebnisGeladen');\n      return !value;\n    }),\n    abstaendeAnzeigen: Ember.computed('model.x3ddefault.firstObject.abstaendeAnzeigen', function () {\n      // console.log(\"##### Abstaende anzeigen #####\");\n      var x3d = this.get('appController').get('model').x3ddefault.objectAt(0);\n      var value = x3d.get('abstaendeAnzeigen');\n      return value;\n    }),\n    test: Ember.computed('model.x3ddefault.firstObject.gabellager', function () {\n      var self = this;\n      var x3d = self.get('model').x3ddefault.objectAt(0); // console.log(x3d);\n      // console.log(x3d.get('bauteile'));\n      // console.log(x3d.get('bauteile').objectAt(0));\n      // console.log(x3d.get('bauteile').objectAt(0).get('translations'));\n\n      return true;\n    }),\n    logger: Ember.computed('model.x3ddefault.firstObject.transformHelper', function () {\n      console.log(this.get('model').x3ddefault.objectAt(0).get('bauteile'));\n      console.log(this.get('model').x3ddefault.objectAt(0).get('bauteile').findBy('id', 'sfdgsfdgfg'));\n      return \"2\";\n    }),\n    indexedFaceset: Ember.computed('model.x3ddefault.firstObject.ergebnisGeladen', function () {\n      var x3d = this.get('appController').get('model').x3ddefault.objectAt(0);\n      var indexedFacesetString = \"\"; // console.log(\"##### indexedFacesetS #####\");\n\n      if (x3d.get('ergebnisGeladen') === true) {\n        x3d.get('bauteile').filter(bauteil => bauteil.get('typ') === 'platte').forEach((bauteil, i) => {\n          indexedFacesetString = indexedFacesetString + this.get('x3dRendererController').indexedFaceset(bauteil);\n        });\n      }\n\n      return indexedFacesetString;\n    }),\n    massKette: Ember.computed('model.x3ddefault.firstObject.{ergebnisGeladen,schraubenlisteAktualisiert,lastViewpoint}', function () {\n      var x3d = this.get('appController').get('model').x3ddefault.objectAt(0);\n      var indexedFacesetString = \"\"; // console.log(\"##### indexedFacesetS #####\");\n\n      if (x3d.get('ergebnisGeladen') === true) {\n        x3d.get('bauteile').filter(bauteil => bauteil.get('typ') === 'masskette').forEach((bauteil, i) => {\n          indexedFacesetString = indexedFacesetString + this.get('x3dRendererController').indexedLineset(bauteil);\n        });\n      }\n\n      return indexedFacesetString;\n    }),\n    getAbstandPunkte: function (x1, x2) {\n      return Math.abs(x1 - x2);\n    }\n  }, (_applyDecoratedDescriptor(_obj, \"setSpracheInput\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setSpracheInput\"), _obj), _applyDecoratedDescriptor(_obj, \"setCountryCode\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setCountryCode\"), _obj), _applyDecoratedDescriptor(_obj, \"setETA\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setETA\"), _obj), _applyDecoratedDescriptor(_obj, \"setBemessungsvorschrift\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setBemessungsvorschrift\"), _obj), _applyDecoratedDescriptor(_obj, \"downloadcenter\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"downloadcenter\"), _obj), _applyDecoratedDescriptor(_obj, \"verbindungsmittel\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"verbindungsmittel\"), _obj), _applyDecoratedDescriptor(_obj, \"ergebnisAction\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"ergebnisAction\"), _obj), _applyDecoratedDescriptor(_obj, \"newAction\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"newAction\"), _obj), _applyDecoratedDescriptor(_obj, \"saveAction\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"saveAction\"), _obj), _applyDecoratedDescriptor(_obj, \"contactAction\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"contactAction\"), _obj), _applyDecoratedDescriptor(_obj, \"produktkatalogAnzeigen\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"produktkatalogAnzeigen\"), _obj), _applyDecoratedDescriptor(_obj, \"etaAnzeigen\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"etaAnzeigen\"), _obj), _applyDecoratedDescriptor(_obj, \"toggleForm\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"toggleForm\"), _obj), _applyDecoratedDescriptor(_obj, \"setCameraActiv\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setCameraActiv\"), _obj), _applyDecoratedDescriptor(_obj, \"setDrahtgittermodel\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setDrahtgittermodel\"), _obj), _applyDecoratedDescriptor(_obj, \"miniertX3D\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"miniertX3D\"), _obj)), _obj));\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/auflager\", [\"exports\", \"m12-2020/mixins/object-validator\"], function (_exports, _objectValidator) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var _default = Ember.Controller.extend(_objectValidator.default, (_obj = {\n    aTyp: 1,\n    istZwischenlager: false,\n    displayErrors: true,\n    abreite: \"\",\n    alaenge: \"\",\n    ueberstand: \"0.0\",\n    abstandsmass: \"0.0\",\n    streckenlast: false,\n    auflagernaheeinzellast: false,\n    abstandsmasstoggle: true,\n    openFromFile: false,\n    gabellager: false,\n    ttBreiteA: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.1 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttLaengeA: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.1 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttUeberstand: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.0 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttAbstandsmass: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.0 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    validations: {\n      abreite: {\n        numericality: {\n          greaterThanOrEqualTo: 0.1,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      },\n      alaenge: {\n        numericality: {\n          greaterThanOrEqualTo: 0.1,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      },\n      ueberstand: {\n        numericality: {\n          greaterThanOrEqualTo: 0.0,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      },\n      abstandsmass: {\n        numericality: {\n          greaterThanOrEqualTo: 0.0,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      }\n    },\n    intl: Ember.inject.service(),\n    applicationController: Ember.inject.controller('application'),\n    auflagerController: Ember.inject.controller('auflager'),\n    gabellagerController: Ember.inject.controller('gabellager'),\n    optionenController: Ember.inject.controller('optionen'),\n    superController: Ember.inject.controller('supercontroller'),\n    downloadcenterController: Ember.inject.controller('downloadcenter'),\n    lasteinwirkungController: Ember.inject.controller('lasteinwirkung'),\n    aTypen: [],\n    auflagerTypen: [{\n      name: \"endauflager\",\n      id: 1\n    }, {\n      name: \"zwischenauflager\",\n      id: 0\n    }],\n    init: function () {\n      this._super();\n\n      console.log(\"init auflager\");\n    },\n    initialisierung: function () {\n      this.setSelectFieldsContent();\n      this.send('validation', -1, {\n        target: {\n          name: \"foobar\"\n        }\n      });\n    },\n    setValues: function (values) {\n      var self = this;\n\n      if (self.debug) {\n        console.log(\"values in bauteile: \");\n        console.log(values);\n      }\n\n      var abreiteEvent = {\n        target: {\n          name: \"abreite\"\n        }\n      };\n      var alaengeEvent = {\n        target: {\n          name: \"alaenge\"\n        }\n      };\n      var ueberstandEvent = {\n        target: {\n          name: \"ueberstand\"\n        }\n      };\n      var abstandsmassEvent = {\n        target: {\n          name: \"abstandsmass\"\n        }\n      };\n      self.set('openFromFile', true);\n      self.set('abreite', values.bLager);\n      self.setX3D(parseFloat(values.bLager), abreiteEvent);\n      self.set('alaenge', values.lLager);\n      self.setX3D(parseFloat(values.lLager), alaengeEvent);\n      self.set('aTyp', parseInt(values.LagerTyp));\n      self.set('abstandsmass', \"\");\n      self.set('abstandsmass', values.L1);\n      self.setX3D(parseInt(values.L1), abstandsmassEvent);\n      self.set('streckenlast', values.Streckenlast);\n      self.set('auflagernaheeinzellast', values.Einzellast);\n      self.set('ueberstand', \"\");\n      self.set('ueberstand', values.dl_Lager);\n      self.setX3D(parseFloat(values.dl_Lager), ueberstandEvent);\n      self.send('validation');\n      self.set('openFromFile', false);\n    },\n    setSelectFieldsContent: function () {\n      var self = this;\n      self.setAuflagerTypen();\n    },\n    setAuflagerTypen: function () {\n      var self = this;\n      var indices = [1, 0];\n      var aTypen = self.getSelectFieldContent('auflagerTypen', indices, self.get('aTyp'));\n      self.set('aTypen', aTypen);\n    },\n    getSelectFieldContent: function (db, indexes, selectedValue) {\n      var self = this;\n      var tmp = [];\n      var dbContent = self.getDBContent(db);\n\n      for (var i = 0; i < indexes.length; i++) {\n        for (var k = 0; k < dbContent.length; k++) {\n          if (dbContent[k].id === indexes[i]) {\n            tmp.push({\n              id: dbContent[k].id,\n              name: this.get('intl').t(dbContent[k].name),\n              disabled: false,\n              selected: selectedValue === dbContent[k].id ? true : false\n            });\n          }\n        }\n      }\n\n      return tmp;\n    },\n    getDBContent: function (db) {\n      var dbContent = [];\n\n      switch (db) {\n        case 'auflagerTypen':\n          dbContent = this.get('auflagerTypen');\n          break;\n      }\n\n      return dbContent;\n    },\n    getValueFromSelectField: function (contentArray, index) {\n      var tmp = \"\";\n      var len = contentArray.length;\n\n      for (var i = 0; i < len; i++) {\n        if (contentArray[i].id === index) {\n          tmp = contentArray[i].name;\n        }\n      }\n\n      return tmp;\n    },\n    watchNumericalInputs: Ember.observer('abreite', 'alaenge', 'ueberstand', 'abstandsmass', function () {\n      var self = this;\n\n      if (!self.openFromFile) {\n        if (self.get('abreite').toString().indexOf(\",\") !== -1) {\n          self.set('abreite', self.get('abreite').toString().replace(\",\", \".\"));\n        }\n\n        if (self.get('alaenge').toString().indexOf(\",\") !== -1) {\n          self.set('alaenge', self.get('alaenge').toString().replace(\",\", \".\"));\n        }\n\n        if (self.get('ueberstand').toString().indexOf(\",\") !== -1) {\n          self.set('ueberstand', self.get('ueberstand').toString().replace(\",\", \".\"));\n        }\n\n        if (self.get('abstandsmass').toString().indexOf(\",\") !== -1) {\n          self.set('abstandsmass', self.get('abstandsmass').toString().replace(\",\", \".\"));\n        }\n      }\n    }),\n\n    setATyp(value) {\n      this.set('aTyp', Number(value.target.value));\n    },\n\n    watchComboboxes: Ember.observer('aTyp', function () {\n      var self = this;\n      self.get('superController').resetVerbindungsmittel();\n      self.get('downloadcenterController').set('pdfErstellt', false);\n      var auflager = this.get('applicationController').get('model').auflager.objectAt(0);\n      auflager.set('LagerTyp', this.get('aTyp'));\n      auflager.set('LagerText', this.get('aTyp'));\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n\n      if (this.get('aTyp') === 1) {\n        x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).set('istendauflager', true);\n        self.set('istZwischenlager', false);\n      } else if (this.get('aTyp') === 0) {\n        self.set('ueberstand', \"0.0\");\n        x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).set('istendauflager', false);\n        self.setX3D(parseFloat(0), {\n          target: {\n            name: \"ueberstand\"\n          }\n        });\n        self.set('istZwischenlager', true);\n      }\n\n      self.get('superController').setTraegerLaenge(x3d.get('bauteile'));\n      x3d.set('transformHelper', !x3d.get('transformHelper'));\n      this.get('applicationController').zentriertObjekt();\n    }),\n    watchCheckboxes: Ember.observer('streckenlast', 'auflagernaheeinzellast', function () {\n      var self = this;\n      var auflager = this.get('applicationController').get('model').auflager.objectAt(0);\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      auflager.set('Streckenlast', this.get('streckenlast'));\n      auflager.set('Einzellast', this.get('auflagernaheeinzellast'));\n\n      if (self.get('auflagernaheeinzellast')) {\n        self.set('abstandsmasstoggle', false);\n        auflager.set('L1', parseFloat(self.get('abstandsmass')).toFixed(1));\n      } else {\n        self.set('abstandsmasstoggle', true);\n        auflager.set('L1', \"0.0\");\n      }\n\n      x3d.get('bauteile').findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).set('auflagernaheeinzellast', self.get('auflagernaheeinzellast'));\n      self.get('superController').setTraegerLaenge(x3d.get('bauteile'));\n      x3d.set('transformHelper', !x3d.get('transformHelper'));\n    }),\n    setX3D: function (value, event) {\n      var self = this;\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      x3d.set('ergebnisGeladen', false);\n      x3d.set('aktuellerSchraubenTyp', 'standardSchraube');\n      x3d.set('schraubenlisteAktualisiert', !x3d.get('schraubenlisteAktualisiert'));\n      value = parseFloat(value).toFixed(1);\n\n      switch (event.target.name) {\n        case 'abreite':\n          if (self.get('errors').get(\"abreite\") === undefined) {\n            bauteile.findBy('id', 'auflager').get('boxsizes').objectAt(0).set('z', value);\n            self.get('optionenController').setGrenzwert(\"min_a2cPlatte\", value / 2);\n            x3d.set('aBreiteEingetragen', true);\n          } else {\n            x3d.set('aBreiteEingetragen', false);\n          }\n\n          break;\n\n        case 'alaenge':\n          if (self.get('errors').get(\"alaenge\") === undefined) {\n            bauteile.findBy('id', 'auflager').get('boxsizes').objectAt(0).set('x', value);\n            self.get('superController').setTraegerLaenge(bauteile);\n            self.get('optionenController').setGrenzwert(\"min_a1cPlatte\", value / 2);\n            x3d.set('aLaengeEingetragen', true);\n          } else {\n            x3d.set('aLaengeEingetragen', false);\n          }\n\n          break;\n\n        case 'ueberstand':\n          if (self.get('errors').get(\"ueberstand\") === undefined) {\n            bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).set('ueberstand', value);\n            self.get('superController').setTraegerLaenge(bauteile);\n            x3d.set('ueberstandEingetragen', true);\n          } else {\n            x3d.set('ueberstandEingetragen', false);\n          }\n\n          break;\n\n        case 'abstandsmass':\n          if (self.get('errors').get(\"abstandsmass\") === undefined) {\n            bauteile.findBy('id', 'auflagernaheEinzellast').get('translations').objectAt(0).set('x', value);\n            self.get('superController').setTraegerLaenge(bauteile);\n            x3d.set('abstandsmassEingetragen', true);\n          } else {\n            x3d.set('abstandsmassEingetragen', false);\n          }\n\n          break;\n      }\n\n      x3d.set('transformHelper', !x3d.get('transformHelper'));\n      self.get('applicationController').zentriertObjekt();\n    },\n\n    validation(value, event) {\n      var self = this;\n\n      if (self.validate() === true) {\n        self.set('displayErrors', false);\n        self.get('applicationController').set('auflagerInvalid', false);\n        self.get('applicationController').set('treeLoaded', false);\n        self.get('applicationController').set('initialized', false);\n        self.get('applicationController').set('pdfErstellt', false);\n        self.get('downloadcenterController').set('pdfErstellt', false);\n        self.get('applicationController').set('verbindungsmittelInvalid', true);\n        var auflager = self.get('applicationController').get('model').auflager.objectAt(0);\n        auflager.set('bLager', parseFloat(self.get('abreite')).toFixed(1));\n        auflager.set('lLager', parseFloat(self.get('alaenge')).toFixed(1));\n        auflager.set('dl_Lager', parseFloat(self.get('ueberstand')).toFixed(1));\n\n        if (self.get('auflagernaheeinzellast')) {\n          auflager.set('L1', parseFloat(self.get('abstandsmass')).toFixed(1));\n        } else {\n          auflager.set('L1', '0.0');\n        }\n      } else {\n        self.set('displayErrors', true);\n        self.get('applicationController').set('auflagerInvalid', true);\n      }\n\n      if (!self.openFromFile) {\n        this.setX3D(value, event);\n      }\n    },\n\n    abreiteIsSelected() {\n      var abreiteaktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('abreiteAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('abreiteAktiv', !abreiteaktiv);\n\n      if (this.get('abreite') !== \"\") {\n        var abreitework = parseFloat(this.get('abreite').toString().replace(\",\", \".\"));\n        var abreiterounded = abreitework.toFixed(1);\n        this.set('abreite', abreiterounded);\n        this.send('validation', abreiterounded, {\n          target: {\n            name: \"abreite\"\n          }\n        });\n      }\n\n      if (abreiteaktiv === false) {\n        document.getElementsByName('abreite')[0].setSelectionRange(0, this.get('abreite').length);\n      }\n    },\n\n    alaengeIsSelected() {\n      var alaengeaktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('alaengeAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('alaengeAktiv', !alaengeaktiv);\n\n      if (this.get('alaenge') !== \"\") {\n        var alaengework = parseFloat(this.get('alaenge').toString().replace(\",\", \".\"));\n        var alaengerounded = alaengework.toFixed(1);\n        this.set('alaenge', alaengerounded);\n        this.send('validation', alaengerounded, {\n          target: {\n            name: \"alaenge\"\n          }\n        });\n      }\n\n      if (alaengeaktiv === false) {\n        document.getElementsByName('alaenge')[0].setSelectionRange(0, this.get('alaenge').length);\n      }\n    },\n\n    ueberstandIsSelected() {\n      var ueberstandaktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('ueberstandAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('ueberstandAktiv', !ueberstandaktiv);\n\n      if (this.get('ueberstand') !== \"\") {\n        var ueberstandwork = parseFloat(this.get('ueberstand').toString().replace(\",\", \".\"));\n        var ueberstandrounded = ueberstandwork.toFixed(1);\n        this.set('ueberstand', ueberstandrounded);\n        this.send('validation', ueberstandrounded, {\n          target: {\n            name: \"ueberstand\"\n          }\n        });\n      }\n\n      if (ueberstandaktiv === false) {\n        document.getElementsByName('ueberstand')[0].setSelectionRange(0, this.get('ueberstand').length);\n      }\n    },\n\n    abstandsmassIsSelected() {\n      var abstandsmassaktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('abstandsmassAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('abstandsmass', !abstandsmassaktiv);\n\n      if (this.get('abstandsmass') !== \"\") {\n        var abstandsmasswork = parseFloat(this.get('abstandsmass').toString().replace(\",\", \".\"));\n        var abstandsmassrounded = abstandsmasswork.toFixed(1);\n        this.set('abstandsmass', abstandsmassrounded);\n        this.send('validation', abstandsmassrounded, {\n          target: {\n            name: \"abstandsmass\"\n          }\n        });\n      }\n\n      if (abstandsmassaktiv === false) {\n        document.getElementsByName('abstandsmass')[0].setSelectionRange(0, this.get('abstandsmass').length);\n      }\n    },\n\n    gabellagerProperty: Ember.observer(\"gabellager\", function (value) {\n      var self = this;\n      var x3ddefault = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      var bauteile = x3ddefault.get('bauteile');\n      x3ddefault.set('ergebnisGeladen', false);\n      x3ddefault.set('aktuellerSchraubenTyp', 'standardSchraube');\n      x3ddefault.set('transformHelper', !x3ddefault.get('transformHelper'));\n      x3ddefault.set('schraubenlisteAktualisiert', !x3ddefault.get('schraubenlisteAktualisiert'));\n      x3ddefault.set('gabellager', self.get(\"gabellager\"));\n      self.get('lasteinwirkungController').set('gabellager', self.get(\"gabellager\"));\n\n      if (self.get(\"gabellager\") === false) {\n        if (x3ddefault.get('torsionsmomentEingetragen') === false) {\n          self.get('lasteinwirkungController').set('torsionsmoment', 0);\n        }\n\n        self.get('applicationController').set('gabellagerInvalid', false);\n      } else {\n        if (x3ddefault.get('torsionsmomentEingetragen') === false) {\n          self.get('lasteinwirkungController').set('torsionsmoment', \"\");\n        }\n\n        self.get('gabellagerController').send('validation', -1, {\n          target: {\n            name: \"foo\"\n          }\n        });\n      }\n\n      self.get('lasteinwirkungController').send('validation', -1, {\n        target: {\n          name: \"foo\"\n        }\n      });\n    })\n  }, (_applyDecoratedDescriptor(_obj, \"setATyp\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setATyp\"), _obj), _applyDecoratedDescriptor(_obj, \"validation\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"validation\"), _obj), _applyDecoratedDescriptor(_obj, \"abreiteIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"abreiteIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"alaengeIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"alaengeIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"ueberstandIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"ueberstandIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"abstandsmassIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"abstandsmassIsSelected\"), _obj)), _obj));\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/downloadcenter\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Controller.extend({\n    savingInProgress: false,\n    saved: false,\n    saveFile: \"\",\n    pdfErstellt: false,\n    dlPaketFilename: \"testpaket2016\",\n    dlPaketLink: \"http://www.google.de\",\n    packageIsBeingCreated: false,\n    packageCreated: false,\n    inputCheckbox: false,\n    pdfCheckbox: false,\n    pinfoCheckbox: false,\n    pkatalogCheckbox: false,\n    pcadCheckbox: false,\n    etaCheckbox: false,\n    schraubenInfo: \"\",\n    schraubenCAD: \"\",\n    produktkatalog: \"http://www.onlinebemessung.de/webapps/webapp_wuerth/produktinfo/de/Catalog.pdf\",\n    eta: \"http://www.onlinebemessung.de/webapps/webapp_wuerth/produktinfo/de/ETA-110190.pdf\",\n    validScrewSelected: false,\n    cid: \"\",\n    pdfFile: \"\",\n    intl: Ember.inject.service(),\n    ttInNichtGespeichert: Ember.computed('intl.locale', function () {\n      return this.get('intl').t('eingabedatennichtgespeichert');\n    }),\n    ttPdfNochNichtErstellt: Ember.computed('intl.locale', function () {\n      return this.get('intl').t('pdfnochnichterstellt');\n    }),\n    ttKeineSchraubeGewaehlt: Ember.computed('intl.locale', function () {\n      return this.get('intl').t('nochkeineschraubegewaehlt');\n    }),\n    ttKeinDLErzeugt: Ember.computed('intl.locale', function () {\n      return this.get('intl').t('nochkeindlerzeugt');\n    }),\n    actions: {\n      createDownloadPackage: function () {\n        var self = this;\n        var application = self.controllerFor('application');\n        var applicationdata = application.get('model').application.objectAt(0);\n        var cid = applicationdata.get('Calculation_ID');\n        var filename = \"\";\n\n        if (self.get('dlfilename') === \"\" || self.get('dlfilename') === undefined) {\n          filename = cid;\n        } else {\n          filename = self.get('dlfilename');\n        }\n\n        var inputCBvalue = self.get('inputCheckbox');\n        var pdfCBvalue = self.get('pdfCheckbox');\n        var pinfoCBvalue = self.get('pinfoCheckbox');\n        var pkatalogCBvalue = self.get('pkatalogCheckbox');\n        var pcadCBvalue = self.get('pcadCheckbox');\n        var etaCBvalue = self.get('etaCheckbox');\n        self.set('packageIsBeingCreated', true);\n\n        _jquery.default.ajax({\n          type: \"POST\",\n          url: \"http://136.243.4.143/berechnungsservice/dlPaketErstellen/\",\n          data: {\n            cid: cid,\n            filename: filename,\n            input: inputCBvalue,\n            pdf: pdfCBvalue,\n            pinfo: pinfoCBvalue,\n            pkatalog: pkatalogCBvalue,\n            pcad: pcadCBvalue,\n            eta: etaCBvalue\n          }\n        }).done(function (data) {\n          self.set('dlPaketFilename', filename);\n          self.set('dlPaketLink', data);\n          self.set('packageIsBeingCreated', false);\n          self.set('packageCreated', true);\n        });\n      }\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/ergebnis\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var _default = Ember.Controller.extend((_obj = {\n    kompaktergebnis: \"\",\n    pdfErstellt: false,\n    pdfLink: \"\",\n    pdfUnderConstruction: false,\n    pdfFileName: \"\",\n    applicationController: Ember.inject.controller('application'),\n    // lasteinwirkungController: inject('lasteinwirkung'),\n    downloadcenterController: Ember.inject.controller('downloadcenter'),\n    // ergebnisController: inject('verbindungsmittel'),\n    superController: Ember.inject.controller('supercontroller'),\n    init: function () {\n      this._super(); // var self = this;\n      // if (self.get('applicationController').get('lasteinwirkungInvalid') || self.get('applicationController').get('bauteileInvalid')) {\n      //   this.transitionToRoute('projektdaten');\n      // } else {\n      //   console.log(\"lasteinwirkung ist valid\");\n      // }\n\n    },\n    uebertrageBild: function (bildIndex, filename, imgData) {\n      var self = this;\n      var server = self.get('applicationController').get('server');\n      var pfad = self.get('applicationController').get('pfad');\n      console.log('sende image: ' + filename);\n      var url = \"\";\n\n      if (self.get('applicationController').get('environment') === \"offline\") {\n        url = \"http://localhost:50002/speichereGrafik\";\n      } else {\n        url = \"http://holzbauverbinder.de/authorization/saveImage\";\n      }\n\n      _jquery.default.ajax({\n        type: \"POST\",\n        url: url,\n        data: {\n          name: filename,\n          b64: imgData\n        }\n      }).done(function (data) {\n        if (bildIndex === 4) {\n          self.set('triggerPDFabrufen', !self.get('triggerPDFabrufen'));\n          self.pdfAbrufen();\n        }\n      });\n    },\n    pdfAbrufen: function () {\n      console.log('PDF Abruf');\n      var self = this;\n      var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n      var cid = applicationdata.get('Calculation_ID');\n      var selectedScrew = applicationdata.get('selectedScrew');\n      var projektdatendata = self.get('applicationController').get('model').projektdaten.objectAt(0);\n      var projektdatendataJSON = JSON.stringify(projektdatendata);\n      var server = self.get('applicationController').get('server');\n      var pfad = self.get('applicationController').get('pfad');\n      console.log('PDF cid: ' + cid + 'ende');\n\n      _jquery.default.ajax({\n        type: \"POST\",\n        url: server + \"m12/DE/erzeugeAusgabe/\" + self.get('superController').erzeugeAufrufzusatz(true),\n        data: {\n          cid: cid,\n          projektdaten: projektdatendataJSON,\n          artnr: selectedScrew\n        }\n      }).done(function (data, statusText, xhr) {\n        self.get('superController').logaufruf(\"erzeugeAusgabe\", xhr.status);\n        self.set('pdfErstellt', true);\n        applicationdata.set('pdfErstellt', true);\n        self.set('pdfUnderConstruction', false);\n        self.set('pdfLink', data);\n        self.set('pdfFileName', cid + \".pdf\");\n        self.get('downloadcenterController').set('pdfFile', data);\n        self.get('downloadcenterController').set('pdfErstellt', true);\n        var pdfview = window.open(data, \"PDF Ansicht\", \"width=600, height=800\");\n        console.log(data);\n      });\n    },\n    setPNGimageData: function () {\n      var self = this;\n      var i = 0;\n      var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      var cid = applicationdata.get('Calculation_ID');\n      x3d.set('istGitterModell', false);\n      document.getElementById('navInfo').setAttribute('transitiontime', '0');\n      self.get('applicationController').zentriertObjekt();\n      var viewpointarray = Array('viewpointDefault', 'viewpointLinks', 'viewpointOben', 'viewpointFront');\n      var imageNameArray = Array('ImgNameIsoView_', 'ImgNameLeftView_', 'ImgNameTopView_', 'ImgNameFrontView_');\n      var pngImages = [{\n        id: 0,\n        typ: \"viewpointDefault\",\n        name: \"\",\n        imgData: \"\",\n        msg: \"\"\n      }, {\n        id: 1,\n        typ: \"viewpointLinks\",\n        name: \"\",\n        imgData: \"\",\n        msg: \"\"\n      }, {\n        id: 2,\n        typ: \"viewpointOben\",\n        name: \"\",\n        imgData: \"\",\n        msg: \"\"\n      }, {\n        id: 3,\n        typ: \"viewpointFront\",\n        name: \"\",\n        imgData: \"\",\n        msg: \"\"\n      }];\n      i = 0;\n      var myInterval = setInterval(function () {\n        if (i === 0) {\n          document.getElementById('viewpointDefault').setAttribute('set_bind', 'true');\n          x3d.set('abstaendeAnzeigen', false);\n          x3d.get('bauteile').findBy('id', x3d.get('lastViewpoint')).get('cameraProperties').objectAt(0).set('setBind', false);\n          x3d.set('lastViewpoint', 'viewpointDefault');\n          x3d.get('bauteile').findBy('id', 'viewpointDefault').get('cameraProperties').objectAt(0).set('setBind', true);\n        }\n\n        if (i > 0) {\n          document.getElementById('viewpointDefault').setAttribute('set_bind', 'true');\n          var imgUrl = document.getElementById(\"x3d\").runtime.getScreenshot();\n          var imgData = imgUrl.toString().replace('data:image/png;base64,', '');\n          var filename = imageNameArray[i - 1] + cid + '.png';\n          x3d.set('abstaendeAnzeigen', true);\n          self.uebertrageBild(i, filename, imgData);\n        }\n\n        if (i === 4) {\n          document.getElementById('viewpointDefault').setAttribute('set_bind', true);\n          self.get('applicationController').zentriertObjekt();\n          x3d.get('bauteile').findBy('id', x3d.get('lastViewpoint')).get('cameraProperties').objectAt(0).set('setBind', false);\n          x3d.set('lastViewpoint', 'viewpointDefault');\n          x3d.get('bauteile').findBy('id', 'viewpointDefault').get('cameraProperties').objectAt(0).set('setBind', true);\n          x3d.set('viewpointHelper', !x3d.get('viewpointHelper'));\n          document.getElementById('navInfo').setAttribute('transitiontime', '1');\n          clearInterval(myInterval);\n        }\n\n        i++;\n\n        if (i < 5) {\n          document.getElementById(viewpointarray[i - 1]).setAttribute('set_bind', 'true');\n          x3d.get('bauteile').findBy('id', x3d.get('lastViewpoint')).get('cameraProperties').objectAt(0).set('setBind', false);\n          x3d.set('lastViewpoint', viewpointarray[i - 1]);\n          x3d.get('bauteile').findBy('id', viewpointarray[i - 1]).get('cameraProperties').objectAt(0).set('setBind', true);\n          x3d.set('viewpointHelper', !x3d.get('viewpointHelper'));\n        }\n      }, 500);\n      return pngImages;\n    },\n\n    createPDF(event) {\n      var self = this;\n      self.setPNGimageData();\n\n      if (self.get('pdfErstellt') === false) {\n        self.set('pdfUnderConstruction', true);\n      }\n    },\n\n    showPrintView(event) {\n      var self = this;\n      var printview = window.open(\"\", \"Druckansicht\", \"width=600, height=800\");\n      printview.document.write(\"<font face='Arial'><table><tr><td width='200' height='80'><center><img src='assets/images/wuerth.jpg' width='150'></center></td><td width='100%' bgcolor='#ff0000'><font color='#ffffff'>Würth bemessungssoftware</font></td></tr></table>\");\n      printview.document.write(\"<hr></hr>\");\n      printview.document.write(\"<h2>M06</h2>\");\n      printview.document.write(self.get('kompaktergebnis'));\n      printview.document.write(\"<hr></hr>\");\n      printview.document.write(\"<img src='assets/images/wuerth_group.png' width='75'> <small>(c) SWG Engineering 2016</small></font>\");\n    },\n\n    setKompaktergebnis(event) {\n      var self = this; // var div = document.createElement('div');\n      //\n      // div.className = 'row';\n      //\n      // div.innerHTML = self.kompaktergebnis;\n      // document.getElementById('kompaktergebnis').appendChild(div);\n\n      (0, _jquery.default)(\"#kompaktergebnis\").html(self.get('kompaktergebnis'));\n    }\n\n  }, (_applyDecoratedDescriptor(_obj, \"createPDF\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"createPDF\"), _obj), _applyDecoratedDescriptor(_obj, \"showPrintView\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"showPrintView\"), _obj), _applyDecoratedDescriptor(_obj, \"setKompaktergebnis\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setKompaktergebnis\"), _obj)), _obj));\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/gabellager\", [\"exports\", \"m12-2020/mixins/object-validator\"], function (_exports, _objectValidator) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var _default = Ember.Controller.extend(_objectValidator.default, (_obj = {\n    intl: Ember.inject.service(),\n    openFromFile: false,\n    displayErrors: true,\n    gabelbreite: \"\",\n    laenge: \"\",\n    gabelhoehe: \"\",\n    spaltmass: \"\",\n    ttGabelbreite: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.1 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttGabellaenge: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.1 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttGabelhoehe: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.1 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttSpaltmass: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.1 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    validations: {\n      gabelbreite: {\n        numericality: {\n          greaterThanOrEqualTo: 0.1,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      },\n      gabellaenge: {\n        numericality: {\n          greaterThanOrEqualTo: 0.1,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      },\n      gabelhoehe: {\n        numericality: {\n          greaterThanOrEqualTo: 0.1,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      },\n      spaltmass: {\n        numericality: {\n          greaterThanOrEqualTo: 0,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      }\n    },\n    applicationController: Ember.inject.controller('application'),\n    superController: Ember.inject.controller('supercontroller'),\n    initialisierung: function () {\n      this.send('validation', -1, {\n        target: {\n          name: \"foobar\"\n        }\n      });\n    },\n    setValues: function (values) {\n      var self = this;\n\n      if (self.debug) {\n        console.log(\"values in bauteile: \");\n        console.log(values);\n      }\n\n      var gabelbreiteEvent = {\n        target: {\n          name: \"gabelbreite\"\n        }\n      };\n      var gabellaengeEvent = {\n        target: {\n          name: \"gabellaenge\"\n        }\n      };\n      var gabelhoeheEvent = {\n        target: {\n          name: \"gabelhoehe\"\n        }\n      };\n      var spaltmassEvent = {\n        target: {\n          name: \"spaltmass\"\n        }\n      };\n      this.set('openFromFile', true);\n      this.set('gabelbreite', values.BStuetze);\n      this.setX3D(parseFloat(values.BStuetze), gabelbreiteEvent);\n      this.set('gabellaenge', values.LStuetze);\n      this.setX3D(parseFloat(values.LStuetze), gabellaengeEvent);\n      this.set('gabelhoehe', values.HStuetze);\n      this.setX3D(parseFloat(values.HStuetze), gabelhoeheEvent);\n      this.set('spaltmass', values.SpaltmassStuetze);\n      this.setX3D(parseFloat(values.SpaltmassStuetze), spaltmassEvent);\n      this.send('validation');\n      this.set('openFromFile', false);\n    },\n    watchNumericalInputs: Ember.observer('gabelbreite', 'gabellaenge', 'gabelhoehe', 'spaltmass', function () {\n      var self = this;\n\n      if (!self.openFromFile) {\n        if (typeof self.get('gabelbreite') !== 'undefined' && self.get('gabelbreite').toString().indexOf(\",\") !== -1) {\n          self.set('gabelbreite', self.get('gabelbreite').replace(\",\", \".\"));\n        }\n\n        if (typeof self.get('gabellaenge') !== 'undefined' && self.get('gabellaenge').toString().indexOf(\",\") !== -1) {\n          self.set('gabellaenge', self.get('gabellaenge').replace(\",\", \".\"));\n        }\n\n        if (typeof self.get('gabelhoehe') !== 'undefined' && self.get('gabelhoehe').toString().indexOf(\",\") !== -1) {\n          self.set('gabelhoehe', self.get('gabelhoehe').replace(\",\", \".\"));\n        }\n\n        if (typeof self.get('spaltmass') !== 'undefined' && self.get('spaltmass').toString().indexOf(\",\") !== -1) {\n          self.set('spaltmass', self.get('spaltmass').replace(\",\", \".\"));\n        }\n      }\n    }),\n    setX3D: function (value, event) {\n      var self = this;\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      x3d.set('ergebnisGeladen', false);\n      x3d.set('aktuellerSchraubenTyp', 'standardSchraube');\n      x3d.set('schraubenlisteAktualisiert', !x3d.get('schraubenlisteAktualisiert'));\n      value = parseFloat(value).toFixed(1);\n\n      switch (event.target.name) {\n        case 'gabelbreite':\n          if (self.get('errors').get(\"gabelbreite\") === undefined) {\n            bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).set('z', value);\n            x3d.set('bGabellagerEingetragen', true);\n          } else {\n            x3d.set('bGabellagerEingetragen', false);\n          }\n\n          break;\n\n        case 'gabellaenge':\n          if (self.get('errors').get(\"gabellaenge\") === undefined) {\n            bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).set('x', value);\n            self.get('superController').setTraegerLaenge(bauteile);\n            x3d.set('lGabellagerEingetragen', true);\n          } else {\n            x3d.set('lGabellagerEingetragen', false);\n          }\n\n          break;\n\n        case 'gabelhoehe':\n          if (self.get('errors').get(\"gabelhoehe\") === undefined) {\n            bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).set('y', value);\n            self.get('superController').setTraegerLaenge(bauteile);\n            x3d.set('hGabellagerEingetragen', true);\n          } else {\n            x3d.set('hGabellagerEingetragen', false);\n          }\n\n          break;\n\n        case 'spaltmass':\n          if (self.get('errors').get(\"spaltmass\") === undefined) {\n            bauteile.findBy('id', 'gabellager').get('erweiterteeigenschaften').objectAt(0).set('abstandsmass', value);\n            self.get('superController').setTraegerLaenge(bauteile);\n            x3d.set('aGabellagerEingetragen', true);\n          } else {\n            x3d.set('aGabellagerEingetragen', false);\n          }\n\n          break;\n      }\n\n      x3d.set('transformHelper', !x3d.get('transformHelper'));\n      self.get('applicationController').zentriertObjekt();\n    },\n\n    validation(value, event) {\n      var self = this;\n\n      if (self.validate() === true) {\n        self.set('displayErrors', false);\n        self.get('applicationController').set('gabellagerInvalid', false);\n        self.get('superController').resetVerbindungsmittel();\n        var gabellager = self.get('applicationController').get('model').gabellager.objectAt(0);\n        gabellager.set('BStuetze', parseFloat(self.get('gabelbreite')).toFixed(1));\n        gabellager.set('LStuetze', parseFloat(self.get('gabellaenge')).toFixed(1));\n        gabellager.set('HStuetze', parseFloat(self.get('gabelhoehe')).toFixed(1));\n        gabellager.set('SpaltmassStuetze', parseFloat(self.get('spaltmass')).toFixed(1));\n      } else {\n        self.set('displayErrors', true);\n        self.get('applicationController').set('gabellagerInvalid', true);\n      }\n\n      if (!self.openFromFile) {\n        this.setX3D(value, event);\n      }\n    },\n\n    gabelbreiteIsSelected() {\n      var bGabellagerAktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('bGabellagerAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('bGabellagerAktiv', !bGabellagerAktiv);\n\n      if (typeof this.get('gabelbreite') !== 'undefined') {\n        if (this.get('gabelbreite') !== \"\") {\n          var work = parseFloat(this.get('gabelbreite').toString().replace(\",\", \".\"));\n          var rounded = work.toFixed(1);\n          this.set('gabelbreite', rounded);\n          this.send('validation', rounded, {\n            target: {\n              name: \"gabelbreite\"\n            }\n          });\n        }\n\n        if (bGabellagerAktiv === false) {\n          document.getElementsByName('gabelbreite')[0].setSelectionRange(0, this.get('gabelbreite').length);\n        }\n      }\n    },\n\n    gabellaengeIsSelected() {\n      var lGabellagerAktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('lGabellagerAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('lGabellagerAktiv', !lGabellagerAktiv);\n\n      if (typeof this.get('gabellaenge') !== 'undefined') {\n        if (this.get('gabellaenge') !== \"\") {\n          var work = parseFloat(this.get('gabellaenge').toString().replace(\",\", \".\"));\n          var rounded = work.toFixed(1);\n          this.set('gabellaenge', rounded);\n          this.send('validation', rounded, {\n            target: {\n              name: \"gabellaenge\"\n            }\n          });\n        }\n\n        if (lGabellagerAktiv === false) {\n          document.getElementsByName('gabellaenge')[0].setSelectionRange(0, this.get('gabellaenge').length);\n        }\n      }\n    },\n\n    gabelhoeheIsSelected() {\n      var hGabellagerAktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('hGabellagerAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('hGabellagerAktiv', !hGabellagerAktiv);\n\n      if (typeof this.get('gabelhoehe') !== 'undefined') {\n        if (this.get('gabelhoehe') !== \"\") {\n          var work = parseFloat(this.get('gabelhoehe').toString().replace(\",\", \".\"));\n          var rounded = work.toFixed(1);\n          this.set('gabelhoehe', rounded);\n          this.send('validation', rounded, {\n            target: {\n              name: \"gabelhoehe\"\n            }\n          });\n        }\n\n        if (hGabellagerAktiv === false) {\n          document.getElementsByName('gabelhoehe')[0].setSelectionRange(0, this.get('gabelhoehe').length);\n        }\n      }\n    },\n\n    spaltmassIsSelected() {\n      var aGabellagerAktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('aGabellagerAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('aGabellagerAktiv', !aGabellagerAktiv);\n\n      if (typeof this.get('spaltmass') !== 'undefined') {\n        if (this.get('spaltmass') !== \"\") {\n          var work = parseFloat(this.get('spaltmass').toString().replace(\",\", \".\"));\n          var rounded = work.toFixed(1);\n          this.set('spaltmass', rounded);\n          this.send('validation', rounded, {\n            target: {\n              name: \"spaltmass\"\n            }\n          });\n        }\n\n        if (aGabellagerAktiv === false) {\n          document.getElementsByName('spaltmass')[0].setSelectionRange(0, this.get('spaltmass').length);\n        }\n      }\n    }\n\n  }, (_applyDecoratedDescriptor(_obj, \"validation\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"validation\"), _obj), _applyDecoratedDescriptor(_obj, \"gabelbreiteIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"gabelbreiteIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"gabellaengeIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"gabellaengeIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"gabelhoeheIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"gabelhoeheIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"spaltmassIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"spaltmassIsSelected\"), _obj)), _obj));\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/impressum\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Controller.extend({\n    wuerth: false,\n    swg: true,\n    spracheDeutsch: true,\n    selectedLanguage: \"DE\",\n    init: function () {\n      this._super();\n\n      console.log(\"inti impressum\");\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/lasteinwirkung\", [\"exports\", \"m12-2020/mixins/object-validator\", \"jquery\"], function (_exports, _objectValidator, _jquery) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var _default = Ember.Controller.extend(_objectValidator.default, (_obj = {\n    debug: true,\n    openFromFile: false,\n    displayErrors: true,\n    loading: false,\n    bmlast: \"\",\n    verbindungsmittelliste: \"\",\n    nkl: 1,\n    led: 1,\n    gabellager: false,\n    torsionsmoment: \"0.0\",\n    intl: Ember.inject.service(),\n    ttBmLast: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.01 - 9999.9 [kN]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttTorsionsmoment: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 0.0 - 999.0 [Nm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    validations: {\n      nkl: {\n        // type: \"\",\n        // tooltip: \"ttNutzungsklasse\",\n        numericality: {\n          greaterThanOrEqualTo: 1,\n          lessThanOrEqualTo: 3,\n          message: \"!\"\n        }\n      },\n      bmlast: {\n        numericality: {\n          greaterThan: 0.01,\n          lessThanOrEqualTo: 9999.9,\n          message: \"!\"\n        }\n      },\n      torsionsmoment: {\n        numericality: {\n          greaterThanOrEqualTo: 0,\n          lessThanOrEqualTo: 999.9,\n          message: \"!\"\n        }\n      }\n    },\n    _data: [{\n      'text': 'Company 1',\n      'id': 'company-1',\n      'state': {\n        'opened': true\n      },\n      'a_attr': {\n        'people': 100\n      },\n      'children': [{\n        'text': 'Headoffice',\n        'children': [{\n          'text': 'Branch 1'\n        }, {\n          'text': 'Branch 2'\n        }]\n      }]\n    }, {\n      'text': 'Company 2',\n      'children': [{\n        'text': 'Headoffice'\n      }]\n    }],\n    _xTreeData: [{\n      id: 0,\n      name: 'Root',\n      isExpanded: true,\n      isSelected: false,\n      isVisible: true,\n      children: [{\n        id: 1,\n        name: 'First Child',\n        isExpanded: true,\n        isSelected: false,\n        isVisible: true,\n        children: []\n      }, {\n        id: 2,\n        name: 'Second Child',\n        isExpanded: true,\n        isSelected: false,\n        isVisible: true,\n        children: [{\n          id: 3,\n          name: 'First Grand Child',\n          isExpanded: true,\n          isSelected: true,\n          isVisible: true,\n          children: []\n        }]\n      }]\n    }],\n    nklarray: [],\n    ledarray: [],\n    timberNA: \"DE\",\n    applicationController: Ember.inject.controller('application'),\n    traegerController: Ember.inject.controller('traeger'),\n    lasteinwirkungController: Ember.inject.controller('lasteinwirkung'),\n    superController: Ember.inject.controller('supercontroller'),\n    downloadcenterController: Ember.inject.controller('downloadcenter'),\n    verbindungsmittelController: Ember.inject.controller('verbindungsmittel'),\n    init: function () {\n      this._super();\n\n      console.log(\"inti lasteinwirkung\");\n    },\n    initialisierung: function () {\n      this.setSelectFieldsContent();\n      this.send('validation', -1, {\n        target: {\n          name: \"foobar\"\n        }\n      });\n    },\n    setValues: function (values) {\n      if (self.debug) {\n        console.log(\"values in lasteinwirkung: \" + values);\n      }\n\n      this.set('openFromFile', true);\n      this.set('nkl', parseInt(values.NKL_ID));\n      this.set('led', parseInt(values.KLED_ID));\n      this.set('bmlast', values.V_d);\n      this.send('validation');\n      this.set('openFromFile', false);\n    },\n    setSelectFieldsContent: function () {\n      var self = this;\n      self.setnklarray();\n      self.setledarray();\n      self.watchComboboxes();\n    },\n    setnklarray: function () {\n      var self = this;\n      var indices = [1, 2, 3];\n      var maxNKLM1 = materialien.liste.findBy('IndexNr', self.get('traegerController').get('ntfkl')).MaxNKL;\n      var maxValues = [maxNKLM1];\n      maxValues = maxValues.sort(function (a, b) {\n        return a - b;\n      });\n      self.set('validations.nkl.numericality.lessThanOrEqualTo', maxValues[0]);\n      self.set('nklarray', self.getSelectFieldContent('nklassen', indices, Number(maxValues[0]), self.get('nkl')));\n    },\n    setledarray: function () {\n      var self = this;\n      var indices = [];\n\n      if (self.get('timberNA') === \"DE\" || self.get('timberNA') === \"AT\") {\n        indices = [1, 2, 3, 4, 45, 5];\n      } else {\n        if (self.get('led') === 45) {\n          self.set('led', 1);\n        }\n\n        indices = [1, 2, 3, 4, 5];\n      }\n\n      self.set('ledarray', self.getSelectFieldContent('ledarray', indices, 9999, self.get('led')));\n    },\n    getSelectFieldContent: function (db, indexes, maxValue, selectedValue) {\n      var self = this;\n      var tmp = [];\n      var dbContent = self.getDBContent(db);\n\n      for (var i = 0; i < indexes.length; i++) {\n        for (var k = 0; k < dbContent.length; k++) {\n          if (dbContent[k].id === indexes[i]) {\n            var disabled = false;\n\n            if (db === 'nklassen' && Number(dbContent[k].id) > maxValue) {\n              disabled = true;\n            }\n\n            tmp.push({\n              id: dbContent[k].id,\n              name: this.get('intl').t(dbContent[k].name),\n              disabled: disabled,\n              selected: selectedValue === dbContent[k].id ? true : false\n            });\n          }\n        }\n      }\n\n      return tmp;\n    },\n    getDBContent: function (db) {\n      var dbContent = [];\n\n      switch (db) {\n        case 'nklassen':\n          dbContent = nutzungsklassenDB.nutzungsklassen_de;\n          break;\n\n        case 'ledarray':\n          dbContent = ledDB.led_de;\n          break;\n      }\n\n      return dbContent;\n    },\n    getValueFromSelectField: function (contentArray, index) {\n      var tmp = \"\";\n      var len = contentArray.length;\n\n      for (var i = 0; i < len; i++) {\n        if (contentArray[i].id === index) {\n          tmp = contentArray[i].name;\n        }\n      }\n\n      return tmp;\n    },\n    watchNumericalInputs: Ember.observer('bmlast', 'torsionsmoment', function () {\n      if (!this.openFromFile) {\n        if (this.get('bmlast').toString().indexOf(\",\") !== -1) {\n          this.set('bmlast', this.get('bmlast').toString().replace(\",\", \".\"));\n        }\n\n        if (typeof this.get('torsionsmoment') !== 'undefined' && this.get('torsionsmoment').toString().indexOf(\",\") !== -1) {\n          this.set('torsionsmoment', this.get('torsionsmoment').toString().replace(\",\", \".\"));\n        }\n      }\n    }),\n    watchComboboxes: Ember.observer('led', 'nkl', function () {\n      var self = this;\n      self.get('superController').resetVerbindungsmittel();\n      var lasteinwirkung = this.get('applicationController').get('model').lasteinwirkung.objectAt(0);\n      lasteinwirkung.set('NKL_ID', this.get('nkl'));\n      var nklText = this.nklarray[this.get('nkl') - 1].name.toString();\n      lasteinwirkung.set('NKL_Text', nklText);\n      lasteinwirkung.set('KLED_ID', this.get('led'));\n      var ledText = this.ledarray.findBy('id', this.get('led')).name.toString();\n      lasteinwirkung.set('LED_Text', ledText);\n    }),\n    setX3D: function (value, event) {\n      var self = this;\n      var x3ddefault = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      value = parseFloat(value).toFixed(1);\n\n      switch (event.target.name) {\n        case 'bmlast':\n          if (self.get('errors').get(\"bmlast\") === undefined) {\n            x3ddefault.set('bemessungslast', value);\n          }\n\n          break;\n\n        case 'torsionsmoment':\n          if (self.get('errors').get(\"torsionsmoment\") === undefined) {\n            x3ddefault.set('torsionsmoment', value);\n            x3ddefault.set('torsionsmomentEingetragen', true);\n          } else {\n            x3ddefault.set('torsionsmomentEingetragen', false);\n          }\n\n          break;\n      }\n\n      x3ddefault.set('transformHelper', !x3ddefault.get('transformHelper'));\n    },\n\n    setNkl(value) {\n      this.set('nkl', Number(value.target.value));\n    },\n\n    setLed(value) {\n      this.set('led', Number(value.target.value));\n    },\n\n    proceedInput: function () {\n      var self = this; // var ledText = self.ledarray.findBy('id', this.get('led')).name.toString();\n      // var nklText = self.nklarray[self.get('nkl') - 1].name.toString();\n      //\n\n      if (self.validate() === true) {\n        var ledText = this.ledarray.findBy('id', this.get('led')).name.toString();\n        var nklText = self.nklarray[self.get('nkl') - 1].name.toString();\n        var lasteinwirkung = self.store.createRecord('lasteinwirkung', {\n          KLED_ID: self.get('led'),\n          LED_Text: ledText,\n          NKL_ID: self.get('nkl'),\n          NKL_Text: nklText,\n          V_d: self.get('bmlast').replace(\",\", \".\"),\n          Torsionsmoment: self.get('torsionsmoment')\n        });\n        var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n        applicationdata.set('treeLoaded', false);\n        applicationdata.set('initialized', false);\n        applicationdata.set('pdfErstellt', false);\n        var downloadcenter = self.get('downloadcenterController');\n        downloadcenter.set('pdfErstellt', false);\n        self.get('applicationController').set('verbindungsmittelInvalid', true);\n        self.set('displayErrors', false);\n        self.get('applicationController').set('lasteinwirkungInvalid', false);\n        var applicationdataJSON = JSON.stringify(applicationdata);\n        var JSONdata = JSON.stringify(self.get('superController').uebergabedatenErzeugen());\n        console.log('JSONdata: ' + JSONdata);\n        self.get('verbindungsmittelController').set('loading', true);\n        self.set('loading', true);\n        self.transitionToRoute('/verbindungsmittel');\n        var initialized = applicationdata.get('initialized');\n        var server = self.get('applicationController').get('server');\n        var pfad = self.get('applicationController').get('pfad');\n\n        if (!initialized) {\n          _jquery.default.ajax({\n            type: \"POST\",\n            url: server + \"m12/DE/initialisiereBerechnung/\" + self.get('superController').erzeugeAufrufzusatz(false),\n            //url: \"http://136.243.4.143/berechnungsservice/m06/DE/erzeugeSchraubenliste/\",\n            data: {\n              kennung: applicationdataJSON,\n              paras: JSONdata,\n              modul: \"m12\",\n              pfad: pfad\n            }\n          }).done(function (data, statusText, xhr) {\n            var cid = data;\n            applicationdata.set('Calculation_ID', cid);\n            applicationdata.set('initialized', true);\n            self.get('superController').logaufruf(\"initialisiereBerechnung\", xhr.status);\n\n            _jquery.default.ajax({\n              type: \"POST\",\n              url: server + \"m12/DE/erzeugeSchraubenliste/\" + self.get('superController').erzeugeAufrufzusatz(false),\n              data: {\n                cid: cid\n              }\n            }).done(function (data, statusText, xhr) {\n              console.log(data);\n              self.get('superController').logaufruf(\"erzeugeSchraubenliste\", xhr.status);\n\n              if (Number(JSON.parse(data).Item1) === 0) {\n                var liste = JSON.parse(JSON.parse(data).Item2);\n                self.set('verbindungsmittelliste', liste);\n                self.get('verbindungsmittelController').set('sListe', liste);\n                self.get('verbindungsmittelController').setParameterValues(liste, null);\n                self.get('verbindungsmittelController').set('sListeTrigger', !self.get('verbindungsmittelController').get('sListeTrigger'));\n                self.get('verbindungsmittelController').set('keineSchraubenliste', false);\n              } else if (Number(JSON.parse(data).Item1) === 1) {\n                self.get('applicationController').set('verbindungsmittelInvalid', false);\n                self.get('applicationController').get('model').x3ddefault.objectAt(0).set('ergebnisGeladen', true);\n                self.get('verbindungsmittelController').set('infoText', JSON.parse(data).Item3);\n                self.get('verbindungsmittelController').set('keineSchraubenliste', true);\n              }\n\n              self.get('verbindungsmittelController').set('calcid', cid);\n              self.get('verbindungsmittelController').set('loading', false);\n              applicationdata.set('treeLoaded', true);\n              self.set('loading', false);\n            });\n          });\n        } else {\n          var cid = applicationdata.get('Calculation_ID');\n\n          _jquery.default.ajax({\n            type: \"POST\",\n            url: server + \"m12/DE/erzeugeSchraubenliste/\" + self.get('superController').erzeugeAufrufzusatz(false),\n            data: {\n              cid: cid\n            }\n          }).done(function (data, statusText, xhr) {\n            console.log('DATA ' + data);\n            self.get('superController').logaufruf(\"erzeugeSchraubenliste\", xhr.status);\n\n            if (Number(JSON.parse(data).Item1) === 0) {\n              var liste = JSON.parse(JSON.parse(data).Item2);\n              self.verbindungsmittelliste = liste; // var core = treetools.buildTree(liste, true);\n              // self.get('verbindungsmittelController').set('schraubenliste', core);\n\n              self.get('verbindungsmittelController').set('keineSchraubenliste', false);\n            } else if (Number(JSON.parse(data).Item1) === 1) {\n              self.get('applicationController').set('verbindungsmittelInvalid', false);\n              self.get('applicationController').get('model').x3ddefault.objectAt(0).set('ergebnisGeladen', true);\n              self.get('verbindungsmittelController').set('infoText', JSON.parse(data).Item3);\n              self.get('verbindungsmittelController').set('keineSchraubenliste', true);\n            }\n\n            self.get('verbindungsmittelController').set('loading', false);\n            self.get('verbindungsmittelController').set('calcid', cid);\n            applicationdata.set('treeLoaded', true);\n            self.set('loading', false);\n          });\n        }\n      } else {\n        self.set('displayErrors', true);\n        self.get('applicationController').set('lasteinwirkungInvalid', true);\n      }\n    },\n\n    validation(value, event) {\n      var self = this;\n\n      if (!self.openFromFile) {\n        this.setX3D(value, event);\n      }\n\n      if (self.validate() === true) {\n        self.set('displayErrors', false);\n        self.get('applicationController').set('lasteinwirkungInvalid', false);\n        var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n        applicationdata.set('treeLoaded', false);\n        applicationdata.set('initialized', false);\n        self.get('applicationController').set('verbindungsmittelInvalid', true);\n        self.get('applicationController').get('model').x3ddefault.objectAt(0).set('ergebnisGeladen', false);\n        var lasteinwirkung = self.get('applicationController').get('model').lasteinwirkung.objectAt(0);\n        lasteinwirkung.set('V_d', parseFloat(self.get('bmlast')).toFixed(1));\n        lasteinwirkung.set('Torsionsmoment', parseFloat(self.get('torsionsmoment')).toFixed(1));\n      } else {\n        self.set('displayErrors', true);\n        self.get('applicationController').set('lasteinwirkungInvalid', true);\n      }\n    },\n\n    bmlastIsSelected() {\n      var bmlastaktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('bemessungslastAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('bemessungslastAktiv', !bmlastaktiv);\n\n      if (this.get('bmlast') !== \"\") {\n        var bmlastwork = parseFloat(this.get('bmlast').toString().replace(\",\", \".\"));\n        var bmlastrounded = bmlastwork.toFixed(1);\n        this.set('bmlast', bmlastrounded);\n        this.send('validation', bmlastrounded, {\n          target: {\n            name: \"bmlast\"\n          }\n        });\n      }\n\n      if (bmlastaktiv === false) {\n        document.getElementsByName('bmlast')[0].setSelectionRange(0, this.get('bmlast').length);\n      }\n    },\n\n    torsionsmomentIsSelected() {\n      var torsionsmomentAktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('torsionsmomentAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('torsionsmomentAktiv', !torsionsmomentAktiv);\n\n      if (typeof this.get('torsionsmoment') !== 'undefined') {\n        if (this.get('torsionsmoment') !== \"\") {\n          var work = parseFloat(this.get('torsionsmoment').toString().replace(\",\", \".\"));\n          var rounded = work.toFixed(1);\n          this.set('torsionsmoment', rounded);\n          this.send('validation', rounded, {\n            target: {\n              name: \"torsionsmoment\"\n            }\n          });\n        }\n\n        if (torsionsmomentAktiv === false) {\n          document.getElementsByName('torsionsmoment')[0].setSelectionRange(0, this.get('torsionsmoment').length);\n        }\n      }\n    }\n\n  }, (_applyDecoratedDescriptor(_obj, \"setNkl\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setNkl\"), _obj), _applyDecoratedDescriptor(_obj, \"setLed\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setLed\"), _obj), _applyDecoratedDescriptor(_obj, \"validation\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"validation\"), _obj), _applyDecoratedDescriptor(_obj, \"bmlastIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"bmlastIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"torsionsmomentIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"torsionsmomentIsSelected\"), _obj)), _obj));\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/optionen\", [\"exports\", \"m12-2020/mixins/object-validator\"], function (_exports, _objectValidator) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var _default = Ember.Controller.extend(_objectValidator.default, (_obj = {\n    intl: Ember.inject.service(),\n    _min_n0: \"\",\n    _min_n90: \"\",\n    _min_a1cPlatte: \"\",\n    _min_a2cPlatte: \"\",\n    _sicherheitsAbstand: \"\",\n    openFromFile: false,\n    ttmin_n0: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 1 - 999\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttmin_n90: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 1 - 999\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttmin_a1cPlatte: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 1 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttmin_a2cPlatte: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 1 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttsicherheitsAbstand: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 1 - 999.0 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    validations: {\n      _min_n0: {\n        numericality: {\n          onlyInteger: true,\n          greaterThanOrEqualTo: 1,\n          lessThanOrEqualTo: 999,\n          message: \"!\"\n        }\n      },\n      _min_n90: {\n        numericality: {\n          onlyInteger: true,\n          greaterThanOrEqualTo: 1,\n          lessThanOrEqualTo: 999,\n          message: \"!\"\n        }\n      },\n      _min_a1cPlatte: {\n        numericality: {\n          greaterThanOrEqualTo: 0.0,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      },\n      _min_a2cPlatte: {\n        numericality: {\n          greaterThanOrEqualTo: 0.0,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      },\n      _sicherheitsAbstand: {\n        numericality: {\n          greaterThanOrEqualTo: 0.0,\n          lessThanOrEqualTo: 999.0,\n          message: \"!\"\n        }\n      }\n    },\n    applicationController: Ember.inject.controller('application'),\n    // auflagerController: inject('auflager'),\n    // optionenController: inject('optionen'),\n    // lasteinwirkungController: inject('lasteinwirkung'),\n    // superController: inject('supercontroller'),\n    downloadcenterController: Ember.inject.controller('downloadcenter'),\n    init: function () {\n      this._super();\n\n      console.log(\"inti optionen\");\n    },\n    initialisierung: function () {\n      this.set('_min_n0', \"1\");\n      this.set('_min_n90', \"1\");\n      this.set('_min_a1cPlatte', \"0.0\");\n      this.set('_min_a2cPlatte', \"0.0\");\n      this.set('_sicherheitsAbstand', \"0.0\");\n    },\n    setValues: function (values) {\n      var self = this;\n\n      if (self.debug) {\n        console.log(\"values in bauteile: \");\n        console.log(values);\n      }\n\n      this.set('openFromFile', true);\n      this.set('_min_n0', values.min_n0);\n      this.setX3D(parseInt(values.min_n0), {\n        target: {\n          name: \"_min_n0\"\n        }\n      });\n      this.set('_min_n90', values.min_n90);\n      this.setX3D(parseInt(values.min_n90), {\n        target: {\n          name: \"_min_n90\"\n        }\n      });\n      this.set('_min_a1cPlatte', values.min_a1cPlatte);\n      this.setX3D(Number(values.min_a1cPlatte), {\n        target: {\n          name: \"_min_a1cPlatte\"\n        }\n      });\n      this.set('_min_a2cPlatte', values.min_a2cPlatte);\n      this.setX3D(Number(values.min_a2cPlatte), {\n        target: {\n          name: \"_min_a2cPlatte\"\n        }\n      });\n      this.set('_sicherheitsAbstand', values.sicherheitsAbstand);\n      this.setX3D(Number(values.sicherheitsAbstand), {\n        target: {\n          name: \"_sicherheitsAbstand\"\n        }\n      });\n      this.send('validation');\n      this.set('openFromFile', false);\n    },\n    watchNumericalInputs: Ember.observer('_min_a1cPlatte', '_min_a2cPlatte', '_sicherheitsAbstand', function () {\n      var self = this;\n\n      if (!self.openFromFile) {\n        if (self.get('_min_a1cPlatte').toString().indexOf(\",\") !== -1) {\n          self.set('_min_a1cPlatte', self.get('_min_a1cPlatte').toString().replace(\",\", \".\"));\n        }\n\n        if (self.get('_min_a2cPlatte').toString().indexOf(\",\") !== -1) {\n          self.set('_min_a2cPlatte', self.get('_min_a2cPlatte').toString().replace(\",\", \".\"));\n        }\n\n        if (self.get('_sicherheitsAbstand').toString().indexOf(\",\") !== -1) {\n          self.set('_sicherheitsAbstand', self.get('_sicherheitsAbstand').toString().replace(\",\", \".\"));\n        }\n      }\n    }),\n    setX3D: function (value, event) {\n      var self = this;\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      var optionenData = self.get('applicationController').get('model').optionen.objectAt(0);\n      x3d.set('ergebnisGeladen', false);\n      x3d.set('aktuellerSchraubenTyp', 'standardSchraube');\n      x3d.set('schraubenlisteAktualisiert', !x3d.get('schraubenlisteAktualisiert'));\n      value = parseFloat(value).toFixed(1);\n\n      switch (event.target.name) {\n        case '_min_n0':\n          if (self.get('errors').get(\"_min_n0\") === undefined) {\n            x3d.set('min_n0', value);\n            optionenData.set('min_n0', value);\n            x3d.set('_min_n0Eingetragen', true);\n          } else {\n            x3d.set('_min_n0Eingetragen', false);\n          }\n\n          break;\n\n        case '_min_n90':\n          if (self.get('errors').get(\"_min_n90\") === undefined) {\n            x3d.set('min_n90', value);\n            optionenData.set('min_n90', value);\n            x3d.set('min_n90Eingetragen', true);\n          } else {\n            x3d.set('min_n90Eingetragen', false);\n          }\n\n          break;\n\n        case '_min_a1cPlatte':\n          if (self.get('errors').get(\"_min_a1cPlatte\") === undefined) {\n            x3d.set('min_a1cPlatte', value);\n            optionenData.set('min_a1cPlatte', value);\n            x3d.set('min_a1cPlatteEingetragen', true);\n          } else {\n            x3d.set('min_a1cPlatteEingetragen', false);\n          }\n\n          break;\n\n        case '_min_a2cPlatte':\n          if (self.get('errors').get(\"_min_a2cPlatte\") === undefined) {\n            x3d.set('min_a2cPlatte', value);\n            optionenData.set('min_a2cPlatte', value);\n            x3d.set('min_a2cPlatteEingetragen', true);\n          } else {\n            x3d.set('min_a2cPlatteEingetragen', false);\n          }\n\n          break;\n\n        case '_sicherheitsAbstand':\n          if (self.get('errors').get(\"_sicherheitsAbstand\") === undefined) {\n            x3d.set('sicherheitsAbstand', value);\n            optionenData.set('sicherheitsAbstand', value);\n            x3d.set('sicherheitsAbstandEingetragen', true);\n          } else {\n            x3d.set('sicherheitsAbstandEingetragen', false);\n          }\n\n          this.setSchraubenlaenge();\n          break;\n      }\n\n      x3d.set('transformHelper', !x3d.get('transformHelper'));\n      this.get('applicationController').zentriertObjekt();\n    },\n\n    validation(value, event) {\n      var self = this;\n\n      if (!self.openFromFile) {\n        this.setX3D(value, event);\n      }\n\n      if (self.validate() === true) {\n        self.set('displayErrors', false);\n        self.get('applicationController').set('optionenInvalid', false);\n        var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n        applicationdata.set('treeLoaded', false);\n        applicationdata.set('initialized', false);\n        applicationdata.set('pdfErstellt', false);\n        self.get('downloadcenterController').set('pdfErstellt', false);\n        self.get('applicationController').set('verbindungsmittelInvalid', true);\n      } else {\n        self.set('displayErrors', true);\n        self.get('applicationController').set('optionenInvalid', true);\n      }\n    },\n\n    _min_n0IsSelected() {\n      var min_n0Aktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('min_n0Aktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('min_n0Aktiv', !min_n0Aktiv);\n\n      if (min_n0Aktiv === false) {\n        document.getElementsByName('_min_n0')[0].setSelectionRange(0, this.get('_min_n0').length);\n      }\n    },\n\n    _min_n90IsSelected() {\n      var min_n90Aktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('min_n90Aktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('min_n90Aktiv', !min_n90Aktiv);\n\n      if (min_n90Aktiv === false) {\n        document.getElementsByName('_min_n90')[0].setSelectionRange(0, this.get('_min_n90').length);\n      }\n    },\n\n    _min_a1cPlatteIsSelected() {\n      var min_a1cPlatteAktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('min_a1cPlatteAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('min_a1cPlatteAktiv', !min_a1cPlatteAktiv);\n\n      if (this.get('_min_a1cPlatte') !== \"\") {\n        var work = parseFloat(this.get('_min_a1cPlatte').toString().replace(\",\", \".\"));\n        var rounded = work.toFixed(1);\n        this.set('_min_a1cPlatte', rounded);\n        this.send('validation', rounded, {\n          target: {\n            name: \"_min_a1cPlatte\"\n          }\n        });\n      }\n\n      if (min_a1cPlatteAktiv === false) {\n        document.getElementsByName('_min_a1cPlatte')[0].setSelectionRange(0, this.get('_min_a1cPlatte').length);\n      }\n    },\n\n    _min_a2cPlatteIsSelected() {\n      var min_a2cPlatteAktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('min_a2cPlatteAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('min_a2cPlatteAktiv', !min_a2cPlatteAktiv);\n\n      if (this.get('_min_a2cPlatte') !== \"\") {\n        var work = parseFloat(this.get('_min_a2cPlatte').toString().replace(\",\", \".\"));\n        var rounded = work.toFixed(1);\n        this.set('_min_a2cPlatte', rounded);\n        this.send('validation', rounded, {\n          target: {\n            name: \"_min_a2cPlatte\"\n          }\n        });\n      }\n\n      if (min_a2cPlatteAktiv === false) {\n        document.getElementsByName('_min_a2cPlatte')[0].setSelectionRange(0, this.get('_min_a2cPlatte').length);\n      }\n    },\n\n    _sicherheitsAbstandIsSelected() {\n      var sicherheitsAbstandAktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('sicherheitsAbstandAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('sicherheitsAbstandAktiv', !sicherheitsAbstandAktiv);\n\n      if (this.get('_sicherheitsAbstand') !== \"\") {\n        var work = parseFloat(this.get('_sicherheitsAbstand').toString().replace(\",\", \".\"));\n        var rounded = work.toFixed(1);\n        this.set('_sicherheitsAbstand', rounded);\n        this.send('validation', rounded, {\n          target: {\n            name: \"_sicherheitsAbstand\"\n          }\n        });\n      }\n\n      if (sicherheitsAbstandAktiv === false) {\n        document.getElementsByName('_sicherheitsAbstand')[0].setSelectionRange(0, this.get('_sicherheitsAbstand').length);\n      }\n    },\n\n    setGrenzwert: function (feldname, grenzwertMax) {\n      var self = this;\n      self.set('validations._' + feldname + '.numericality.lessThanOrEqualTo', Number(grenzwertMax));\n      self.set('tt' + feldname, self.get('intl').t('wertebereich') + \" 0 - \" + grenzwertMax + \" [cm]\");\n    },\n    setSchraubenlaenge: function () {\n      var self = this;\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      var bauteile = self.get('applicationController').get('model').x3ddefault.objectAt(0).get('bauteile');\n      var propertiesSchraubeStandard1 = bauteile.findBy('id', 'schraubeStandard1').get('screwProperties').objectAt(0);\n      var length = Number(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('y')) - Number(x3d.get('sicherheitsAbstand'));\n\n      if (x3d.get('gabellager') === true) {\n        var traegerbreite = bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('z');\n        var zinkenbreite = 5;\n        length = Number(zinkenbreite) / 2 + Number(traegerbreite) + Number(zinkenbreite);\n      }\n\n      propertiesSchraubeStandard1.set('length', length);\n      propertiesSchraubeStandard1.set('threadlengthtip', length);\n    }\n  }, (_applyDecoratedDescriptor(_obj, \"validation\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"validation\"), _obj), _applyDecoratedDescriptor(_obj, \"_min_n0IsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"_min_n0IsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"_min_n90IsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"_min_n90IsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"_min_a1cPlatteIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"_min_a1cPlatteIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"_min_a2cPlatteIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"_min_a2cPlatteIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"_sicherheitsAbstandIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"_sicherheitsAbstandIsSelected\"), _obj)), _obj));\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/projektdaten\", [\"exports\", \"m12-2020/mixins/model-validator\", \"jquery\"], function (_exports, _modelValidator, _jquery) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var _default = Ember.Controller.extend(_modelValidator.default, (_obj = {\n    debug: true,\n    plzservice: true,\n    displayErrors: true,\n    displayTooltips: false,\n    bvort: \"\",\n    vort: \"\",\n    orte: \"\",\n    bvname: \"\",\n    bvplz: \"\",\n    bvstrasse: \"\",\n    vname: \"\",\n    vstrasse: \"\",\n    vplz: \"\",\n    vtel: \"\",\n    vfax: \"\",\n    vemail: \"\",\n    bezeichnung: \"\",\n    beschreibung: \"\",\n    kdnum: \"\",\n    bemerkungstext: \"\",\n    validations: function () {\n      var v = {\n        bvname: {\n          length: {\n            minimum: 3\n          }\n        },\n        bvstrasse: {\n          length: {\n            minimum: 3\n          }\n        },\n        bvplz: {\n          length: 5,\n          format: {\n            with: /^[0-9]/\n          }\n        },\n        bvort: {\n          length: {\n            minimum: 2\n          }\n        },\n        vname: {\n          length: {\n            minimum: 3\n          }\n        },\n        vstrasse: {\n          length: {\n            minimum: 3\n          }\n        },\n        vplz: {\n          length: 5,\n          format: {\n            with: /^[0-9]/\n          }\n        },\n        vort: {\n          length: {\n            minimum: 2\n          }\n        },\n        vfax: {\n          format: {\n            with: /^[0-9]{7,25}/\n          }\n        },\n        vtel: {\n          format: {\n            with: /^[0-9]{7,25}/\n          }\n        },\n        vemail: {\n          format: {\n            with: /^[-a-z0-9~!$%^&*_=+}{'?]+(\\.[-a-z0-9~!$%^&*_=+}{'?]+)*@([a-z0-9_][-a-z0-9_]*(\\.[-a-z0-9_]+)*\\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))(:[0-9]{1,5})?$/i\n          }\n        },\n        bezeichnung: {\n          length: {\n            minimum: 2\n          }\n        },\n        beschreibung: {\n          length: {\n            minimum: 2\n          }\n        },\n        kdnum: {\n          format: {\n            with: /^[0-9]{5,25}/\n          }\n        }\n      };\n      return v;\n    },\n    setValues: function (values) {\n      this.set('plzservice', false);\n\n      if (this.debug) {\n        console.log(\"values in projektdaten: \");\n      }\n\n      this.set('bvname', values.bvname);\n      this.set('bvplz', values.bvplz);\n      this.set('bvort', values.bvort);\n      this.set('bvstrasse', values.bvstrasse);\n      this.set('vname', values.vname);\n      this.set('vstrasse', values.vstrasse);\n      this.set('vort', values.vort);\n      this.set('vplz', values.vplz);\n      this.set('vtel', values.vtel);\n      this.set('vfax', values.vfax);\n      this.set('vemail', values.vemail);\n      this.set('bezeichnung', values.bezeichnung);\n      this.set('beschreibung', values.beschreibung);\n      this.set('kdnum', values.kdnum);\n      this.set('bemerkungstext', values.bemerkungstext);\n      this.send('storeValues');\n    },\n\n    /**\n     * Observes the Bvplz input. If the input length is 5 it triggers a webservice to get the city name to the zip code.\n     * The city name is set as city in the input field.\n     *\n     * @method watchBvplz\n     */\n    watchBvplz: Ember.observer('bvplz', function () {\n      if (this.plzservice === true) {\n        var self = this;\n        var bvplz = self.get('bvplz');\n        console.log(self.get('bvplz')); // var url = \"https://timberconnect.de/api/plz/getOrte/\" + bvplz;\n\n        if (bvplz.length === 5) {\n          _jquery.default.get(\"https://timberconnect.de/api/plz/getOrte/\" + bvplz, function (data) {\n            var ortsdaten = data[0];\n            var ort = ortsdaten.split(\";\")[1];\n            console.log(ort);\n            self.set('bvort', ort);\n          });\n        }\n      }\n    }),\n\n    /**\n     * Observes the vplz input. If the input length is 5 it triggers a webservice to get the city name to the zip code.\n     * The city name is set as city in the input field.\n     *\n     * @method watchVplz\n     */\n    watchVplz: Ember.observer('vplz', function () {\n      if (this.plzservice === true) {\n        var self = this;\n        console.log(self.get('vplz'));\n        var vplz = self.get('vplz');\n\n        if (vplz.length === 5) {\n          _jquery.default.get(\"https://timberconnect.de/api/plz/getOrte/\" + vplz, function (data) {\n            // var orte = [];\n            // var ortelength = data.length;\n            var ortsdaten = data[0];\n            var ort = ortsdaten.split(\";\")[1];\n            console.log(ort);\n            self.set('vort', ort);\n          });\n        }\n      }\n    }),\n\n    /**\n    * Stores all values from the input forms in the projektdaten store.\n    *\n    * @method ACTION: storeValues\n    */\n    appController: Ember.inject.controller('application'),\n\n    storeValues() {\n      console.log('storeValues'); // this.get('appController').test();\n\n      console.log(this.get('appController').get('model'));\n      console.log(this.get('appController').get('model').projektdaten);\n      console.log(this.get('appController').get('model').projektdaten.objectAt(0));\n      console.log(\"bvname: \" + this.get('appController').get('model').projektdaten.objectAt(0).get('bvname'));\n      console.log(this.get('bvname'));\n      var projektdaten = this.get('appController').get('model').projektdaten.objectAt(0);\n      var self = this;\n      projektdaten.set('bvname', self.get('bvname').toString().replace(\",\", \".\"));\n      projektdaten.set('bvplz', self.get('bvplz').replace(\",\", \".\"));\n      projektdaten.set('bvstrasse', self.get('bvstrasse').replace(\",\", \".\"));\n      projektdaten.set('bvort', self.get('bvort').replace(\",\", \".\"));\n      projektdaten.set('vname', self.get('vname').replace(\",\", \".\"));\n      projektdaten.set('vstrasse', self.get('vstrasse').replace(\",\", \".\"));\n      projektdaten.set('vplz', self.get('vplz').replace(\",\", \".\"));\n      projektdaten.set('vort', self.get('vort').replace(\",\", \".\"));\n      projektdaten.set('vtel', self.get('vtel').replace(\",\", \".\"));\n      projektdaten.set('vfax', self.get('vfax').replace(\",\", \".\"));\n      projektdaten.set('vemail', self.get('vemail').replace(\",\", \".\"));\n      projektdaten.set('bezeichnung', self.get('bezeichnung').replace(\",\", \".\"));\n      projektdaten.set('beschreibung', self.get('beschreibung').replace(\",\", \".\"));\n      projektdaten.set('kdnum', self.get('kdnum').replace(\",\", \".\"));\n      projektdaten.set('bemerkungstext', self.get('bemerkungstext'));\n    },\n\n    bvnameIsSelected() {\n      console.log('bvnameIsSelected');\n      document.getElementsByName('bvname')[0].setSelectionRange(0, this.bvname.toString().length);\n    },\n\n    bvstrasseIsSelected() {\n      document.getElementsByName('bvstrasse')[0].setSelectionRange(0, this.bvstrasse.length);\n    },\n\n    bvplzIsSelected() {\n      document.getElementsByName('bvplz')[0].setSelectionRange(0, this.bvplz.length);\n    },\n\n    bvortIsSelected() {\n      document.getElementsByName('bvort')[0].setSelectionRange(0, this.bvort.length);\n    },\n\n    bezeichnungIsSelected() {\n      document.getElementsByName('bezeichnung')[0].setSelectionRange(0, this.bezeichnung.length);\n    },\n\n    beschreibungIsSelected() {\n      document.getElementsByName('beschreibung')[0].setSelectionRange(0, this.beschreibung.length);\n    },\n\n    vnameIsSelected() {\n      document.getElementsByName('vname')[0].setSelectionRange(0, this.vname.length);\n    },\n\n    kdnumIsSelected() {\n      document.getElementsByName('kdnum')[0].setSelectionRange(0, this.kdnum.length);\n    },\n\n    vstrasseIsSelected() {\n      document.getElementsByName('vstrasse')[0].setSelectionRange(0, this.vstrasse.length);\n    },\n\n    vplzIsSelected() {\n      document.getElementsByName('vplz')[0].setSelectionRange(0, this.vplz.length);\n    },\n\n    vortIsSelected() {\n      document.getElementsByName('vort')[0].setSelectionRange(0, this.vort.length);\n    },\n\n    vtelIsSelected() {\n      document.getElementsByName('vtel')[0].setSelectionRange(0, this.vtel.length);\n    },\n\n    vfaxIsSelected() {\n      document.getElementsByName('vfax')[0].setSelectionRange(0, this.vfax.length);\n    },\n\n    vemailIsSelected() {\n      document.getElementsByName('vemail')[0].setSelectionRange(0, this.vemail.length);\n    },\n\n    bemerkungstextIsSelected() {\n      document.getElementsByName('bemerkungstext')[0].setSelectionRange(0, this.bemerkungstext.length);\n    },\n\n    toggleTextArea() {\n      (0, _jquery.default)('#bemerkungenTextAreaID').toggleClass('fullsize');\n\n      if ((0, _jquery.default)('#bemerkungenTextAreaID').offset().top < (0, _jquery.default)('#threedee').offset().top + (0, _jquery.default)('#x3d').height() + 20) {\n        var newMargin = (0, _jquery.default)('#threedee').offset().top + (0, _jquery.default)('#x3d').height() + 20 - (0, _jquery.default)('#bemerkungenTextAreaID').offset().top;\n        (0, _jquery.default)('#bemerkungenArea').css('margin-top', newMargin);\n      }\n    }\n\n  }, (_applyDecoratedDescriptor(_obj, \"storeValues\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"storeValues\"), _obj), _applyDecoratedDescriptor(_obj, \"bvnameIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"bvnameIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"bvstrasseIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"bvstrasseIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"bvplzIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"bvplzIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"bvortIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"bvortIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"bezeichnungIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"bezeichnungIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"beschreibungIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"beschreibungIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"vnameIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"vnameIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"kdnumIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"kdnumIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"vstrasseIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"vstrasseIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"vplzIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"vplzIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"vortIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"vortIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"vtelIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"vtelIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"vfaxIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"vfaxIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"vemailIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"vemailIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"bemerkungstextIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"bemerkungstextIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"toggleTextArea\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"toggleTextArea\"), _obj)), _obj));\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/supercontroller\", [\"exports\", \"m12-2020/mixins/model-validator\", \"jquery\"], function (_exports, _modelValidator, _jquery) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Controller.extend(_modelValidator.default, {\n    applicationController: Ember.inject.controller('application'),\n    auflagerController: Ember.inject.controller('auflager'),\n    verbindungsmittelController: Ember.inject.controller('verbindungsmittel'),\n    downloadcenterController: Ember.inject.controller('verbindungsmittel'),\n    testAusgabe: function (text) {\n      console.log(\"##### Supercontroller Test #####\");\n      console.log(text);\n    },\n    resetVerbindungsmittel: function () {\n      var self = this;\n      var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n      applicationdata.set('treeLoaded', false);\n      applicationdata.set('initialized', false);\n      applicationdata.set('pdfErstellt', false);\n      applicationdata.set('dxfErstellt', false);\n      self.get('applicationController').set('verbindungsmittelInvalid', true);\n      self.get('downloadcenterController').set('pdfErstellt', false);\n      self.get('downloadcenterController').set('dxfErstellt', false);\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      x3d.set('aktuellerSchraubenTyp', 'standardSchraube');\n      x3d.set('ergebnisGeladen', false);\n      x3d.set('schraubenlisteAktualisiert', !x3d.get('schraubenlisteAktualisiert'));\n    },\n    uebergabedatenErzeugen: function () {\n      var self = this;\n      var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n      var applicationdataJSON = JSON.stringify(applicationdata);\n      var projektdatendata = self.get('applicationController').get('model').projektdaten.objectAt(0);\n      var projektdatendataJSON = JSON.stringify(projektdatendata);\n      var traegerdata = self.get('applicationController').get('model').traeger.objectAt(0);\n      var traegerdataJSON = JSON.stringify(traegerdata);\n      var auflagerdata = self.get('applicationController').get('model').auflager.objectAt(0);\n      var auflagerdataJSON = JSON.stringify(auflagerdata);\n      var optionendata = self.get('applicationController').get('model').optionen.objectAt(0);\n      var optionendataJSON = JSON.stringify(optionendata);\n      var lasteinwirkungdata = self.get('applicationController').get('model').lasteinwirkung.objectAt(0);\n      var lasteinwirkungdataJSON = JSON.stringify(lasteinwirkungdata);\n\n      if (self.debug) {\n        console.log(\"projektdatendata: \" + projektdatendataJSON);\n        console.log(\"applicationdataJSON: \" + applicationdataJSON);\n        console.log(\"traegerdataJSON: \" + traegerdataJSON);\n        console.log(\"auflagerdataJSON: \" + auflagerdataJSON);\n        console.log(\"lasteinwirkungdataJSON: \" + lasteinwirkungdataJSON);\n      }\n\n      var uebergabedaten = _jquery.default.extend(true, JSON.parse(applicationdataJSON), JSON.parse(projektdatendataJSON), JSON.parse(traegerdataJSON), JSON.parse(auflagerdataJSON), JSON.parse(optionendataJSON), JSON.parse(lasteinwirkungdataJSON));\n\n      var timberelement = {\n        \"Querschnittswerte\": {\n          \"QuerschnittsID\": \"1\",\n          \"t_Fastener\": traegerdata.get('TimberElement_b'),\n          \"b\": traegerdata.get('TimberElement_b'),\n          \"h\": traegerdata.get('TimberElement_h')\n        },\n        \"vorgebohrt\": traegerdata.get('TimberElement_Predrilled'),\n        \"alphaRAD_KraftFaser\": \"0.0\",\n        \"alphaRAD_vmFaser\": traegerdata.get('alphaRAD_vmFaser'),\n        \"betaRAD_vmFurnier\": \"90.0\",\n        \"MatKey\": traegerdata.get('MatKeyTimberElement'),\n        \"FKLKey\": traegerdata.get('FKLKeyTimberElement')\n      };\n      var berechnungsoptionen = {\n        \"min_n0\": Number(optionendata.get('min_n0')),\n        \"min_n90\": Number(optionendata.get('min_n90')),\n        \"min_a1cPlatte\": Number(optionendata.get('min_a1cPlatte')),\n        \"min_a2cPlatte\": Number(optionendata.get('min_a2cPlatte')),\n        \"sicherheitsAbstand\": Number(optionendata.get('sicherheitsAbstand'))\n      };\n      uebergabedaten.timberelem = timberelement;\n      uebergabedaten.berechnungsoptionen = berechnungsoptionen;\n      return uebergabedaten;\n    },\n    erzeugeAufrufzusatz: function (zweiterzusatz) {\n      // Aufrufe\tZusatz1\tZusatz2\n      // initialisiereBerechnung\t\"?\"+kennungland_loadsNA_timberNA\n      // getKompaktergebnis\t\"?\"+kennungland_loadsNA_timberNA\t\"_\"+artikelnummer.replace(' ','+')\n      // erzeugeSchraubenliste\t\"?\"+kennungland_loadsNA_timberNA\n      // erzeugeAusgabe\t\"?\"+kennungland_loadsNA_timberNA\t\"_\"+artikelnummer.replace(' ','+')\n      // erzeugeDXF\t\"?\"+kennungland_loadsNA_timberNA\t\"_\"+artikelnummer.replace(' ','+')\n      // speichereBerechnung\t\"?\"+kennungland_loadsNA_timberNA\n      //\n      // Beispiel\n      // erzeugeAusgabe/?CH_CH_DE_0170+350+45\n      var self = this;\n      var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n      var verbindungsmittel = self.get('verbindungsmittelController');\n      var zusatzString = \"?\" + applicationdata.get(\"kennungland\") + \"_\" + applicationdata.get(\"loadsNA\") + \"_\" + applicationdata.get(\"timberNA\");\n\n      if (zweiterzusatz === true) {\n        var artikelnummer;\n\n        if (typeof verbindungsmittel.get('selectedNodes')[0] === 'undefined') {\n          artikelnummer = \"Keine Artikel ausgewaehlt\";\n        } else {\n          artikelnummer = verbindungsmittel.get('selectedNodes')[0].data.ArtNr;\n        }\n\n        zusatzString = zusatzString + \"_\" + artikelnummer.replace(/ /g, '+');\n      }\n\n      return zusatzString;\n    },\n    setTraegerLaenge: function (bauteile) {\n      var self = this;\n      var auflagernaheEinzellast = 0;\n      var lLager = Number(bauteile.findBy('id', 'auflager').get('boxsizes').objectAt(0).get('x'));\n      var lSteutze = Number(bauteile.findBy('id', 'gabellager').get('boxsizes').objectAt(0).get('x'));\n      var traegerlaenge = 1.5 * Number(bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).get('y'));\n\n      if (self.get('auflagerController').get('auflagernaheeinzellast') === true) {\n        auflagernaheEinzellast = Number(bauteile.findBy('id', 'auflagernaheEinzellast').get('translations').objectAt(0).get('x'));\n      }\n\n      traegerlaenge = traegerlaenge + (Number(bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('ueberstand')) + auflagernaheEinzellast);\n\n      if (self.get('auflagerController').get('aTyp') === true) {\n        traegerlaenge = lLager > lSteutze ? traegerlaenge + lLager : traegerlaenge + lLager + (lSteutze - lLager) / 2;\n      } else {\n        traegerlaenge = lLager > lSteutze ? traegerlaenge + lLager : traegerlaenge + lLager + (lSteutze - lLager);\n      }\n\n      bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).set('x', traegerlaenge);\n    },\n    logaufruf: function (_aufruf, _status, _showOutput, _logAnServerSendenErzwingen) {\n      var self = this;\n      var application = self.get('applicationController');\n      var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n      var date = new Date();\n      var datuminticks = date.getTime() * 10000 + 621355968000000000;\n\n      if (_showOutput) {\n        console.log(\" \");\n        console.log(\"***** logaufruf von *****\");\n        console.log(_aufruf);\n      }\n\n      var tc = applicationdata.get('timberCode').replace(\" \", \"\").substring(0, 3);\n      var lc = applicationdata.get('loadsCode').replace(\" \", \"\").substring(0, 3);\n      var guid = \"00000000-0000-0000-0000-000000000000\";\n      var guidlength = guid.length;\n      var cidlength = applicationdata.get('Calculation_ID').length;\n      guid = guid.substring(0, guidlength - cidlength) + applicationdata.get('Calculation_ID');\n      var logdaten = {\n        \"datum\": datuminticks,\n        \"bid\": guid,\n        \"request\": 0,\n        \"firma\": enums.Firma.findBy(\"bezeichnung\", applicationdata.get('firm')).id,\n        \"modul\": enums.Modul.findBy(\"bezeichnung\", \"m12\").id,\n        \"bemessung\": enums.NormBemessung.findBy(\"bezeichnung\", tc).id,\n        \"bemessungNAD\": enums.Sprache.findBy(\"bezeichnung\", applicationdata.get('timberNA').toLowerCase()).id,\n        \"lastannahmen\": enums.NormLastannahmen.findBy(\"bezeichnung\", lc).id,\n        \"lastannahmenNAD\": enums.Sprache.findBy(\"bezeichnung\", applicationdata.get('loadsNA').toLowerCase()).id,\n        \"eingabeSprache\": enums.Sprache.findBy(\"bezeichnung\", applicationdata.get('spracheinput').toLowerCase()).id,\n        \"ausgabeSprache\": enums.Sprache.findBy(\"bezeichnung\", applicationdata.get('spracheoutput').toLowerCase()).id,\n        \"kennungLand\": enums.Sprache.findBy(\"bezeichnung\", applicationdata.get('kennungland').toLowerCase()).id,\n        \"katalog\": enums.Sprache.findBy(\"bezeichnung\", applicationdata.get('katalog').toLowerCase()).id,\n        \"methode\": enums.Methode.findBy(\"bezeichnung\", _aufruf).id,\n        \"userIp\": null,\n        \"userName\": applicationdata.get('userName'),\n        \"url\": null,\n        \"status\": _status,\n        \"artikelnummer\": applicationdata.get('selectedScrew')\n      };\n\n      if (_showOutput) {\n        console.log(\"zu lockende Daten:\");\n        console.log(logdaten);\n      }\n\n      var form = new FormData();\n      form.append(\"\", JSON.stringify(logdaten)); // form.append(\"\", \"{\\\"datum\\\":12345,\\\"bid\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"request\\\":0,\\\"firma\\\":1,\\\"modul\\\":0,\\\"bemessung\\\":0,\\\"bemessungNAD\\\":0,\\\"lastannahmen\\\":0,\\\"lastannahmenNAD\\\":0,\\\"eingabeSprache\\\":0,\\\"ausgabeSprache\\\":0,\\\"katalog\\\":0,\\\"methode\\\":0,\\\"userIp\\\":null,\\\"url\\\":null,\\\"status\\\":0,\\\"artikelnummer\\\":4711}\");\n\n      var environment = externalConfig.environments[application.get('environment')];\n      var url = externalConfig[environment].uriLogservice; // var url = \"http://assy-bemessung.online/webapi/speichereAktion\";\n      // var url = \"https://onlinebemessung.software/webapi/speichereAktion\";\n\n      var liveVersion = application.get('environment').search('dev') !== -1 ? false : true;\n\n      if (liveVersion === true || _logAnServerSendenErzwingen === true) {\n        _jquery.default.ajax({\n          \"type\": \"POST\",\n          \"url\": url,\n          \"processData\": false,\n          \"contentType\": false,\n          data: form\n        }).done(function (data, statusText, xhr) {\n          if (_showOutput) {\n            console.log(\"Daten gelockt: \" + data);\n            console.log(\"statusText: \" + statusText + \" ::: status: \" + xhr.status); // xhr.status --> 200\n\n            console.log(\" \");\n          }\n        });\n      } // testen von der Browserkonsole --> M12.__container__.lookup('controller:supercontroller').logaufruf('erzeugeDXF', 4444, true, true);\n\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/traeger\", [\"exports\", \"m12-2020/mixins/object-validator\"], function (_exports, _objectValidator) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var _default = Ember.Controller.extend(_objectValidator.default, (_obj = {\n    debug: true,\n    openFromFile: false,\n    c26: false,\n    displayErrors: true,\n    material: undefined,\n    honk: null,\n    intl: Ember.inject.service(),\n    ttHoeheHT: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 10 - 999.9 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttBreiteHT: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 5 - 999.9 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttHoeheNT: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 10 - 999.9 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    ttBreiteNT: Ember.computed('intl.locale', {\n      get(key) {\n        return this.get('intl').t('wertebereich') + \" 5 - 999.9 [cm]\";\n      },\n\n      set(key, value) {\n        return value;\n      }\n\n    }),\n    applicationController: Ember.inject.controller('application'),\n    auflagerController: Ember.inject.controller('auflager'),\n    optionenController: Ember.inject.controller('optionen'),\n    lasteinwirkungController: Ember.inject.controller('lasteinwirkung'),\n    superController: Ember.inject.controller('supercontroller'),\n    downloadcenterController: Ember.inject.controller('downloadcenter'),\n    hauptnebentraeger: '',\n    htbreite: \"\",\n    hthoehe: \"\",\n    toolTip: \"test tooltip\",\n    ntfkl: 5,\n    ntholz: 0,\n    httraeger: true,\n    validations: {\n      htbreite: {\n        numericality: {\n          greaterThanOrEqualTo: 5,\n          lessThanOrEqualTo: 999.9,\n          message: \"!\"\n        }\n      },\n      hthoehe: {\n        numericality: {\n          greaterThanOrEqualTo: 10,\n          lessThanOrEqualTo: 999.9,\n          message: \"!\"\n        }\n      }\n    },\n    ntmaterial: [{\n      name: \"Vollholz Nadelholz\",\n      ind: 0\n    }, {\n      name: \"Brettschichtholz homogen\",\n      ind: 1\n    }, {\n      name: \"Brettschichtholz kombiniert\",\n      ind: 13\n    }],\n    fkl_vh: [{\n      fklind: 0,\n      fkl: \"C14\"\n    }, {\n      fklind: 1,\n      fkl: \"C16\"\n    }, {\n      fklind: 2,\n      fkl: \"C18\"\n    }, {\n      fklind: 3,\n      fkl: \"C20\"\n    }, {\n      fklind: 4,\n      fkl: \"C22\"\n    }, {\n      fklind: 5,\n      fkl: \"C24\"\n    }, {\n      fklind: 6,\n      fkl: \"C27\"\n    }, {\n      fklind: 7,\n      fkl: \"C30\"\n    }, {\n      fklind: 8,\n      fkl: \"C35\"\n    }, {\n      fklind: 9,\n      fkl: \"C40\"\n    }, {\n      fklind: 10,\n      fkl: \"C45\"\n    }, {\n      fklind: 11,\n      fkl: \"C50\"\n    }],\n    fkl_bsh: [{\n      fklind: 20,\n      fkl: \"GL24h\"\n    }, {\n      fklind: 21,\n      fkl: \"GL28h\"\n    }, {\n      fklind: 24,\n      fkl: \"GL30h\"\n    }, {\n      fklind: 23,\n      fkl: \"GL32h\"\n    }],\n    fkl_bsh_kombi: [{\n      fklind: 30,\n      fkl: \"GL24c\"\n    }, {\n      fklind: 31,\n      fkl: \"GL28c\"\n    }, {\n      fklind: 34,\n      fkl: \"GL30c\"\n    }, {\n      fklind: 33,\n      fkl: \"GL32c\"\n    }],\n    ntfklarray: undefined,\n    init: function () {\n      this._super();\n    },\n    initialisierung: function () {\n      this.setSelectFieldsContent();\n      this.set('hauptnebentraeger', this.get('intl').t('bemessungslast').toString());\n      this.send('validation', -1, {\n        target: {\n          name: \"foobar\"\n        }\n      });\n    },\n    setValues: function (values) {\n      var self = this;\n\n      if (self.debug) {\n        console.log(\"values in bauteile: \");\n        console.log(values);\n      }\n\n      var htbreiteEvent = {\n        target: {\n          name: \"htbreite\"\n        }\n      };\n      var hthoeheEvent = {\n        target: {\n          name: \"hthoehe\"\n        }\n      };\n      this.set('openFromFile', true);\n      this.set('htbreite', values.TimberElement_b);\n      this.setX3D(parseFloat(values.TimberElement_b), htbreiteEvent);\n      this.set('hthoehe', values.TimberElement_h);\n      this.setX3D(parseFloat(values.TimberElement_h), hthoeheEvent);\n      this.set('ntholz', parseInt(values.MatKeyTimberElement));\n      this.set('ntfkl', parseInt(values.FKLKeyTimberElement));\n      this.send('validation');\n      this.set('openFromFile', false);\n    },\n    setSelectFieldsContent: function () {\n      var self = this;\n      self.setMaterialien();\n      self.setFKL();\n    },\n    setMaterialien: function () {\n      var self = this;\n      var indices = [0, 1, 13];\n      self.set('ntmaterial', self.getSelectFieldContent('materialienDB', indices, self.get('ntholz')));\n    },\n    setFKL: function (indices) {\n      var self = this;\n\n      if (self.get('ntholz') === 1) {\n        indices = [20, 21, 24, 22];\n        self.set('ntfklarray', self.getSelectFieldContent('fkl_bsh', indices, self.get('ntfkl')));\n        self.set('ntfkl', 20);\n      } else if (self.get('ntholz') === 13) {\n        indices = [30, 31, 34, 32];\n        self.set('ntfklarray', self.getSelectFieldContent('fkl_bsh_kombi', indices, self.get('ntfkl')));\n        self.set('ntfkl', 30);\n      } else {\n        indices = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n        self.set('ntfklarray', self.getSelectFieldContent('fkl_vh', indices, self.get('ntfkl')));\n        self.set('ntfkl', 5);\n      }\n    },\n    getSelectFieldContent: function (db, indexes, selectedValue) {\n      var self = this;\n      var tmp = [];\n      var dbContent = self.getDBContent(db);\n\n      for (var i = 0; i < indexes.length; i++) {\n        for (var k = 0; k < dbContent.length; k++) {\n          if (dbContent[k].id === indexes[i]) {\n            tmp.push({\n              id: dbContent[k].id,\n              name: this.get('intl').t(dbContent[k].name),\n              selected: selectedValue === dbContent[k].id ? true : false\n            });\n          }\n        }\n      }\n\n      return tmp;\n    },\n    getDBContent: function (db) {\n      var dbContent = [];\n\n      switch (db) {\n        case 'materialienDB':\n          dbContent = materialienDB.materialien_de;\n          break;\n\n        case 'fkl_vh':\n          dbContent = fklDB_new.fkl_vh.fklassen;\n          break;\n\n        case 'fkl_bsh':\n          dbContent = fklDB_new.fkl_bsh.fklassen;\n          break;\n\n        case 'fkl_bsh_kombi':\n          dbContent = fklDB_new.fkl_bsh_kombi.fklassen;\n          break;\n      }\n\n      return dbContent;\n    },\n    getValueFromSelectField: function (contentArray, index) {\n      var tmp = \"\";\n      var len = contentArray.length;\n\n      for (var i = 0; i < len; i++) {\n        if (contentArray[i].id === index) {\n          tmp = contentArray[i].name;\n        }\n      }\n\n      return tmp;\n    },\n    watchNumericalInputs: Ember.observer('htbreite', 'hthoehe', function () {\n      if (!this.openFromFile) {\n        if (this.get('htbreite').toString().indexOf(\",\") !== -1) {\n          this.set('htbreite', this.get('htbreite').toString().replace(\",\", \".\"));\n        }\n\n        if (this.get('hthoehe').toString().indexOf(\",\") !== -1) {\n          this.set('hthoehe', this.get('hthoehe').toString().replace(\",\", \".\"));\n        }\n      }\n    }),\n\n    setNtMaterial(value) {\n      this.set('ntholz', Number(value.target.value));\n      this.setFKL();\n    },\n\n    setNtFKL(value) {\n      this.set('ntfkl', Number(value.target.value));\n    },\n\n    watchComboboxes: Ember.observer('ntholz', 'ntfkl', function () {\n      var self = this;\n      self.get('superController').resetVerbindungsmittel();\n      var traeger = this.get('applicationController').get('model').traeger.objectAt(0);\n      traeger.set('MatKeyTimberElement', this.get('ntholz'));\n      traeger.set('FKLKeyTimberElement', this.get('ntfkl')); // self.get('lasteinwirkungController').setnklarray();\n      // self.get('lasteinwirkungController').send('validation', self.get('lasteinwirkungController').get('vorbelastung'), {target: {name: \"vorbelastung\"}});\n    }),\n    setX3D: function (value, event) {\n      var x3d = this.get('applicationController').get('model').x3ddefault.objectAt(0);\n      var bauteile = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('bauteile');\n      var self = this;\n      x3d.set('ergebnisGeladen', false);\n      x3d.set('aktuellerSchraubenTyp', 'standardSchraube');\n      x3d.set('schraubenlisteAktualisiert', !x3d.get('schraubenlisteAktualisiert'));\n      value = parseFloat(value).toFixed(1);\n\n      switch (event.target.name) {\n        case 'htbreite':\n          if (typeof self.get('errors').get(\"htbreite\") === \"undefined\") {\n            bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).set('z', value);\n            x3d.set('htBreiteEingetragen', true);\n            self.get('auflagerController').set('ttBreiteA', self.get('intl').t('wertebereich') + \" 0.1 - \" + self.get('htbreite') + \" [cm]\");\n            self.get('auflagerController').set('validations.abreite.numericality.lessThanOrEqualTo', Number(value));\n\n            if (Number(self.get('auflagerController').get('abreite')) > Number(value)) {\n              self.get('auflagerController').set('abreite', value);\n              self.get('auflagerController').send('validation', value, {\n                target: {\n                  name: \"abreite\"\n                }\n              });\n            }\n          } else {\n            x3d.set('htBreiteEingetragen', false);\n          }\n\n          break;\n\n        case 'hthoehe':\n          if (typeof self.get('errors').get(\"hthoehe\") === \"undefined\") {\n            bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).set('y', value); // if(bauteile.findBy('id', 'auflager').get('erweiterteeigenschaften').objectAt(0).get('istendauflager')){\n            //   bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).set('x', 1.5*value);\n            // }else{\n            //   bauteile.findBy('id', 'traeger').get('boxsizes').objectAt(0).set('x', 3*value);\n            // }\n\n            self.get('optionenController').setGrenzwert(\"sicherheitsAbstand\", value);\n            x3d.set('htHoeheEingetragen', true);\n          } else {\n            x3d.set('htHoeheEingetragen', false);\n          }\n\n          break;\n      }\n\n      self.get('superController').setTraegerLaenge(bauteile);\n      self.get('optionenController').setSchraubenlaenge();\n      x3d.set('transformHelper', !x3d.get('transformHelper'));\n      self.get('applicationController').zentriertObjekt();\n    },\n\n    validation(value, event) {\n      var self = this;\n\n      if (self.validate() === true) {\n        self.set('displayErrors', false);\n        self.get('applicationController').set('traegerInvalid', false);\n        self.get('superController').resetVerbindungsmittel();\n        var traeger = self.get('applicationController').get('model').traeger.objectAt(0);\n        traeger.set('TimberElement_b', parseFloat(self.get('htbreite')).toFixed(1));\n        traeger.set('TimberElement_h', parseFloat(self.get('hthoehe')).toFixed(1));\n      } else {\n        self.set('displayErrors', true);\n        self.get('applicationController').set('traegerInvalid', true);\n      }\n\n      if (!self.openFromFile) {\n        this.setX3D(value, event);\n      }\n    },\n\n    htbreiteIsSelected() {\n      var htbreiteaktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('htbreiteAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('htbreiteAktiv', !htbreiteaktiv);\n\n      if (this.get('htbreite') !== \"\") {\n        var htbreitework = parseFloat(this.get('htbreite').toString().replace(\",\", \".\"));\n        var htbreiterounded = htbreitework.toFixed(1);\n        this.set('htbreite', htbreiterounded);\n        this.send('validation', htbreiterounded, {\n          target: {\n            name: \"htbreite\"\n          }\n        });\n      }\n\n      if (htbreiteaktiv === false) {\n        document.getElementsByName('htbreite')[0].setSelectionRange(0, this.get('htbreite').length);\n      }\n    },\n\n    hthoeheIsSelected() {\n      var hthoeheaktiv = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('hthoeheAktiv');\n      this.get('applicationController').get('model').x3ddefault.objectAt(0).set('hthoeheAktiv', !hthoeheaktiv);\n\n      if (this.get('hthoehe') !== \"\") {\n        var hthoehework = parseFloat(this.get('hthoehe').toString().replace(\",\", \".\"));\n        var hthoeherounded = hthoehework.toFixed(1);\n        this.set('hthoehe', hthoeherounded);\n        this.send('validation', hthoeherounded, {\n          target: {\n            name: \"hthoehe\"\n          }\n        });\n      }\n\n      if (hthoeheaktiv === false) {\n        document.getElementsByName('hthoehe')[0].setSelectionRange(0, this.get('hthoehe').length);\n      }\n    }\n\n  }, (_applyDecoratedDescriptor(_obj, \"setNtMaterial\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setNtMaterial\"), _obj), _applyDecoratedDescriptor(_obj, \"setNtFKL\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"setNtFKL\"), _obj), _applyDecoratedDescriptor(_obj, \"validation\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"validation\"), _obj), _applyDecoratedDescriptor(_obj, \"htbreiteIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"htbreiteIsSelected\"), _obj), _applyDecoratedDescriptor(_obj, \"hthoeheIsSelected\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"hthoeheIsSelected\"), _obj)), _obj));\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/verbindungsmittel\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _obj;\n\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n\n  var _default = Ember.Controller.extend((_obj = {\n    // schraubenliste: [],\n    calcid: \"\",\n    tooltiptext: \"\",\n    loading: true,\n    showinvalidscrews: false,\n    validScrewSelected: false,\n    infoText: \"\",\n    keineSchraubenliste: false,\n    jstreeStateOptionHash: {\n      'key': ''\n    },\n    plugins: 'state',\n    selectedNodes: \"\",\n    selectedSrewArtNr: null,\n    applicationController: Ember.inject.controller('application'),\n    lasteinwirkungController: Ember.inject.controller('lasteinwirkung'),\n    downloadcenterController: Ember.inject.controller('downloadcenter'),\n    ergebnisController: Ember.inject.controller('ergebnis'),\n    superController: Ember.inject.controller('supercontroller'),\n    kompaktergebnisHeight: '50px',\n    init: function () {\n      this._super();\n\n      if (!this.get('lasteinwirkungController').get('lasteinwirkungInvalid') || !this.get('bauteileController').get('bauteileInvalid')) {\n        this.transitionToRoute('/projektdaten');\n      } else {\n        console.log(\"lasteinwirkung ist valid\");\n      }\n    },\n    initialisierung: function () {\n      var self = this;\n      self.setKompaktergebnisHeight();\n    },\n    watchInvalidScrewsCombo: Ember.observer('showinvalidscrews', function () {\n      var self = this;\n      var core = undefined;\n      var schraubenliste = null;\n\n      if (self.showinvalidscrews) {\n        console.log(\"hier werden die unzulässigen schrauben eingeblendet.\");\n        schraubenliste = self.get('lasteinwirkungController').get('schraubenliste');\n        core = treetools.buildTree(schraubenliste, true);\n        self.set('schraubenliste', core);\n      } else {\n        console.log(\"und hier wieder aus.\");\n        schraubenliste = self.get('lasteinwirkungController').get('schraubenliste');\n        core = treetools.buildTree(schraubenliste, false);\n        self.set('schraubenliste', core);\n      }\n    }),\n\n    controllerSetSelectedScrew(_artNr, _valid, _produktInfo, _cad) {\n      console.log(\"setInvalidScrews\");\n      console.log(_artNr + \" ::: \" + _valid);\n      this.set('selectedSrewArtNr', _artNr);\n      var self = this;\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n\n      if (_valid === \"True\") {\n        self.get('applicationController').set('verbindungsmittelInvalid', false);\n        self.get('applicationController').set('schraubenInfo', _produktInfo);\n        self.get('applicationController').set('schraubenCAD', _cad);\n        self.set('validScrewSelected', true);\n        self.get('downloadcenterController').set('schraubenInfo', _produktInfo);\n        self.get('downloadcenterController').set('schraubenCAD', _cad);\n        self.get('downloadcenterController').set('validScrewSelected', true);\n        self.get('ergebnisController').set('pdfErstellt', false);\n        this.ergebnisgrafik(); // x3d.set('ergebnisGeladen', true);\n      } else {\n        self.get('applicationController').set('verbindungsmittelInvalid', true);\n        self.set('validScrewSelected', false);\n        self.get('downloadcenterController').set('validScrewSelected', false);\n        var bauteile = self.get('applicationController').get('model').x3ddefault.objectAt(0).get('bauteile');\n        x3d.set('aktuellerSchraubenTyp', 'standardSchraube');\n        x3d.set('ergebnisGeladen', false);\n        x3d.set('transformHelper', !x3d.get('transformHelper'));\n      }\n\n      x3d.set('schraubenlisteAktualisiert', !x3d.get('schraubenlisteAktualisiert'));\n    },\n\n    reload: true,\n    ergebnisgrafik: function () {\n      console.log(\"ergebnisgrafik\");\n      var self = this; // var selectedScrew = self.selectedNodes[0].data.ArtNr;\n\n      var selectedScrew = self.get('selectedSrewArtNr');\n      var cidGrafik = self.calcid;\n      var store = self.get('applicationController').get('store');\n      var arrayHelper = [];\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0); // alte Schrauben \"Verbindung (has-many)\" aus x3ddefault.get('bauteile') löschen\n\n      x3d.get('bauteile').forEach(function (item) {\n        if (item.get('typ') === 'verbindungsmittel' || item.get('typ') === 'masskette' || item.get('typ') === 'platte') {\n          arrayHelper.pushObject(item);\n        }\n      });\n      arrayHelper.forEach(function (item) {\n        // x3d.get('bauteile').objectAt(0).get('translations').removeObject(x3d.get('bauteile').objectAt(0).get('translations').findBy('id', item.id));\n        // x3d.get('bauteile').objectAt(0).get('rotations').removeObject(x3d.get('bauteile').objectAt(0).get('rotations').findBy('id', item.id));\n        // x3d.get('bauteile').objectAt(0).get('richtungsvektor').removeObject(x3d.get('bauteile').objectAt(0).get('richtungsvektor').findBy('id', item.id));\n        // x3d.get('bauteile').objectAt(0).get('appearances').removeObject(x3d.get('bauteile').objectAt(0).get('appearances').findBy('id', item.id));\n        // x3d.get('bauteile').objectAt(0).get('diffusecolors').removeObject(x3d.get('bauteile').objectAt(0).get('screwProperties').findBy('id', item.id));\n        // x3d.get('bauteile').objectAt(0).get('screwProperties').removeObject(x3d.get('bauteile').objectAt(0).get('translations').findBy('id', item.id));\n        x3d.get('bauteile').removeObject(item); // x3d.get('bauteile').unloadRecord(item);\n        // item.deleteRecord();\n        // item.isDeleted;\n\n        item.destroyRecord().then(() => {\n          item.unloadRecord(); // the Travis fix goes here\n        });\n      });\n      const bauteile = store.peekRecord('bauteile', 1);\n\n      if (bauteile) {\n        store.unloadRecord(bauteile);\n      }\n\n      if (self.get('reload') === true) {\n        var server = self.get('applicationController').get('server');\n\n        _jquery.default.ajax({\n          type: \"POST\",\n          url: server + \"m12/DE/getGrafik/\",\n          data: {\n            cid: cidGrafik,\n            artnr: selectedScrew\n          }\n        }).done(function (data) {\n          console.log('Daten der ausgewählten Schraube');\n          console.log(data);\n          var dataObject = JSON.parse(data);\n          var xWerte = [];\n          var yWerte = [];\n          var zWerte = [];\n          dataObject.bauteile.forEach(function (item) {\n            var newID = item.id;\n\n            if (item.typ === \"verbindungsmittel\") {\n              newID = \"schraubeStandard1\";\n            } else if (item.typ === \"platte\") {\n              newID = \"holz\";\n            } else if (item.typ === \"masskette\") {\n              newID = \"masskette\";\n            }\n\n            var translation, platte, richtungsvektor, ansichtsvektor1, ansichtsvektor2, ansichtsvektor3, orthovektor, verbindungsmittel, masskette, lagewinkel, diffusecolor, appearance;\n            var punkte = Ember.A([]);\n\n            if (typeof dataObject.punkte.findBy('id', dataObject.bauteile.findBy('id', item.id).point.objectAt(0)) === \"undefined\") {// console.log('PUNKTE für Objekt nicht vorhanden');\n            } else {\n              // xWerte.push(Number(dataObject.punkte.findBy('id', dataObject.bauteile.findBy('id', item.id).point.objectAt(0)).x));\n              // yWerte.push(Number(dataObject.punkte.findBy('id', dataObject.bauteile.findBy('id', item.id).point.objectAt(0)).y));\n              // zWerte.push(Number(dataObject.punkte.findBy('id', dataObject.bauteile.findBy('id', item.id).point.objectAt(0)).z));\n              dataObject.bauteile.findBy('id', item.id).point.forEach(function (punktID, i) {\n                var p = dataObject.punkte.findBy('id', punktID);\n                xWerte.push(Number(p.x));\n                yWerte.push(Number(p.y));\n                zWerte.push(Number(p.z));\n                var punkt = self.get('store').push({\n                  data: {\n                    id: punktID,\n                    type: 'punkt',\n                    attributes: p\n                  }\n                });\n                punkte.pushObject(punkt); // console.log('... eingelesen');\n              }); // var translation = self.get('store').push({\n              //   data: {\n              //     id: item.id,\n              //     type: 'translation',\n              //     attributes: dataObject.punkte.findBy('id', dataObject.bauteile.findBy('id', item.id).point.objectAt(0))\n              //   }\n              // });\n\n              self.setMinMaxWerte(\"x\", xWerte);\n              self.setMinMaxWerte(\"y\", yWerte);\n              self.setMinMaxWerte(\"z\", zWerte);\n            } // const verschiebung = self.get('store').push({\n            //   data: {\n            //     id: item.id,\n            //     type: 'translation',\n            //     attributes: dataObject.punkte.findBy('id', dataObject.bauteile.findBy('id', item.id).point.objectAt(0))\n            //   }\n            // });\n\n\n            if (typeof dataObject.richtungsvektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).richtungsvektor) === \"undefined\") {// console.log('RICHTUNGSVEKTOR für Objekt nicht vorhanden');\n            } else {\n              richtungsvektor = self.get('store').push({\n                data: {\n                  id: item.id,\n                  type: 'richtungsvektor',\n                  attributes: dataObject.richtungsvektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).richtungsvektor)\n                }\n              });\n            }\n\n            if (typeof dataObject.ansichtsvektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).offsetVektorAnsichtXY) === \"undefined\") {// console.log('offsetVektorAnsichtXY für Objekt nicht vorhanden');\n            } else {\n              ansichtsvektor1 = self.get('store').push({\n                data: {\n                  id: dataObject.bauteile.findBy('id', item.id).offsetVektorAnsichtXY,\n                  type: 'ansichtsvektoren',\n                  attributes: dataObject.ansichtsvektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).offsetVektorAnsichtXY)\n                }\n              });\n            }\n\n            if (typeof dataObject.ansichtsvektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).offsetVektorAnsichtXZ) === \"undefined\") {// console.log('offsetVektorAnsichtXZ für Objekt nicht vorhanden');\n            } else {\n              ansichtsvektor2 = self.get('store').push({\n                data: {\n                  id: dataObject.bauteile.findBy('id', item.id).offsetVektorAnsichtXZ,\n                  type: 'ansichtsvektoren',\n                  attributes: dataObject.ansichtsvektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).offsetVektorAnsichtXZ)\n                }\n              });\n            }\n\n            if (typeof dataObject.ansichtsvektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).offsetVektorAnsichtYZ) === \"undefined\") {// console.log('offsetVektorAnsichtYZ für Objekt nicht vorhanden');\n            } else {\n              ansichtsvektor3 = self.get('store').push({\n                data: {\n                  id: dataObject.bauteile.findBy('id', item.id).offsetVektorAnsichtYZ,\n                  type: 'ansichtsvektoren',\n                  attributes: dataObject.ansichtsvektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).offsetVektorAnsichtYZ)\n                }\n              });\n            }\n\n            if (typeof dataObject.orthovektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).orthovektor) === \"undefined\") {// console.log('ORTHOVEKTOREN für Objekt nicht vorhanden');\n            } else {\n              orthovektor = self.get('store').push({\n                data: {\n                  id: item.id,\n                  type: 'orthovektor',\n                  attributes: dataObject.orthovektoren.findBy('id', dataObject.bauteile.findBy('id', item.id).orthovektor)\n                }\n              });\n            }\n\n            if (typeof dataObject.verbindungsmittel.findBy('id', dataObject.bauteile.findBy('id', item.id).verbindungsmittel) === \"undefined\") {// console.log('VERBINDUNGSMITTEL für Objekt nicht vorhanden');\n            } else {\n              verbindungsmittel = self.get('store').push({\n                data: {\n                  id: item.id,\n                  type: 'screw-property',\n                  attributes: dataObject.verbindungsmittel.findBy('id', dataObject.bauteile.findBy('id', item.id).verbindungsmittel)\n                }\n              });\n            }\n\n            if (typeof dataObject.masskette.findBy('id', item.id) === \"undefined\") {// console.log('MASSKETTE für Objekt nicht vorhanden');\n            } else {\n              masskette = self.get('store').push({\n                data: {\n                  id: item.id,\n                  type: 'masskette',\n                  attributes: dataObject.masskette.findBy('id', item.id)\n                }\n              });\n            }\n\n            if (typeof dataObject.lagewinkel.findBy('id', dataObject.bauteile.findBy('id', item.id).lagewinkel) === \"undefined\") {// console.log('LAGEWINKEL für Objekt nicht vorhanden');\n            } else {\n              lagewinkel = self.get('store').push({\n                data: {\n                  id: item.id,\n                  type: 'lagewinkel',\n                  attributes: dataObject.lagewinkel.findBy('id', dataObject.bauteile.findBy('id', item.id).lagewinkel)\n                }\n              });\n            }\n\n            if (typeof dataObject.platte.findBy('id', item.id) === \"undefined\") {// console.log('PLATTE für Objekt nicht vorhanden');\n            } else {\n              platte = self.get('store').push({\n                data: {\n                  id: item.id,\n                  type: 'platte',\n                  attributes: dataObject.platte.findBy('id', item.id)\n                }\n              });\n            }\n\n            diffusecolor = self.get('store').push({\n              data: {\n                id: item.id,\n                type: 'diffusecolor',\n                attributes: {\n                  id: newID,\n                  rot: x3d.get('bauteile').findBy('id', newID).get('diffusecolors').objectAt(0).get('rot'),\n                  gruen: x3d.get('bauteile').findBy('id', newID).get('diffusecolors').objectAt(0).get('gruen'),\n                  blau: x3d.get('bauteile').findBy('id', newID).get('diffusecolors').objectAt(0).get('blau')\n                }\n              }\n            });\n            appearance = self.get('store').push({\n              data: {\n                id: item.id,\n                type: 'appearance',\n                attributes: {\n                  id: newID,\n                  transparency: x3d.get('bauteile').findBy('id', newID).get('appearances').objectAt(0).get('transparency')\n                }\n              }\n            });\n            var bauteil;\n\n            if (item.typ === \"verbindungsmittel\") {\n              // console.log('verbindungsmittel: '+item.id);\n              // bauteil = self.get('applicationController').get('store').createRecord('bauteil', {\n              //       id: item.id,\n              //       typ: item.typ,\n              //       // punkt: [dataObject.punkte.findBy('id', dataObject.bauteile.findBy('id', item.id).point.objectAt(0))],\n              //       translations: [punkt],\n              //       rotations: [rotation],\n              //       richtungsvektor: [richtung],\n              //       appearances: [appearance],\n              //       diffusecolors: [diffusecolor],\n              //       screwProperties:[eigenschaften]\n              // });\n              var bauteil = self.get('applicationController').get('store').createRecord('bauteil', {\n                id: item.id,\n                typ: item.typ,\n                punkt: punkte,\n                // translations: [translation],\n                // rotations: [punkt],\n                appearances: [appearance],\n                diffusecolors: [diffusecolor],\n                screwProperties: [verbindungsmittel],\n                richtungsvektor: [richtungsvektor],\n                lagewinkel: [lagewinkel]\n              });\n            } else if (item.typ === \"platte\") {\n              // console.log('platte: '+item.id);\n              var bauteil = self.get('applicationController').get('store').createRecord('bauteil', {\n                id: item.id,\n                typ: item.typ,\n                punkt: punkte,\n                // translations: [\"null\"],\n                // rotations: [\"null\"],\n                appearances: [appearance],\n                diffusecolors: [diffusecolor],\n                richtungsvektor: [richtungsvektor],\n                // orthovektor: [orthovektor],\n                platte: [platte]\n              });\n            } else if (item.typ === \"masskette\") {\n              // console.log('masskette: '+item.id);\n              // console.log(punkt);\n              // console.log(appearance);\n              // console.log(diffusecolor);\n              // console.log(richtungsvektor);\n              // console.log(masskette);\n              // console.log(ansichtsvektor1);\n              // console.log(ansichtsvektor2);\n              // console.log(ansichtsvektor3);\n              var bauteil = self.get('applicationController').get('store').createRecord('bauteil', {\n                id: item.id,\n                typ: item.typ,\n                punkt: punkte,\n                // translations: [\"null\"],\n                // rotations: [\"null\"],\n                appearances: [appearance],\n                diffusecolors: [diffusecolor],\n                richtungsvektor: [richtungsvektor],\n                // orthovektor: [item.orthovektor],\n                masskette: [masskette],\n                ansichtsvektoren: [ansichtsvektor1, ansichtsvektor2, ansichtsvektor3]\n              });\n            }\n\n            x3d.get('bauteile').pushObject(bauteil);\n          }); //Bauteile\n\n          x3d.set('schraubenlisteAktualisiert', !x3d.get('schraubenlisteAktualisiert'));\n          x3d.set('aktuellerSchraubenTyp', 'verbindungsmittel');\n          x3d.set('ergebnisGeladen', true);\n          self.get('applicationController').zentriertObjekt();\n          self.get('applicationController').zentriertObjekt();\n        }); // self.set('reload', false);\n\n      } // ENDE if\n\n    },\n    proceedInput: function (event) {\n      console.log(\"verbindungsmittel proceedInput\");\n      var self = this;\n      var selectedScrew = null;\n\n      if (self.get('keineSchraubenliste') === false) {\n        selectedScrew = self.get('selectedSrewArtNr');\n        ;\n      }\n\n      var applicationdata = self.get('applicationController').get('model').application.objectAt(0);\n      applicationdata.set('selectedScrew', selectedScrew);\n      self.set('loading', true);\n      console.log('cid: ' + self.calcid);\n      console.log('artnr: ' + selectedScrew);\n      var server = self.get('applicationController').get('server');\n\n      _jquery.default.ajax({\n        type: \"POST\",\n        url: server + \"m12/DE/getKompaktergebnis/\" + self.get('superController').erzeugeAufrufzusatz(true),\n        data: {\n          cid: self.calcid,\n          artnr: selectedScrew\n        }\n      }).done(function (data, statusText, xhr) {\n        self.get('superController').logaufruf(\"getKompaktergebnis\", xhr.status);\n        console.log(data);\n        self.get('downloadcenterController').set('pdfErstellt', false);\n        var html = data;\n        var bEnd, bStart;\n        bStart = html.indexOf(\"<div id='headline'\");\n        bEnd = html.indexOf(\"</body\");\n        var body = html.slice(bStart, bEnd);\n        self.get('ergebnisController').set('kompaktergebnis', body.toString());\n        self.get('ergebnisController').set('pdfErstellt', false);\n        self.get('ergebnisController').setKompaktergebnis();\n        self.transitionToRoute('/ergebnis');\n        self.set('loading', false);\n      });\n    },\n\n    logNode(event) {\n      var self = this;\n      console.log(self.selectedNodes);\n      console.log(self.selectedNodes[0].text);\n    },\n\n    urListe: [],\n    sListe: [],\n    nurValideSchrauben: false,\n    sortierUndFilterReihenfolge: [],\n    params: ['VM_Typ', 'Kopfform', 'd_1', 'l_s'],\n    sListeTrigger: false,\n    upDownTrigger: false,\n    mindestensEinParameterAusgewahltListe: [],\n    parameterObjekte: [],\n    parameterObjekteTrigger: false,\n    // parameterValues: [],\n    schraubenliste: Ember.computed('sListeTrigger', function () {\n      return this.get('sListe');\n    }),\n    watchNurValideSchrauben: Ember.observer('nurValideSchrauben', function () {\n      var self = this;\n      self.set('sListe', self.createSchraubenliste(this.get('lasteinwirkungController').get('verbindungsmittelliste')));\n      self.set('sListeTrigger', !this.get('sListeTrigger'));\n    }),\n    setParameterValues: function (_liste, _param) {\n      var self = this;\n      var tempObjekt = [];\n      this.get('mindestensEinParameterAusgewahltListe').forEach((item, i) => {\n        tempObjekt.push(self.get('parameterObjekte').findBy('id', item));\n      });\n      self.set('parameterObjekte', []);\n\n      if (tempObjekt.length !== 0) {\n        self.parameterObjekte = tempObjekt;\n      }\n\n      self.get('params').forEach((_param, i) => {\n        if (typeof this.get('parameterObjekte').findBy('id', _param) === 'undefined') {\n          self.get('parameterObjekte').pushObject({\n            id: _param,\n            values: []\n          });\n        }\n\n        _liste.forEach((_schraube, i) => {\n          if (typeof this.get('parameterObjekte').findBy('id', _param).values.findBy('id', _schraube[_param]) === 'undefined') {\n            self.get('parameterObjekte').findBy('id', _param).values.push({\n              id: _schraube[_param],\n              checked: true,\n              visible: true\n            });\n          }\n        });\n      });\n      self.set('parameterObjekteTrigger', !self.get('parameterObjekteTrigger'));\n    },\n    parameterObjekteListe: Ember.computed('parameterObjekteTrigger', function () {\n      var self = this;\n      return self.get('parameterObjekte');\n    }),\n\n    sortUp(_param) {\n      this.set('upDownTrigger', !this.get('upDownTrigger'));\n\n      if (isNaN(parseFloat(this.get('schraubenliste').objectAt(0)[_param])) === true) {\n        this.set('sListe', this.get('schraubenliste').sort(function (a, b) {\n          var nameA = b[_param].toUpperCase(); // Groß-/Kleinschreibung ignorieren\n\n\n          var nameB = a[_param].toUpperCase(); // Groß-/Kleinschreibung ignorieren\n\n\n          if (nameA < nameB) {\n            return -1;\n          }\n\n          if (nameA > nameB) {\n            return 1;\n          } // Namen müssen gleich sein\n\n\n          return 0;\n        }));\n      } else {\n        this.set('sListe', this.get('schraubenliste').sort(function (a, b) {\n          return parseFloat(b[_param]) - parseFloat(a[_param]);\n        }));\n      }\n\n      this.set('sListeTrigger', !this.get('sListeTrigger'));\n    },\n\n    sortDown(_param) {\n      this.set('upDownTrigger', !this.get('upDownTrigger'));\n\n      if (isNaN(parseFloat(this.get('schraubenliste').objectAt(0)[_param])) === true) {\n        this.set('sListe', this.get('schraubenliste').sort(function (a, b) {\n          var nameA = a[_param].toUpperCase(); // Groß-/Kleinschreibung ignorieren\n\n\n          var nameB = b[_param].toUpperCase(); // Groß-/Kleinschreibung ignorieren\n\n\n          if (nameA < nameB) {\n            return -1;\n          }\n\n          if (nameA > nameB) {\n            return 1;\n          } // Namen müssen gleich sein\n\n\n          return 0;\n        }));\n      } else {\n        this.set('sListe', this.get('schraubenliste').sort(function (a, b) {\n          return parseFloat(a[_param]) - parseFloat(b[_param]);\n        }));\n      }\n\n      this.set('sListeTrigger', !this.get('sListeTrigger'));\n    },\n\n    toggleDisplayNone(_param) {\n      this.set(\"hide\" + _param, !this.get(\"hide\" + _param));\n    },\n\n    toggkleAllChecked(_param, _value) {\n      var self = this;\n      self.get('parameterObjekte').forEach((parameter, i) => {\n        if (parameter.id === _param) {\n          parameter.values.forEach((wert, i) => {\n            Ember.set(wert, 'checked', _value);\n          });\n        }\n      });\n    },\n\n    controllerfilter(_param, _value, _checked) {\n      var self = this;\n      var sliste = this.get('nurValideSchrauben') === false ? this.get('lasteinwirkungController').get('verbindungsmittelliste') : this.get('schraubenliste');\n\n      if (_checked === true) {\n        self.set('sortierUndFilterReihenfolge', _jquery.default.grep(self.get('sortierUndFilterReihenfolge'), function (element, i) {\n          if (element.id === _param && element.value === _value) {} else {\n            return element;\n          }\n        }));\n      } else {\n        self.get('sortierUndFilterReihenfolge').pushObject({\n          id: _param,\n          value: _value\n        });\n      }\n\n      this.set('sListe', self.createSchraubenliste(this.get('lasteinwirkungController').get('verbindungsmittelliste')));\n      this.set('sListeTrigger', !this.get('sListeTrigger'));\n    },\n\n    createSchraubenliste: function (_sliste) {\n      var self = this;\n\n      if (self.get('nurValideSchrauben') === true) {\n        _sliste = _jquery.default.grep(_sliste, function (element, i) {\n          return element.VM_Okay === \"True\";\n        });\n      }\n\n      var tempSListe = _sliste;\n      self.get('parameterObjekte').forEach((parameter, i) => {\n        parameter.values.forEach((wert, i) => {\n          Ember.set(wert, 'visible', false);\n\n          if (wert.checked === false) {\n            _sliste = _jquery.default.grep(_sliste, function (schraube, i) {\n              return schraube[parameter.id] !== wert.id;\n            });\n          }\n        });\n      });\n      self.get('parameterObjekte').forEach((parameter, i) => {\n        parameter.values.forEach((wert, i) => {\n          if (typeof _sliste.findBy(parameter.id, wert.id) !== \"undefined\") {\n            Ember.set(wert, 'visible', true);\n          }\n        });\n      });\n      self.get('sortierUndFilterReihenfolge').forEach((element, i) => {\n        if (typeof tempSListe.findBy(element.id, element.value) !== \"undefined\") {\n          Ember.set(self.get('parameterObjekte').findBy('id', element.id).values.findBy('id', element.value), 'visible', true);\n        }\n      });\n      return _sliste;\n    },\n    setKompaktergebnisHeight: function () {\n      var self = this;\n      var y = Number((0, _jquery.default)(\"canvas\").height());\n      self.set('kompaktergebnisHeight', y - 47 + \"px\");\n    },\n    setMinMaxWerte: function (bezeichner, array) {\n      var self = this;\n      var x3d = self.get('applicationController').get('model').x3ddefault.objectAt(0);\n      var dimensionen = x3d.get('dimensionen');\n      array.sort(function (a, b) {\n        return a - b;\n      });\n      dimensionen.findBy('name', 'ergebnisgrafikMinialWerte').set(bezeichner, Number(array[0]));\n      dimensionen.findBy('name', 'ergebnisgrafikMaximalWerte').set(bezeichner, Number(array[array.length - 1]));\n    }\n  }, (_applyDecoratedDescriptor(_obj, \"controllerSetSelectedScrew\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"controllerSetSelectedScrew\"), _obj), _applyDecoratedDescriptor(_obj, \"logNode\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"logNode\"), _obj), _applyDecoratedDescriptor(_obj, \"sortUp\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"sortUp\"), _obj), _applyDecoratedDescriptor(_obj, \"sortDown\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"sortDown\"), _obj), _applyDecoratedDescriptor(_obj, \"toggleDisplayNone\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"toggleDisplayNone\"), _obj), _applyDecoratedDescriptor(_obj, \"toggkleAllChecked\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"toggkleAllChecked\"), _obj), _applyDecoratedDescriptor(_obj, \"controllerfilter\", [Ember._action], Object.getOwnPropertyDescriptor(_obj, \"controllerfilter\"), _obj)), _obj));\n\n  _exports.default = _default;\n});","define(\"m12-2020/controllers/x3drenderer\", [\"exports\", \"m12-2020/mixins/object-validator\"], function (_exports, _objectValidator) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Controller.extend(_objectValidator.default, {\n    ueberstand: 2,\n    yDeltaOben: 0,\n    yDeltaUnten: 0,\n    applicationController: Ember.inject.controller('application'),\n    indexedFaceset: function (bauteil) {\n      // console.log(\"###  x3dcontroller  ###\");\n      // console.log(bauteil.id);\n      return \"<transform scaleorientation=\\\"0,0,0,0\\\" scale=\\\"1,1,1\\\" center=\\\"0 0 0\\\" bboxsize=\\\"-1,-1,-1\\\" bboxcenter=\\\"0 0 0\\\" rotation=\\\"0 0 0 0 \\\" translation=\\\"0 0 0\\\" render=\\\"true\\\"><shape ispickable=\\\"0\\\" bboxsize=\\\"-1,-1,-1\\\" bboxcenter=\\\"0,0,0\\\" render=\\\"true\\\"><appearance sorttype=\\\"auto\\\" alphaclipthreshold=\\\"0.1\\\"><material specularcolor=\\\"0.52 0.385 0.02\\\" shininess=\\\"0.2\\\" emissivecolor=\\\"\" + this.farbe(bauteil) + \"\\\" ambientintensity=\\\"0.2\\\" transparency=\\\"0.65\\\" diffusecolor=\\\"\" + this.farbe(bauteil) + \"\\\" ></material></appearance><indexedfaceset ccw=\\\"true\\\" colorpervertex=\\\"false\\\" colorindex=\\\"\" + this.colorindex(bauteil) + \"\\\" coordindex=\\\"\" + this.coordIndex(bauteil) + \"\\\" solid=\\\"true\\\" usegeocache=\\\"true\\\" lit=\\\"false\\\" normalpervertex=\\\"true\\\" normalupdatemode=\\\"fast\\\" convex=\\\"true\\\" normalindex=\\\"0\\\" texcoordindex=\\\"0\\\"><coordinate point=\\\"\" + this.koordinaten(bauteil) + \" \\\"></coordinate><color color=\\\"\" + this.farbe(bauteil) + \"\\\"></color></indexedfaceset></shape><shape><indexedlineSet coordIndex=\\\"\" + this.coordIndex(bauteil) + \"\\\"><coordinate point=\\\"\" + this.koordinaten(bauteil) + \"\\\"/></indexedlineSet></shape></transform>\";\n    },\n    koordinaten: function (item) {\n      var p0 = '0 0 0',\n          p1 = '0 0 0',\n          p2 = '0 0 0',\n          p3 = '0 0 0',\n          p4 = '0 0 0',\n          p5 = '0 0 0',\n          p6 = '0 0 0',\n          p7 = '0 0 0',\n          p8 = '0 0 0',\n          p9 = '0 0 0';\n      var cords = \"\";\n      var x0 = 0;\n      var y0 = 0;\n      var z0 = 0;\n      var rx = 0;\n      var ry = 0;\n      var rz = 0;\n      var dicke = 0;\n\n      for (var n = 0; n <= 1; n++) {\n        for (var i = 0; i < item.get('punkt').length; i++) {\n          // console.log(i+\" ::: \"+(i+2)+\" ::: \"+(i+1));\n          var i2 = i + 2 > item.get('punkt').length - 1 ? i + 2 - item.get('punkt').length : i + 2;\n          var i1 = i + 1 > item.get('punkt').length - 1 ? i + 1 - item.get('punkt').length : i + 1; // console.log(i+\" ::: \"+(i2)+\" ::: \"+(i1));\n          // console.log(this.getPosition(item.get('punkt').objectAt(i).get('x'), item.get('punkt').objectAt(i).get('y'), item.get('punkt').objectAt(i2).get('x'), item.get('punkt').objectAt(i2).get('y'), item.get('punkt').objectAt(i1).get('x'), item.get('punkt').objectAt(i1).get('y')));\n\n          x0 = Number(item.get('punkt').objectAt(i).get('x')) / 10;\n          y0 = Number(item.get('punkt').objectAt(i).get('y')) / 10;\n          z0 = Number(item.get('punkt').objectAt(i).get('z')) / 10;\n          cords = cords + (x0 + rx * dicke) + ' ' + (y0 + ry * dicke) + ' ' + (z0 + rz * dicke) + ' ';\n        }\n\n        rx = Number(item.get('richtungsvektor').objectAt(0).get('x'));\n        ry = Number(item.get('richtungsvektor').objectAt(0).get('y'));\n        rz = Number(item.get('richtungsvektor').objectAt(0).get('z'));\n        dicke = Number(item.get('platte').objectAt(0).get('thickness')) / 10;\n      } // console.log(cords);\n\n\n      return cords;\n    },\n    coordIndex: function (item) {\n      // var values = \"0 3 2 1 0 -1 1 2 6 5 1 -1 4 5 6 7 4 -1 0 4 7 3 0 -1 0 1 5 4 0 -1 2 3 7 6 2 -1\";\n      var values = \"\"; // Grundfläche\n\n      for (var i = 0; i < item.get('punkt').length; i++) {\n        values = values + \" \" + i;\n      }\n\n      values = values + \" 0 -1 \"; // n-1 Seitenflächen\n\n      for (var i = 0; i < item.get('punkt').length - 1; i++) {\n        values = values + i + \" \" + (i + item.get('punkt').length) + \" \" + (i + item.get('punkt').length + 1) + \" \" + (i + 1) + \" \" + i + \" \" + -1 + \" \";\n      } // n.-Seitenfläche\n\n\n      values = values + 0 + \" \" + (item.get('punkt').length - 1) + \" \" + (item.get('punkt').length - 1 + item.get('punkt').length) + \" \" + item.get('punkt').length + \" \" + 0 + \" \" + -1 + \" \";\n      var arr = []; // Abschlussfläche\n\n      for (var i = 0; i < item.get('punkt').length; i++) {\n        arr.push(i + item.get('punkt').length);\n      }\n\n      var str = arr.reverse().toString();\n      values = values + \" \" + item.get('punkt').length + \" \" + str.replace(/,/g, \" \") + \" -1 \"; // console.log(values);\n\n      return values;\n    },\n    colorindex: function (item) {\n      var values = \"\";\n\n      for (var i = 0; i < item.get('punkt').length + 2; i++) {\n        values = values + \" 0\";\n      } // console.log(values);\n\n\n      return values;\n    },\n    farbe: function (item) {\n      // var item = x3d.get('bauteile').findBy('id', name);\n      var values;\n      var rot = 0,\n          gruen = 0,\n          blau = 0;\n      var materialtextur = Number(item.get('platte').objectAt(0).get('matid')); // console.log('materialtextur: '+materialtextur);\n\n      switch (materialtextur) {\n        case 1:\n          //Beton\n          // console.log('Beton');\n          rot = 0;\n          gruen = 0.52;\n          blau = 0.88;\n          break;\n\n        case 10:\n          //Holz\n          // console.log('Holz');\n          rot = 0.52;\n          gruen = 0.385;\n          blau = 0.02;\n          break;\n\n        case 20:\n          //Schalung\n          // console.log('Schalung');\n          rot = 0.8;\n          gruen = 0.65;\n          blau = 0;\n          break;\n      }\n\n      values = rot + ' ' + gruen + ' ' + blau; // console.log(values);\n\n      return values;\n    },\n    getXSeitenbauteilOben: function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      ;\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var value = 0;\n\n      if (alfa !== 0 && alfa !== 90) {\n        var exzentrizitaet = 0;\n\n        if (x3d.get('ausmittigerstabanschluss') === true) {\n          exzentrizitaet = x3d.get('exzentrizitaetDiagonale');\n        } else {\n          exzentrizitaet = Number(hDiag / 2 / Math.sin(alfa * Math.PI / 180)) + Number(hGurt / 2 / Math.tan(alfa * Math.PI / 180));\n\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1 && Number(ueDiagVert) > hDiag * Math.cos(alfa * Math.PI / 180)) {\n            exzentrizitaet = exzentrizitaet + (ueDiagVert - hDiag * Math.cos(alfa * Math.PI / 180)) / Math.tan(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            exzentrizitaet = exzentrizitaet + ueDiagVert / Math.tan(alfa * Math.PI / 180);\n          }\n        }\n\n        value = (exzentrizitaet / Math.cos(alfa * Math.PI / 180) - hDiag / 2 * Math.tan(alfa * Math.PI / 180)) / 10;\n      } else if (alfa === 90) {\n        value = hGurt / 20;\n      } else {\n        value = Math.abs(x3d.get('xSeitenbauteil') / 10) + Math.sin(alfa * Math.PI / 180) * ueDiagVert / 10;\n      }\n\n      if (value < -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')))) {\n        var xOben = Math.abs(value) - Math.abs(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n        var yDeltaOben = Math.abs(xOben) / Math.tan(alfa * Math.PI / 180);\n        this.set('yDeltaOben', yDeltaOben);\n        value = -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n      } else {\n        this.set('yDeltaOben', 0);\n      }\n\n      return value;\n    },\n    getXSeitenbauteilUnten: function () {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var exzentrizitaet = x3d.get('exzentrizitaetDiagonale');\n      var v1 = 0,\n          v2 = 0,\n          l = 0,\n          value = 0;\n      v1 = hDiag / 2 / Math.sin(alfa * Math.PI / 180) + hGurt / 2 / Math.tan(alfa * Math.PI / 180) - exzentrizitaet;\n      v2 = hDiag / Math.sin(alfa * Math.PI / 180);\n      l = v2 - v1;\n\n      if (alfa !== 0 && alfa !== 90) {\n        value = hGurt / 2 / Math.sin(alfa * Math.PI / 180) - (v2 - hDiag / 2 / Math.sin(alfa * Math.PI / 180)) * Math.cos(alfa * Math.PI / 180);\n\n        if (x3d.get('ausmittigerstabanschluss') === false) {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1 && Number(ueDiagVert) >= Number((hDiag * Math.cos(alfa * Math.PI / 180)).toFixed(1))) {\n            value = value + hDiag / Math.tan(alfa * Math.PI / 180) + (ueDiagVert - hDiag * Math.cos(alfa * Math.PI / 180)) / Math.sin(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = value + ueDiagVert / Math.sin(alfa * Math.PI / 180);\n          }\n        } else if (x3d.get('ausmittigerstabanschluss') === true) {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1) {\n            // value = value + (l-ueDiagVert/Math.tan(alfa * Math.PI / 180)) * Math.cos(alfa * Math.PI / 180) + ueDiagVert/Math.sin(alfa * Math.PI / 180);\n            value = value + ueDiagVert / Math.sin(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = value + ueDiagVert / Math.sin(alfa * Math.PI / 180);\n          }\n\n          if (value >= Number(((hDiag / 2 + exzentrizitaet / Math.sin(alfa * Math.PI / 180)) * Math.tan(alfa * Math.PI / 180)).toFixed(1))) {\n            value = (hDiag / 2 + exzentrizitaet / Math.sin(alfa * Math.PI / 180)) * Math.tan(alfa * Math.PI / 180);\n          }\n        }\n\n        value = value / 10;\n      } else if (alfa === 90) {\n        value = hGurt / 20;\n      } else {\n        value = Math.abs(x3d.get('xSeitenbauteil') / 10) + Math.sin(alfa * Math.PI / 180) * ueDiagVert / 10;\n      }\n\n      if (value < -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')))) {\n        var xUnten = Math.abs(value) - Math.abs(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n        var yDeltaUnten = Math.abs(xUnten) * Math.tan(alfa * Math.PI / 180);\n        this.set('yDeltaUnten', yDeltaUnten);\n      } else {\n        this.set('yDeltaUnten', 0);\n      }\n\n      return value;\n    },\n    getXDeltaSeitenbauteilUnten: function (value) {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n\n      if (value < -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')))) {\n        value = -(Math.abs(x3d.get('xMittelbauteil') / 10) + Number(this.get('ueberstand')));\n      }\n\n      return value;\n    },\n    getXExzentrizitaet: function (achse) {\n      var name = this.get('name');\n      var x3d = this.get('model').objectAt(0);\n      var bauteile = x3d.get('bauteile');\n      var alfa = parseFloat(x3d.get('vWinkel'));\n      var beta = parseFloat(x3d.get('winkelEndAbschnittDiagonaleGRAD'));\n      var ueDiagVert = parseFloat(x3d.get('ueberstandDiagonaleVertikal'));\n      var hDiag = bauteile.findBy('id', 'hauptTraeger1').get('boxsizes').objectAt(0).get('y');\n      var hGurt = bauteile.findBy('id', 'nebenTraeger').get('boxsizes').objectAt(0).get('y');\n      ;\n      var exzentrizitaet = Number(x3d.get('exzentrizitaetDiagonale'));\n      var v1 = 0,\n          v2 = 0,\n          l = 0,\n          value = 0;\n      v1 = hDiag / 2 / Math.sin(alfa * Math.PI / 180) + hGurt / 2 / Math.tan(alfa * Math.PI / 180) - exzentrizitaet;\n      v2 = hDiag / Math.sin(alfa * Math.PI / 180);\n      l = v2 - v1;\n\n      if (l - ueDiagVert / Math.tan(alfa * Math.PI / 180) >= 0) {\n        if (achse === 'x') {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1) {\n            value = 0;\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = (l - ueDiagVert / Math.tan(alfa * Math.PI / 180)) * Math.cos(alfa * Math.PI / 180);\n          }\n        } else if (achse === 'y') {\n          if (Number(x3d.get('winkelEndAbschnittGRAD')) === 1) {\n            value = (l - ueDiagVert / Math.tan(alfa * Math.PI / 180)) / Math.sin(alfa * Math.PI / 180);\n          } else if (Number(x3d.get('winkelEndAbschnittGRAD')) === 2) {\n            value = (l - ueDiagVert / Math.tan(alfa * Math.PI / 180)) * Math.sin(alfa * Math.PI / 180);\n          }\n        }\n      }\n\n      value = value / 10;\n      return value;\n    },\n    getPosition: function (x1, y1, x2, y2, xp, yp) {\n      return (yp - y1) * (x2 - x1) - (y2 - y1) * (xp - x1);\n    },\n    indexedLineset: function (bauteil) {\n      // console.log(\"###  x3dcontroller indexedLineset ###\");\n      return \"<transform scaleorientation=\\\"0,0,0,0\\\" scale=\\\"1,1,1\\\" center=\\\"0 0 0\\\" bboxsize=\\\"-1,-1,-1\\\" bboxcenter=\\\"0 0 0\\\" render=\\\"true\\\" translation=\\\"0,0,0\\\" rotation=\\\"0,0,0,0\\\"><shape render=\\\"true\\\" bboxcenter=\\\"0,0,0\\\" bboxsize=\\\"-1,-1,-1\\\" ispickable=\\\"true\\\"><appearance sorttype=\\\"auto\\\" alphaclipthreshold=\\\"0.1\\\"><material emissivecolor=\\\"0 0 0\\\" ambientintensity=\\\"0.2\\\" diffusecolor=\\\"0.8,0.8,0.8\\\" shininess=\\\"0.2\\\" specularcolor=\\\"0,0,0\\\"></material></appearance><indexedlineset coordindex=\\\"1 2 -1 0 3 -1 4 5 -1 6 7 -1 8 9 -1\\\" solid=\\\"true\\\" ccw=\\\"true\\\" usegeocache=\\\"true\\\" lit=\\\"true\\\" colorpervertex=\\\"true\\\" ><coordinate name=\\\"traeger\\\" typ=\\\"breite\\\" point=\\\"\" + this.massketteKoordinaten(bauteil) + \"\\\"></coordinate></indexedlineset></shape></transform>\";\n    },\n    massketteKoordinaten: function (item) {\n      // console.log();\n      var bauteile = this.get('applicationController').get('model').x3ddefault.objectAt(0).get('bauteile');\n      var x = 0;\n      var y = 0;\n      var z = 0;\n      var cords;\n      var p1 = new Object();\n      var p2 = new Object();\n      var w90Grad = 90 * Math.PI / 180;\n      var w180Grad = 180 * Math.PI / 180;\n      var ueberstand = Number(this.get('ueberstand'));\n      var verstaerkung = 0;\n      p1.x = item.get('punkt').objectAt(1).get('x') / 10;\n      p1.y = item.get('punkt').objectAt(1).get('y') / 10;\n      p1.z = item.get('punkt').objectAt(1).get('z') / 10;\n      p2.x = item.get('punkt').objectAt(0).get('x') / 10;\n      p2.y = item.get('punkt').objectAt(0).get('y') / 10;\n      p2.z = item.get('punkt').objectAt(0).get('z') / 10;\n      var richtungsvektor1 = new Object();\n      var richtungsvektor2 = new Object();\n      var sichtEbene = \"AnsichtXY\";\n\n      if (bauteile.findBy('id', 'viewpointOben').get('cameraProperties').objectAt(0).get('setBind')) {\n        sichtEbene = \"AnsichtXZ\";\n      } else if (bauteile.findBy('id', 'viewpointLinks').get('cameraProperties').objectAt(0).get('setBind')) {\n        sichtEbene = \"AnsichtYZ\";\n      }\n\n      sichtEbene = 'masskette' + sichtEbene + item.id.substring(0, item.id.length - 3);\n      richtungsvektor1.x = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('x'));\n      richtungsvektor1.y = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('y'));\n      richtungsvektor1.z = Number(item.get('ansichtsvektoren').findBy('id', sichtEbene).get('z'));\n      richtungsvektor2 = richtungsvektor1;\n      var ebene = Number(item.get('masskette').objectAt(0).get('ebene'));\n      cords = this.getVektorKoordinaten(p1, p2, richtungsvektor1, richtungsvektor2, ebene);\n      return cords;\n    },\n    getVektorKoordinaten: function (punkt1, punkt2, r1, r2, ebene) {\n      var dr = 0.2 * (ebene - 1);\n      var b05 = 0.05;\n      var b1 = 0.1;\n      var b5 = 0.5;\n      var b45 = b5 - b05;\n      var b55 = b5 + b05;\n      var b6 = 0.6;\n      var verschiebung = b5 * (ebene - 1) + dr;\n      var p0 = Number(punkt1.x) + verschiebung * Number(r1.x) + ' ' + (Number(punkt1.y) + verschiebung * Number(r1.y)) + ' ' + (Number(punkt1.z) + verschiebung * Number(r1.z));\n      var p1 = Number(punkt2.x) + verschiebung * Number(r2.x) + ' ' + (Number(punkt2.y) + verschiebung * Number(r2.y)) + ' ' + (Number(punkt2.z) + verschiebung * Number(r2.z));\n      var p2 = Number(punkt2.x) + (b6 + verschiebung) * Number(r2.x) + ' ' + (Number(punkt2.y) + (b6 + verschiebung) * Number(r2.y)) + ' ' + (Number(punkt2.z) + (b6 + verschiebung) * Number(r2.z));\n      var p3 = Number(punkt1.x) + (b6 + verschiebung) * Number(r1.x) + ' ' + (Number(punkt1.y) + (b6 + verschiebung) * Number(r1.y)) + ' ' + (Number(punkt1.z) + (b6 + verschiebung) * Number(r1.z));\n      var p4 = this.getXYZ(punkt1, punkt2, r1, r2, b5 + verschiebung, b1);\n      var p5 = this.getXYZ(punkt2, punkt1, r2, r1, b5 + verschiebung, b1);\n      var p6 = this.getXYZ(punkt2, punkt1, r2, r1, b45 + verschiebung, b05);\n      var p8 = this.getXYZ(punkt1, punkt2, r1, r2, b45 + verschiebung, -b05);\n      var p7 = this.getXYZ(punkt2, punkt1, r2, r1, b55 + verschiebung, -b05);\n      var p9 = this.getXYZ(punkt1, punkt2, r1, r2, b55 + verschiebung, b05);\n      var koordinaten = p0 + ', ' + p1 + ', ' + p2 + ', ' + p3 + ', ' + p4 + ', ' + p5 + ', ' + p6 + ', ' + p7 + ', ' + p8 + ', ' + p9;\n      return koordinaten;\n    },\n    getXYZ: function (punkt1, punkt2, r1, r2, richtungsAbstand, seitenAbstand) {\n      var p1_2 = {\n        x: Number(punkt1.x) + richtungsAbstand * Number(r1.x),\n        y: Number(punkt1.y) + richtungsAbstand * Number(r1.y),\n        z: Number(punkt1.z) + richtungsAbstand * Number(r1.z)\n      };\n      var p2_2 = {\n        x: Number(punkt2.x) + richtungsAbstand * Number(r2.x),\n        y: Number(punkt2.y) + richtungsAbstand * Number(r2.y),\n        z: Number(punkt2.z) + richtungsAbstand * Number(r2.z)\n      };\n      var r3 = {\n        x: p2_2.x - p1_2.x,\n        y: p2_2.y - p1_2.y,\n        z: p2_2.z - p1_2.z\n      };\n      var lr3 = this.vektorLaenge(r3.x, r3.y, r3.z);\n\n      if (lr3 === 0) {\n        console.log(\"!!!!! Bei \" + this.get('name') + \" Division durch 0 !!!!!\");\n        console.log('punkt1');\n        console.log(punkt1);\n        console.log('punkt2');\n        console.log(punkt2);\n        console.log('Länge von punkt2 zu punkt1');\n        console.log(lr3);\n        console.log(' ');\n        lr3 = 1;\n      }\n\n      var r3Einheitsvektor = {\n        x: r3.x / lr3,\n        y: r3.y / lr3,\n        z: r3.z / lr3\n      };\n      var x = p1_2.x + r3Einheitsvektor.x * (lr3 + seitenAbstand);\n      var y = p1_2.y + r3Einheitsvektor.y * (lr3 + seitenAbstand);\n      var z = p1_2.z + r3Einheitsvektor.z * (lr3 + seitenAbstand);\n      return x + ' ' + y + ' ' + z;\n    },\n    vektorLaenge: function (x, y, z) {\n      return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2));\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/data-adapter\", [\"exports\", \"@ember-data/debug\"], function (_exports, _debug) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _debug.default;\n    }\n  });\n});","define(\"m12-2020/formats\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = {\n    time: {\n      hhmmss: {\n        hour: 'numeric',\n        minute: 'numeric',\n        second: 'numeric'\n      }\n    },\n    date: {\n      hhmmss: {\n        hour: 'numeric',\n        minute: 'numeric',\n        second: 'numeric'\n      }\n    },\n    number: {\n      EUR: {\n        style: 'currency',\n        currency: 'EUR',\n        minimumFractionDigits: 2,\n        maximumFractionDigits: 2\n      },\n      USD: {\n        style: 'currency',\n        currency: 'USD',\n        minimumFractionDigits: 2,\n        maximumFractionDigits: 2\n      }\n    }\n  };\n  _exports.default = _default;\n});","define(\"m12-2020/helpers/app-version\", [\"exports\", \"m12-2020/config/environment\", \"ember-cli-app-version/utils/regexp\"], function (_exports, _environment, _regexp) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.appVersion = appVersion;\n  _exports.default = void 0;\n\n  function appVersion(_, hash = {}) {\n    const version = _environment.default.APP.version; // e.g. 1.0.0-alpha.1+4jds75hf\n    // Allow use of 'hideSha' and 'hideVersion' For backwards compatibility\n\n    let versionOnly = hash.versionOnly || hash.hideSha;\n    let shaOnly = hash.shaOnly || hash.hideVersion;\n    let match = null;\n\n    if (versionOnly) {\n      if (hash.showExtended) {\n        match = version.match(_regexp.versionExtendedRegExp); // 1.0.0-alpha.1\n      } // Fallback to just version\n\n\n      if (!match) {\n        match = version.match(_regexp.versionRegExp); // 1.0.0\n      }\n    }\n\n    if (shaOnly) {\n      match = version.match(_regexp.shaRegExp); // 4jds75hf\n    }\n\n    return match ? match[0] : version;\n  }\n\n  var _default = Ember.Helper.helper(appVersion);\n\n  _exports.default = _default;\n});","define(\"m12-2020/helpers/format-date\", [\"exports\", \"ember-intl/helpers/format-date\"], function (_exports, _formatDate) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _formatDate.default;\n    }\n  });\n});","define(\"m12-2020/helpers/format-message\", [\"exports\", \"ember-intl/helpers/format-message\"], function (_exports, _formatMessage) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _formatMessage.default;\n    }\n  });\n});","define(\"m12-2020/helpers/format-number\", [\"exports\", \"ember-intl/helpers/format-number\"], function (_exports, _formatNumber) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _formatNumber.default;\n    }\n  });\n});","define(\"m12-2020/helpers/format-relative\", [\"exports\", \"ember-intl/helpers/format-relative\"], function (_exports, _formatRelative) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _formatRelative.default;\n    }\n  });\n});","define(\"m12-2020/helpers/format-time\", [\"exports\", \"ember-intl/helpers/format-time\"], function (_exports, _formatTime) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _formatTime.default;\n    }\n  });\n});","define(\"m12-2020/helpers/pluralize\", [\"exports\", \"ember-inflector/lib/helpers/pluralize\"], function (_exports, _pluralize) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _pluralize.default;\n  _exports.default = _default;\n});","define(\"m12-2020/helpers/send\", [\"exports\", \"ember-component-inbound-actions/helpers/send\"], function (_exports, _send) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _send.default;\n    }\n  });\n});","define(\"m12-2020/helpers/singularize\", [\"exports\", \"ember-inflector/lib/helpers/singularize\"], function (_exports, _singularize) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _singularize.default;\n  _exports.default = _default;\n});","define(\"m12-2020/helpers/t\", [\"exports\", \"ember-intl/helpers/t\"], function (_exports, _t) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _t.default;\n    }\n  });\n});","define(\"m12-2020/initializers/app-version\", [\"exports\", \"ember-cli-app-version/initializer-factory\", \"m12-2020/config/environment\"], function (_exports, _initializerFactory, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  let name, version;\n\n  if (_environment.default.APP) {\n    name = _environment.default.APP.name;\n    version = _environment.default.APP.version;\n  }\n\n  var _default = {\n    name: 'App Version',\n    initialize: (0, _initializerFactory.default)(name, version)\n  };\n  _exports.default = _default;\n});","define(\"m12-2020/initializers/container-debug-adapter\", [\"exports\", \"ember-resolver/resolvers/classic/container-debug-adapter\"], function (_exports, _containerDebugAdapter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = {\n    name: 'container-debug-adapter',\n\n    initialize() {\n      let app = arguments[1] || arguments[0];\n      app.register('container-debug-adapter:main', _containerDebugAdapter.default);\n      app.inject('container-debug-adapter:main', 'namespace', 'application:main');\n    }\n\n  };\n  _exports.default = _default;\n});","define(\"m12-2020/initializers/ember-data-data-adapter\", [\"exports\", \"@ember-data/debug/setup\"], function (_exports, _setup) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _setup.default;\n    }\n  });\n});","define(\"m12-2020/initializers/ember-data\", [\"exports\", \"ember-data/setup-container\", \"ember-data\"], function (_exports, _setupContainer, _emberData) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  /*\n    This code initializes EmberData in an Ember application.\n  \n    It ensures that the `store` service is automatically injected\n    as the `store` property on all routes and controllers.\n  */\n  var _default = {\n    name: 'ember-data',\n    initialize: _setupContainer.default\n  };\n  _exports.default = _default;\n});","define(\"m12-2020/initializers/export-application-global\", [\"exports\", \"m12-2020/config/environment\"], function (_exports, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.initialize = initialize;\n  _exports.default = void 0;\n\n  function initialize() {\n    var application = arguments[1] || arguments[0];\n\n    if (_environment.default.exportApplicationGlobal !== false) {\n      var theGlobal;\n\n      if (typeof window !== 'undefined') {\n        theGlobal = window;\n      } else if (typeof global !== 'undefined') {\n        theGlobal = global;\n      } else if (typeof self !== 'undefined') {\n        theGlobal = self;\n      } else {\n        // no reasonable global, just bail\n        return;\n      }\n\n      var value = _environment.default.exportApplicationGlobal;\n      var globalName;\n\n      if (typeof value === 'string') {\n        globalName = value;\n      } else {\n        globalName = Ember.String.classify(_environment.default.modulePrefix);\n      }\n\n      if (!theGlobal[globalName]) {\n        theGlobal[globalName] = application;\n        application.reopen({\n          willDestroy: function () {\n            this._super.apply(this, arguments);\n\n            delete theGlobal[globalName];\n          }\n        });\n      }\n    }\n  }\n\n  var _default = {\n    name: 'export-application-global',\n    initialize: initialize\n  };\n  _exports.default = _default;\n});","define(\"m12-2020/initializers/model-locale\", [\"exports\", \"ember-model-validator/initializers/model-locale\"], function (_exports, _modelLocale) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _modelLocale.default;\n    }\n  });\n  Object.defineProperty(_exports, \"initialize\", {\n    enumerable: true,\n    get: function () {\n      return _modelLocale.initialize;\n    }\n  });\n});","define(\"m12-2020/instance-initializers/ember-data\", [\"exports\", \"ember-data/initialize-store-service\"], function (_exports, _initializeStoreService) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = {\n    name: 'ember-data',\n    initialize: _initializeStoreService.default\n  };\n  _exports.default = _default;\n});","define(\"m12-2020/mixins/model-validator\", [\"exports\", \"ember-model-validator/mixins/model-validator\"], function (_exports, _modelValidator) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _modelValidator.default;\n  _exports.default = _default;\n});","define(\"m12-2020/mixins/object-validator\", [\"exports\", \"ember-model-validator/mixins/object-validator\"], function (_exports, _objectValidator) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _objectValidator.default;\n  _exports.default = _default;\n});","define(\"m12-2020/models/anschlussgeometrie\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var anschlussgeometrie = _model.default.extend({\n    ALFA_Vertical_GRAD: (0, _model.attr)('string'),\n    ALFA_Horizontal_GRAD: (0, _model.attr)('string'),\n    SrVar: (0, _model.attr)('string'),\n    SrPaare: (0, _model.attr)('string'),\n    Max_nSrGrp: (0, _model.attr)('string'),\n    QuerZugNW: (0, _model.attr)('boolean')\n  });\n\n  anschlussgeometrie.reopenClass({\n    FIXTURES: [{\n      id: 1,\n      ALFA_Vertical_GRAD: \"0\",\n      ALFA_Horizontal_GRAD: \"90\",\n      SrVar: '1',\n      SrPaare: 'true',\n      Max_nSrGrp: '0',\n      QuerZugNW: true\n    }]\n  });\n  var _default = anschlussgeometrie;\n  _exports.default = _default;\n});","define(\"m12-2020/models/ansichtsvektoren\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/appearance\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    transparency: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/application\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  // var lower = 0;\n  // var upper = 100000000;\n  // var calcId = Math.floor(Math.random()*(upper-lower))+lower;\n  var application = _model.default.extend({\n    Calculation_ID: (0, _model.attr)('string'),\n    firm: (0, _model.attr)('string'),\n    //firm\n    spracheinput: (0, _model.attr)('string'),\n    //spracheinput\n    spracheoutput: (0, _model.attr)('string'),\n    //spracheoutput\n    katalog: (0, _model.attr)('string'),\n    //katalog\n    timberCode: (0, _model.attr)('string'),\n    //timberCode\n    timberNA: (0, _model.attr)('string'),\n    //timberNA\n    loadsCode: (0, _model.attr)('string'),\n    //loadsCode\n    loadsNA: (0, _model.attr)('string'),\n    //loadsNA\n    initialized: (0, _model.attr)('boolean'),\n    selectedScrew: (0, _model.attr)('string'),\n    treeLoaded: (0, _model.attr)('boolean'),\n    kennungland: (0, _model.attr)('string'),\n    userID: (0, _model.attr)('string'),\n    userName: (0, _model.attr)('string'),\n    pdfErstellt: (0, _model.attr)('boolean')\n  });\n\n  var _default = application;\n  _exports.default = _default;\n});","define(\"m12-2020/models/auflager\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var auflager = _model.default.extend({\n    bLager: (0, _model.attr)('string'),\n    lLager: (0, _model.attr)('string'),\n    LagerTyp: (0, _model.attr)('string'),\n    LagerText: (0, _model.attr)('string'),\n    dl_Lager: (0, _model.attr)('string'),\n    L1: (0, _model.attr)('string'),\n    Streckenlast: (0, _model.attr)('boolean'),\n    Einzellast: (0, _model.attr)('boolean')\n  });\n\n  var _default = auflager;\n  _exports.default = _default;\n});","define(\"m12-2020/models/bauteil\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    typ: (0, _model.attr)('string'),\n    boxsizes: (0, _model.hasMany)('boxsize', {\n      async: false\n    }),\n    appearances: (0, _model.hasMany)('appearance', {\n      async: false\n    }),\n    translations: (0, _model.hasMany)('translation', {\n      async: false\n    }),\n    rotations: (0, _model.hasMany)('rotation', {\n      async: false\n    }),\n    diffusecolors: (0, _model.hasMany)('diffusecolor', {\n      async: false\n    }),\n    orientations: (0, _model.hasMany)('orientation', {\n      async: false\n    }),\n    positions: (0, _model.hasMany)('position', {\n      async: false\n    }),\n    screwProperties: (0, _model.hasMany)('screwProperty', {\n      async: false\n    }),\n    cameraProperties: (0, _model.hasMany)('cameraProperty', {\n      async: false\n    }),\n    erweiterteeigenschaften: (0, _model.hasMany)('erweiterteeigenschaft', {\n      async: false\n    }),\n    punkt: (0, _model.hasMany)('punkt', {\n      async: false\n    }),\n    richtungsvektor: (0, _model.hasMany)('richtungsvektor', {\n      async: false\n    }),\n    ansichtsvektoren: (0, _model.hasMany)('ansichtsvektoren', {\n      async: false\n    }),\n    faserrichtungvektor: (0, _model.hasMany)('faserrichtungvektor', {\n      async: false\n    }),\n    orthovektor: (0, _model.hasMany)('orthovektor', {\n      async: false\n    }),\n    platte: (0, _model.hasMany)('platte', {\n      async: false\n    }),\n    masskette: (0, _model.hasMany)('masskette', {\n      async: false\n    }),\n    lagewinkel: (0, _model.hasMany)('lagewinkel', {\n      async: false\n    })\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/boxsize\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/camera-property\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    setBind: (0, _model.attr)('')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/cone\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    radiusUnten: (0, _model.attr)('number'),\n    radiusOben: (0, _model.attr)('number'),\n    hoehe: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/cylinder\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    radius: (0, _model.attr)('number'),\n    hoehe: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/diffusecolor\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    rot: (0, _model.attr)('number'),\n    gruen: (0, _model.attr)('number'),\n    blau: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/dimension\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    name: (0, _model.attr)('string'),\n    bauteil: (0, _model.attr)('string'),\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/erweiterteeigenschaft\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    ueberstand: (0, _model.attr)('number'),\n    abstandsmass: (0, _model.attr)('number'),\n    istendauflager: (0, _model.attr)('boolean'),\n    iststreckenlast: (0, _model.attr)('boolean'),\n    auflagernaheeinzellast: (0, _model.attr)('boolean')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/faserrichtungvektor\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/gabellager\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var gabellager = _model.default.extend({\n    BStuetze: (0, _model.attr)('string'),\n    LStuetze: (0, _model.attr)('string'),\n    HStuetze: (0, _model.attr)('string'),\n    SpaltmassStuetze: (0, _model.attr)('string')\n  });\n\n  var _default = gabellager;\n  _exports.default = _default;\n});","define(\"m12-2020/models/lagewinkel\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    winkel: (0, _model.attr)('')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/lasteinwirkung\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var lasteinwirkung = _model.default.extend({\n    NKL_ID: (0, _model.attr)('string'),\n    NKL_Text: (0, _model.attr)('string'),\n    KLED_ID: (0, _model.attr)('string'),\n    LED_Text: (0, _model.attr)('string'),\n    V_d: (0, _model.attr)('string'),\n    Torsionsmoment: (0, _model.attr)('string')\n  });\n\n  var _default = lasteinwirkung;\n  _exports.default = _default;\n});","define(\"m12-2020/models/masskette\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    masstext: (0, _model.attr)(''),\n    altpos: (0, _model.attr)(''),\n    ebene: (0, _model.attr)('')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/optionen\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var optionen = _model.default.extend({\n    min_n0: (0, _model.attr)('number'),\n    min_n90: (0, _model.attr)('number'),\n    min_a1cPlatte: (0, _model.attr)('number'),\n    min_a2cPlatte: (0, _model.attr)('number'),\n    sicherheitsAbstand: (0, _model.attr)('number')\n  });\n\n  var _default = optionen;\n  _exports.default = _default;\n});","define(\"m12-2020/models/orientation\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number'),\n    winkel: (0, _model.attr)('number'),\n    setupController: function (controller, model) {\n      this.controllerFor('xdreids').set('model', model);\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/orthovektor\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/platte\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    thickness: (0, _model.attr)('number'),\n    matid: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/position\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/projektdaten\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  // var lower = 0;\n  // var upper = 100000000;\n  // var calcId = Math.floor(Math.random()*(upper-lower))+lower;\n  var application = _model.default.extend({\n    bname: (0, _model.attr)('string'),\n    bvname: (0, _model.attr)('string'),\n    bvplz: (0, _model.attr)('string'),\n    bvstrasse: (0, _model.attr)('string', {\n      defaultValue: function () {\n        return 'false';\n      }\n    }),\n    bvort: (0, _model.attr)('string'),\n    vname: (0, _model.attr)('string'),\n    vstrasse: (0, _model.attr)('string'),\n    vplz: (0, _model.attr)('string'),\n    vort: (0, _model.attr)('string'),\n    vtel: (0, _model.attr)('string'),\n    vfax: (0, _model.attr)('string'),\n    vemail: (0, _model.attr)('string'),\n    bezeichnung: (0, _model.attr)('string'),\n    beschreibung: (0, _model.attr)('string'),\n    kdnum: (0, _model.attr)('string'),\n    bemerkungstext: (0, _model.attr)('string')\n  });\n\n  var _default = application;\n  _exports.default = _default;\n});","define(\"m12-2020/models/punkt\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/richtungsvektor\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/richtungsvektor0\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/rotation\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number'),\n    winkel: (0, _model.attr)('number') // rotation: belongsTo('bauteil', {async: true})\n\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/schraube\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    typ: (0, _model.attr)('string'),\n    cylinders: (0, _model.hasMany)('cylinder', {\n      async: true\n    }),\n    cones: (0, _model.hasMany)('cone', {\n      async: true\n    }),\n    appearances: (0, _model.hasMany)('appearance', {\n      async: true\n    }),\n    translations: (0, _model.hasMany)('translation', {\n      async: true\n    }),\n    rotations: (0, _model.hasMany)('rotation', {\n      async: true\n    }),\n    diffuseColors: (0, _model.hasMany)('diffuseColor', {\n      async: true\n    })\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/screw-property\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    headformID: (0, _model.attr)('number'),\n    headdiameter: (0, _model.attr)('number'),\n    headheight: (0, _model.attr)('number'),\n    length: (0, _model.attr)('number'),\n    diameter: (0, _model.attr)('number'),\n    threadlengthtip: (0, _model.attr)('number'),\n    threadlengthhead: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/traeger\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var traeger = _model.default.extend({\n    MatKeyTimberElement: (0, _model.attr)('string'),\n    FKLKeyTimberElement: (0, _model.attr)('string'),\n    TimberElement_b: (0, _model.attr)('string'),\n    TimberElement_h: (0, _model.attr)('string'),\n    TimberElement_Predrilled: (0, _model.attr)('boolean', {\n      defaultValue: function () {\n        return false;\n      }\n    }),\n    alphaRAD_vmFaser: (0, _model.attr)('string')\n  });\n\n  var _default = traeger;\n  _exports.default = _default;\n});","define(\"m12-2020/models/translation\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = _model.default.extend({\n    x: (0, _model.attr)('number'),\n    y: (0, _model.attr)('number'),\n    z: (0, _model.attr)('number')\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/models/verbindungsmittel\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var Verbindungsmittel = _model.default.extend({\n    title: (0, _model.attr)(\"String\"),\n    children: (0, _model.hasMany)('tag', {\n      async: true\n    }),\n    parent: (0, _model.belongsTo)('tag', {\n      async: true\n    })\n  });\n\n  var _default = Verbindungsmittel;\n  _exports.default = _default;\n});","define(\"m12-2020/models/x3ddefault\", [\"exports\", \"@ember-data/model\"], function (_exports, _model) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var X3D = _model.default.extend({\n    modul: (0, _model.attr)(''),\n    transformHelper: (0, _model.attr)(''),\n    viewpointHelper: (0, _model.attr)(''),\n    bauteile: (0, _model.hasMany)('bauteil', {\n      async: false\n    }),\n    dimensionen: (0, _model.hasMany)('dimension', {\n      async: false\n    }),\n    resetFieldOfView: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    hWinkel: (0, _model.attr)('number', {\n      defaultValue: 90\n    }),\n    vWinkel: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    bemessungslast: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    min_n0: (0, _model.attr)('number', {\n      defaultValue: 1\n    }),\n    min_n90: (0, _model.attr)('number', {\n      defaultValue: 1\n    }),\n    min_a1cPlatte: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    min_a2cPlatte: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    sicherheitsAbstand: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    lastViewpoint: (0, _model.attr)('string', {\n      defaultValue: 'viewpointDefault'\n    }),\n    aktuellerSchraubenTyp: (0, _model.attr)('string', {\n      defaultValue: 'standardSchraube'\n    }),\n    htbreiteAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    hthoeheAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    abreiteAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    alaengeAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    ueberstandAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    abstandsmassAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    bemessungslastAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    min_n0Aktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    min_n90Aktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    min_a1cPlatteAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    min_a2cPlatteAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    sicherheitsAbstandAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    routeOptionenAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    htBreiteEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    htHoeheEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    aBreiteEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    aLaengeEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    ueberstandEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    abstandsmassEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: true\n    }),\n    min_n0Eingetragen: (0, _model.attr)('boolean', {\n      defaultValue: true\n    }),\n    min_n90Eingetragen: (0, _model.attr)('boolean', {\n      defaultValue: true\n    }),\n    min_a1cPlatteEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: true\n    }),\n    min_a2cPlatteEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: true\n    }),\n    sicherheitsAbstandEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: true\n    }),\n    bemessungslastEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    schraubenlisteAktualisiert: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    skalierungsfaktor: (0, _model.attr)('number', {\n      defaultValue: function () {\n        return 1;\n      }\n    }),\n    startDistance: (0, _model.attr)('number', {\n      defaultValue: 15\n    }),\n    aktuelleDistance: (0, _model.attr)('number', {\n      defaultValue: 15\n    }),\n    textRefresh: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    randAbstand1: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    randAbstand2: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    schraubenAbstand1: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    schraubenAbstand2: (0, _model.attr)('number', {\n      defaultValue: 0\n    }),\n    abstaendeAnzeigen: (0, _model.attr)('boolean', {\n      defaultValue: true\n    }),\n    ergebnisGeladen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    istGitterModell: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    gabellager: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    bGabellagerAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    lGabellagerAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    hGabellagerAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    aGabellagerAktiv: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    bGabellagerEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    lGabellagerEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    hGabellagerEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    }),\n    aGabellagerEingetragen: (0, _model.attr)('boolean', {\n      defaultValue: false\n    })\n  });\n\n  var _default = X3D;\n  _exports.default = _default;\n});","define(\"m12-2020/router\", [\"exports\", \"m12-2020/config/environment\"], function (_exports, _environment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n  class Router extends Ember.Router {\n    constructor(...args) {\n      super(...args);\n\n      _defineProperty(this, \"location\", _environment.default.locationType);\n\n      _defineProperty(this, \"rootURL\", _environment.default.rootURL);\n    }\n\n  }\n\n  _exports.default = Router;\n  Router.map(function () {\n    this.route('projektdaten');\n    this.route('traeger');\n    this.route('auflager');\n    this.route('gabellager');\n    this.route('lasteinwirkung');\n    this.route('optionen');\n    this.route('verbindungsmittel');\n    this.route('ergebnis');\n    this.route('impressum');\n    this.route('downloadcenter');\n  });\n});","define(\"m12-2020/routes/application\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Route.extend({\n    intl: Ember.inject.service(),\n\n    beforeModel() {\n      this.intl.setLocale(['de']);\n    },\n\n    model: function () {\n      var self = this;\n      return Ember.RSVP.hash({\n        application: self.store.findAll('application'),\n        projektdaten: self.store.findAll('projektdaten'),\n        traeger: self.store.findAll('traeger'),\n        auflager: self.store.findAll('auflager'),\n        gabellager: self.store.findAll('gabellager'),\n        optionen: self.store.findAll('optionen'),\n        lasteinwirkung: self.store.findAll('lasteinwirkung'),\n        x3ddefault: self.store.findAll('x3ddefault')\n      });\n    },\n\n    setupController(controller, model) {\n      this._super(controller, model);\n\n      controller.initialisierung(); // controller.set('model', model);\n\n      this.watchingTextSize(controller);\n    },\n\n    watchingTextSize: function (controller) {\n      var self = this;\n      var viewingRay;\n      var distance;\n      Ember.run.debounce(function () {\n        console.log('/routes/application.js: Seite gerendert!');\n\n        try {\n          document.getElementById('x3d').runtime.enterFrame = function () {\n            var skalfak = controller.model.x3ddefault.objectAt(0).get('skalierungsfaktor');\n            var vp = controller.model.x3ddefault.objectAt(0).get('lastViewpoint'); // distance = Number(controller.model.x3ddefault.objectAt(0).get('aktuelleDistance'));\n            // var _11 = document.getElementById('x3d').runtime.projectionMatrix()._11;\n            // skalfak = (distance/_11)/50;\n\n            skalfak = Math.abs(document.getElementById(vp).getFieldValue('fieldOfView')[0]) / 4; // if (skalfak < 0.75){skalfak=0.75;}\n            //begrenzt den Skalierungsfaktor, sodass nicht mehr als auf die dreifache größe skaliert wird\n            // if (skalfak > 3){skalfak=3;}\n\n            controller.model.x3ddefault.objectAt(0).set('skalierungsfaktor', skalfak);\n            var texts = document.getElementsByTagName('text');\n            var str = '';\n\n            for (var j = 0; j < texts.length; j++) {\n              str = texts[j].getAttribute('string');\n              texts[j].setAttribute('string', ' ');\n              texts[j].setAttribute('string', str);\n            }\n          };\n\n          $(document).ready(function () {\n            setX3DSize();\n          });\n          $(window).resize(function () {\n            setX3DSize();\n          });\n\n          function setX3DSize() {\n            var x3dGrafik = document.getElementById(\"threedee\");\n            var x3d = document.getElementById(\"x3d\");\n            var canvas = document.getElementsByTagName(\"canvas\");\n            var x3druntime = document.getElementById('x3d').runtime; // canvas[0].setAttribute('width', Number($(window).width()) - Number(x3dGrafik.offsetLeft) - 20);\n\n            x3d.setAttribute('width', Number($(window).width()) - Number(x3dGrafik.offsetLeft) - 20); // canvas[0].setAttribute('hight', Number($(window).width()) - Number(x3dGrafik.offsetLeft) - 20);\n\n            x3d.setAttribute('height', Number($(window).height()) - 200);\n          }\n        } catch (error) {\n          console.log('/routes/application.js: x3dom need reload');\n          x3dom.reload();\n          self.watchingTextSize(controller);\n        }\n      }, 500);\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/routes/auflager\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Route.extend({\n    intl: Ember.inject.service(),\n    model: function () {\n      return this.store.findAll('auflager');\n    },\n    setupController: function (controller) {\n      controller.initialisierung();\n      this.controllerFor('application').miniertX3D();\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/routes/ergebnis\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Route.extend({\n    intl: Ember.inject.service(),\n    setupController: function () {\n      this.controllerFor('application').miniertX3D();\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/routes/gabellager\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  // import { computed } from '@ember/object';\n  var _default = Ember.Route.extend({\n    intl: Ember.inject.service(),\n    model: function () {\n      return this.store.findAll('gabellager');\n    },\n    setupController: function (controller) {\n      controller.initialisierung();\n      this.controllerFor('application').miniertX3D();\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/routes/lasteinwirkung\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Route.extend({\n    intl: Ember.inject.service(),\n    model: function () {\n      return this.store.findAll('lasteinwirkung');\n    },\n    setupController: function (controller) {\n      controller.initialisierung();\n      this.controllerFor('application').miniertX3D();\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/routes/optionen\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Route.extend({\n    intl: Ember.inject.service(),\n    model: function () {\n      return this.store.findAll('optionen');\n    },\n    setupController: function (controller) {\n      controller.initialisierung();\n      this.controllerFor('application').miniertX3D();\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/routes/projektdaten\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Route.extend({\n    model: function () {\n      return this.store.findAll('projektdaten');\n    },\n    setupController: function () {\n      this.controllerFor('application').miniertX3D();\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/routes/traeger\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Route.extend({\n    intl: Ember.inject.service(),\n    model: function () {\n      return this.store.findAll('traeger');\n    },\n    setupController: function (controller) {\n      controller.initialisierung();\n      this.controllerFor('application').miniertX3D();\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/routes/verbindungsmittel\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.Route.extend({\n    intl: Ember.inject.service(),\n    setupController: function (controller) {\n      controller.initialisierung();\n      this.controllerFor('application').miniertX3D();\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/serializers/-default\", [\"exports\", \"@ember-data/serializer/json\"], function (_exports, _json) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _json.default;\n    }\n  });\n});","define(\"m12-2020/serializers/-json-api\", [\"exports\", \"@ember-data/serializer/json-api\"], function (_exports, _jsonApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _jsonApi.default;\n    }\n  });\n});","define(\"m12-2020/serializers/-rest\", [\"exports\", \"@ember-data/serializer/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _rest.default;\n    }\n  });\n});","define(\"m12-2020/services/intl\", [\"exports\", \"ember-intl/services/intl\"], function (_exports, _intl) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _intl.default;\n    }\n  });\n});","define(\"m12-2020/services/store\", [\"exports\", \"ember-data/store\"], function (_exports, _store) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _store.default;\n    }\n  });\n});","define(\"m12-2020/templates/application\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"zAorrRZb\",\n    \"block\": \"{\\\"symbols\\\":[\\\"masskette\\\",\\\"@model\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[23,0,[\\\"loggedIn\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"header\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"leftHead\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"clearfix\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"swg\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"leftLogo\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/logo_swg.png\\\"],[10,\\\"width\\\",\\\"150\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"leftHeaderSWG\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"oben\\\"],[8],[0,\\\"SWG Bemessungssoftware\\\"],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"wuerth\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"leftLogo\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/wuerth.jpg\\\"],[10,\\\"width\\\",\\\"150\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"leftHeader\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"oben\\\"],[8],[1,[28,\\\"t\\\",[\\\"bemessungssoftware\\\"],null],false],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"verbaende\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"leftLogo\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/logo_l_verbaende.png\\\"],[10,\\\"width\\\",\\\"400\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"leftHeaderVerbaende\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"oben\\\"],[8],[0,\\\"Bemessungssoftware\\\"],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"rightLogo\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/logo_r_verbaende.png\\\"],[10,\\\"width\\\",\\\"205\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"clearBoth\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"toolbar\\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tlbbtn\\\"],[8],[0,\\\"\\\\n          \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn btn-default btn-xs\\\"],[12,\\\"title\\\",[28,\\\"t\\\",[\\\"neueberechnung\\\"],null]],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"newAction\\\"]]],null]]],[8],[0,\\\"\\\\n            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/page_add.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tlbbtn\\\"],[8],[0,\\\"\\\\n          \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn btn-default btn-xs\\\"],[12,\\\"title\\\",[28,\\\"t\\\",[\\\"berechnungspeichern\\\"],null]],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"saveAction\\\"]]],null]]],[8],[0,\\\"\\\\n            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/disk.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tlbbtn\\\"],[8],[0,\\\"\\\\n\\\\n          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tlbbtn\\\"],[8],[0,\\\"\\\\n            \\\"],[5,\\\"file-picker\\\",[[12,\\\"fileLoaded\\\",\\\"fileLoaded\\\"],[12,\\\"readAs\\\",\\\"readAsText\\\"]],[[],[]],{\\\"statements\\\":[[0,\\\"\\\\n              \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn btn-default btn-xs\\\"],[11,\\\"title\\\",[28,\\\"t\\\",[\\\"berechnungoeffnen\\\"],null]],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/folder_page.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n            \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tlbbtn\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn btn-default btn-xs\\\"],[12,\\\"title\\\",[28,\\\"t\\\",[\\\"kontakt\\\"],null]],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"contactAction\\\"]]],null]]],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/email.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"wuerth\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tlbbtn\\\"],[8],[0,\\\"\\\\n                \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"btn btn-default btn-xs\\\"],[11,\\\"title\\\",[28,\\\"t\\\",[\\\"hilfe\\\"],null]],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noopener noreferrer\\\"],[11,\\\"href\\\",[23,0,[\\\"hilfelink\\\"]]],[8],[0,\\\"\\\\n                  \\\"],[7,\\\"img\\\",true],[10,\\\"class\\\",\\\"helpbutton\\\"],[10,\\\"src\\\",\\\"assets/images/help.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n                \\\"],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tlbbtn\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"btn-group\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn btn-default btn-xs dropdown-toggle\\\"],[10,\\\"data-toggle\\\",\\\"dropdown\\\"],[10,\\\"aria-haspopup\\\",\\\"true\\\"],[10,\\\"aria-expanded\\\",\\\"false\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"\\\\n                \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"glyphicon glyphicon-wrench\\\"],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"einstellung\\\"],null],false],[0,\\\"\\\\n                \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"caret\\\"],[8],[9],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\\n              \\\"],[7,\\\"ul\\\",true],[10,\\\"class\\\",\\\"dropdown-menu\\\"],[8],[0,\\\"\\\\n                \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"dropdown-submenu\\\"],[8],[0,\\\"\\\\n                  \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"class\\\",\\\"not-active\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[8],[1,[28,\\\"t\\\",[\\\"spracheinstellungen\\\"],null],false],[9],[0,\\\"\\\\n                  \\\"],[7,\\\"ul\\\",true],[10,\\\"class\\\",\\\"dropdown-menu\\\"],[8],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"dropdown-submenu\\\"],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"class\\\",\\\"not-active\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[8],[1,[28,\\\"t\\\",[\\\"eingabe\\\"],null],false],[9],[0,\\\"\\\\n                      \\\"],[7,\\\"ul\\\",true],[10,\\\"class\\\",\\\"dropdown-menu\\\"],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"menuSelected\\\"],[8],[1,[23,0,[\\\"selectedLanguage\\\"]],false],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[10,\\\"role\\\",\\\"separator\\\"],[10,\\\"class\\\",\\\"divider\\\"],[8],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"DK\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/dk.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"dansk\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"DE\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/de.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"deutsch\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"EN\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/england.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"englisch\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"FR\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/fr.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"franzoesisch\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"IT\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/it.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"italienisch\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"NL\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/nl.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"nederlands\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"PL\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/pl.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"polnisch\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"ES\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/es.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"espanol\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"FI\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/fi.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"suomi\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSpracheInput\\\"]],\\\"SE\\\"],null]]],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/se.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[1,[28,\\\"t\\\",[\\\"schwedisch\\\"],null],false],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                      \\\"],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"disabled\\\"],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"class\\\",\\\"not-active\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[8],[1,[28,\\\"t\\\",[\\\"ausgabe\\\"],null],false],[9],[0,\\\"\\\\n                      \\\"],[7,\\\"ul\\\",true],[10,\\\"class\\\",\\\"dropdown-menu\\\"],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/folder_page.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" Öffnen ## \\\"],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                        \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                          \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[8],[0,\\\"\\\\n                            \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/email.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" Kontakt\\\"],[9],[0,\\\"\\\\n                        \\\"],[9],[0,\\\"\\\\n                      \\\"],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                  \\\"],[9],[0,\\\"\\\\n                \\\"],[9],[0,\\\"\\\\n                \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"dropdown-submenu\\\"],[8],[0,\\\"\\\\n                  \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"class\\\",\\\"not-active\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[8],[1,[28,\\\"t\\\",[\\\"landeseinstellungen\\\"],null],false],[9],[0,\\\"\\\\n                  \\\"],[7,\\\"ul\\\",true],[10,\\\"class\\\",\\\"dropdown-menu\\\"],[8],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"menuSelected\\\"],[8],[7,\\\"selectedCountry\\\",true],[8],[9],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[10,\\\"role\\\",\\\"separator\\\"],[10,\\\"class\\\",\\\"divider\\\"],[8],[9],[0,\\\"\\\\n\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"CL\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cl.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"chile\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"DK\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/dk.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"daenemark\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"DE\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/de.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"deutschland\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"UK\\\"],null]]],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/gb.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"england\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"FI\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/fi.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"finnland\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"FR\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/fr.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"frankreich\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"NL\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/nl.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"niederlande\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"IT\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/it.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"italien\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"LU\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/lu.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"luxemburg\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"HR\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/hr.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"kroatien\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"NO\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/no.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"norwegen\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"AT\\\"],null]]],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/at.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"oesterreich\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"PL\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/pl.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"polen\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"RO\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/ro.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"rumaenien\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"SE\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/se.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"schweden\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"CH\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/ch.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"schweiz\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"SK\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/sk.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"slowakei\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"SI\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/si.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"slowenien\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"ES\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/es.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"spanien\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"CZ\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cz.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"tschechien\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCountryCode\\\"]],\\\"HU\\\"],null]]],[8],[0,\\\"\\\\n                        \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/hu.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"ungarn\\\"],null],false],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                  \\\"],[9],[0,\\\"\\\\n                \\\"],[9],[0,\\\"\\\\n                \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"dropdown-submenu\\\"],[8],[0,\\\"\\\\n                  \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"class\\\",\\\"not-active\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[8],[1,[28,\\\"t\\\",[\\\"bemessungsvorschrift\\\"],null],false],[9],[0,\\\"\\\\n                  \\\"],[7,\\\"ul\\\",true],[10,\\\"class\\\",\\\"dropdown-menu\\\"],[8],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"menuSelected\\\"],[8],[1,[23,0,[\\\"bemessungsvorschrift\\\"]],false],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[10,\\\"role\\\",\\\"separator\\\"],[10,\\\"class\\\",\\\"divider\\\"],[8],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setBemessungsvorschrift\\\"]],\\\"DE\\\"],null]]],[8],[0,\\\"\\\\n                    EC5 (DE)\\\"],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setBemessungsvorschrift\\\"]],\\\"AT\\\"],null]]],[8],[0,\\\"\\\\n                    EC5 (AT)\\\"],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setBemessungsvorschrift\\\"]],\\\"FR\\\"],null]]],[8],[0,\\\"\\\\n                    EC5 (FR)\\\"],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setBemessungsvorschrift\\\"]],\\\"IT\\\"],null]]],[8],[0,\\\"\\\\n                    EC5 (IT)\\\"],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setBemessungsvorschrift\\\"]],\\\"FI\\\"],null]]],[8],[0,\\\"\\\\n                    EC5 (FI)\\\"],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                    \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                      \\\"],[7,\\\"a\\\",false],[12,\\\"href\\\",\\\"#\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setBemessungsvorschrift\\\"]],\\\"DK\\\"],null]]],[8],[0,\\\"\\\\n                    EC5 (DK)\\\"],[9],[0,\\\"\\\\n                    \\\"],[9],[0,\\\"\\\\n                  \\\"],[9],[0,\\\"\\\\n                \\\"],[9],[0,\\\"\\\\n                \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"disabled\\\"],[8],[0,\\\"\\\\n                  \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[8],[0,\\\"\\\\n                \\\"],[1,[28,\\\"t\\\",[\\\"liefersortiment\\\"],null],false],[9],[0,\\\"\\\\n                \\\"],[9],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\\n            \\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\\n          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tlbbtn\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"btn-group\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn btn-default btn-xs dropdown-toggle\\\"],[10,\\\"data-toggle\\\",\\\"dropdown\\\"],[10,\\\"aria-haspopup\\\",\\\"true\\\"],[10,\\\"aria-expanded\\\",\\\"false\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"\\\\n                \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"glyphicon glyphicon-star\\\"],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"extras\\\"],null],false],[0,\\\"\\\\n                \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"caret\\\"],[8],[9],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\\n              \\\"],[7,\\\"ul\\\",true],[10,\\\"class\\\",\\\"dropdown-menu\\\"],[8],[0,\\\"\\\\n                \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                  \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noopener noreferrer\\\"],[8],[1,[28,\\\"t\\\",[\\\"produktkatalog\\\"],null],false],[9],[0,\\\"\\\\n                \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"verbindungsmittelInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"                  \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"disabled\\\"],[8],[0,\\\"\\\\n                    \\\"],[1,[28,\\\"t\\\",[\\\"produktinfo\\\"],null],false],[0,\\\"\\\\n                  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"                  \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                    \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noopener noreferrer\\\"],[8],[1,[28,\\\"t\\\",[\\\"produktinfo\\\"],null],false],[9],[0,\\\"\\\\n                  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"                \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                  \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noopener noreferrer\\\"],[8],[1,[28,\\\"t\\\",[\\\"eta\\\"],null],false],[9],[0,\\\"\\\\n                \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"verbindungsmittelInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"                  \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"disabled\\\"],[8],[0,\\\"\\\\n                    \\\"],[1,[28,\\\"t\\\",[\\\"cad\\\"],null],false],[0,\\\"\\\\n                  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"                  \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                    \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"#\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noopener noreferrer\\\"],[8],[1,[28,\\\"t\\\",[\\\"cad\\\"],null],false],[9],[0,\\\"\\\\n                  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"                \\\"],[7,\\\"li\\\",true],[8],[0,\\\"\\\\n                  \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"impressum\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                    \\\"],[1,[28,\\\"t\\\",[\\\"impressum\\\"],null],false],[0,\\\"\\\\n                  \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n                \\\"],[9],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\\n            \\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[0,\\\"\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"navbar\\\"],[8],[0,\\\"\\\\n\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"navbar-inner\\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"ul\\\",true],[10,\\\"class\\\",\\\"nav nav-tabs\\\"],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"projektdatenInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"tab\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"projektdaten\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cross.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"projektdaten\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"tab\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"projektdaten\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/tick.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"projektdaten\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"traegerInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"traeger\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"traeger\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cross.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"traeger\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"traeger\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"traeger\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/tick.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"traeger\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"auflagerInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"auflager\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"auflager\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cross.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"auflager\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"auflager\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"auflager\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/tick.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"auflager\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"gabellagerReiter\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[23,0,[\\\"gabellagerInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"auflager\\\"],[8],[0,\\\"\\\\n                \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"gabellager\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                  \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cross.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"gabellager\\\"],null],false],[0,\\\"\\\\n                \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"auflager\\\"],[8],[0,\\\"\\\\n                \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"gabellager\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                  \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/tick.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"gabellager\\\"],null],false],[0,\\\"\\\\n                \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"lasteinwirkungInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"lasteinwirkung\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"lasteinwirkung\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cross.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"lasteinwirkung2\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"lasteinwirkung\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"lasteinwirkung\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/tick.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"lasteinwirkung2\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"optionenInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"optionen\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"optionen\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cross.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"optionen\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"auflager\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\"],[\\\"optionen\\\"]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/tick.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"optionen\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"eingabenUngueltig\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[23,0,[\\\"verbindungsmittelInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"disabled\\\"],[10,\\\"name\\\",\\\"verbindungsmittel\\\"],[8],[0,\\\"\\\\n                \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\",\\\"@disabled\\\"],[\\\"verbindungsmittel\\\",[29,[[23,0,[\\\"eingabenUngueltig\\\"]]]]]],{\\\"statements\\\":[[0,\\\"\\\\n                  \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cross.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"verbindungsmittel\\\"],null],false],[0,\\\"\\\\n                \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"disabled\\\"],[10,\\\"name\\\",\\\"verbindungsmittel\\\"],[8],[0,\\\"\\\\n                \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\",\\\"@disabled\\\"],[\\\"verbindungsmittel\\\",[29,[[23,0,[\\\"eingabenUngueltig\\\"]]]]]],{\\\"statements\\\":[[0,\\\"\\\\n                  \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/tick.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"verbindungsmittel\\\"],null],false],[0,\\\"\\\\n                \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[23,0,[\\\"verbindungsmittelInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"verbindungsmittel\\\"],[8],[0,\\\"\\\\n                \\\"],[5,\\\"link-to\\\",[[3,\\\"on\\\",[\\\"click\\\",[23,0,[\\\"verbindungsmittel\\\"]]]]],[[\\\"@route\\\",\\\"@disabled\\\"],[\\\"verbindungsmittel\\\",[23,0,[\\\"lasteinwirkungInvalid\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n                  \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cross.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"verbindungsmittel\\\"],null],false],[0,\\\"\\\\n                \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"verbindungsmittel\\\"],[8],[0,\\\"\\\\n                \\\"],[5,\\\"link-to\\\",[[3,\\\"on\\\",[\\\"click\\\",[23,0,[\\\"verbindungsmittel\\\"]]]]],[[\\\"@route\\\",\\\"@disabled\\\"],[\\\"verbindungsmittel\\\",[23,0,[\\\"lasteinwirkungInvalid\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n                  \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/tick.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"verbindungsmittel\\\"],null],false],[0,\\\"\\\\n                \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"verbindungsmittelInvalid\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"disabled\\\"],[10,\\\"name\\\",\\\"ergebnis\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[],[[\\\"@route\\\",\\\"@disabled\\\"],[\\\"ergebnis\\\",[23,0,[\\\"verbindungsmittelInvalid\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/cross.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"ergebnis\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"li\\\",true],[10,\\\"name\\\",\\\"ergebnis\\\"],[8],[0,\\\"\\\\n              \\\"],[5,\\\"link-to\\\",[[3,\\\"on\\\",[\\\"click\\\",[23,0,[\\\"ergebnisAction\\\"]]]]],[[\\\"@route\\\",\\\"@disabled\\\"],[\\\"ergebnis\\\",[23,0,[\\\"verbindungsmittelInvalid\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/tick.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"ergebnis\\\"],null],false],[0,\\\"\\\\n              \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content clearfix\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"left\\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"right\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"\\\\n\\\\n          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"x3dsteuerelemente\\\"],[8],[0,\\\"\\\\n\\\\n            \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"formToggler\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"span\\\",false],[12,\\\"class\\\",\\\"hamburger-menu\\\"],[12,\\\"role\\\",\\\"button\\\"],[3,\\\"on\\\",[\\\"click\\\",[23,0,[\\\"toggleForm\\\"]]]],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n\\\\n            \\\"],[7,\\\"button\\\",false],[12,\\\"onclick\\\",\\\"setCameraBinding('viewpointDefault')\\\"],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCameraActiv\\\"]],\\\"viewpointDefault\\\"],null]]],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/viewdefault.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"button\\\",false],[12,\\\"onclick\\\",\\\"setCameraBinding('viewpointLinks')\\\"],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCameraActiv\\\"]],\\\"viewpointLinks\\\"],null]]],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/viewleft.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"button\\\",false],[12,\\\"onclick\\\",\\\"setCameraBinding('viewpointOben')\\\"],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCameraActiv\\\"]],\\\"viewpointOben\\\"],null]]],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/viewtop.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"button\\\",false],[12,\\\"onclick\\\",\\\"setCameraBinding('viewpointFront')\\\"],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setCameraActiv\\\"]],\\\"viewpointFront\\\"],null]]],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/viewfront.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"button\\\",false],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"on\\\",[\\\"click\\\",[23,0,[\\\"setDrahtgittermodel\\\"]]]],[8],[0,\\\"\\\\n              \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/gitter.png\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"threedee\\\"],[10,\\\"class\\\",\\\"threedee\\\"],[8],[0,\\\"\\\\n\\\\n          \\\"],[7,\\\"x3d\\\",true],[10,\\\"id\\\",\\\"x3d\\\"],[10,\\\"name\\\",\\\"x3d\\\"],[10,\\\"width\\\",\\\"600\\\"],[10,\\\"height\\\",\\\"400\\\"],[10,\\\"showstat\\\",\\\"false\\\"],[10,\\\"primitivequality\\\",\\\"1\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"scene\\\",true],[10,\\\"id\\\",\\\"scene1\\\"],[10,\\\"render\\\",\\\"true\\\"],[10,\\\"bboxcenter\\\",\\\"0,0,0\\\"],[10,\\\"bboxsize\\\",\\\"-1,-1,-1\\\"],[10,\\\"pickmode\\\",\\\"flase\\\"],[10,\\\"dopickpass\\\",\\\"false\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"navigationinfo\\\",true],[10,\\\"id\\\",\\\"navInfo\\\"],[10,\\\"DEF\\\",\\\"CatStyle\\\"],[10,\\\"transistionType\\\",\\\"teleport\\\"],[10,\\\"transitiontime\\\",\\\"1\\\"],[10,\\\"type\\\",\\\"any\\\"],[8],[9],[0,\\\"\\\\n\\\\n              \\\"],[5,\\\"viewpoin-t\\\",[[12,\\\"id\\\",\\\"viewpointDefault\\\"]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"viewpointDefault\\\",[23,2,[\\\"x3ddefault\\\"]]]]],[0,\\\"\\\\n              \\\"],[5,\\\"viewpoin-t\\\",[[12,\\\"id\\\",\\\"viewpointLinks\\\"]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"viewpointLinks\\\",[23,2,[\\\"x3ddefault\\\"]]]]],[0,\\\"\\\\n              \\\"],[5,\\\"viewpoin-t\\\",[[12,\\\"id\\\",\\\"viewpointRechts\\\"]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"viewpointRechts\\\",[23,2,[\\\"x3ddefault\\\"]]]]],[0,\\\"\\\\n              \\\"],[5,\\\"viewpoin-t\\\",[[12,\\\"id\\\",\\\"viewpointOben\\\"]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"viewpointOben\\\",[23,2,[\\\"x3ddefault\\\"]]]]],[0,\\\"\\\\n              \\\"],[5,\\\"viewpoin-t\\\",[[12,\\\"id\\\",\\\"viewpointFront\\\"]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"viewpointFront\\\",[23,2,[\\\"x3ddefault\\\"]]]]],[0,\\\"\\\\n\\\\n\\\"],[0,\\\"              \\\"],[7,\\\"transform\\\",true],[11,\\\"id\\\",[23,0,[\\\"model\\\",\\\"x3ddefault\\\",\\\"firstObject\\\",\\\"modul\\\"]]],[11,\\\"translation\\\",[23,0,[\\\"defaultTranslation\\\"]]],[11,\\\"rotation\\\",[23,0,[\\\"model\\\",\\\"x3ddefault\\\",\\\"firstObject\\\",\\\"defaultRotation\\\"]]],[10,\\\"def\\\",\\\"m12\\\"],[8],[0,\\\"\\\\n\\\\n                \\\"],[2,\\\" Gabellager \\\"],[0,\\\"\\\\n                \\\"],[5,\\\"gabel-lager\\\",[[12,\\\"id\\\",\\\"gabellagerTransform\\\"],[12,\\\"render\\\",[23,0,[\\\"gabellager\\\"]]]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"gabellager\\\",[23,0,[\\\"model\\\",\\\"x3ddefault\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\\n                \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\\n\\\\n                  \\\"],[2,\\\" Auflager \\\"],[0,\\\"\\\\n                  \\\"],[5,\\\"transfor-m\\\",[[12,\\\"id\\\",\\\"lagerTransform\\\"],[12,\\\"render\\\",[29,[[23,0,[\\\"ergebnisGeladen\\\"]]]]]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"auflager\\\",[23,0,[\\\"model\\\",\\\"x3ddefault\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\\n                  \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\\n                  \\\"],[2,\\\" Traeger \\\"],[0,\\\"\\\\n                  \\\"],[5,\\\"transfor-m\\\",[[12,\\\"id\\\",\\\"traegerTransform\\\"],[12,\\\"render\\\",[29,[[23,0,[\\\"ergebnisGeladen\\\"]]]]]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"traeger\\\",[23,0,[\\\"model\\\",\\\"x3ddefault\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\\n                  \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\\n                  \\\"],[2,\\\" Auflagernahe Einzellast \\\"],[0,\\\"\\\\n                  \\\"],[5,\\\"transfor-m\\\",[[12,\\\"id\\\",\\\"auflagernaheEinzellastTransform\\\"],[12,\\\"render\\\",[23,0,[\\\"auflagernaheEinzellastAnzeigen\\\"]]]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"auflagernaheEinzellast\\\",[23,0,[\\\"model\\\",\\\"x3ddefault\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\\n                  \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\\n                  \\\"],[2,\\\" Lastenpfeil \\\"],[0,\\\"\\\\n                  \\\"],[5,\\\"indexedlinese-t\\\",[[12,\\\"id\\\",\\\"lastenPfeil\\\"],[12,\\\"render\\\",[29,[[23,0,[\\\"ergebnisGeladen\\\"]]]]]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"lastenPfeil\\\",[23,0,[\\\"model\\\",\\\"x3ddefault\\\"]]]]],[0,\\\"\\\\n                  \\\"],[5,\\\"tex-t\\\",[[12,\\\"render\\\",[29,[[23,0,[\\\"ergebnisGeladen\\\"]]]]]],[[\\\"@name\\\",\\\"@model\\\"],[\\\"lastenPfeil\\\",[23,0,[\\\"model\\\",\\\"x3ddefault\\\"]]]]],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"unless\\\",[[23,0,[\\\"ergebnisGeladen\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n\\\"],[0,\\\"\\\\n                  \\\"],[1,[23,0,[\\\"indexedFaceset\\\"]],true],[0,\\\"\\\\n\\\\n                  \\\"],[1,[23,0,[\\\"massKette\\\"]],true],[0,\\\"\\\\n\\\\n\\\"],[0,\\\"\\\\n\\\\n\\\\n                    \\\"],[2,\\\" Maßketten \\\"],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"abstaendeAnzeigen\\\"]]],null,{\\\"statements\\\":[[4,\\\"each\\\",[[24,[\\\"ergebnisMassketten\\\"]]],null,{\\\"statements\\\":[[0,\\\"                        \\\"],[1,[28,\\\"text-erg\\\",null,[[\\\"name\\\",\\\"model\\\",\\\"typ\\\"],[[23,1,[\\\"id\\\"]],[23,0,[\\\"model\\\",\\\"x3ddefault\\\"]],[23,1,[\\\"id\\\"]]]]],false],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n                \\\"],[2,\\\" Schrauben \\\"],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"schraubenAnzeigen\\\"]]],null,{\\\"statements\\\":[[0,\\\"                  \\\"],[5,\\\"schraube-n\\\",[[12,\\\"id\\\",\\\"schrauben\\\"]],[[\\\"@typ\\\",\\\"@model\\\"],[\\\"schraube\\\",[23,0,[\\\"model\\\",\\\"x3ddefault\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n                  \\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"bildunterschrift\\\"],[8],[0,\\\"\\\\n          \\\"],[7,\\\"sup\\\",true],[8],[7,\\\"span\\\",true],[8],[1,[28,\\\"t\\\",[\\\"masseIn\\\"],null],false],[0,\\\" [cm], [kN]\\\"],[9],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"screenshotPreviews\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"footer\\\"],[8],[0,\\\"\\\\n\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"footerlinks\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"wuerth\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/wuerth_group.png\\\"],[10,\\\"width\\\",\\\"150\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"presentation\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n         (c) SWG Engineering \\\"],[1,[23,0,[\\\"version\\\"]],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"footerrechts\\\"],[8],[0,\\\"\\\\n        \\\"],[1,[23,0,[\\\"bemessungsvorschrift\\\"]],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  Sie müssen eingeloggt sein um die Software zu nutzen.\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/application.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/auflager\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"QXoYLoMu\",\n    \"block\": \"{\\\"symbols\\\":[\\\"aTyp\\\"],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"subcontainer\\\"],[8],[0,\\\"\\\\n\\\\n\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-horizontal\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"auflager2\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"abreite\\\"],[8],[1,[28,\\\"t\\\",[\\\"breite\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttBreiteA\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"abreite\\\"],[12,\\\"class\\\",\\\"form-control .textRechts\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"abreiteIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"abreiteIsSelected\\\"],null],[23,0,[\\\"abreite\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"abreite\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"alaenge\\\"],[8],[1,[28,\\\"t\\\",[\\\"auflagerlaenge\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttLaengeA\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"alaenge\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"alaengeIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"alaengeIsSelected\\\"],null],[23,0,[\\\"alaenge\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"alaenge\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"typ\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5 singleCombobox\\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"select\\\",false],[12,\\\"id\\\",\\\"aTyp\\\"],[12,\\\"name\\\",\\\"aTyp\\\"],[12,\\\"class\\\",\\\"form-control\\\"],[3,\\\"on\\\",[\\\"change\\\",[28,\\\"fn\\\",[[23,0,[\\\"setATyp\\\"]]],[[\\\"value\\\"],[[23,0,[\\\"target\\\"]]]]]]],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[23,0,[\\\"aTypen\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"option\\\",true],[18,\\\"value\\\",[23,1,[\\\"id\\\"]]],[18,\\\"disabled\\\",[23,1,[\\\"disabled\\\"]]],[18,\\\"selected\\\",[23,1,[\\\"selected\\\"]]],[8],[1,[23,1,[\\\"name\\\"]],true],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5 singleCombobox\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"gabellager\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[23,0,[\\\"gabellager\\\"]]]]],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"gabellager\\\"],null],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"ueberstand\\\"],[8],[1,[28,\\\"t\\\",[\\\"ueberstand\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttHoeheUeberstand\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"ueberstand\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"],[12,\\\"disabled\\\",[23,0,[\\\"istZwischenlager\\\"]]]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"ueberstandIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"ueberstandIsSelected\\\"],null],[23,0,[\\\"ueberstand\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"ueberstand\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5 singleCombobox\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"id\\\",\\\"auflagernaheeinzellast\\\"],[12,\\\"name\\\",\\\"auflagernaheeinzellast\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[23,0,[\\\"auflagernaheeinzellast\\\"]]]]],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"auflagernaheeinzellast\\\"],null],false],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"auflagernaheLasteinleitung\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"abstandsmass\\\"],[8],[1,[28,\\\"t\\\",[\\\"abstandsmass\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttAbstandsmass\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"abstandsmass\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"],[12,\\\"disabled\\\",[23,0,[\\\"abstandsmasstoggle\\\"]]]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"abstandsmassIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"abstandsmassIsSelected\\\"],null],[23,0,[\\\"abstandsmass\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"abstandsmass\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/auflager.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/appearanc-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"yuZpODvN\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[5,\\\"materia-l\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/appearanc-e.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/appearance-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"v6333SP0\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[5,\\\"materia-l\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/appearance-erg.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/arctwo-d\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"yRH8CG86\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"shape\\\",true],[8],[0,\\\"\\\\n  \\\"],[7,\\\"appearance\\\",true],[8],[0,\\\"\\\\n    \\\"],[7,\\\"material\\\",true],[11,\\\"emissivecolor\\\",[23,0,[\\\"emissivecolor\\\"]]],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[7,\\\"arc2D\\\",true],[10,\\\"id\\\",\\\"bogenHorzinotalerWinkel\\\"],[11,\\\"radius\\\",[23,0,[\\\"radius\\\"]]],[11,\\\"startAngle\\\",[23,0,[\\\"anfangsWinkel\\\"]]],[11,\\\"endAngle\\\",[23,0,[\\\"endWinkel\\\"]]],[8],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[5,\\\"tex-t\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/arctwo-d.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/con-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"pRVffhuw\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"shape\\\",true],[8],[0,\\\"\\\\n  \\\"],[7,\\\"appearance\\\",true],[8],[0,\\\"\\\\n    \\\"],[7,\\\"material\\\",true],[10,\\\"id\\\",\\\"ember748\\\"],[10,\\\"diffusecolor\\\",\\\"0 0 0\\\"],[10,\\\"transparency\\\",\\\"0\\\"],[10,\\\"ambientintensity\\\",\\\"0.2\\\"],[11,\\\"emissivecolor\\\",[23,0,[\\\"emissivecolor\\\"]]],[10,\\\"shininess\\\",\\\"0.2\\\"],[10,\\\"specularcolor\\\",\\\"0,0,0\\\"],[10,\\\"class\\\",\\\"ember-view\\\"],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n    \\\"],[7,\\\"cone\\\",true],[11,\\\"id\\\",[23,0,[\\\"coneTagID\\\"]]],[11,\\\"bottomradius\\\",[23,0,[\\\"coneBottomradius\\\"]]],[11,\\\"height\\\",[23,0,[\\\"coneHeight\\\"]]],[10,\\\"solid\\\",\\\"true\\\"],[10,\\\"ccw\\\",\\\"true\\\"],[10,\\\"usegeocache\\\",\\\"true\\\"],[10,\\\"lit\\\",\\\"true\\\"],[10,\\\"bottom\\\",\\\"true\\\"],[10,\\\"side\\\",\\\"true\\\"],[10,\\\"top\\\",\\\"true\\\"],[10,\\\"subdivision\\\",\\\"32\\\"],[8],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/con-e.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/custom-input\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"pwyeI6ti\",\n    \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[14,1],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/custom-input.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/file-picker\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"KYguPoYz\",\n    \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[24,[\\\"dropzone\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"file-picker__dropzone\\\"],[8],[0,\\\"\\\\n    \\\"],[14,1],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"  \\\"],[14,1],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"preview\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"file-picker__preview\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"progress\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[24,[\\\"showProgress\\\"]]],null,{\\\"statements\\\":[[4,\\\"if\\\",[[24,[\\\"isProgressSupported\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[7,\\\"progress\\\",true],[11,\\\"value\\\",[22,\\\"progressValue\\\"]],[10,\\\"max\\\",\\\"100\\\"],[10,\\\"class\\\",\\\"file-picker__progress\\\"],[8],[1,[22,\\\"progress\\\"],false],[0,\\\" %\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"file-picker__progress\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"file-picker__progress__value\\\"],[11,\\\"style\\\",[22,\\\"progressStyle\\\"]],[8],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[1,[28,\\\"input\\\",null,[[\\\"type\\\",\\\"value\\\",\\\"accept\\\",\\\"multiple\\\",\\\"class\\\"],[\\\"file\\\",[24,[\\\"file\\\"]],[24,[\\\"accept\\\"]],[24,[\\\"multiple\\\"]],\\\"file-picker__input\\\"]]],false],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/file-picker.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/gabel-lager\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"MwGe/SZN\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"shape\\\",true],[8],[0,\\\"\\\\n  \\\"],[7,\\\"appearance\\\",true],[8],[0,\\\"\\\\n    \\\"],[7,\\\"material\\\",true],[11,\\\"transparency\\\",[23,0,[\\\"transparency\\\"]]],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n    \\\"],[7,\\\"indexedFaceSet\\\",true],[11,\\\"coordIndex\\\",[23,0,[\\\"koordinatenIndex\\\"]]],[11,\\\"colorindex\\\",[23,0,[\\\"farbIndex\\\"]]],[10,\\\"colorPerVertex\\\",\\\"false\\\"],[10,\\\"ccw\\\",\\\"true\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"coordinate\\\",true],[11,\\\"point\\\",[23,0,[\\\"koordinaten\\\"]]],[8],[9],[0,\\\"\\\\n      \\\"],[7,\\\"color\\\",true],[11,\\\"color\\\",[23,0,[\\\"farbe\\\"]]],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[7,\\\"transform\\\",true],[10,\\\"class\\\",\\\"ember-view testClassNameXXX\\\"],[10,\\\"bboxcenter\\\",\\\"0 0 0\\\"],[10,\\\"bboxsize\\\",\\\"-1,-1,-1\\\"],[10,\\\"center\\\",\\\"0 0 0\\\"],[10,\\\"scale\\\",\\\"1,1,1\\\"],[10,\\\"scaleorientation\\\",\\\"0,0,0,0\\\"],[10,\\\"render\\\",\\\"true\\\"],[10,\\\"translation\\\",\\\"0,0,0\\\"],[10,\\\"rotation\\\",\\\"0,0,0,0\\\"],[8],[0,\\\"\\\\n  \\\"],[7,\\\"shape\\\",true],[10,\\\"render\\\",\\\"true\\\"],[10,\\\"bboxcenter\\\",\\\"0,0,0\\\"],[10,\\\"bboxsize\\\",\\\"-1,-1,-1\\\"],[10,\\\"ispickable\\\",\\\"true\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"appearance\\\",true],[10,\\\"sorttype\\\",\\\"auto\\\"],[10,\\\"alphaclipthreshold\\\",\\\"0.1\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"material\\\",true],[10,\\\"emissivecolor\\\",\\\"0 0 0\\\"],[10,\\\"ambientintensity\\\",\\\"0.2\\\"],[10,\\\"diffusecolor\\\",\\\"0.8,0.8,0.8\\\"],[10,\\\"shininess\\\",\\\"0.2\\\"],[10,\\\"specularcolor\\\",\\\"0,0,0\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n    \\\"],[7,\\\"indexedlineset\\\",true],[11,\\\"coordindex\\\",[23,0,[\\\"konturKoordinatenIndex\\\"]]],[10,\\\"solid\\\",\\\"true\\\"],[10,\\\"ccw\\\",\\\"true\\\"],[10,\\\"usegeocache\\\",\\\"true\\\"],[10,\\\"lit\\\",\\\"true\\\"],[10,\\\"colorpervertex\\\",\\\"true\\\"],[10,\\\"colorindex\\\",\\\"\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"coordinate\\\",true],[11,\\\"point\\\",[23,0,[\\\"koordinaten\\\"]]],[8],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[5,\\\"gabellager-masskette\\\",[[12,\\\"id\\\",\\\"gabellagerHoeheTransform\\\"]],[[\\\"@name\\\",\\\"@typ\\\",\\\"@model\\\"],[\\\"gabellager\\\",\\\"hoehe\\\",[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\\n\\\"],[5,\\\"gabellager-masskette\\\",[[12,\\\"id\\\",\\\"gabellagerLaengeTransform\\\"]],[[\\\"@name\\\",\\\"@typ\\\",\\\"@model\\\"],[\\\"gabellager\\\",\\\"laenge\\\",[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\\n\\\"],[5,\\\"gabellager-masskette\\\",[[12,\\\"id\\\",\\\"gabellagerbreite1Transform\\\"]],[[\\\"@name\\\",\\\"@typ\\\",\\\"@model\\\"],[\\\"gabellager\\\",\\\"breite1\\\",[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"],[5,\\\"gabellager-masskette\\\",[[12,\\\"id\\\",\\\"gabellagerbreite2Transform\\\"]],[[\\\"@name\\\",\\\"@typ\\\",\\\"@model\\\"],[\\\"gabellager\\\",\\\"breite2\\\",[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\\n\\\"],[5,\\\"gabellager-masskette\\\",[[12,\\\"id\\\",\\\"gabellagerspaltmass1Transform\\\"]],[[\\\"@name\\\",\\\"@typ\\\",\\\"@model\\\"],[\\\"gabellager\\\",\\\"spaltmass1\\\",[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"],[5,\\\"gabellager-masskette\\\",[[12,\\\"id\\\",\\\"gabellagerspaltmass2Transform\\\"]],[[\\\"@name\\\",\\\"@typ\\\",\\\"@model\\\"],[\\\"gabellager\\\",\\\"spaltmass2\\\",[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/gabel-lager.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/gabellager-masskette\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"+SziMNlj\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[0,\\\"\\\\n\\\"],[0,\\\"  \\\"],[7,\\\"transform\\\",true],[10,\\\"id\\\",\\\"ember1707\\\"],[10,\\\"class\\\",\\\"ember-view testClassNameXXX\\\"],[10,\\\"bboxcenter\\\",\\\"0 0 0\\\"],[10,\\\"bboxsize\\\",\\\"-1,-1,-1\\\"],[10,\\\"center\\\",\\\"0 0 0\\\"],[10,\\\"scale\\\",\\\"1,1,1\\\"],[10,\\\"scaleorientation\\\",\\\"0,0,0,0\\\"],[11,\\\"render\\\",[29,[[23,0,[\\\"rendern\\\"]]]]],[10,\\\"translation\\\",\\\"0,0,0\\\"],[10,\\\"rotation\\\",\\\"0,0,0,0\\\"],[8],[7,\\\"shape\\\",true],[10,\\\"render\\\",\\\"true\\\"],[10,\\\"bboxcenter\\\",\\\"0,0,0\\\"],[10,\\\"bboxsize\\\",\\\"-1,-1,-1\\\"],[10,\\\"ispickable\\\",\\\"true\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"appearance\\\",true],[10,\\\"sorttype\\\",\\\"auto\\\"],[10,\\\"alphaclipthreshold\\\",\\\"0.1\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"material\\\",true],[11,\\\"emissivecolor\\\",[23,0,[\\\"gabelColor\\\"]]],[10,\\\"ambientintensity\\\",\\\"0.2\\\"],[10,\\\"diffusecolor\\\",\\\"0 0 0\\\"],[10,\\\"shininess\\\",\\\"0.2\\\"],[10,\\\"specularcolor\\\",\\\"0,0,0\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"indexedlineset\\\",true],[10,\\\"coordindex\\\",\\\"1 2 -1 0 3 -1 4 5 -1 6 7 -1 8 9 -1\\\"],[10,\\\"solid\\\",\\\"true\\\"],[10,\\\"ccw\\\",\\\"true\\\"],[10,\\\"usegeocache\\\",\\\"true\\\"],[10,\\\"lit\\\",\\\"true\\\"],[10,\\\"colorpervertex\\\",\\\"true\\\"],[10,\\\"colorindex\\\",\\\"\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"coordinate\\\",true],[11,\\\"point\\\",[23,0,[\\\"gabelMasslinien\\\"]]],[8],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"wertEingetragen\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n    \\\"],[7,\\\"transform\\\",true],[10,\\\"id\\\",\\\"ember1708\\\"],[10,\\\"class\\\",\\\"ember-view testClassNameXXX\\\"],[11,\\\"translation\\\",[23,0,[\\\"gabelTextTranslation\\\"]]],[11,\\\"rotation\\\",[23,0,[\\\"gabelTextRotation\\\"]]],[10,\\\"bboxcenter\\\",\\\"0 0 0\\\"],[10,\\\"bboxsize\\\",\\\"-1,-1,-1\\\"],[10,\\\"center\\\",\\\"0 0 0\\\"],[10,\\\"scale\\\",\\\"1,1,1\\\"],[10,\\\"scaleorientation\\\",\\\"0,0,0,0\\\"],[11,\\\"render\\\",[29,[[23,0,[\\\"rendern\\\"]]]]],[8],[0,\\\"\\\\n      \\\"],[7,\\\"shape\\\",true],[10,\\\"render\\\",\\\"true\\\"],[10,\\\"bboxcenter\\\",\\\"0,0,0\\\"],[10,\\\"bboxsize\\\",\\\"-1,-1,-1\\\"],[10,\\\"ispickable\\\",\\\"true\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"appearance\\\",true],[10,\\\"sorttype\\\",\\\"auto\\\"],[10,\\\"alphaclipthreshold\\\",\\\"0.1\\\"],[8],[0,\\\"\\\\n          \\\"],[7,\\\"material\\\",true],[11,\\\"diffusecolor\\\",[23,0,[\\\"gabelColor\\\"]]],[10,\\\"ambientintensity\\\",\\\"0.2\\\"],[10,\\\"emissivecolor\\\",\\\"0,0,0\\\"],[10,\\\"shininess\\\",\\\"0.2\\\"],[10,\\\"specularcolor\\\",\\\"0,0,0\\\"],[8],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"text\\\",true],[10,\\\"solid\\\",\\\"false\\\"],[10,\\\"lit\\\",\\\"false\\\"],[10,\\\"ccw\\\",\\\"true\\\"],[10,\\\"usegeocache\\\",\\\"true\\\"],[11,\\\"string\\\",[23,0,[\\\"gabelText\\\"]]],[8],[0,\\\"\\\\n          \\\"],[7,\\\"fontstyle\\\",true],[10,\\\"family\\\",\\\"Helvetica\\\"],[10,\\\"horizontal\\\",\\\"true\\\"],[10,\\\"justify\\\",\\\"middle\\\"],[10,\\\"lefttoright\\\",\\\"true\\\"],[10,\\\"spacing\\\",\\\"1.0\\\"],[10,\\\"toptobottom\\\",\\\"true\\\"],[10,\\\"quality\\\",\\\"10.0\\\"],[11,\\\"size\\\",[23,0,[\\\"textgroesse\\\"]]],[10,\\\"style\\\",\\\"PLAIN\\\"],[8],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/gabellager-masskette.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/indexedfaceset-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"JnGiOODx\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"coordinate\\\",true],[11,\\\"point\\\",[23,0,[\\\"koordinaten\\\"]]],[8],[9],[0,\\\"\\\\n\\\"],[7,\\\"color\\\",true],[11,\\\"color\\\",[23,0,[\\\"farbe\\\"]]],[8],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/indexedfaceset-erg.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/indexedlinese-t\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"41N1+6uF\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"shape\\\",true],[8],[0,\\\"\\\\n  \\\"],[7,\\\"appearance\\\",true],[8],[0,\\\"\\\\n    \\\"],[7,\\\"material\\\",true],[11,\\\"emissivecolor\\\",[23,0,[\\\"emissivecolor\\\"]]],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n    \\\"],[7,\\\"indexedLineSet\\\",true],[11,\\\"coordIndex\\\",[23,0,[\\\"koordinatenIndex\\\"]]],[8],[0,\\\"\\\\n    \\\"],[7,\\\"coordinate\\\",true],[11,\\\"point\\\",[23,0,[\\\"koordinaten\\\"]]],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"istLastenpfeil\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"con-e\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/indexedlinese-t.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/indexedlineset-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"jLLJlmof\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"shape\\\",true],[8],[0,\\\"\\\\n  \\\"],[7,\\\"appearance\\\",true],[8],[0,\\\"\\\\n    \\\"],[7,\\\"material\\\",true],[11,\\\"emissivecolor\\\",[23,0,[\\\"emissivecolor\\\"]]],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n    \\\"],[7,\\\"indexedLineSet\\\",true],[11,\\\"coordIndex\\\",[23,0,[\\\"koordinatenIndex\\\"]]],[8],[0,\\\"\\\\n    \\\"],[7,\\\"coordinate\\\",true],[11,\\\"name\\\",[23,0,[\\\"name\\\"]]],[11,\\\"typ\\\",[23,0,[\\\"typ\\\"]]],[11,\\\"point\\\",[23,0,[\\\"koordinaten\\\"]]],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"istLastenpfeil\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"con-e\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"1\\\"]]],[0,\\\"\\\\n  \\\"],[5,\\\"con-e\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"-1\\\"]]],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"zweiSchaerflaechen\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[5,\\\"con-e\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"2\\\"]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/indexedlineset-erg.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/language-select\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"jnn0h//c\",\n    \"block\": \"{\\\"symbols\\\":[\\\"loc\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[24,[\\\"locales\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[7,\\\"option\\\",true],[11,\\\"value\\\",[29,[[23,1,[\\\"id\\\"]]]]],[8],[1,[23,1,[\\\"text\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/language-select.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/multiselect-box\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"njmINDWB\",\n    \"block\": \"{\\\"symbols\\\":[\\\"value\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[23,0,[\\\"objekte\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,1,[\\\"visible\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[5,\\\"selectbox-item\\\",[],[[\\\"@value\\\",\\\"@filter\\\"],[[23,1,[]],[23,0,[\\\"filtern\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/multiselect-box.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/plz-autocomplete\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"Umb5qPv0\",\n    \"block\": \"{\\\"symbols\\\":[\\\"&default\\\"],\\\"statements\\\":[[14,1],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/plz-autocomplete.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/schraub-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"6Pa0yxTY\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[5,\\\"shap-e\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/schraub-e.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/schraube-n\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"E+vBcmm0\",\n    \"block\": \"{\\\"symbols\\\":[\\\"schraube\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[23,0,[\\\"schraubenListe\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"schraub-e\\\",[[12,\\\"id\\\",[23,1,[\\\"id\\\"]]]],[[\\\"@name\\\",\\\"@model\\\"],[[23,1,[\\\"id\\\"]],[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/schraube-n.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/screw-tablehead\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"Ndl1AZGk\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"schraubentabelle\\\"],[8],[0,\\\"\\\\n  \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"tableheadEintrag\\\"],[3,\\\"on\\\",[\\\"click\\\",[23,0,[\\\"toggleAuswahl\\\"]]]],[8],[0,\\\" \\\"],[1,[28,\\\"t\\\",[[23,0,[\\\"parameter\\\"]]],null],true],[9],[0,\\\"\\\\n  \\\"],[7,\\\"div\\\",true],[11,\\\"class\\\",[29,[\\\"tabellenkopf \\\",[28,\\\"if\\\",[[23,0,[\\\"hideAuswahl\\\"]],\\\"displayNone\\\"],null]]]],[8],[0,\\\"\\\\n    \\\"],[7,\\\"span\\\",false],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"sortDown\\\"]],[24,[\\\"parameter\\\"]]],null]]],[8],[0,\\\"↑\\\"],[9],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n    \\\"],[7,\\\"span\\\",false],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"sortUp\\\"]],[24,[\\\"parameter\\\"]]],null]]],[8],[0,\\\"↓\\\"],[9],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n    \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"alleschrauben\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[23,0,[\\\"alleschrauben\\\"]]]]],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"allesauswaehlen\\\"],null],false],[0,\\\"\\\\n    \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"strich\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[5,\\\"multiselect-box\\\",[],[[\\\"@parameterobjekte\\\",\\\"@parameter\\\",\\\"@cfilter\\\"],[[22,\\\"parameterObjekteListe\\\"],[22,\\\"parameter\\\"],[23,0,[\\\"thfilter\\\"]]]]],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/screw-tablehead.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/screw-tablerow\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"xtzIrIvw\",\n    \"block\": \"{\\\"symbols\\\":[\\\"param\\\"],\\\"statements\\\":[[4,\\\"each\\\",[[23,0,[\\\"paramliste\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[7,\\\"td\\\",false],[12,\\\"class\\\",[29,[\\\"VM_Okay\\\",[24,[\\\"item\\\",\\\"VM_Okay\\\"]]]]],[3,\\\"on\\\",[\\\"mouseover\\\",[28,\\\"fn\\\",[[23,0,[\\\"toggleTip\\\"]],[23,0,[]]],null]]],[3,\\\"on\\\",[\\\"mouseout\\\",[28,\\\"fn\\\",[[23,0,[\\\"toggleTip\\\"]],[23,0,[]]],null]]],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"setSelectedScrew\\\"]],[23,0,[\\\"item\\\",\\\"ArtNr\\\"]],[23,0,[\\\"item\\\",\\\"VM_Okay\\\"]],[23,0,[\\\"item\\\",\\\"ProductInfo\\\"]],[23,0,[\\\"item\\\",\\\"CAD\\\"]]],null]]],[8],[0,\\\"\\\\n      \\\"],[1,[28,\\\"get\\\",[[24,[\\\"item\\\"]],[23,1,[]]],null],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/screw-tablerow.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/selectbox-item\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"9qfLroYE\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[5,\\\"input\\\",[[12,\\\"name\\\",[23,0,[\\\"value\\\",\\\"id\\\"]]]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[23,0,[\\\"value\\\",\\\"checked\\\"]]]]],[0,\\\" \\\"],[1,[23,0,[\\\"value\\\",\\\"id\\\"]],false],[0,\\\" \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/selectbox-item.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/shap-e\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"klsbB4Ag\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[5,\\\"appearanc-e\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"istExtrusion\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"extrusio-n\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"istSchraube\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"schraubeextrusio-n\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/shap-e.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/shape-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"E9X2PHfr\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[5,\\\"appearanc-e\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\\n\\\"],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"istFaceset\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"indexedfaceset-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/shape-erg.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/tex-t\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"g95Ni3Z0\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"shape\\\",true],[11,\\\"render\\\",[23,0,[\\\"showIt\\\"]]],[8],[0,\\\"\\\\n  \\\"],[7,\\\"appearance\\\",true],[8],[0,\\\"\\\\n    \\\"],[7,\\\"material\\\",true],[11,\\\"diffusecolor\\\",[23,0,[\\\"diffusecolor\\\"]]],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n  \\\"],[7,\\\"text\\\",true],[11,\\\"string\\\",[23,0,[\\\"wert\\\"]]],[10,\\\"solid\\\",\\\"false\\\"],[10,\\\"lit\\\",\\\"false\\\"],[10,\\\"ccw\\\",\\\"true\\\"],[10,\\\"usegeocache\\\",\\\"true\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"fontstyle\\\",true],[10,\\\"family\\\",\\\"Helvetica\\\"],[11,\\\"size\\\",[23,0,[\\\"textgroesse\\\"]]],[10,\\\"horizontal\\\",\\\"true\\\"],[10,\\\"justify\\\",\\\"middle\\\"],[10,\\\"lefttoright\\\",\\\"true\\\"],[10,\\\"spacing\\\",\\\"1.0\\\"],[10,\\\"toptobottom\\\",\\\"true\\\"],[10,\\\"quality\\\",\\\"10.0\\\"],[8],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/tex-t.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/text-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"r77A1qjP\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"transform\\\",true],[10,\\\"translation\\\",\\\"0 0 0\\\"],[11,\\\"rotation\\\",[23,0,[\\\"yRotation\\\"]]],[10,\\\"bboxcenter\\\",\\\"0 0 0\\\"],[10,\\\"bboxsize\\\",\\\"-1,-1,-1\\\"],[10,\\\"center\\\",\\\"0 0 0\\\"],[10,\\\"scale\\\",\\\"1,1,1\\\"],[10,\\\"scaleorientation\\\",\\\"0,0,0,0\\\"],[10,\\\"render\\\",\\\"true\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"shape\\\",true],[8],[0,\\\"\\\\n      \\\"],[7,\\\"appearance\\\",true],[8],[0,\\\"\\\\n        \\\"],[7,\\\"material\\\",true],[11,\\\"diffusecolor\\\",[23,0,[\\\"diffusecolor\\\"]]],[8],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"text\\\",true],[11,\\\"string\\\",[23,0,[\\\"wert\\\"]]],[10,\\\"solid\\\",\\\"false\\\"],[10,\\\"lit\\\",\\\"false\\\"],[10,\\\"ccw\\\",\\\"true\\\"],[10,\\\"usegeocache\\\",\\\"true\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"fontstyle\\\",true],[10,\\\"family\\\",\\\"Helvetica\\\"],[11,\\\"size\\\",[23,0,[\\\"textgroesse\\\"]]],[10,\\\"horizontal\\\",\\\"true\\\"],[10,\\\"justify\\\",\\\"middle\\\"],[10,\\\"lefttoright\\\",\\\"true\\\"],[10,\\\"spacing\\\",\\\"1.0\\\"],[10,\\\"toptobottom\\\",\\\"true\\\"],[10,\\\"quality\\\",\\\"10\\\"],[8],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/text-erg.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/transfor-m\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"890g5mkp\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[5,\\\"shap-e\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"getOutline\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n  \\\"],[5,\\\"indexedlinese-t\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"kontur\\\"]]],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"istHolzbauteil\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[5,\\\"indexedlinese-t\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"faserrichtung\\\"]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"abstaendeAnzeigen\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n    \\\"],[5,\\\"indexedlinese-t\\\",[[12,\\\"render\\\",[23,0,[\\\"ansichtFront\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"breite\\\"]]],[0,\\\"\\\\n    \\\"],[5,\\\"tex-t\\\",[[12,\\\"render\\\",[23,0,[\\\"ansichtFront\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@variable\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"breite\\\"]]],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"istAuflager\\\"]]],null,{\\\"statements\\\":[[0,\\\"      \\\"],[5,\\\"indexedlinese-t\\\",[[12,\\\"render\\\",[23,0,[\\\"ansichtLinks\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"laenge\\\"]]],[0,\\\"\\\\n      \\\"],[5,\\\"tex-t\\\",[[12,\\\"render\\\",[23,0,[\\\"ansichtLinks\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@variable\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"laenge\\\"]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n    \\\"],[2,\\\" Ueberstand \\\"],[0,\\\"\\\\n    \\\"],[5,\\\"indexedlinese-t\\\",[[12,\\\"render\\\",[23,0,[\\\"ansichtLinks\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"ueberstand\\\"]]],[0,\\\"\\\\n    \\\"],[5,\\\"tex-t\\\",[[12,\\\"render\\\",[23,0,[\\\"ansichtLinks\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@variable\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"ueberstand\\\"]]],[0,\\\"\\\\n\\\\n      \\\"],[5,\\\"indexedlinese-t\\\",[[12,\\\"render\\\",[23,0,[\\\"ansichtOben\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"hoehe\\\"]]],[0,\\\"\\\\n      \\\"],[5,\\\"tex-t\\\",[[12,\\\"render\\\",[23,0,[\\\"ansichtOben\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@variable\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"hoehe\\\"]]],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"routeOptionenAktiv\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[5,\\\"indexedlinese-t\\\",[[12,\\\"id\\\",\\\"sicherheitsAbstand\\\"],[12,\\\"render\\\",[23,0,[\\\"ansichtOben\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"sicherheitsAbstand\\\"]]],[0,\\\"\\\\n        \\\"],[5,\\\"tex-t\\\",[[12,\\\"render\\\",[23,0,[\\\"ansichtOben\\\"]]]],[[\\\"@name\\\",\\\"@model\\\",\\\"@variable\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"sicherheitsAbstand\\\"]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/transfor-m.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/components/transform-erg\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"ML86jK3u\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[5,\\\"shape-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]]]],{\\\"statements\\\":[[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n\\\\n{\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"getOutline\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[2,\\\" Kontur \\\"],[0,\\\"\\\\n  \\\"],[5,\\\"indexedlineset-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"kontur\\\"]]],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"istHolz\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[2,\\\" Faserrichtung \\\"],[0,\\\"\\\\n    \\\"],[5,\\\"indexedlineset-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"faserrichtung\\\"]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"getMassketteHoehe\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"indexedlineset-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"hoehe\\\"]]],[0,\\\"\\\\n  \\\"],[5,\\\"text-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"hoehe\\\"]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"getMassketteBreite\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"indexedlineset-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"breite\\\"]]],[0,\\\"\\\\n  \\\"],[5,\\\"text-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"breite\\\"]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"getMassketteSetztiefe\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"indexedlineset-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"setztiefe\\\"]]],[0,\\\"\\\\n  \\\"],[5,\\\"text-erg\\\",[],[[\\\"@name\\\",\\\"@model\\\",\\\"@typ\\\"],[[23,0,[\\\"name\\\"]],[23,0,[\\\"model\\\"]],\\\"setztiefe\\\"]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[2,\\\" Scherkraftpfeil \\\"],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"getscherkraftPfeil\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[5,\\\"indexedlineset-erg\\\",[],[[\\\"@name\\\",\\\"@typ\\\",\\\"@model\\\"],[\\\"scherkraftPfeil\\\",\\\"lastenPfeil\\\",[23,0,[\\\"model\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/components/transform-erg.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/downloadcenter\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"nYEcRbiv\",\n    \"block\": \"{\\\"symbols\\\":[\\\"@ttPdfNochNichtErstellt\\\",\\\"@ttInNichtGespeichert\\\"],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"subcontainer\\\"],[8],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[0,\\\"\\\\n    Downloadcenter\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"alert alert-info alert-dismissible fade in\\\"],[10,\\\"role\\\",\\\"alert\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"close\\\"],[10,\\\"data-dismiss\\\",\\\"alert\\\"],[10,\\\"aria-label\\\",\\\"Close\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"span\\\",true],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[0,\\\"×\\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n    \\\"],[1,[28,\\\"t\\\",[\\\"downloadinstructions1\\\"],null],false],[0,\\\"\\\\n    \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"downloadinstructions2\\\"],null],false],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"centerwrapper\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"div\\\",true],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"savingInProgress\\\"]]],null,{\\\"statements\\\":[[0,\\\"        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"three-quarters-loader\\\"],[8],[0,\\\"\\\\n          Loading…\\\\n        \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"div\\\",true],[8],[0,\\\"\\\\n    \\\"],[7,\\\"table\\\",true],[10,\\\"width\\\",\\\"100%\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"tbody\\\",true],[8],[0,\\\"\\\\n        \\\"],[7,\\\"tr\\\",true],[8],[0,\\\"\\\\n          \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"tdcenter\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"saved\\\"]]],null,{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"a\\\",true],[11,\\\"href\\\",[29,[[23,0,[\\\"saveFile\\\"]]]]],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noreferrer noopener\\\"],[8],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/in.png\\\"],[10,\\\"border\\\",\\\"0\\\"],[10,\\\"height\\\",\\\"64\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"none\\\"],[8],[9],[9],[0,\\\"\\\\n              \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              \\\"],[1,[28,\\\"t\\\",[\\\"eingabedaten\\\"],null],false],[0,\\\"\\\\n              \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              \\\"],[7,\\\"input\\\",true],[10,\\\"name\\\",\\\"inputCheckbox\\\"],[11,\\\"checked\\\",[23,0,[\\\"inputCheckbox\\\"]]],[10,\\\"type\\\",\\\"checkbox\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,2,[]]],[8],[0,\\\"\\\\n                \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"transparent\\\"],[8],[0,\\\"\\\\n\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/in.png\\\"],[10,\\\"border\\\",\\\"0\\\"],[10,\\\"height\\\",\\\"64\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"none\\\"],[8],[9],[0,\\\"\\\\n                \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n                \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"eingabedaten\\\"],null],false],[0,\\\"\\\\n\\\\n              \\\"],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"tdcenter\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"pdfErstellt\\\"]]],null,{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"a\\\",true],[11,\\\"href\\\",[29,[[23,0,[\\\"pdfFile\\\"]]]]],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noreferrer noopener\\\"],[8],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/pdf_icon.png\\\"],[10,\\\"border\\\",\\\"0\\\"],[10,\\\"height\\\",\\\"64\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"none\\\"],[8],[9],[9],[0,\\\"\\\\n              \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              \\\"],[1,[28,\\\"t\\\",[\\\"berechnungalspdf\\\"],null],false],[0,\\\"\\\\n              \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              \\\"],[7,\\\"input\\\",true],[10,\\\"name\\\",\\\"pdfCheckbox\\\"],[16,\\\"@checked\\\",[23,0,[\\\"pdfCheckbox\\\"]]],[10,\\\"type\\\",\\\"checkbox\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"              \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,1,[]]],[8],[0,\\\"\\\\n              \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"transparent\\\"],[8],[0,\\\"\\\\n\\\\n                \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/pdf_icon.png\\\"],[10,\\\"border\\\",\\\"0\\\"],[10,\\\"height\\\",\\\"64\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"none\\\"],[8],[9],[0,\\\"\\\\n                \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n                \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"berechnungalspdf\\\"],null],false],[0,\\\"\\\\n\\\\n              \\\"],[9],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"tr\\\",true],[8],[0,\\\"\\\\n          \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"tdcenter\\\"],[8],[0,\\\"\\\\n\\\\n            \\\"],[7,\\\"a\\\",true],[11,\\\"href\\\",[29,[[23,0,[\\\"eta\\\"]]]]],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noreferrer noopener\\\"],[8],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/pdf_icon.png\\\"],[10,\\\"border\\\",\\\"0\\\"],[10,\\\"height\\\",\\\"64\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"none\\\"],[8],[9],[9],[0,\\\"\\\\n            \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            \\\"],[1,[28,\\\"t\\\",[\\\"eta\\\"],null],false],[0,\\\" 11/0190\\\\n            \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            \\\"],[7,\\\"input\\\",true],[10,\\\"name\\\",\\\"etaCheckbox\\\"],[16,\\\"@checked\\\",[23,0,[\\\"etaCheckbox\\\"]]],[10,\\\"type\\\",\\\"checkbox\\\"],[8],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"tdcenter\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"a\\\",true],[11,\\\"href\\\",[29,[[23,0,[\\\"produktkatalog\\\"]]]]],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noreferrer noopener\\\"],[8],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/pdf_icon.png\\\"],[10,\\\"border\\\",\\\"0\\\"],[10,\\\"height\\\",\\\"64\\\"],[10,\\\"alt\\\",\\\"\\\"],[10,\\\"role\\\",\\\"none\\\"],[8],[9],[9],[0,\\\"\\\\n            \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" \\\"],[1,[28,\\\"t\\\",[\\\"produktkatalog\\\"],null],false],[0,\\\"\\\\n\\\\n            \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" \\\"],[7,\\\"input\\\",true],[10,\\\"name\\\",\\\"pkatalogCheckbox\\\"],[16,\\\"@checked\\\",[23,0,[\\\"pkatalogCheckbox\\\"]]],[10,\\\"type\\\",\\\"checkbox\\\"],[8],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/downloadcenter.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/ergebnis\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"ahLscBMX\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"subcontainer\\\"],[10,\\\"class\\\",\\\"kompaktergebnis\\\"],[8],[0,\\\"\\\\n  \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[0,\\\"\\\\n    \\\"],[1,[28,\\\"t\\\",[\\\"ergebnis\\\"],null],false],[0,\\\"\\\\n    \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn btn-default btn-xs\\\"],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"createPDF\\\"]],[24,[\\\"entitity\\\"]]],null]]],[8],[0,\\\"\\\\n      \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/pdf.png\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[1,[22,\\\"kompaktergebnis\\\"],true],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"pdfUnderConstruction\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"three-quarters-loader\\\"],[8],[0,\\\"\\\\n      Loading…\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[4,\\\"if\\\",[[23,0,[\\\"pdfErstellt\\\"]]],null,{\\\"statements\\\":[[0,\\\"    \\\"],[7,\\\"center\\\",true],[8],[0,\\\"\\\\n      \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n        \\\"],[7,\\\"a\\\",true],[11,\\\"href\\\",[29,[[22,\\\"pdfLink\\\"]]]],[10,\\\"target\\\",\\\"_blank\\\"],[8],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"assets/images/pdf_icon.png\\\"],[10,\\\"border\\\",\\\"0\\\"],[10,\\\"height\\\",\\\"64\\\"],[8],[9],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"a\\\",true],[11,\\\"href\\\",[29,[[22,\\\"pdfLink\\\"]]]],[10,\\\"target\\\",\\\"_blank\\\"],[8],[1,[23,0,[\\\"pdfFileName\\\"]],true],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/ergebnis.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/gabellager\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"Eaj2HSrv\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"subcontainer\\\"],[8],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-horizontal\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"gabellager\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"gabelbreite\\\"],[8],[1,[28,\\\"t\\\",[\\\"gabelbreite\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttGabelbreite\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"gabelbreite\\\"],[12,\\\"class\\\",\\\"form-control .textRechts\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"]],[[\\\"@@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"gabelbreiteIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"gabelbreiteIsSelected\\\"],null],[23,0,[\\\"gabelbreite\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"gabelbreite\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"alaenge\\\"],[8],[1,[28,\\\"t\\\",[\\\"gabellaenge\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttGabellaenge\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"gabellaenge\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"gabellaengeIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"gabellaengeIsSelected\\\"],null],[23,0,[\\\"gabellaenge\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"gabellaenge\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"hoehe\\\"],[8],[1,[28,\\\"t\\\",[\\\"gabelhoehe\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttgabelhoehe\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"gabelhoehe\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"gabelhoeheIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"gabelhoeheIsSelected\\\"],null],[23,0,[\\\"gabelhoehe\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"gabelhoehe\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"spaltmass\\\"],[8],[1,[28,\\\"t\\\",[\\\"spaltmass\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttspaltmass\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"spaltmass\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"spaltmassIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"spaltmassIsSelected\\\"],null],[23,0,[\\\"spaltmass\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"spaltmass\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/gabellager.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/impressum\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"KRTlfcIZ\",\n    \"block\": \"{\\\"symbols\\\":[\\\"@spracheDeutsch\\\",\\\"@wuerth\\\",\\\"@swg\\\"],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"subcontainer\\\"],[8],[0,\\\"\\\\n\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[[0,\\\"     \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"herausgeber\\\"],null],false],[9],[0,\\\"\\\\n        \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n        Adolf Würth GmbH & Co. KG\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        Reinhold-Würth-Straße 12–17\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        74653 Künzelsau-Gaisbach\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        DEUTSCHLAND\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        Telefon +49 7940 15-0\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        Telefax +49 7940 15-1000\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        info(at)wuerth.com\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        Adolf Würth GmbH & Co. KG, Sitz in Künzelsau,\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        \\\"],[1,[28,\\\"t\\\",[\\\"registergericht\\\"],null],false],[0,\\\" Stuttgart HRA 590261\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        Komplementärin: Würth-Verwaltungsgesellschaft mbH, Sitz Künzelsau,\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        \\\"],[1,[28,\\\"t\\\",[\\\"registergericht\\\"],null],false],[0,\\\" Stuttgart HRB 590135\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        USt.-Id.-Nr.: DE 146 280 061\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        \\\"],[1,[28,\\\"t\\\",[\\\"geschaeftsfuehrer\\\"],null],false],[0,\\\":\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        Robert Friedmann, Jürgen Graf, Norbert Heckmann, Bernd Herrmann, Uwe Hohlfeld, Joachim Kaltmaier, Thomas Klenk, Volker Retz, Martin Schäfer, Dr. Reiner Specht, Prof. Dr. Dr. h.c. Harald Unkelbach, Peter Zürn.\\\\n        \\\"],[9],[0,\\\"\\\\n\\\"],[0,\\\"\\\\n      \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"entwickeltvon\\\"],null],false],[9],[0,\\\"\\\\n        \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n        Schraubenwerk Gaisbach GmbH\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        Geschäftsbereich Engineering\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n        Eisenbahnstrasse 20\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        76761 Rülzheim\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        Tel.: +49 / 7272 932 666\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        Email: support.it(at)swg-engineering.de\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,3,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,1,[]]],null,{\\\"statements\\\":[[0,\\\"\\\\n      \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"Herausgeber\\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"impressum \\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"SWG Schraubenwerk Gaisbach GmbH - Geschäftsbereich Produktion\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\" UST-ID Nr.: DE 146589551\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"Registergericht: Stuttgart HRB 580857\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Geschäftsführer: Gösta Pietsch, Alois Wimmer\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Inhaltlich Verantwortlicher:  \\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Adresse\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\" Am Bahnhof 50\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" 74638 Waldenburg\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Tel.: +49 7942 / 9472 - 0\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Fax: +49 7942 / 9472 - 400\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" E-Mail: \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"\\\"],[8],[0,\\\"info\\\"],[7,\\\"span\\\",true],[8],[0,\\\"(at)\\\"],[9],[0,\\\"swg-produktion.de\\\"],[9],[7,\\\"br\\\",true],[8],[9],[0,\\\"      Website: \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"http://www.swg-produktion.de\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noopener noreferrer\\\"],[8],[0,\\\"www.swg-produktion.de\\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n              \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Entwickelt von\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n              Schraubenwerk Gaisbach GmbH\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              Geschäftsbereich Engineering\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              Eisenbahnstrasse 20\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              76761 Rülzheim\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              Tel.: +49 / 7272 932 666\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n              Email: support.it(at)swg-engineering.de\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Vollständigkeit\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            Für die Vollständigkeit und Richtigkeit der Angaben auf der Website wird keine Gewähr übernommen. \\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Urheberrechte\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"Alle Rechte für Texte, Grafiken und Javascripts liegen bei der Schraubenwerk Gaisbach GmbH - Geschäftsbereich Produktion, soweit nicht anders vermerkt. Jede Form der weiteren Nutzung bedarf der ausdrücklichen Genehmigung durch die Schraubenwerk\\\\n              Gaisbach GmbH -  Geschäftsbereich Produktion.\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Marken\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            Fremde, geschützte Warenzeichen und Marken wurden in der Regel nicht als solche kenntlich gemacht. Das Fehlen einer solchen Kennzeichnung bedeutet nicht, dass es sich um einen freien Namen im Sinne\\\\n              des Waren- und Markenzeichenrechts handelt.\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Links\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            Wir haben auf unseren Seiten Links zu anderen Seiten im Internet gelegt. Für alle diese Links gilt: Wir erklären ausdrücklich, dass wir keinerlei Einfluss auf die Gestaltung und die Inhalte der gelinkten\\\\n              Seiten haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf unserer Internetpräsenz und machen uns diese Inhalte nicht zu Eigen. Diese Erklärung gilt für alle auf unserer Internetpräsenz angezeigten\\\\n              Links und für alle Inhalte der Seiten, zu denen diese führen.\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Hinweis gemäß Teledienstgesetz\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            Für Websites Dritter, auf die der Herausgeber durch so genannte Links verweist, tragen die jeweiligen Anbieter die Verantwortung. Der Herausgeber ist für den Inhalt solcher\\\\n              Sites Dritter nicht verantwortlich. Des Weiteren kann die Website des Herausgebers ohne dessen Wissen von anderen Websites mittels so genannter Links angelinkt werden. Das Herausgeber übernimmt keine Verantwortung für Darstellungen, Inhalt oder\\\\n              irgendeine Verbindung zur Parteigliederung des Herausgebers in Websites Dritter. Für fremde Inhalte ist der Herausgeber nur dann verantwortlich, wenn er von ihnen (d.h. auch von einem rechtswidrigen oder strafbaren Inhalt) positive Kenntnis hat\\\\n              und es dem Herausgeber technisch möglich und zumutbar ist, deren Nutzung zu verhindern. Der Herausgeber ist nach dem Teledienstgesetz jedoch nicht verpflichtet, die fremden Inhalte ständig zu überprüfen.\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            Sollten Sie Fragen oder Verstöße gegen das TDG auf unseren Seiten festgestellt haben, schreiben Sie uns bitte eine kurze Email an \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"mailadresse\\\"],[8],[0,\\\"info(at)swg-produktion.de\\\"],[9],[0,\\\".\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"https://www.swg-produktion.de/datenschutz/\\\"],[10,\\\"class\\\",\\\"\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noopener noreferrer\\\"],[8],[7,\\\"span\\\",true],[8],[0,\\\"Datenschutzerklärung\\\"],[9],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"\\\\n      \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"PUBLISHED BY\\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"impressum \\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"SWG Schraubenwerk Gaisbach GmbH - Division Production\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\" UST-ID Nr.: DE 146589551\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"Register court: Stuttgart HRB 580857\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Managing director: Gösta Pietsch, Alois Wimmer\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Contentual responsible person:  \\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Adresse\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\" Am Bahnhof 50\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" 74638 Waldenburg\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Tel.: +49 7942 / 9472 - 0\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Fax: +49 7942 / 9472 - 400\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" E-Mail: \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"\\\"],[8],[0,\\\"info\\\"],[7,\\\"span\\\",true],[8],[0,\\\"(at)\\\"],[9],[0,\\\"swg-produktion.de\\\"],[9],[7,\\\"br\\\",true],[8],[9],[0,\\\"      Website: \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"http://www.swg-produktion.de\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noopener noreferrer\\\"],[8],[0,\\\"www.swg-produktion.de\\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Concept, Realisation and Hosting\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            Schraubenwerk Gaisbach GmbH\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            Division Production / Engineering\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            Eisenbahnstrasse 20\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            76761 Rülzheim\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            Tel.: +49 / 7272 932 666\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n            Email: support.it(at)swg-engineering.de\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Completeness\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            We assume no liability for the completeness or correctness of the information on this website.\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Copyright\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            All rights regarding text, graphics and Javascripts belong to Schraubenwerk Gaisbach GmbH unless otherwise noted. Other use, in any form, requires express permission from Schraubenwerk Gaisbach GmbH - Division Production.\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Brands\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            All rights regarding text, graphics and Javascripts belong to Schraubenwerk Gaisbach GmbH unless otherwise noted. Other use, in any form, requires express permission from Schraubenwerk Gaisbach GmbH - Division Production.\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Links\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            We have placed links to other Internet sites on our website. The following applies for all of these links: We hereby expressly declare that we have no influence over the design and contents of linked sites. For this reason, we hereby expressly distance ourselves from all content of websites linked to in our internet presence and do not make this content our own. This declaration applies for all links shown in our Internet presence and for all content of websites to which these links lead.\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[8],[0,\\\"Information on the German Teleservices Act\\\"],[7,\\\"br\\\",true],[8],[9],[9],[0,\\\"\\\\n            The responsibility for third-party websites referenced through so-called links by the publisher lies solely with the respective content provider. The publisher is not responsible for the content of third-party websites. In addition, it is possible that the publisher's website could be referenced by other websites using so-called links without the publisher's knowledge. The publisher accepts no responsibility for the presentation, content or connection to any political parties on third-party websites. The publisher is only responsible for external content (i.e. including unlawful or criminal content) if the publisher learns of illegal content and if it is technically feasible and reasonable for the publisher to prevent its use. According to the German Teleservices Act, however, the publisher is not required to continually review the contents on the third-party sites.\\\\t\\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n              Should you have any questions or identify any infringement of the Act on our website, please send us a brief email at \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"mailadresse\\\"],[8],[0,\\\"info(at)swg-produktion.de\\\"],[9],[0,\\\".\\\\n            \\\"],[9],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[8],[0,\\\"\\\\n              \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"https://www.swg-produktion.de/en/datenschutz/\\\"],[10,\\\"class\\\",\\\"\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"rel\\\",\\\"noopener noreferrer\\\"],[8],[7,\\\"span\\\",true],[8],[0,\\\"PRIVACY STATEMENT\\\"],[9],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/impressum.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/lasteinwirkung\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"QdiHaA/b\",\n    \"block\": \"{\\\"symbols\\\":[\\\"led\\\",\\\"nkl\\\"],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"subcontainer\\\"],[8],[0,\\\"\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-horizontal\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"nkl\\\"],null],false],[9],[0,\\\"\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5 singleCombobox\\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"select\\\",false],[12,\\\"id\\\",\\\"nkl\\\"],[12,\\\"name\\\",\\\"nkl\\\"],[12,\\\"class\\\",\\\"form-control\\\"],[3,\\\"on\\\",[\\\"change\\\",[28,\\\"fn\\\",[[23,0,[\\\"setNkl\\\"]]],[[\\\"value\\\"],[[23,0,[\\\"target\\\"]]]]]]],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[23,0,[\\\"nklarray\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"option\\\",true],[18,\\\"value\\\",[23,2,[\\\"id\\\"]]],[18,\\\"disabled\\\",[23,2,[\\\"disabled\\\"]]],[18,\\\"selected\\\",[23,2,[\\\"selected\\\"]]],[8],[1,[23,2,[\\\"name\\\"]],true],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"nkl\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"led\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5 singleCombobox\\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"select\\\",false],[12,\\\"id\\\",\\\"led\\\"],[12,\\\"name\\\",\\\"led\\\"],[12,\\\"class\\\",\\\"form-control\\\"],[3,\\\"on\\\",[\\\"change\\\",[28,\\\"fn\\\",[[23,0,[\\\"setLed\\\"]]],[[\\\"value\\\"],[[23,0,[\\\"target\\\"]]]]]]],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[23,0,[\\\"ledarray\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"option\\\",true],[18,\\\"value\\\",[23,1,[\\\"id\\\"]]],[18,\\\"disabled\\\",[23,1,[\\\"disabled\\\"]]],[18,\\\"selected\\\",[23,1,[\\\"selected\\\"]]],[8],[1,[23,1,[\\\"name\\\"]],true],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"aussereEinwirkungen\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"rwinkelv\\\"],[8],[1,[28,\\\"t\\\",[\\\"auflagerlast\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttBmLast\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"bmlast\\\"],[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"bmlastIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"bmlastIsSelected\\\"],null],[23,0,[\\\"bmlast\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n          kN\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"bmlast\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"three-quarters-loader\\\"],[8],[0,\\\"\\\\n      Loading…\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"\\\\n\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/lasteinwirkung.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/optionen\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"Oj1NAUkk\",\n    \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"subcontainer\\\"],[8],[0,\\\"\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-horizontal\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"mindestanzahlVM\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"abreite\\\"],[8],[1,[28,\\\"t\\\",[\\\"inFaserrichtung\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttmin_n0\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"_min_n0\\\"],[12,\\\"class\\\",\\\"form-control .textRechts\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"_min_n0IsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"_min_n0IsSelected\\\"],null],[23,0,[\\\"_min_n0\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"_min_n0\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"alaenge\\\"],[8],[1,[28,\\\"t\\\",[\\\"rechtwinkligFaserrichtung\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttmin_n90\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"_min_n90\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"_min_n90IsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"_min_n90IsSelected\\\"],null],[23,0,[\\\"_min_n90\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"_min_n90\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"mindestabstandAuflagerrand\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"ueberstand\\\"],[8],[1,[28,\\\"t\\\",[\\\"inFaserrichtung\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttmin_a1cPlatte\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"_min_a1cPlatte\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"_min_a1cPlatteIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"_min_a1cPlatteIsSelected\\\"],null],[23,0,[\\\"_min_a1cPlatte\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"_min_a1cPlatte\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"ueberstand\\\"],[8],[1,[28,\\\"t\\\",[\\\"rechtwinkligFaserrichtung\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttmin_a2cPlatte\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"_min_a2cPlatte\\\"],[12,\\\"focus-in\\\",[28,\\\"action\\\",[[23,0,[]],\\\"_min_a2cPlatteIsSelected\\\"],null]],[12,\\\"class\\\",\\\"form-control .text-right\\\"]],[[\\\"@key-up\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"_min_a2cPlatteIsSelected\\\"],null],[23,0,[\\\"_min_a2cPlatte\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"_min_a2cPlatte\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"sicherheitsabstandSchraubenspitze\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"abstandsmass\\\"],[8],[1,[28,\\\"t\\\",[\\\"abstandsmass\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttsicherheitsAbstand\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"_sicherheitsAbstand\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"_sicherheitsAbstandIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"_sicherheitsAbstandIsSelected\\\"],null],[23,0,[\\\"_sicherheitsAbstand\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"_sicherheitsAbstand\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/optionen.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/projektdaten\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"lGHW7BhG\",\n    \"block\": \"{\\\"symbols\\\":[\\\"@errors\\\",\\\"@displayErrors\\\"],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"subcontainer\\\"],[10,\\\"class\\\",\\\"projektdaten\\\"],[8],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-horizontal\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[10,\\\"data-toggle\\\",\\\"collapse\\\"],[10,\\\"data-target\\\",\\\"#bauvorhaben\\\"],[8],[1,[28,\\\"t\\\",[\\\"bauvorhaben\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"bauvorhaben\\\"],[10,\\\"class\\\",\\\"collapse in\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"bvname\\\"],[8],[1,[28,\\\"t\\\",[\\\"name\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"name\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"bvnameIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"bvname\\\",[23,0,[\\\"bvname\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"bvstrasse\\\"],[8],[1,[28,\\\"t\\\",[\\\"strasse\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"strasse\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"bvstrasseIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"bvstrasse\\\",[23,0,[\\\"bvstrasse\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"plzort\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group plz\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"bvplz\\\"],[8],[1,[28,\\\"t\\\",[\\\"plz\\\"],null],false],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\" col-sm-5\\\"],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"plz\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"bvplzIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"bvplz\\\",[23,0,[\\\"bvplz\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,1,[\\\"bvplz\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group ort\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"bvort\\\"],[8],[1,[28,\\\"t\\\",[\\\"ort\\\"],null],false],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"ort\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"bvortIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"bvort\\\",[23,0,[\\\"bvort\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"clearBoth\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[10,\\\"data-toggle\\\",\\\"collapse\\\"],[10,\\\"data-target\\\",\\\"#position\\\"],[8],[1,[28,\\\"t\\\",[\\\"position\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"position\\\"],[10,\\\"class\\\",\\\"collapse\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"bname\\\"],[8],[1,[28,\\\"t\\\",[\\\"bezeichnung\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"bezeichnung\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"bezeichnungIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"bezeichnung\\\",[23,0,[\\\"bezeichnung\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"bname\\\"],[8],[1,[28,\\\"t\\\",[\\\"beschreibung\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"beschreibung\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"beschreibungIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"beschreibung\\\",[23,0,[\\\"beschreibung\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[10,\\\"data-toggle\\\",\\\"collapse\\\"],[10,\\\"data-target\\\",\\\"#verarbeiter\\\"],[8],[1,[28,\\\"t\\\",[\\\"verarbeiter\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"verarbeiter\\\"],[10,\\\"class\\\",\\\"collapse\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"vname\\\"],[8],[1,[28,\\\"t\\\",[\\\"name\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"name\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"vnameIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"vname\\\",[23,0,[\\\"vname\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"kdnum\\\"],[8],[1,[28,\\\"t\\\",[\\\"kdnum\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"kdnum\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"kdnumIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"kdnum\\\",[23,0,[\\\"kdnum\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"vstrasse\\\"],[8],[1,[28,\\\"t\\\",[\\\"strasse\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"strasse\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"vstrasseIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"vstrasse\\\",[23,0,[\\\"vstrasse\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"plzort\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group plz\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"vplz\\\"],[8],[1,[28,\\\"t\\\",[\\\"plz\\\"],null],false],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"plz\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"vplzIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"vplz\\\",[23,0,[\\\"vplz\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group ort\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"vort\\\"],[8],[1,[28,\\\"t\\\",[\\\"ort\\\"],null],false],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"ort\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"vortIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"vort\\\",[23,0,[\\\"vort\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"clearBoth\\\"],[8],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"vtel\\\"],[8],[1,[28,\\\"t\\\",[\\\"tel\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"tel\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"vtelIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"vtel\\\",[23,0,[\\\"vtel\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"vfax\\\"],[8],[1,[28,\\\"t\\\",[\\\"fax\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"fax\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"vfaxIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"vfax\\\",[23,0,[\\\"vfax\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"vemail\\\"],[8],[1,[28,\\\"t\\\",[\\\"email\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[5,\\\"input\\\",[[12,\\\"class\\\",\\\"form-control\\\"],[12,\\\"placeholder\\\",[28,\\\"t\\\",[\\\"email\\\"],null]]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"vemailIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"vemail\\\",[23,0,[\\\"vemail\\\"]]]]],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[10,\\\"data-toggle\\\",\\\"collapse\\\"],[10,\\\"data-target\\\",\\\"#bemerkungenArea\\\"],[8],[1,[28,\\\"t\\\",[\\\"bemerkungen\\\"],null],false],[9],[0,\\\"\\\\n\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"bemerkungenArea\\\"],[10,\\\"class\\\",\\\"collapse\\\"],[8],[0,\\\"\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"bemerkungenAreaClass\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"bemerkungen\\\"],[8],[1,[28,\\\"t\\\",[\\\"bemerkungstext\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"bemerkungenTextAreaID\\\"],[8],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"textfieldToggle\\\"],[8],[0,\\\"\\\\n          \\\"],[7,\\\"label\\\",false],[3,\\\"on\\\",[\\\"click\\\",[28,\\\"fn\\\",[[23,0,[\\\"toggleTextArea\\\"]]],null]]],[8],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"textfieldResizerUpRight\\\"],[8],[9],[0,\\\"\\\\n            \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"textfieldResizerBottomLeft\\\"],[8],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-12\\\"],[8],[0,\\\"\\\\n          \\\"],[5,\\\"textarea\\\",[[12,\\\"class\\\",\\\"form-control bemerkungenTextArea\\\"]],[[\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@cols\\\",\\\"@rows\\\",\\\"@name\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"bemerkungstextIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"storeValues\\\"],null],\\\"60\\\",\\\"10\\\",\\\"bemerkungstext\\\",[23,0,[\\\"bemerkungstext\\\"]]]]],[0,\\\"        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,2,[]]],null,{\\\"statements\\\":[],\\\"parameters\\\":[]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[9],[0,\\\"\\\\n  \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/projektdaten.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/traeger\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"IS5fG0WU\",\n    \"block\": \"{\\\"symbols\\\":[\\\"material\\\",\\\"material\\\"],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"subcontainer\\\"],[8],[0,\\\"\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-horizontal\\\"],[8],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"mat\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5 singleCombobox\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"select\\\",false],[12,\\\"id\\\",\\\"ntholz\\\"],[12,\\\"name\\\",\\\"ntholz\\\"],[12,\\\"class\\\",\\\"form-control\\\"],[3,\\\"on\\\",[\\\"change\\\",[28,\\\"fn\\\",[[23,0,[\\\"setNtMaterial\\\"]]],[[\\\"value\\\"],[[23,0,[\\\"target\\\"]]]]]]],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[23,0,[\\\"ntmaterial\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"option\\\",true],[18,\\\"value\\\",[23,2,[\\\"id\\\"]]],[18,\\\"selected\\\",[23,2,[\\\"selected\\\"]]],[8],[1,[23,2,[\\\"name\\\"]],true],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"festigkeit\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5 singleCombobox\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"select\\\",false],[12,\\\"id\\\",\\\"ntfkl\\\"],[12,\\\"name\\\",\\\"ntfkl\\\"],[12,\\\"class\\\",\\\"form-control\\\"],[3,\\\"on\\\",[\\\"change\\\",[28,\\\"fn\\\",[[23,0,[\\\"setNtFKL\\\"]]],[[\\\"value\\\"],[[23,0,[\\\"target\\\"]]]]]]],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[23,0,[\\\"ntfklarray\\\"]]],null,{\\\"statements\\\":[[0,\\\"            \\\"],[7,\\\"option\\\",true],[18,\\\"value\\\",[23,1,[\\\"id\\\"]]],[18,\\\"selected\\\",[23,1,[\\\"selected\\\"]]],[8],[1,[23,1,[\\\"name\\\"]],true],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"dimensionen\\\"],null],false],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"htbreite\\\"],[8],[1,[28,\\\"t\\\",[\\\"breite\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttBreiteHT\\\"]]],[10,\\\"imagepath\\\",\\\"assets/images/folder_tick.png\\\"],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"htbreite\\\"],[12,\\\"class\\\",\\\"form-control .textRechts\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"htbreiteIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"htbreiteIsSelected\\\"],null],[23,0,[\\\"htbreite\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"htbreite\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n    \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n      \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"control-label col-sm-1\\\"],[10,\\\"for\\\",\\\"hthoehe\\\"],[8],[1,[28,\\\"t\\\",[\\\"hoehe\\\"],null],false],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-5\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"hint--right\\\"],[11,\\\"data-hint\\\",[23,0,[\\\"ttHoeheHT\\\"]]],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"id\\\",\\\"hthoehe\\\"],[12,\\\"name\\\",\\\"hthoehe\\\"],[12,\\\"class\\\",\\\"form-control .text-right\\\"],[12,\\\"placeholder\\\",\\\"0.0\\\"]],[[\\\"@key-up\\\",\\\"@focus-in\\\",\\\"@focus-out\\\",\\\"@value\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"validation\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"hthoeheIsSelected\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"hthoeheIsSelected\\\"],null],[23,0,[\\\"hthoehe\\\"]]]]],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"cm\\\"],[9],[0,\\\"\\\\n      \\\"],[9],[0,\\\"\\\\n      \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-1 einheit\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[23,0,[\\\"displayErrors\\\"]]],null,{\\\"statements\\\":[[0,\\\"          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"label label-danger\\\"],[8],[1,[23,0,[\\\"errors\\\",\\\"hthoehe\\\",\\\"0\\\",\\\"message\\\"]],false],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\"      \\\"],[9],[0,\\\"\\\\n    \\\"],[9],[0,\\\"\\\\n\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/traeger.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/templates/verbindungsmittel\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n\n  var _default = Ember.HTMLBars.template({\n    \"id\": \"nAE6ML+h\",\n    \"block\": \"{\\\"symbols\\\":[\\\"item\\\",\\\"parameter\\\"],\\\"statements\\\":[[4,\\\"if\\\",[[23,0,[\\\"loading\\\"]]],null,{\\\"statements\\\":[[0,\\\"  \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"verbindungsmittel\\\"],null],false],[9],[0,\\\"\\\\n  \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"three-quarters-loader\\\"],[8],[0,\\\"\\\\n    Loading…\\\\n  \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[4,\\\"if\\\",[[23,0,[\\\"keineSchraubenliste\\\"]]],null,{\\\"statements\\\":[[0,\\\"\\\\n    \\\"],[1,[23,0,[\\\"infoText\\\"]],true],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\"    \\\"],[7,\\\"h3\\\",true],[10,\\\"class\\\",\\\"formheadline\\\"],[8],[1,[28,\\\"t\\\",[\\\"verbindungsmittel\\\"],null],false],[9],[0,\\\"\\\\n\\\\n        \\\"],[2,\\\" {{x-tree model=schraubenliste}} \\\"],[0,\\\"\\\\n        \\\"],[7,\\\"div\\\",true],[8],[0,\\\"\\\\n          \\\"],[5,\\\"input\\\",[[12,\\\"name\\\",\\\"Filterergebnis\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[23,0,[\\\"nurValideSchrauben\\\"]]]]],[0,\\\" nur zulässige Verbindungsmittel\\\\n        \\\"],[9],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n\\\\n        \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"rahmen\\\"],[8],[0,\\\"\\\\n          \\\"],[7,\\\"table\\\",true],[10,\\\"id\\\",\\\"verbindungsmitteltabellekopf\\\"],[10,\\\"class\\\",\\\"systemtablewide\\\"],[8],[0,\\\"\\\\n            \\\"],[7,\\\"thead\\\",true],[8],[0,\\\"\\\\n              \\\"],[7,\\\"tr\\\",true],[8],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"each\\\",[[23,0,[\\\"params\\\"]]],null,{\\\"statements\\\":[[0,\\\"                  \\\"],[5,\\\"screw-tablehead\\\",[],[[\\\"@parameter\\\",\\\"@parameterObjekteListe\\\",\\\"@cfilter\\\",\\\"@controllerSortUp\\\",\\\"@controllerSortDown\\\",\\\"@upDownTrigger\\\",\\\"@cToggkleAllChecked\\\"],[[23,2,[]],[22,\\\"parameterObjekteListe\\\"],[23,0,[\\\"controllerfilter\\\"]],[23,0,[\\\"sortUp\\\"]],[23,0,[\\\"sortDown\\\"]],[23,0,[\\\"upDownTrigger\\\"]],[23,0,[\\\"toggkleAllChecked\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\"\\\\n              \\\"],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n          \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"scroll\\\"],[11,\\\"style\\\",[29,[\\\"height:\\\",[22,\\\"kompaktergebnisHeight\\\"]]]],[8],[0,\\\"\\\\n            \\\"],[7,\\\"table\\\",true],[10,\\\"id\\\",\\\"verbindungsmitteltabellewerte\\\"],[10,\\\"class\\\",\\\"systemtablewide\\\"],[8],[0,\\\"\\\\n              \\\"],[7,\\\"tbody\\\",true],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[23,0,[\\\"schraubenliste\\\"]]],null,{\\\"statements\\\":[[0,\\\"                  \\\"],[5,\\\"screw-tablerow\\\",[],[[\\\"@item\\\",\\\"@cSetSelectedScrew\\\",\\\"@paramliste\\\"],[[23,1,[]],[23,0,[\\\"controllerSetSelectedScrew\\\"]],[23,0,[\\\"params\\\"]]]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\"              \\\"],[9],[0,\\\"\\\\n            \\\"],[9],[0,\\\"\\\\n          \\\"],[9],[0,\\\"\\\\n        \\\"],[9],[0,\\\"\\\\n        \\\"],[7,\\\"span\\\",true],[10,\\\"id\\\",\\\"tooltipfenster\\\"],[10,\\\"class\\\",\\\"tooltipfenster displayNone\\\"],[8],[9],[0,\\\"\\\\n\\\\n\\\"]],\\\"parameters\\\":[]}]],\\\"parameters\\\":[]}]],\\\"hasEval\\\":false}\",\n    \"meta\": {\n      \"moduleName\": \"m12-2020/templates/verbindungsmittel.hbs\"\n    }\n  });\n\n  _exports.default = _default;\n});","define(\"m12-2020/transforms/boolean\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _private.BooleanTransform;\n    }\n  });\n});","define(\"m12-2020/transforms/date\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _private.DateTransform;\n    }\n  });\n});","define(\"m12-2020/transforms/number\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _private.NumberTransform;\n    }\n  });\n});","define(\"m12-2020/transforms/string\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _private.StringTransform;\n    }\n  });\n});","define(\"m12-2020/translations/en-us\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = {\n    \"price_banner\": \"The {product} costs {price, number, USD}\"\n  };\n  _exports.default = _default;\n});","define(\"m12-2020/utils/intl/missing-message\", [\"exports\", \"ember-intl/utils/missing-message\"], function (_exports, _missingMessage) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _missingMessage.default;\n    }\n  });\n});","\n","define('m12-2020/config/environment', [], function() {\n  var prefix = 'm12-2020';\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n  var config = JSON.parse(decodeURIComponent(rawConfig));\n\n  var exports = { 'default': config };\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n  return exports;\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","\n          if (!runningTests) {\n            require(\"m12-2020/app\")[\"default\"].create({\"name\":\"m12-2020\",\"version\":\"0.0.0+e2844d0d\",\"validatorDefaultLocale\":\"en\"});\n          }\n        \n"],"names":[],"mappings":"AAAA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACruBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1YA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1nBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjuCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5xBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACteA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5XA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7oBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7YA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;","file":"m12-2020.js"}