Files
Rieter-EKalk/Kalkulation Spinnerei.ipynb
T

3063 lines
421 KiB
Plaintext

{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Kalkulation Spinnerei\n",
"\n",
"Das folgende Szenario ist eine Variante um die Anzahl der Puffer zu testen\n",
"\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Flyer Puffer"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{1: 103604.44666666666, 2: 105333.16666666666, 3: 106046.96666666665, 4: 107732.12666666665, 5: 108445.92666666667, 6: 110174.64666666667, 7: 110888.44666666666, 8: 112573.60666666666, 9: 113287.40666666665}\n"
]
},
{
"data": {
"image/png": "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ZsJiRURERGQmLFZEREREZsJiRURERGQmNlIHaEuEEAAAnU4ncRIiIiJqrKuf21c/x/8Ki1ULKi8vBwD4+vpKnISIiIiaqry8HM7Ozn85RiYaU7/ILIxGI4qKiuDk5ASZTGbWbet0Ovj6+qKgoABqtdqs224NuH+Wz9r3kftn+ax9H7l/t08IgfLycnh5eUEu/+urqHjEqgXJ5XL4+Pg063uo1Wqr/AtzFffP8ln7PnL/LJ+17yP37/bc6kjVVbx4nYiIiMhMWKyIiIiIzITFykqoVCrMmDEDKpVK6ijNgvtn+ax9H7l/ls/a95H71zJ48ToRERGRmfCIFREREZGZsFgRERERmQmLFREREZGZsFgRERERmQmLlYXbsWMHhgwZAi8vL8hkMqxbt07qSGY1Z84cREZGwsnJCW5ubhg2bBiOHz8udSyzWbBgAXr37m26oV1MTAx++uknqWM1m3feeQcymQyTJk2SOorZzJw5EzKZrMEjODhY6lhmVVhYiDFjxsDV1RX29vYIDQ3Fvn37pI5lNgEBAdf9N5TJZJg4caLU0czCYDBg2rRpCAwMhL29PTp37ozZs2c3at47S1FeXo5JkybB398f9vb2GDBgAPbu3StJFt553cJVVlYiLCwMycnJGD58uNRxzO7XX3/FxIkTERkZifr6evzrX//C4MGDcezYMTg6Okod7475+PjgnXfeQdeuXSGEwOLFizF06FBkZ2ejZ8+eUsczq7179+KLL75A7969pY5idj179sQvv/xiem5jYz2/Wi9fvoyBAwfivvvuw08//YROnTrh5MmT6NChg9TRzGbv3r0wGAym50eOHMH999+PESNGSJjKfN59910sWLAAixcvRs+ePbFv3z4kJSXB2dkZL7zwgtTxzGL8+PE4cuQIli5dCi8vLyxbtgxxcXE4duwYvL29WzaMIKsBQKxdu1bqGM2qtLRUABC//vqr1FGaTYcOHcTChQuljmFW5eXlomvXrmLz5s3innvuES+++KLUkcxmxowZIiwsTOoYzWbq1KkiNjZW6hgt6sUXXxSdO3cWRqNR6ihmkZCQIJKTkxssGz58uBg9erREicyrqqpKKBQKsX79+gbL+/btK15//fUWz8NTgWRRtFotAMDFxUXiJOZnMBjw9ddfo7KyEjExMVLHMauJEyciISEBcXFxUkdpFidPnoSXlxeCgoIwevRo5OfnSx3JbP773/8iIiICI0aMgJubG/r06YOvvvpK6ljNpq6uDsuWLUNycjJkMpnUccxiwIAB2LJlC06cOAEAOHjwIHbu3IkHH3xQ4mTmUV9fD4PBADs7uwbL7e3tsXPnzhbPYz3Hq8nqGY1GTJo0CQMHDkSvXr2kjmM2hw8fRkxMDGpqatCuXTusXbsWISEhUscym6+//hoHDhyQ7HqH5hYdHY309HR0794d586dw6xZs3DXXXfhyJEjcHJykjreHTt9+jQWLFiAyZMn41//+hf27t2LF154AUqlEomJiVLHM7t169ahrKwM48aNkzqK2bz66qvQ6XQIDg6GQqGAwWDA22+/jdGjR0sdzSycnJwQExOD2bNno0ePHnB3d8fKlSuRkZGBLl26tHygFj9GRs0GVn4qcMKECcLf318UFBRIHcWsamtrxcmTJ8W+ffvEq6++Kjp27CiOHj0qdSyzyM/PF25ubuLgwYOmZdZ2KvDPLl++LNRqtdWczrW1tRUxMTENlj3//POif//+EiVqXoMHDxYPP/yw1DHMauXKlcLHx0esXLlSHDp0SCxZskS4uLiI9PR0qaOZTW5urrj77rsFAKFQKERkZKQYPXq0CA4ObvEsPGJFFuG5557D+vXrsWPHDvj4+Egdx6yUSqXpX1X9+vXD3r178Z///AdffPGFxMnu3P79+1FaWoq+ffualhkMBuzYsQOffvopamtroVAoJExofu3bt0e3bt2Qm5srdRSz8PT0vO4Iao8ePfDdd99JlKj55OXl4ZdffsGaNWukjmJWr7zyCl599VU88cQTAIDQ0FDk5eVhzpw5VnPUsXPnzvj1119RWVkJnU4HT09PjBw5EkFBQS2ehddYUasmhMBzzz2HtWvXYuvWrQgMDJQ6UrMzGo2ora2VOoZZDBo0CIcPH0ZOTo7pERERgdGjRyMnJ8fqShUAVFRU4NSpU/D09JQ6ilkMHDjwulucnDhxAv7+/hIlaj5paWlwc3NDQkKC1FHMqqqqCnJ5w497hUIBo9EoUaLm4+joCE9PT1y+fBkbN27E0KFDWzwDj1hZuIqKigb/MtZoNMjJyYGLiwv8/PwkTGYeEydOxIoVK/D999/DyckJxcXFAABnZ2fY29tLnO7Ovfbaa3jwwQfh5+eH8vJyrFixAtu3b8fGjRuljmYWTk5O110P5+joCFdXV6u5Tu6f//wnhgwZAn9/fxQVFWHGjBlQKBR48sknpY5mFi+99BIGDBiAf//733j88ceRlZWFL7/8El9++aXU0czKaDQiLS0NiYmJVnW7DAAYMmQI3n77bfj5+aFnz57Izs7Ghx9+iOTkZKmjmc3GjRshhED37t2Rm5uLV155BcHBwUhKSmr5MC1+8pHMatu2bQLAdY/ExESpo5nFjfYNgEhLS5M6mlkkJycLf39/oVQqRadOncSgQYPEpk2bpI7VrKztGquRI0cKT09PoVQqhbe3txg5cqTIzc2VOpZZ/fDDD6JXr15CpVKJ4OBg8eWXX0odyew2btwoAIjjx49LHcXsdDqdePHFF4Wfn5+ws7MTQUFB4vXXXxe1tbVSRzObVatWiaCgIKFUKoWHh4eYOHGiKCsrkySLTAgruvUqERERkYR4jRURERGRmbBYEREREZkJixURERGRmbBYEREREZkJixURERGRmbBYEREREZkJixURERGRmbBYEREREZkJixURWZV7770XkyZNkjrGbfvyyy/h6+sLuVyOefPm3XQZEbVOLFZEZHHGjRsHmUx23ePaeTNb2vbt2xtkcXd3x6OPPorTp083ehs6nQ7PPfccpk6disLCQjzzzDM3XEZErReLFRFZpAceeADnzp1r8AgMDGyR99br9Tddd/z4cRQVFeGbb77B0aNHMWTIEBgMhkZtNz8/H3q9HgkJCfD09ISDg8MNl5k7MxGZD4sVEVkklUoFDw+PBg+FQtFgzJtvvolevXpd99rw8HBMmzbN9HzhwoXo0aMH7OzsEBwcjM8++8y07syZM5DJZFi1ahXuuece2NnZYfny5TfN5ebmBk9PT9x9992YPn06jh07htzcXKSnp6N9+/YNxq5btw4ymQwAkJ6ejtDQUABAUFAQZDLZDZedOXMGAPD999+jb9++sLOzQ1BQEGbNmoX6+nrTtmUyGRYsWID/+7//g6OjI95+++1G/FSJ6E7ZSB2AiKi5JCcnY9asWdi7dy8iIyMBANnZ2Th06BDWrFkDAFi+fDmmT5+OTz/9FH369EF2djaefvppODo6IjEx0bStV199FR988AH69OkDOzu7Rr2/vb09AKCuru6WY0eOHAlfX1/ExcUhKysLvr6+cHJyum5Zp06d8Ntvv+Gpp57Cxx9/jLvuugunTp0ynSKcMWOGaZszZ87EO++8g3nz5sHGhr/uiVoCj1gRkUVav3492rVrZ3qMGDHiujE+Pj6Ij49HWlqaaVlaWhruueceBAUFAbhSRD744AMMHz4cgYGBGD58OF566SV88cUXDbY1adIk0xhPT89b5jt37hzef/99eHt7o3v37rccb29vD1dXVwBAp06d4OHhAUdHx+uWKRQKzJo1C6+++ioSExMRFBSE+++/H7Nnz74u86hRo5CUlISgoCD4+fndMgMR3Tn+E4aILNJ9992HBQsWmJ47OjrecNzTTz+N5ORkfPjhh5DL5VixYgU++ugjAEBlZSVOnTqFlJQUPP3006bX1NfXw9nZucF2IiIiTP+/Z8+eyMvLAwDcdddd+Omnn0zrfHx8IIRAVVUVwsLC8N1330GpVN75Dl/j4MGD2LVrV4PTewaDATU1NaiqqjJdh3VtZiJqGSxWRGSRHB0d0aVLl1uOGzJkCFQqFdauXQulUgm9Xo/HHnsMAFBRUQEA+OqrrxAdHd3gdX++Xuva4rZhwwbTxeBXT/dd9dtvv0GtVsPNzQ1OTk6m5XK5HEKIBmNv94LyiooKzJo1C8OHD79u3bWnKW9WNomo+bBYEZFVs7GxQWJiItLS0qBUKvHEE0+YypC7uzu8vLxw+vRpjB49utHb9Pf3v+m6wMDA6y5SB66cyisvL0dlZaWp8OTk5DRpX67q27cvjh8/3qhiSUQti8WKiKze+PHj0aNHDwDArl27GqybNWsWXnjhBTg7O+OBBx5AbW0t9u3bh8uXL2Py5MlmyxAdHQ0HBwf861//wgsvvIDMzEykp6ff1ramT5+Ohx9+GH5+fnjssccgl8tx8OBBHDlyBG+99ZbZMhNR0/HidSKyel27dsWAAQMQHBx83Sm/8ePHY+HChUhLS0NoaCjuuecepKenm/2eWC4uLli2bBk2bNiA0NBQrFy5EjNnzrytbcXHx2P9+vXYtGkTIiMj0b9/f3z00Ud/eSSNiFqGTPz5pD8RkZURQqBr1674xz/+YdajUEREf8ZTgURk1c6fP4+vv/4axcXFSEpKkjoOEVk5Fisismpubm7o2LEjvvzyS3To0EHqOERk5VisiMiq8WoHImpJvHidiIiIyExYrIiIiIjMhMWKiIiIyExYrIiIiIjMhMWKiIiIyExYrIiIiIjMhMWKiIiIyExYrIiIiIjM5P8B1/nvrKn+vz0AAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.get_sum_of_costs(hw)\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine\":0,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":0,\n",
" \"Cason-Putzmaschine\":0,\n",
" \"Cason-Putzmaschine_Vorpuffer\":0,\n",
" \"Cason-Putzmaschine_Nachpuffer\":0,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":0,\n",
" \"Turm_Anzahl_Wendlungen\":0,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 1\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Flyer_Puffer\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Flyer-Puffer\")\n",
"plt.show()\n",
"\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Puffer"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{1: 105333.16666666666, 2: 106353.08666666667, 3: 107373.00666666665, 4: 108392.92666666667, 5: 109456.40666666665, 6: 110476.32666666666, 7: 111496.24666666666, 8: 112516.16666666666, 9: 113536.08666666667}\n"
]
},
{
"data": {
"image/png": "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11buZubaAwDERtZk+tBYGtT0tziViIhI9aNiVQXENKqFzQYjb27OuNtb4euwWx1JRESkWlKxqgJ6tKvHl+NupnndGlZHERERqdZ0aKOKUKkSERGxnoqViIiIiJeoWImIiIh4iYqViIiIiJeoWImIiIh4iYqViIiIiJeoWImIiIh4iYqViIiIiJeoWImIiIh4iYqViIiIiJeoWImIiIh4iYqViIiIiJeoWImIiIh4iYqViIiIiJf4WB2gOjHGAJCRkWFxEhERESmtC+/bF97Hf4uK1VWUmZkJQKNGjSxOIiIiImWVmZlJSEjIb46xmdLUL/EKj8dDamoqQUFB2Gw2r247IyODRo0aceTIEYKDg7267YpA+1f5VfV91P5VflV9H7V/l88YQ2ZmJhEREdjtv30WlY5YXUV2u52GDRuW63MEBwdXyR+YC7R/lV9V30ftX+VX1fdR+3d5fu9I1QU6eV1ERETES1SsRERERLxExaqKcLlcTJkyBZfLZXWUcqH9q/yq+j5q/yq/qr6P2r+rQyevi4iIiHiJjliJiIiIeImKlYiIiIiXqFiJiIiIeImKlYiIiIiXqFhVcuvXr6dv375ERERgs9lYunSp1ZG8aurUqVx77bUEBQURFhZG//792bNnj9WxvOadd96hU6dOxRe069atG59//rnVscrNyy+/jM1mY+zYsVZH8Zpnn30Wm81W4tamTRurY3nVsWPHuO+++6hduzb+/v507NiRH374wepYXtOkSZOL/gxtNhvx8fFWR/MKt9vNM888Q9OmTfH396d58+a88MILpfreu8oiMzOTsWPH0rhxY/z9/bn++uvZvHmzJVl05fVKLjs7m6ioKEaMGMGAAQOsjuN1X331FfHx8Vx77bUUFRXx5JNP0rNnT3788UcCAwOtjnfFGjZsyMsvv0zLli0xxjBnzhz69etHYmIi7du3tzqeV23evJl//OMfdOrUyeooXte+fXu+/PLL4vs+PlXnV+u5c+e44YYb6N69O59//jl169Zl37591KpVy+poXrN582bcbnfx/R07dnD77bczcOBAC1N5zyuvvMI777zDnDlzaN++PT/88AMPPvggISEhPPLII1bH84qHHnqIHTt28L//+79ERETw/vvv06NHD3788UcaNGhwdcMYqTIAs2TJEqtjlKuTJ08awHz11VdWRyk3tWrVMv/617+sjuFVmZmZpmXLlmbVqlXm5ptvNmPGjLE6ktdMmTLFREVFWR2j3EycONHceOONVse4qsaMGWOaN29uPB6P1VG8Ii4uzowYMaLEsgEDBphhw4ZZlMi7cnJyjMPhMMuWLSuxPDY21jz11FNXPY+mAqVSSU9PByA0NNTiJN7ndruZP38+2dnZdOvWzeo4XhUfH09cXBw9evSwOkq52LdvHxERETRr1oxhw4aRkpJidSSv+eSTT7jmmmsYOHAgYWFhxMTE8N5771kdq9wUFBTw/vvvM2LECGw2m9VxvOL6669n9erV7N27F4CtW7fyzTff0Lt3b4uTeUdRURFutxs/P78Sy/39/fnmm2+uep6qc7xaqjyPx8PYsWO54YYb6NChg9VxvGb79u1069aNvLw8atSowZIlS2jXrp3Vsbxm/vz5JCQkWHa+Q3nr2rUrs2fPpnXr1hw/fpznnnuOm266iR07dhAUFGR1vCt28OBB3nnnHcaNG8eTTz7J5s2beeSRR3A6nQwfPtzqeF63dOlSzp8/zwMPPGB1FK954oknyMjIoE2bNjgcDtxuN3/9618ZNmyY1dG8IigoiG7duvHCCy/Qtm1b6tWrx7x589i4cSMtWrS4+oGu+jEyKTdU8anAkSNHmsaNG5sjR45YHcWr8vPzzb59+8wPP/xgnnjiCVOnTh2zc+dOq2N5RUpKigkLCzNbt24tXlbVpgJ/6dy5cyY4OLjKTOf6+vqabt26lVg2evRoc91111mUqHz17NnT9OnTx+oYXjVv3jzTsGFDM2/ePLNt2zbz73//24SGhprZs2dbHc1r9u/fb/7whz8YwDgcDnPttdeaYcOGmTZt2lz1LDpiJZXCqFGjWLZsGevXr6dhw4ZWx/Eqp9NZ/K+qzp07s3nzZt5++23+8Y9/WJzsym3ZsoWTJ08SGxtbvMztdrN+/XpmzJhBfn4+DofDwoTeV7NmTVq1asX+/futjuIV9evXv+gIatu2bfnoo48sSlR+Dh8+zJdffsnixYutjuJVjz/+OE888QSDBw8GoGPHjhw+fJipU6dWmaOOzZs356uvviI7O5uMjAzq16/PoEGDaNas2VXPonOspEIzxjBq1CiWLFnCmjVraNq0qdWRyp3H4yE/P9/qGF5x2223sX37dpKSkopv11xzDcOGDSMpKanKlSqArKwsDhw4QP369a2O4hU33HDDRZc42bt3L40bN7YoUfmZNWsWYWFhxMXFWR3Fq3JycrDbS77dOxwOPB6PRYnKT2BgIPXr1+fcuXOsXLmSfv36XfUMOmJVyWVlZZX4l3FycjJJSUmEhoYSGRlpYTLviI+PZ+7cuXz88ccEBQWRlpYGQEhICP7+/hanu3KTJk2id+/eREZGkpmZydy5c1m3bh0rV660OppXBAUFXXQ+XGBgILVr164y58k99thj9O3bl8aNG5OamsqUKVNwOBwMGTLE6mhe8eijj3L99dfz0ksvce+997Jp0yb++c9/8s9//tPqaF7l8XiYNWsWw4cPr1KXywDo27cvf/3rX4mMjKR9+/YkJiby5ptvMmLECKujec3KlSsxxtC6dWv279/P448/Tps2bXjwwQevfpirPvkoXrV27VoDXHQbPny41dG84lL7BphZs2ZZHc0rRowYYRo3bmycTqepW7euue2228wXX3xhdaxyVdXOsRo0aJCpX7++cTqdpkGDBmbQoEFm//79Vsfyqk8//dR06NDBuFwu06ZNG/PPf/7T6khet3LlSgOYPXv2WB3F6zIyMsyYMWNMZGSk8fPzM82aNTNPPfWUyc/Ptzqa1yxYsMA0a9bMOJ1OEx4ebuLj48358+ctyWIzpgpdelVERETEQjrHSkRERMRLVKxEREREvETFSkRERMRLVKxEREREvETFSkRERMRLVKxEREREvETFSkRERMRLVKxEREREvETFSkTkCuTk5HD33XcTHByMzWbj/Pnzl1wmItWDipWIVGsPPPAANpsNm82G0+mkRYsWPP/88xQVFZXq8XPmzOHrr79mw4YNHD9+nJCQkEsuE5HqoWp906SIyGW44447mDVrFvn5+Xz22WfEx8fj6+vLpEmTfvexBw4coG3btiW+VPpSy8rK7XZjs9mw2/XvX5HKRD+xIlLtuVwuwsPDady4MQ8//DA9evTgk08+4ZZbbmHs2LElxvbv358HHngAgFtuuYU33niD9evXY7PZuOWWWy65DCA/P5/HHnuMBg0aEBgYSNeuXVm3bl3xdmfPnk3NmjX55JNPaNeuHS6Xi5SUlKvzAoiI1+iIlYjIL/j7+3PmzBlcLtdvjlu8eDFPPPEEO3bsYPHixTidToBLLhs1ahQ//vgj8+fPJyIigiVLlnDHHXewfft2WrZsCfx0vtYrr7zCv/71L2rXrk1YWFj57qiIeJ2KlYjI/zHGsHr1alauXMno0aPZvHnzb44PDQ0lICAAp9NJeHh48fJfLktJSWHWrFmkpKQQEREBwGOPPcaKFSuYNWsWL730EgCFhYX8/e9/Jyoqqpz2UETKm4qViFR7y5Yto0aNGhQWFuLxeBg6dCjPPvsscXFxXtn+9u3bcbvdtGrVqsTy/Px8ateuXXzf6XTSqVMnrzyniFhDxUpEqr3u3bvzzjvv4HQ6iYiIwMfnp1+NdrsdY0yJsYWFhWXeflZWFg6Hgy1btuBwOEqsq1GjRvH/+/v7Y7PZLmMPRKSiULESkWovMDCQFi1aXLS8bt26HD9+vPi+2+1mx44ddO/evUzbj4mJwe12c/LkSW666aYrzisiFZc+FSgi8ituvfVWli9fzvLly9m9ezcPP/zwZV3ss1WrVgwbNow//elPLF68mOTkZDZt2sTUqVNZvny594OLiGV0xEpE5FeMGDGCrVu38qc//QkfHx8effTRMh+tumDWrFm8+OKLjB8/nmPHjlGnTh2uu+46+vTp4+XUImIlm/nlCQQiIiIiclk0FSgiIiLiJSpWIiIiIl6iYiUiIiLiJSpWIiIiIl6iYiUiIiLiJSpWIiIiIl6iYiUiIiLiJSpWIiIiIl6iYiUiIiLiJSpWIiIiIl6iYiUiIiLiJf8PUOe6bBH2eQAAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.get_sum_of_costs(hw)\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine\":0,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":0,\n",
" \"Cason-Putzmaschine\":0,\n",
" \"Cason-Putzmaschine_Vorpuffer\":0,\n",
" \"Cason-Putzmaschine_Nachpuffer\":0,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":0,\n",
" \"Turm_Anzahl_Wendlungen\":0,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 1\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Puffer\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Puffer\")\n",
"plt.show()\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Anzahl der Pufferstrecken pro Puffer"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{2: 104765.42666666667, 3: 104880.98666666666, 4: 105217.60666666666, 5: 105333.16666666666, 6: 105669.78666666665, 7: 105785.34666666665, 8: 106121.96666666665, 9: 106237.52666666666}\n",
"Hinweis: mind. 2 Pufferstrecken pro Puffer sollten existieren\n"
]
},
{
"data": {
"image/png": "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lketlEol1qxZg2HDhqFPnz7YvXs3PD090bFjR2g0GmRkZFicT1Vd4uPjcf/99wMAysvLkZSUhOeff/6W67dq1QpqtRp//PEHdDodgIoCtH//fkyePPlf96XVaiv998FoNCItLa2Kz6biZ5GdnQ0bGxv4+vpW+fFE1o7Fiohuqm/fvpg6dSq2bduGVq1a4f3337+jyT7btm2LiIgIDB8+HO+99x4CAgJw8eJFxMbGomvXrggPD7/p49LS0vDZZ5/hP//5Dzw9PZGamooTJ05g+PDhAABfX1+kpaVJH+M5OjrecITompkzZ+Kxxx6Dj48PnnzySSiVShw6dAgpKSmYO3cuevfujfvvvx9PPPEE3n//fbRu3RrHjh2DQqHAww8/LG1HpVJh7dq1GDp0KPr27Yvdu3fD3d0dL730EqZMmQKz2Yx7770XBoMBf/zxB5ycnBAVFVXl1+x6y5YtQ5s2bdChQwcsXrwYV69exahRo265voODA5577jm8/PLLcHZ2ho+PDxYuXIjCwkKMHj36jnP07dsXK1euRP/+/dGkSRPMnDnzjk4qDw0NRUhICAYOHIiFCxeibdu2yMrKwrZt2/D444/f8DEuUV3DYkVENzVq1CgcOnQIw4cPh42NDaZMmVLlo1XXrFixAnPnzsWLL76Ic+fOoXnz5ggODsZjjz12y8c0atQIx44dw6pVq3D58mV4eHhgwoQJGDduHADgiSeewKZNm9CnTx/k5uZixYoVGDFixE23FRYWhq1bt2LOnDl45513YGtri/bt22PMmDHSOt988w1eeuklDB06FAUFBWjdujUWLFhww7ZsbGwQExODIUOGSOXqrbfegouLC+bPn4/Tp0+jSZMm6N69O1577bU7er2ut2DBAixYsADJyclo3bo1vvvuOzRv3vy2jzGbzXjmmWeQl5eHoKAgbN++HU2bNr3jHNOnT0daWhoee+wxaLVavPXWW3d0xEqhUOCHH37A66+/jpEjR+LixYtwd3fH/fffDzc3tzvOR2QtFOKfH5oTEZHszpw5Az8/Pxw8eJAzzBPVIZx5nYiIiKiasFgRERERVRN+FEhERERUTXjEioiIiKiasFgRERERVRMWKyIiIqJqwmJFREREVE1YrIiIiIiqCYsVERERUTVhsSIiIiKqJixWRERERNXk/wHXMq9EjH3glgAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.get_sum_of_costs(hw)\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine\":0,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":0,\n",
" \"Cason-Putzmaschine\":0,\n",
" \"Cason-Putzmaschine_Vorpuffer\":0,\n",
" \"Cason-Putzmaschine_Nachpuffer\":0,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":0,\n",
" \"Turm_Anzahl_Wendlungen\":0,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 2\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Anzahl_der_Pufferstrecken_pro_Puffer\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"print(\"Hinweis: mind. 2 Pufferstrecken pro Puffer sollten existieren\")\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Pufferstrecken pro Puffer\")\n",
"plt.show()\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Flyer Electrojet incl intergrierte Putzmaschine Vorpuffer"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{2: 108484.83666666667, 3: 108600.39666666667, 4: 108937.01666666666, 5: 109052.57666666666, 6: 109389.19666666666, 7: 109504.75666666667, 8: 109841.37666666666, 9: 109956.93666666666}\n",
"Vorpuffer sollte > 1 sein\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAGwCAYAAABrUCsdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABih0lEQVR4nO3deVxU5eI/8M8MMMPIDsoAsgguqKi4oICafVWUirySlSuFiS33Uuml61a5tGqaLaamtrjkbqWVmbulJiCLoKIiJgKK4AYzgKwzz+8Pr+fGTyow4Azweb9e87rNc5455zNz0/k0c84zCiGEABERERH9bUq5AxARERE1FyxWRERERPWExYqIiIionrBYEREREdUTFisiIiKiesJiRURERFRPWKyIiIiI6om53AFaEqPRiNzcXNjY2EChUMgdh4iIiGpBCIGioiK4ublBqfzzz6RYrBpRbm4uPDw85I5BRERE9yEnJwfu7u5/OofFqhHZ2NgAuPN/jK2trcxpiIiIqDb0ej08PDyk9/E/w2LViO5+/Wdra8tiRURE1MTU5jQeWU9eP3z4MEaMGAE3NzcoFArs2LGj2vZvv/0Ww4cPh5OTExQKBVJSUu7ZR1lZGaKjo+Hk5ARra2s8/vjjyM/PrzYnOzsbYWFhaNWqFZydnTFt2jRUVVVVm/Pzzz+jd+/eUKvV6NChA9asWXPPsZYtW4Z27drB0tISgYGBOH78+N99CYiIiKgZkbVYlZSUwN/fH8uWLfvD7QMHDsR77733h/v497//jR9++AHbtm3DL7/8gtzcXIwaNUrabjAYEBYWhoqKChw7dgxr167FmjVrMGfOHGlOZmYmwsLCMHjwYKSkpGDq1KmYPHky9uzZI83ZsmULYmJiMHfuXCQnJ8Pf3x+hoaG4du1aPbwSRERE1CwIEwFAbN++vcZtmZmZAoA4ceJEtfHCwkJhYWEhtm3bJo2dPXtWABCxsbFCCCF27dollEqlyMvLk+Z8+umnwtbWVpSXlwshhJg+fbrw8/Ortu8xY8aI0NBQ6X6/fv1EdHS0dN9gMAg3Nzcxf/78Wj9HnU4nAAidTlfrxxAREZG86vL+3aTXsUpKSkJlZSVCQkKksc6dO8PT0xOxsbEAgNjYWHTv3h1arVaaExoaCr1ej7S0NGnO7/dxd87dfVRUVCApKanaHKVSiZCQEGlOTcrLy6HX66vdiIiIqPlq0sUqLy8PKpUK9vb21ca1Wi3y8vKkOb8vVXe33932Z3P0ej1KS0tx48YNGAyGGufc3UdN5s+fDzs7O+nGpRaIiIiatyZdrEzdrFmzoNPppFtOTo7ckYiIiKgBNenlFlxcXFBRUYHCwsJqn1rl5+fDxcVFmvP/X71396rB38/5/68kzM/Ph62tLTQaDczMzGBmZlbjnLv7qIlarYZarb7v50dERERNS5P+xKpPnz6wsLDAgQMHpLH09HRkZ2cjODgYABAcHIxTp05Vu3pv3759sLW1RdeuXaU5v9/H3Tl396FSqdCnT59qc4xGIw4cOCDNISIiIpL1E6vi4mJcuHBBup+ZmYmUlBQ4OjrC09MTt27dQnZ2NnJzcwHcKU3AnU+YXFxcYGdnh6ioKMTExMDR0RG2trZ46aWXEBwcjKCgIADA8OHD0bVrVzz11FNYuHAh8vLy8PrrryM6Olr6NOmFF17A0qVLMX36dEyaNAkHDx7E1q1b8eOPP0rZYmJiEBkZiYCAAPTr1w8fffQRSkpK8MwzzzTWy0VERESmrhGuUvxDhw4dEgDuuUVGRgohhFi9enWN2+fOnSvto7S0VPzrX/8SDg4OolWrVuKxxx4TV69erXacS5cuiYcfflhoNBrRunVr8corr4jKysp7svTs2VOoVCrh4+MjVq9efU/eTz75RHh6egqVSiX69esn4uLi6vR8udwCERFR01OX92+FEELIU+laHr1eDzs7O+h0Ov6kDRERURNRl/fvJn2OFREREZEpYbEiIiKiZuF8fhGu6kplzcBiRURERE1WeZUB36VcweiVsRj+4WF8djhT1jxNeh0rIiIiaplybt3GxuPZ2JqQg5slFQAAM6UCRWWVsuZisSIiIqImwWAU+Dn9GtbHZeHn89dx9/I7ra0aY/t6Ymw/D7jaaWTNyGJFREREJu1aURm2JuRg0/EcXCn83zlUAzu0RkSQJ4Z20cLCzDTObmKxIiIiIpMjhEDcxVtYH5+FPafzUGW88/GUfSsLPNnHHeMDveDd2krmlPdisSIiIiKToSutxDdJl7EhPgu/XS+Rxnt52iMi0AthPVxhaWEmY8I/x2JFREREsjt5uRDr47LwfWouyiqNAIBWKjOE92qLCYGe8HOzkzlh7bBYERERkSxKKwz4ITUX6+OzcPKyThr31dogIsgT4b3awsbSQsaEdcdiRURERI3qwrUirI/LxjfJl1FUVgUAUJkp8Uh3F0wI8kKAlwMUCoXMKe8PixURERE1uIoqI/aeycP6uCzEXbwljXs6tsL4QE882ccdTtZqGRPWDxYrIiIiajCXC25j8/EcbE7IwY3icgCAUgEM7aLFhEBPDOrYBkpl0/x0qiYsVkRERFSvDEaBw+evY31cFg6lX8N/V0pAGxs1xvX1wNh+nnCzl3chz4bCYkVERET14kZxObYk5GDT8WxcLvjfQp4DOjhhQqAXhnU1nYU8GwqLFREREd03IQSOZ97C+vhs7D59FZWGOx9P2Wks8EQfd4wP9ET7NtYyp2w8LFZERERUZ/qySmxPvoIN8Vk4n18sjft72CMi0BMj/N1MeiHPhsJiRURERLV2+ooO6+Oy8F1KLkorDQAAjYUZwnu5YUKgF7q1bRoLeTYUFisiIiL6U2WVdxfyzEZqTqE03tHZGhFBXnisd1vYNrGFPBsKixURERHV6OL1YmyIz8bXSZehK60EAFiYKfBwN1dMCPREP2/HJruQZ0NhsSIiIiJJpcGIfWfysT4uC8d+uymNuztoMD7QE6MDPNC6GSzk2VBYrIiIiAi5haXYfDwbmxNycK3ozkKeCgUwxNcZEUFeGNSpDcya0UKeDYXFioiIqIUyGgUOZ1zH+rhsHDyXLy3k2dpajbF9PTC2nwfcHVrJG7KJYbEiIiJqYW4Wl2Nb0mVsjM9G9q3b0niwjxMmBHlieFcXqMyb90KeDYXFioiIqAUQQiAxqwAb4rKw61QeKgxGAICNpTme6OOOCYFe6ODcchbybCgsVkRERM1YUVkldpy4gg3x2TiXVySN93C3Q0SgF0b4u0GjankLeTYUFisiIqJm6EyuHuvjs/DdiSsoqbizkKelhRIj/dtiQpAnerjbyxuwmWKxIiIiaibKKg3Ydeoq1sdlITm7UBpv38YKEUFeGNXbHXYaLuTZkFisiIiImoGv4rKweG86Cm//byHPUD8XTAj0QpAPF/JsLCxWRERETdz3qbmYveM0AKCt/f8W8mxjw4U8GxuLFRERURN2IrsA/9mWCgCIGuiNVx/pwoU8ZcRFKoiIiJqo3MJSPLsuCRVVRoR00bJUmQAWKyIioiaopLwKUWsTcaO4HJ1dbPDR2J4sVSaAxYqIiKiJMRoFpm5JwdmrerS2VuHzyABYq3l2jylgsSIiImpiFu5Jx74z+VCZK7HyqQD+np8JkbVYHT58GCNGjICbmxsUCgV27NhRbbsQAnPmzIGrqys0Gg1CQkKQkZFRbU5ycjKGDRsGe3t7ODk54bnnnkNxcXG1OQkJCRg6dCjs7e3h4OCA0NBQpKamVptz8uRJPPDAA7C0tISHhwcWLlx4T95t27ahc+fOsLS0RPfu3bFr1676eSGIiIhqaVtiDlb88hsAYOHjPdDHy0HmRPR7sharkpIS+Pv7Y9myZTVuX7hwIZYsWYIVK1YgPj4eVlZWCA0NRVlZGQAgNzcXISEh6NChA+Lj47F7926kpaVh4sSJ0j6Ki4vx0EMPwdPTE/Hx8Th69ChsbGwQGhqKyso7a33o9XoMHz4cXl5eSEpKwqJFizBv3jysWrVK2s+xY8cwbtw4REVF4cSJEwgPD0d4eDhOnz7dcC8QERHR7yRcuoVXt58CALw0pAPCe7WVORHdQ5gIAGL79u3SfaPRKFxcXMSiRYukscLCQqFWq8WmTZuEEEKsXLlSODs7C4PBIM05efKkACAyMjKEEEIkJCQIACI7O/sP5yxfvlw4ODiI8vJyac6MGTOEr6+vdH/06NEiLCysWubAwEDx/PPP1/o56nQ6AUDodLpaP4aIiEgIIbJulIheb+4VXjN2in+uTxQGg1HuSC1GXd6/TfYcq8zMTOTl5SEkJEQas7OzQ2BgIGJjYwEA5eXlUKlUUCr/9zQ0Gg0A4OjRowAAX19fODk54YsvvkBFRQVKS0vxxRdfoEuXLmjXrh0AIDY2FoMGDYJKpZL2ExoaivT0dBQUFEhzfp/l7py7WWpSXl4OvV5f7UZERFRXRWWViFqbgFslFeje1g6Ln+wJJa8ANEkmW6zy8vIAAFqtttq4VquVtg0ZMgR5eXlYtGgRKioqUFBQgJkzZwIArl69CgCwsbHBzz//jPXr10Oj0cDa2hq7d+/GTz/9BHNzc+lYNR3n9zn+aM7d7TWZP38+7OzspJuHh8d9vRZERNRyVRmMeGnTCWRcK4bWVo3Png6ARmUmdyz6AyZbrGrDz88Pa9euxeLFi9GqVSu4uLjA29sbWq1W+hSrtLQUUVFRGDBgAOLi4vDrr7+iW7duCAsLQ2lpaYPmmzVrFnQ6nXTLyclp0OMREVHz886us/g5/TosLZT4/Om+cLGzlDsS/QmTXfTCxcUFAJCfnw9XV1dpPD8/Hz179pTujx8/HuPHj0d+fj6srKygUCjwwQcfwMfHBwCwceNGXLp0CbGxsVLZ2rhxIxwcHPDdd99h7NixcHFxQX5+frXj371/N8cfzbm7vSZqtRpqNX+niYiI7s+G+Cys/vUSAOCD0T3R3d1O3kD0l0z2Eytvb2+4uLjgwIED0pher0d8fDyCg4Pvma/VamFtbY0tW7bA0tISw4YNAwDcvn0bSqWy2q96371vNBoBAMHBwTh8+LB0lSAA7Nu3D76+vnBwcJDm/D7L3Tk1ZSEiIvq7jl24gbnfpQEA/jO8Ex7p7voXjyBTIGuxKi4uRkpKClJSUgDcOWE9JSUF2dnZUCgUmDp1Kt5++218//33OHXqFJ5++mm4ubkhPDxc2sfSpUuRnJyM8+fPY9myZXjxxRcxf/582NvbAwCGDRuGgoICREdH4+zZs0hLS8MzzzwDc3NzDB48GMCdT71UKhWioqKQlpaGLVu24OOPP0ZMTIx0nClTpmD37t1YvHgxzp07h3nz5iExMREvvvhiY71cRETUQly8Xox/bkhGlVEgvKcbogd3kDsS1VYjXKX4hw4dOiQA3HOLjIwUQtxZcmH27NlCq9UKtVothg4dKtLT06vt46mnnhKOjo5CpVKJHj16iHXr1t1znL1794oBAwYIOzs74eDgIIYMGSJiY2OrzUlNTRUDBw4UarVatG3bVixYsOCe/WzdulV06tRJqFQq4efnJ3788cc6PV8ut0BERH+lsKRCDF50SHjN2CkeW3ZUlFZUyR2pxavL+7dCCCFk7HUtil6vh52dHXQ6HWxtbeWOQ0REJqbSYETkl8dx7LebaGuvwY7oAWhjw3N15VaX92+TPceKiIioJRFCYO73aTj2201YqczweWQAS1UTxGJFRERkAtYcu4SN8dlQKICPx/ZCF1d+s9EUsVgRERHJ7FD6Nby18wwA4NWHuyCkq/YvHkGmisWKiIhIRufzi/DSxhMwCmB0gDsmP+AtdyT6G1isiIiIZHKzuBxRaxNQXF6Fft6OeDu8e7V1F6npYbEiIiKSQXmVAS+sT0LOrVJ4OrbCiog+UJnzbbmp4/+DREREjUwIgde2n0bCpQLYWJrjy4kBcLRSyR2L6gGLFRERUSNbefgivk66DDOlAsvG90YHZxu5I1E9YbEiIiJqRHvT8vDe7nMAgDmPdsWgTm1kTkT1icWKiIiokaTl6jB1SwqEAJ4K8kJk/3ZyR6J6xmJFRETUCK4VleHZtYm4XWHAwA6tMWdEV7kjUQNgsSIiImpgZZUGPLcuCbm6Mvi0scKyCb1hYca34OaI/68SERE1ICEEpn99Eik5hbDTWODLyL6w01jIHYsaCIsVERFRA/rk4AV8n5oLc6UCKyL6oF1rK7kjUQNisSIiImogO0/m4oN95wEAb4d3Q3B7J5kTUUNjsSIiImoAqTmFeGVrKgBg8kBvjO3nKXMiagwsVkRERPXsqq4Uz65LRHmVEUM6O2PWI13kjkSNhMWKiIioHt2uqMLktYm4VlQOX60NPh7bE2ZK/rByS8FiRUREVE+MRoGYLalIy9XDyUqFzyMDYGPJKwBbEhYrIiKierJ4Xzp2p+VBZabEyqf6wMOxldyRqJGxWBEREdWDb5MvY9mh3wAACx7vjoB2jjInIjmwWBEREf1NSVm3MPObUwCAf/1fe4zq7S5zIpILixUREdHfkHPrNp5bl4QKgxEP+bngP8N95Y5EMmKxIiIiuk9FZZWYvDYRN0sq4Odmiw/G+EPJKwBbNBYrIiKi+2AwCkzZnIL0/CI426jxeWQAWqnM5Y5FMmOxIiIiug/zd53FwXPXoDZX4rOnA+Bqp5E7EpkAFisiIqI62nw8G58fzQQALB7tD38Pe3kDkclgsSIiIqqD2N9u4vUdpwEA/w7phEd7uMmciEwJixUREVEtXbpRgn9uSEKVUWCEvxteHtpB7khkYlisiIiIakFXWolJaxNQeLsSPT3sseiJHlAoeAUgVcdiRURE9BeqDEa8uDEZF6+XwM3OEque7gNLCzO5Y5EJYrEiIiL6C2/8cAZHMm6glcoMn0f2hbONpdyRyESxWBEREf2JdbGX8FVcFhQK4KMxPdHVzVbuSGTCWKyIiIj+wOHz1/HGD2cAADMe6ozhfi4yJyJTx2JFRERUgwvXihC9IRkGo8Djvd3x/CAfuSNREyBrsTp8+DBGjBgBNzc3KBQK7Nixo9p2IQTmzJkDV1dXaDQahISEICMjo9qc5ORkDBs2DPb29nBycsJzzz2H4uLie461Zs0a9OjRA5aWlnB2dkZ0dHS17SdPnsQDDzwAS0tLeHh4YOHChffsY9u2bejcuTMsLS3RvXt37Nq16++/CEREZHIKSiowaU0iisqr0K+dI94d1Y1XAFKtyFqsSkpK4O/vj2XLltW4feHChViyZAlWrFiB+Ph4WFlZITQ0FGVlZQCA3NxchISEoEOHDoiPj8fu3buRlpaGiRMnVtvPBx98gNdeew0zZ85EWloa9u/fj9DQUGm7Xq/H8OHD4eXlhaSkJCxatAjz5s3DqlWrpDnHjh3DuHHjEBUVhRMnTiA8PBzh4eE4ffp0/b8wREQkm4oqI55fn4TsW7fh4ajBpxG9oTbnFYBUS8JEABDbt2+X7huNRuHi4iIWLVokjRUWFgq1Wi02bdokhBBi5cqVwtnZWRgMBmnOyZMnBQCRkZEhhBDi1q1bQqPRiP379//hsZcvXy4cHBxEeXm5NDZjxgzh6+sr3R89erQICwur9rjAwEDx/PPP/+F+y8rKhE6nk245OTkCgNDpdH/xahARkRyMRqOYti1FeM3YKbrN2S3S8/RyRyIToNPpav3+bbLnWGVmZiIvLw8hISHSmJ2dHQIDAxEbGwsAKC8vh0qlglL5v6eh0dz5EcyjR48CAPbt2wej0YgrV66gS5cucHd3x+jRo5GTkyM9JjY2FoMGDYJKpZLGQkNDkZ6ejoKCAmnO77PcnXM3S03mz58POzs76ebh4XG/LwcRETWCz49kYmviZSgVwCfje6GT1kbuSNTEmGyxysvLAwBotdpq41qtVto2ZMgQ5OXlYdGiRaioqEBBQQFmzpwJALh69SoA4OLFizAajXj33Xfx0Ucf4euvv8atW7cwbNgwVFRUSMeq6Ti/z/FHc+5ur8msWbOg0+mk2+/LHBERmZb9Z/Lx7k9nAQCzH+2K//N1ljkRNUUmW6xqw8/PD2vXrsXixYvRqlUruLi4wNvbG1qtVvoUy2g0orKyEkuWLEFoaCiCgoKwadMmZGRk4NChQw2aT61Ww9bWttqNiIhMz9mrekzZfAJCAOMDPTGxfzu5I1ETZbLFysXlzloh+fn51cbz8/OlbQAwfvx45OXl4cqVK7h58ybmzZuH69evw8fnzmWxrq6uAICuXbtKj2nTpg1at26N7Oxs6Vg1Hef3Of5ozu+zEBFR03O9qByT1yaipMKA/u2d8MY//HgFIN03ky1W3t7ecHFxwYEDB6QxvV6P+Ph4BAcH3zNfq9XC2toaW7ZsgaWlJYYNGwYAGDBgAAAgPT1dmnvr1i3cuHEDXl5eAIDg4GAcPnwYlZWV0px9+/bB19cXDg4O0pzfZ7k7p6YsRETUNJRVGvD8V4m4UlgK79ZWWD6hNyzMTPatkZoAWf/tKS4uRkpKClJSUgDcOWE9JSUF2dnZUCgUmDp1Kt5++218//33OHXqFJ5++mm4ubkhPDxc2sfSpUuRnJyM8+fPY9myZXjxxRcxf/582NvbAwA6deqEkSNHYsqUKTh27BhOnz6NyMhIdO7cGYMHDwZw51MvlUqFqKgopKWlYcuWLfj4448RExMjHWfKlCnYvXs3Fi9ejHPnzmHevHlITEzEiy++2FgvFxER1SMhBGZ+cxLJ2YWw01jgi8gA2LdS/fUDif5Mw1+k+McOHTokANxzi4yMFELcuex19uzZQqvVCrVaLYYOHSrS09Or7eOpp54Sjo6OQqVSiR49eoh169bdcxydTicmTZok7O3thaOjo3jsscdEdnZ2tTmpqali4MCBQq1Wi7Zt24oFCxbcs5+tW7eKTp06CZVKJfz8/MSPP/5Yp+dbl8s1iYioYX1y4LzwmrFTtJ/1o/g147rccciE1eX9WyGEEDL2uhZFr9fDzs4OOp2OJ7ITEcnop1NX8c8NyQCAdx7rhgmBXjInIlNWl/dvfpFMREQtyqnLOvx7awoA4JkB7ViqqF6xWBERUYuRpyvD5HUJKKs04v982+C1R7rIHYmaGRYrIiJqEUorDHh2XSLy9eXo6GyNJeN6wZxXAFI9479RRETU7BmNAq9sS8GpKzo4WqnwRWRf2FpayB2LmiEWKyIiavY+3H8eu07lwcJMgRURfeDp1EruSNRMsVgREVGz9l3KFXxy8AIAYP6oHujn7ShzImrOWKyIiKjZSsoqwLSvTwIAXniwPZ7o4y5zImruWKyIiKhZulxwG89/lYiKKiOGddVieqiv3JGoBWCxIiKiZqe4vAqT1ybiRnEFurja4qMxPaFU8oeVqeGxWBERUbNiMApM3XwC5/KK0NpajS8iA2ClNpc7FrUQLFZERNSsLNx9DvvPXoPKXInPnu4DN3uN3JGoBWGxIiKiZmNrYg5WHr4IAHj/SX/08nSQORG1NCxWRETULMRfvInXtp8CALw8tCP+4e8mcyJqifilMxERNWnXi8qxNTEHqw5fRKVBIKyHK6YO7Sh3LGqhWKyIiKjJEUIgPvMW1sdlYU9aHioNAgDQ08Mei5/05xWAJBsWKyIiajJ0pZXYnnwZG+KzkXGtWBrv5WmPiEAvhPVwhaWFmYwJqaVjsSIiIpN36rIO6+Oy8H1qLkorDQCAViozjOzZFhFBnvBzs5M5IdEdLFZERGSSSisM+OFkLjbEZSH1sk4a99XaICLIE+G92sLG0kLGhET3YrEiIiKTcuFaMTbEZ+GbpMvQl1UBAFRmSjzc3QURQV4I8HKAQsFzqMg0sVgREZHsKg1G7E3Lx/q4LMRevCmNezhqMCHQC0/2cYeTtVrGhES1w2JFRESyuVJYik3x2diSmIPrReUAAKUCGNJZi4ggTwzq2IZX+FGTwmJFRESNymAUOJxxHRvisnDw3DUY76yUgDY2aozr64Ex/TzRlj9DQ00UixURETWKG8V3FvLcGJ+NywWl0nj/9k6ICPLCsK5aWJjxB0GoaWOxIiKiBiOEQMKlAqyPy8JPp69KC3naaSzwRB93jA/0RPs21jKnJKo/LFZERFTv9GWV2HHiCtbHZeF8/v8W8vT3sEdEoCdG+LtxIU9qllisiIio3py+osOG+Cx8l5KL2xV3FvLUWJghvJcbJgR6oVtbLuRJzRuLFRER/S1llQb8kJqLDfHZSMkplMY7OlsjIsgLj/VuC1su5EktBIsVERHdl4vXi7EhPhtfJ12GrrQSAGBhpsBD3VwREeiJft6OXMiTWhwWKyIiqrVKgxH7z+RjfXwWfr3wv4U83R00GB/oidEBHmjNhTypBWOxIiKiv5RbWIrNx7OxOSEH1/67kKdCAQzxdUZEkBcGdWoDMy7kScRiRURENTMaBY5cuIH1cVk4cDZfWsiztbUaY/t6YGw/D7g7tJI3JJGJYbEiIqJqbpVUSAt5Zt+6LY0H+TgiIsgLw7u6QGXOhTyJasJiRUREEEIgKevOQp67TuWhwmAEANhYmuPx3u6ICPJEB2cbmVMSmT4WKyKiFqzovwt5bojPxrm8Imm8h7sdIgK9MMLfDRoVF/Ikqi1ZP8s9fPgwRowYATc3NygUCuzYsaPadiEE5syZA1dXV2g0GoSEhCAjI6PanOTkZAwbNgz29vZwcnLCc889h+LiYtTk5s2bcHd3h0KhQGFhYbVtP//8M3r37g21Wo0OHTpgzZo19zx+2bJlaNeuHSwtLREYGIjjx4//nadPRCSbM7l6vLr9FILePYDZ36XhXF4RLC2UGBPgge9fHIDvXxyI0X09WKqI6kjWYlVSUgJ/f38sW7asxu0LFy7EkiVLsGLFCsTHx8PKygqhoaEoKysDAOTm5iIkJAQdOnRAfHw8du/ejbS0NEycOLHG/UVFRaFHjx73jGdmZiIsLAyDBw9GSkoKpk6dismTJ2PPnj3SnC1btiAmJgZz585FcnIy/P39ERoaimvXrv39F4KIqBGUVRrwbfJljFr+Kx5ZcgQb47NRUmFA+zZWmDuiK+JfDcF7T/RAD3d7uaMSNVkKIYSQOwQAKBQKbN++HeHh4QDufFrl5uaGV155Bf/5z38AADqdDlqtFmvWrMHYsWOxatUqzJ49G1evXoVSeacjnjp1Cj169EBGRgY6dOgg7f/TTz/Fli1bMGfOHAwdOhQFBQWwt7cHAMyYMQM//vgjTp8+Lc0fO3YsCgsLsXv3bgBAYGAg+vbti6VLlwIAjEYjPDw88NJLL2HmzJm1eo56vR52dnbQ6XSwtbX9W68XEVFtXbpRgg3xWdiWdBmFt+8s5GmuVCC0mwsiAr0Q5MOFPIn+TF3ev032HKvMzEzk5eUhJCREGrOzs0NgYCBiY2MxduxYlJeXQ6VSSaUKADQaDQDg6NGjUrE6c+YM3nzzTcTHx+PixYv3HCs2NrbacQAgNDQUU6dOBQBUVFQgKSkJs2bNkrYrlUqEhIQgNjb2D59DeXk5ysvLpft6vb4OrwAR0f2rMhix/+w1bIjPwpGMG9J4W/s7C3k+GeAOZxtLGRMSNU8mW6zy8vIAAFqtttq4VquVtg0ZMgQxMTFYtGgRpkyZgpKSEunTo6tXrwK4U27GjRuHRYsWwdPTs8ZilZeXV+Nx9Ho9SktLUVBQAIPBUOOcc+fO/eFzmD9/Pt544406PnMiovuXpyvDpuPZ2JyQjXz9/xby/L9ObRAR5IX/83XmQp5EDchki1Vt+Pn5Ye3atYiJicGsWbNgZmaGl19+GVqtVvoUa9asWejSpQsiIiIaPd+sWbMQExMj3dfr9fDw8Gj0HETU/F24VoxFe85h/9lrMPx3Jc/W1iqMDvDAuH6e8HDkQp5EjcFki5WLiwsAID8/H66urtJ4fn4+evbsKd0fP348xo8fj/z8fFhZWUGhUOCDDz6Aj48PAODgwYM4deoUvv76awB3zt0CgNatW+O1117DG2+8ARcXF+Tn51c7fn5+PmxtbaHRaGBmZgYzM7Ma59zNWRO1Wg21mr+ZRUQNK09Xhgmfx0mfUPXzvrOQ50N+XMiTqLGZbLHy9vaGi4sLDhw4IBUpvV6P+Ph4/POf/7xn/t2v6b788ktYWlpi2LBhAIBvvvkGpaWl0ryEhARMmjQJR44cQfv27QEAwcHB2LVrV7X97du3D8HBwQAAlUqFPn364MCBA9LJ9UajEQcOHMCLL75Yr8+biKguSisMeHZdIvL15ejobI1lE3qjk5YLeRLJRdZiVVxcjAsXLkj3MzMzkZKSAkdHR3h6emLq1Kl4++230bFjR3h7e2P27Nlwc3OTyg0ALF26FP3794e1tTX27duHadOmYcGCBdIVf3fL0103btw5ibNLly7SnBdeeAFLly7F9OnTMWnSJBw8eBBbt27Fjz/+KD0uJiYGkZGRCAgIQL9+/fDRRx+hpKQEzzzzTMO8OEREf8FoFIjZmoJTV3RwtFLhy4l9+ZUfkdyEjA4dOiQA3HOLjIwUQghhNBrF7NmzhVarFWq1WgwdOlSkp6dX28dTTz0lHB0dhUqlEj169BDr1q2r1TELCgruGe/Zs6dQqVTCx8dHrF69+p7HfvLJJ8LT01OoVCrRr18/ERcXV6fnq9PpBACh0+nq9Dgiopq8v+ec8JqxU3R8dZc4nnlT7jhEzVZd3r9NZh2rloDrWBFRfdlx4gqmbkkBALz/pD+e6OMubyCiZqwu7988q5GIqIlJyirA9G9OAgBeeLA9SxWRCWGxIiJqQi4X3MbzXyWiosqI4V21mB7qK3ckIvodFisioiaiuLwKk9cm4kZxBbq62uLDMT2h5GKfRCaFxYqIqAkwGAWmbDqBc3lFaGOjxueRAbBSm+yKOUQtFosVEVET8N7uczhw7hrU5kp89nQA3Ow1ckciohqwWBERmbgtCdlYdfjO75wuetIfPT3s5Q1ERH+IxYqIyITFXbyJ13ecBgBMGdoR//B3kzkREf2ZWn1Br9fr67xjrtNERPT3ZN0swQvrk1BpEHi0hyumhnSUOxIR/YVaFSt7e3soFLW/8kShUOD8+fPSDyETEVHd6MsqMWlNAgpvV8Lf3Q7vP+lfp7+HiUgetb6k5Ouvv4ajo+NfzhNC4JFHHvlboYiIWrIqgxHRG5Lx2/USuNpZ4rOnA2BpYSZ3LCKqhVoVKy8vLwwaNAhOTk612qmPjw8sLCz+VjAiopbqrZ1ncCTjBjQWZvjs6QA421rKHYmIaqlWxSozM7NOOz19+vR9hSEiaum+ir2EtbFZAIAPx/REt7Z2MiciorrgVYFERCbiSMZ1zPvhDABg+kO+eKibi8yJiKiual2sdu/ejbFjx9a47fLly+jXrx9+/fXXegtGRNSSXLhWjH9tSIbBKDCqd1v888H2ckciovtQ62L15ptvYvz48QCABQsWoKysTNrm7u6OF198ETNnzqz/hEREzVxBSQWi1iagqKwKAV4OmD+qO68AJGqial2sTpw4ge7duwMA3n33XeTm5uL999+XCtagQYOQmJjYMCmJiJqpiioj/rkhCVk3b8PdQYOVT/WB2pxXABI1VbUuVlqtFnl5edJ9IQTefPNN5ObmAgDOnDmD1q1b139CIqJmSgiBud+fRtzFW7BWm+OLyL5wslbLHYuI/oZaF6uHHnoIb775JiorKwHcWQRUCAGFQoHTp09jypQp0leFRET01744molNx3OgVACfjOsFXxcbuSMR0d9U62I1b948ZGZmwtvbG2VlZXjrrbdQXl6ORx55BD179kTfvn3x1ltvNWRWIqJm4+C5fLyz6ywA4LWwrhjc2VnmRERUH2pdrFxcXBAfH4/p06cDAM6ePQshBIYPH44jR45g48aNUKlUDRaUiKi5SM8rwksbT0AIYFw/D0wa0E7uSERUTxRCCFHXB/Xu3Rvbtm3Dk08+ia+//pq/CVhLer0ednZ20Ol0/JFqohbqRnE5Ri79FVcKSxHk44ivogJhYcYlBYlMWV3ev2v9W4G/l5ycXO1/iYjor5VVGvD8V0m4UliKdk6tsCKiD0sVUTNTqz/Ro0aNgl6vr/VOJ0yYgGvXrt13KCKi5kYIgVe/PYWkrALYWprji4l9Yd+Kp08QNTe1+sTqu+++w/Xr12u1QyEEfvjhB7z11ltwdubJmEREALD859/w7YkrMFMqsHxCH7RvYy13JCJqALUqVkIIdOrUqaGzEBE1S7tPX8WiPekAgHn/8MPAjlzzj6i5qlWxOnToUJ133LZt2zo/hoiouTl9RYd/b0kFAEzs3w5PBXnJnIiIGlKtitWDDz7Y0DmIiJqdfH0ZJq9NRGmlAYM6tcHrYV3kjkREDYyXoxARNYDSCgOeXZeIPH0ZOjhbY+n4XjDnFYBEzR7/lBMR1TOjUeA/X6fi5GUdHFpZ4IvIANhaWsgdi4gaAYsVEVE9++hABn48eRUWZgqsiOgDLycruSMRUSNhsSIiqkffpVzBkgMZAIB3HuuOQB8nmRMRUWOqc7EqLS3F7du3pftZWVn46KOPsHfv3noNRkTU1JzILsC0r08CAJ4f5IPRAR4yJyKixlbnYjVy5EisW7cOAFBYWIjAwEAsXrwYI0eOxKefflrvAYmImoLcwlI8uy4JFVVGhHTRYvpDneWOREQyqHOxSk5OxgMPPAAA+Prrr6HVapGVlYV169ZhyZIl9R6QiMjUlZRXIWptIm4Ul6Oziw0+HtsTZkqF3LGISAZ1Lla3b9+GjY0NAGDv3r0YNWoUlEolgoKCkJWVVe8BiYhMmdEoMHVLCs5e1aO1tQpfTOwLK/V9/b49ETUDdS5WHTp0wI4dO5CTk4M9e/Zg+PDhAIBr167B1ta2Tvs6fPgwRowYATc3NygUCuzYsaPadiEE5syZA1dXV2g0GoSEhCAjI6PanOTkZAwbNgz29vZwcnLCc889h+LiYml7amoqxo0bBw8PD2g0GnTp0gUff/zxPVl+/vln9O7dG2q1Gh06dMCaNWvumbNs2TK0a9cOlpaWCAwMxPHjx+v0fImo+Vm4Jx37zuRDZa7EqqcD0NZeI3ckIpJRnYvVnDlz8J///Aft2rVDYGAggoODAdz59KpXr1512ldJSQn8/f2xbNmyGrcvXLgQS5YswYoVKxAfHw8rKyuEhoairKwMAJCbm4uQkBB06NAB8fHx2L17N9LS0jBx4kRpH0lJSXB2dsb69euRlpaG1157DbNmzcLSpUulOZmZmQgLC8PgwYORkpKCqVOnYvLkydizZ480Z8uWLYiJicHcuXORnJwMf39/hIaG4tq1a3V6zkTUfGxLzMGKX34DACx6ogd6ezrInIiIZCfuw9WrV0VycrIwGAzSWHx8vDh79uz97E4IIQQAsX37dum+0WgULi4uYtGiRdJYYWGhUKvVYtOmTUIIIVauXCmcnZ2r5Th58qQAIDIyMv7wWP/617/E4MGDpfvTp08Xfn5+1eaMGTNGhIaGSvf79esnoqOjpfsGg0G4ubmJ+fPn1/o56nQ6AUDodLpaP4aITNPxzJuiw6s/Cq8ZO8X7e87JHYeIGlBd3r/vax0rFxcX9OrVC0rl/x7er18/dO5cf1fBZGZmIi8vDyEhIdKYnZ0dAgMDERsbCwAoLy+HSqWqlkOjufMx/NGjR/9w3zqdDo6OjtL92NjYascBgNDQUOk4FRUVSEpKqjZHqVQiJCREmlOT8vJy6PX6ajciavqyb97G818lodIg8Eh3F/w7pJPckYjIRNTqDMtRo0ZhzZo1sLW1xahRo/507rffflsvwfLy8gAAWq222rhWq5W2DRkyBDExMVi0aBGmTJmCkpISzJw5EwBw9erVGvd77NgxbNmyBT/++GO1Y9V0HL1ej9LSUhQUFMBgMNQ459y5c3/4HObPn4833nijls+YiJoCfVklotYm4FZJBbq3tcPiJ3tCySsAiei/avWJlZ2dHRQKhfTPf3ZrTH5+fli7di0WL16MVq1awcXFBd7e3tBqtdU+xbrr9OnTGDlyJObOnSuddN+QZs2aBZ1OJ91ycnIa/JhE1HCqDEa8tPEEMq4VQ2urxmdPB0CjMpM7FhGZkFp9YrV69eoa/7khubi4AADy8/Ph6uoqjefn56Nnz57S/fHjx2P8+PHIz8+HlZUVFAoFPvjgA/j4+FTb35kzZzB06FA899xzeP311+85Vn5+frWx/Px82NraQqPRwMzMDGZmZjXOuZuzJmq1Gmq1uk7Pm4hM1zu7zuKX89dhaaHE50/3hYudpdyRiMjE3Nc5VlVVVdi/fz9WrlyJoqIiAHeu0Pv9Mgd/l7e3N1xcXHDgwAFpTK/XIz4+XroS8fe0Wi2sra2xZcsWWFpaYtiwYdK2tLQ0DB48GJGRkXjnnXfueWxwcHC14wDAvn37pOOoVCr06dOn2hyj0YgDBw7UmIWImp8N8VlY/eslAMCHo3uiu3vjfkJPRE1DnVexy8rKwkMPPYTs7GyUl5dj2LBhsLGxwXvvvYfy8nKsWLGi1vsqLi7GhQsXpPuZmZlISUmBo6MjPD09MXXqVLz99tvo2LEjvL29MXv2bLi5uSE8PFx6zNKlS9G/f39YW1tj3759mDZtGhYsWAB7e3sAd77+GzJkCEJDQxETEyOdn2VmZoY2bdoAAF544QUsXboU06dPx6RJk3Dw4EFs3bq12nlYMTExiIyMREBAAPr164ePPvoIJSUleOaZZ+r6EhJRE3Pswg3M+S4NAPCf4Z3wcHfXv3gEEbVYdb3kcOTIkSIiIkKUl5cLa2tr8dtvvwkhhDh06JDo0KFDnfZ16NAhAeCeW2RkpBDizpILs2fPFlqtVqjVajF06FCRnp5ebR9PPfWUcHR0FCqVSvTo0UOsW7eu2va5c+fWeAwvL697svTs2VOoVCrh4+MjVq9efU/eTz75RHh6egqVSiX69esn4uLi6vR8udwCUdPz27Ui0X3ubuE1Y6eYsilZGI1GuSMRUSOry/u3Qggh6lLEnJyccOzYMfj6+sLGxgapqanw8fHBpUuX0LVrV9y+fbs+e1+zotfrYWdnB51OV+dV6omo8eluVyJ8+a/IvFGC3p722PhsECwteLI6UUtTl/fvOp9jZTQaYTAY7hm/fPmy9BuCRERNXaXBiH9uSELmjRK0tddg5VMBLFVE9JfqXKyGDx+Ojz76SLqvUChQXFyMuXPn4pFHHqnPbEREshBCYO73aTj2201YqczweWQA2tjwCl8i+mt1Pnn9/fffx0MPPYSuXbuirKwM48ePR0ZGBlq3bo1NmzY1REYioka15tglbIzPhkIBfDy2F7q48qt7IqqdOhcrDw8PpKamYsuWLUhNTUVxcTGioqIwYcIE6edkiIiaqkPp1/DWzjMAgFcf7oKQrtq/eAQR0f/UqVhVVlaic+fO2LlzJyZMmIAJEyY0VC4iokZ3Pr8IL208AaMARge4Y/ID3nJHIqImpk7nWFlYWKCsrKyhshARyeZmcTmi1iaguLwKgd6OeDu8u/RTXkREtVXnk9ejo6Px3nvvoaqqqiHyEBE1uvIqA15Yn4ScW6XwcmqFFRF9oDK/rx+mIKIWrs7nWCUkJODAgQPYu3cvunfvDisrq2rbv/3223oLR0TU0IQQeG37aSRcKoCNpTm+iAyAg5VK7lhE1ETVuVjZ29vj8ccfb4gsRESNbuXhi/g66TLMlAosG98bHZy5Hh8R3b86F6vVq1c3RA4ioka3Jy0P7+0+BwCYO6IrBnVqI3MiImrqan0SgdFoxHvvvYcBAwagb9++mDlzJkpLSxsyGxFRg0nL1eHfW1IgBPBUkBeeDm4ndyQiagZqXazeeecdvPrqq7C2tkbbtm3x8ccfIzo6uiGzERE1iGtFZXh2bSJuVxgwsENrzB3RVe5IRNRM1LpYrVu3DsuXL8eePXuwY8cO/PDDD9iwYQOMRmND5iMiqldllQY8uy4Juboy+LSxwrIJvWFuxisAiah+1Ppvk+zs7Gq/BRgSEgKFQoHc3NwGCUZEVN+EEJj29Umk5hTCvpUFvozsCzuNhdyxiKgZqXWxqqqqgqWlZbUxCwsLVFZW1nsoIqKGsOTABfyQmgtzpQKfTuiDdq2t/vpBRER1UOurAoUQmDhxItTq//3Ce1lZGV544YVqa1lxHSsiMkU7T+biw/3nAQBvh3dDcHsnmRMRUXNU62IVGRl5z1hERES9hiEiagipOYV4ZWsqAGDyQG+M7ecpcyIiaq5qXay4fhURNUVXdaV4dl0iyquMGNLZGbMe6SJ3JCJqxngpDBE1W7crqjB5bSKuFZXDV2uDj8f2hJmSP6xMRA2HxYqImiWjUSBmSyrScvVwslLh88gA2FjyCkAialgsVkTULL2/Nx270/KgMlNi5VN94OHYSu5IRNQCsFgRUbPzbfJlLP/5NwDAe090R0A7R5kTEVFLwWJFRM1K4qVbmPnNKQBA9OD2eKyXu8yJiKglYbEiomYj59ZtPP9VEioMRjzk54JXhvnKHYmIWhgWKyJqForKKjF5bSJullSgW1tbfDDGH0peAUhEjazW61gREZmqU5d1eHfXWaTnF8HZRo3Png5AKxX/eiOixse/eYioSSqtMOCHk7nYEJeF1Ms6AIDaXInPng6Aq51G5nRE1FKxWBFRk3LhWjE2xGfhm6TL0JdVAQBUZko83N0Fzz7gg25t7WROSEQtGYsVEZm8SoMRe9PysT4uC7EXb0rjHo4aTAj0wpN93OFkrf6TPRARNQ4WKyIyWVcKS7EpPhtbEnNwvagcAKBUAEM6axER5IlBHdvwBHUiMiksVkRkUoxGgV8yrmNDXBYOnrsGo7gz3sZGjbF9PTC2nyfa2vMcKiIyTSxWRGQSbhSXY1viZWw8noWcW6XSeP/2TogI8sKwrlpYmHGFGCIybSxWRCQbIQQSLhVgfVwWfjp9FZWGOx9P2Vqa44k+HpgQ5In2baxlTklEVHssVkTU6PRlldhx4grWx2XhfH6xNO7vYY8JgZ4Y0cMNGpWZjAmJiO4PixURNZrTV3TYEJ+F71JycbvCAADQWJhhZE83TAj0Qnd3LpVARE2brCcsHD58GCNGjICbmxsUCgV27NhRbbsQAnPmzIGrqys0Gg1CQkKQkZFRbU5ycjKGDRsGe3t7ODk54bnnnkNxcXG1OdnZ2QgLC0OrVq3g7OyMadOmoaqqqtqcn3/+Gb1794ZarUaHDh2wZs2ae/IuW7YM7dq1g6WlJQIDA3H8+PF6eR2ImrOySgO2JeYgfNmvePSTo9h0PAe3Kwzo6GyNeSO6Iu7VoVjweA+WKiJqFmQtViUlJfD398eyZctq3L5w4UIsWbIEK1asQHx8PKysrBAaGoqysjIAQG5uLkJCQtChQwfEx8dj9+7dSEtLw8SJE6V9GAwGhIWFoaKiAseOHcPatWuxZs0azJkzR5qTmZmJsLAwDB48GCkpKZg6dSomT56MPXv2SHO2bNmCmJgYzJ07F8nJyfD390doaCiuXbvWMC8OURN38Xox3tp5BoHvHsC0r08iJacQFmYKjPB3w5bngrD334MwcYA37DQWckclIqo/wkQAENu3b5fuG41G4eLiIhYtWiSNFRYWCrVaLTZt2iSEEGLlypXC2dlZGAwGac7JkycFAJGRkSGEEGLXrl1CqVSKvLw8ac6nn34qbG1tRXl5uRBCiOnTpws/P79qecaMGSNCQ0Ol+/369RPR0dHSfYPBINzc3MT8+fP/8DmVlZUJnU4n3XJycgQAodPp6vLSEDUZFVUGsetkrhj/WazwmrFTuvWff0AsPZghrunL5I5IRFRnOp2u1u/fJnvtcmZmJvLy8hASEiKN2dnZITAwELGxsQCA8vJyqFQqKJX/exoazZ31bY4ePQoAiI2NRffu3aHVaqU5oaGh0Ov1SEtLk+b8/jh359w9TkVFBZKSkqrNUSqVCAkJkebUZP78+bCzs5NuHh4e9/VaEJm63MJSfLA3HQMWHMQ/NyTj1ws3oVAAQzs7Y/XEvjg8fTCiB3dAGxuujk5EzZvJnryel5cHANUK0d37d7cNGTIEMTExWLRoEaZMmYKSkhLMnDkTAHD16lVpPzXt4/fH+KM5er0epaWlKCgogMFgqHHOuXPn/vA5zJo1CzExMdJ9vV7PckXNhtEocOTCDayPy8KBs/nSQp6trVUY09cD4/p5wt2hlbwhiYgamckWq9rw8/PD2rVrERMTg1mzZsHMzAwvv/wytFpttU+x5KJWq6FW87/QqXm5VVKBrYk52Bifjexbt6XxQG9HRAR5IdTPBSpz+f/8ERHJwWSLlYuLCwAgPz8frq6u0nh+fj569uwp3R8/fjzGjx+P/Px8WFlZQaFQ4IMPPoCPj4+0n///6r38/Pxqx3BxcZHGfj/H1tYWGo0GZmZmMDMzq3HO3X0QNWdCCCRl3VnIc9epPFQYjAAAG0tzPN7bHRFBnujgbCNzSiIi+Znsf1Z6e3vDxcUFBw4ckMb0ej3i4+MRHBx8z3ytVgtra2ts2bIFlpaWGDZsGAAgODgYp06dqnb13r59+2Bra4uuXbtKc35/nLtz7h5HpVKhT58+1eYYjUYcOHCgxixEzUVRWSW+ir2Ehz8+gidWxGJHSi4qDEZ0b2uH9x7vjvhXh2LeP/xYqoiI/kvWT6yKi4tx4cIF6X5mZiZSUlLg6OgIT09PTJ06FW+//TY6duwIb29vzJ49G25ubggPD5ces3TpUvTv3x/W1tbYt28fpk2bhgULFsDe3h4AMHz4cHTt2hVPPfUUFi5ciLy8PLz++uuIjo6WvqZ74YUXsHTpUkyfPh2TJk3CwYMHsXXrVvz444/ScWJiYhAZGYmAgAD069cPH330EUpKSvDMM880ymtF1JjO5OqxPj4L3524gpL/LuRpaaHEP/zvLOTp72Evb0AiIlPV8Bcp/rFDhw4JAPfcIiMjhRB3llyYPXu20Gq1Qq1Wi6FDh4r09PRq+3jqqaeEo6OjUKlUokePHmLdunX3HOfSpUvi4YcfFhqNRrRu3Vq88sororKy8p4sPXv2FCqVSvj4+IjVq1ffs59PPvlEeHp6CpVKJfr16yfi4uLq9HzrcrkmUWMrragS3yTliMeWHa22VMKQ9w+JL45cFIUlFXJHJCKSRV3evxVCCCFjr2tR9Ho97OzsoNPpYGtrK3ccIgDApRsl2BCfhW1Jl1F4uxIAYK5UINTPBROCPBHs4wSFQiFzSiIi+dTl/dtkT14nooZTZTBi/9lr2BCfhSMZN6TxtvYajOvngdF9PeBsYyljQiKiponFiqgFydOVYdPxbGxOyEa+vhwAoFAAD3Zqg4hALwzu7AwzJT+dIiK6XyxWRM2c0Sjw6293FvLcf/YaDP9dydPJSoUnAzwwIdATHo5cyJOIqD6wWBE1UwUlFdiWdGchz0s3/7eQZ792jpgQ5ImHurlAbW4mY0IiouaHxYqoGRFCIDm7EBvisrDz1FVUVN1ZyNNabY5RvdtiQqAXfF245hQRUUNhsSJqBioNRmxNzMH6uGycvaqXxv3cbBER5IV/+LvBSs0/7kREDY1/0xI1cUIIvLI1Fd+n5gIA1OZKPNrDDRFBnujpYc+lEoiIGhGLFVETt+TABXyfmgtzpQLTQn0xpq8H7Fup5I5FRNQisVgRNWE7T+biw/3nAQBvhXfDuH6eMiciImrZTPZHmInoz6XmFOKVrakAgKiB3ixVREQmgMWKqAm6qivFs+sSUV5lxGDfNnj1kS5yRyIiIrBYETU5tyuqMHltIq4VlcNXa4Ml43pxtXQiIhPBYkXUhBiNAjFbUpGWq4eTlQqfRwbAxtJC7lhERPRfLFZETcj7e9OxOy0PKjMlVj7Vhz9FQ0RkYlisiJqIb5MvY/nPvwEAFjzeHQHtHGVORERE/z8WK6ImIPHSLcz85hQA4F//1x6jervLnIiIiGrCYkVk4nJu3cbzXyWhwmBEqJ8W/xnuK3ckIiL6AyxWRCasqKwSk9cm4mZJBfzcbPHhmJ5Q8gpAIiKTxWJFZKIMRoEpm1OQnl+ENjZqfB4ZgFYq/lgCEZEpY7EiMlHzd53FwXPXoDZX4vOnA+Bqp5E7EhER/QUWKyITtPl4Nj4/mgkAWDzaH/4e9vIGIiKiWmGxIjIxx367gdd3nAYA/DukEx7t4SZzIiIiqi0WKyITknmjBP9cn4wqo8AIfze8PLSD3JGIiKgOWKyITITudiWi1iZAV1qJnh72WPREDygUvAKQiKgpYbEiMgGVBiOiNybj4vUSuNlZYtXTfWBpYSZ3LCIiqiMWKyIT8OYPZ3D0wg20Upnhs8gAONtYyh2JiIjuA4sVkczWHruEr+KyoFAAH43pCT83O7kjERHRfWKxIpLR4fPX8cYPaQCAGQ91xnA/F5kTERHR38FiRSSTC9eKEL0hGUYBPN7bHc8P8pE7EhER/U0sVkQyuFVSgUlrElFUXoW+7Rzw7qhuvAKQiKgZYLEiamQVVUa8sD4J2bduw8NRgxURfaA25xWARETNAYsVUSMSQuD1HadwPPMWbNTm+CKyL5ys1XLHIiKiesJiRdSIPjtyEVsTL0OpAJaM74VOWhu5IxERUT1isSJqJPvP5GP+T+cAAK+HdcVgX2eZExERUX2TtVgdPnwYI0aMgJubGxQKBXbs2FFtuxACc+bMgaurKzQaDUJCQpCRkVFtzvnz5zFy5Ei0bt0atra2GDhwIA4dOlRtTkJCAoYOHQp7e3s4ODggNDQUqamp1eacPHkSDzzwACwtLeHh4YGFCxfek3fbtm3o3LkzLC0t0b17d+zatat+Xghq9s5e1WPK5hMQAhgf6IlnBrSTOxIRETUAWYtVSUkJ/P39sWzZshq3L1y4EEuWLMGKFSsQHx8PKysrhIaGoqysTJrz6KOPoqqqCgcPHkRSUhL8/f3x6KOPIi8vDwBQXFyMhx56CJ6enoiPj8fRo0dhY2OD0NBQVFZWAgD0ej2GDx8OLy8vJCUlYdGiRZg3bx5WrVolHefYsWMYN24coqKicOLECYSHhyM8PBynT59uwFeImoPrReWYvDYRJRUG9G/vhDf+4ccrAImImithIgCI7du3S/eNRqNwcXERixYtksYKCwuFWq0WmzZtEkIIcf36dQFAHD58WJqj1+sFALFv3z4hhBAJCQkCgMjOzpbmnDx5UgAQGRkZQgghli9fLhwcHER5ebk0Z8aMGcLX11e6P3r0aBEWFlYtc2BgoHj++edr/Rx1Op0AIHQ6Xa0fQ01baUWVeGzZUeE1Y6f4v0WHREFJ+V8/iIiITEpd3r9N9hyrzMxM5OXlISQkRBqzs7NDYGAgYmNjAQBOTk7w9fXFunXrUFJSgqqqKqxcuRLOzs7o06cPAMDX1xdOTk744osvUFFRgdLSUnzxxRfo0qUL2rVrBwCIjY3FoEGDoFKppGOFhoYiPT0dBQUF0pzfZ7k7526WmpSXl0Ov11e7UcshhMCMb04iObsQdhoLfBEZAPtWqr9+IBERNVkmW6zufpWn1WqrjWu1WmmbQqHA/v37ceLECdjY2MDS0hIffPABdu/eDQcHBwCAjY0Nfv75Z6xfvx4ajQbW1tbYvXs3fvrpJ5ibm0vHquk4v8/xR3Pubq/J/PnzYWdnJ908PDzu9+WgJmjZoQv4LiUX5koFPp3QGz5trOWOREREDcxki1VtCCEQHR0NZ2dnHDlyBMePH0d4eDhGjBiBq1evAgBKS0sRFRWFAQMGIC4uDr/++iu6deuGsLAwlJaWNmi+WbNmQafTSbecnJwGPR6Zjl2nruL9vecBAG+M9EP/Dq1lTkRERI3BXO4Af8TF5c6P0ebn58PV1VUaz8/PR8+ePQEABw8exM6dO1FQUABbW1sAwPLly7Fv3z6sXbsWM2fOxMaNG3Hp0iXExsZCqbzTIzdu3AgHBwd89913GDt2LFxcXJCfn1/t+Hfv383xR3Pubq+JWq2GWs3FH1uak5cLEbM1BQDwzIB2mBDoJW8gIiJqNCb7iZW3tzdcXFxw4MABaUyv1yM+Ph7BwcEAgNu3bwOAVJjuUiqVMBqN0hylUlntKqy79+/OCQ4OxuHDh6WrBAFg37598PX1lb5SDA4Orpbl7py7WYgAIE9XhmfXJaKs0oj/822D1x7pInckIiJqRLIWq+LiYqSkpCAlJQXAnRPWU1JSkJ2dDYVCgalTp+Ltt9/G999/j1OnTuHpp5+Gm5sbwsPDAdwpOw4ODoiMjERqairOnz+PadOmITMzE2FhYQCAYcOGoaCgANHR0Th79izS0tLwzDPPwNzcHIMHDwYAjB8/HiqVClFRUUhLS8OWLVvw8ccfIyYmRso6ZcoU7N69G4sXL8a5c+cwb948JCYm4sUXX2zU14xMV2mFAc+uS0S+vhwdna2xZFwvmJuZ7H+7EBFRQ2jwaxT/xKFDhwSAe26RkZFCiDtLLsyePVtotVqhVqvF0KFDRXp6erV9JCQkiOHDhwtHR0dhY2MjgoKCxK5du6rN2bt3rxgwYICws7MTDg4OYsiQISI2NrbanNTUVDFw4EChVqtF27ZtxYIFC+7Ju3XrVtGpUyehUqmEn5+f+PHHH+v0fLncQvNlMBjFC18lCq8ZO0WvN/eK7JslckciIqJ6Upf3b4UQQsjY61oUvV4POzs76HQ66Zwwah4W703HJwcvwMJMgY3PBqFvO0e5IxERUT2py/s3v6cg+pt2nLiCTw5eAADMH9WDpYqIqAVjsSL6G5KyCjD9m5MAgBcebI8n+rjLnIiIiOTEYkV0ny4X3MbzXyWiosqIYV21mB7qK3ckIiKSGYsV0X0oLq/C5LWJuFFcgS6utvhoTE8olfxhZSKilo7FiqiODEaBKZtO4FxeEVpbq/FFZACs1Ca71i4RETUiFiuiOnpv9zkcOHcNKnMlPnu6D9zsNXJHIiIiE8FiRVQHWxKyserwRQDA+0/6o5eng8yJiIjIlLBYEdVS3MWbeH3HaQDAlKEd8Q9/N5kTERGRqWGxIqqFrJsleGF9EioNAmE9XDFlaEe5IxERkQlisSL6C7rSSkxak4DC25Xwd7fD4if9eQUgERHViMWK6E9UGYx4cWMyfrteAhdbS3z2dAAsLczkjkVERCaKxYroT7y18wyOZNyAxsIMn0cGwNnWUu5IRERkwlisiP7AV7GXsDY2CwDw4Zie6NbWTuZERERk6lisiGpwJOM65v1wBgAw/SFfPNTNReZERETUFLBYEf1/Llwrxr82JMNgFBjVuy3++WB7uSMREVETwWJF9DsFJRWIWpuAorIqBHg5YP6o7lAoeAUgERHVDosV0X9VVBnxzw1JyLp5G+4OGqx8qg/U5rwCkIiIao/FigiAEAJzvjuNuIu3YK02xxeRfeFkrZY7FhERNTEsVkQAvjiaic0JOVAqgE/G9YKvi43ckYiIqAlisaIW7+C5fLyz6ywA4NVHumBwZ2eZExERUVPFYkUtWnpeEV7aeAJCAOP6eSBqoLfckYiIqAljsaIW60ZxOSatSUBJhQFBPo54c2Q3XgFIRER/C4sVtUhllQY8/1USrhSWop1TK6yI6AMLM/5xICKiv4fvJNTiCCHw6renkJRVAFtLc3wxsS/sW6nkjkVERM0AixW1OMt//g3fnrgCM6UCyyf0Qfs21nJHIiKiZoLFilqU3aevYtGedADAvH/4YWDH1jInIiKi5oTFilqM01d0+PeWVADAxP7t8FSQl8yJiIiouWGxohYhX1+GyWsTUVppwKBObfB6WBe5IxERUTPEYkXNXmmFAc+uS0SevgwdnK2xdHwvmPMKQCIiagB8d6FmzWgU+M+2VJy8rINDKwt8ERkAW0sLuWMREVEzxWJFzdpHBzLw46mrsDBTYEVEH3g5WckdiYiImjEWK2q2vku5giUHMgAA7zzWHYE+TjInIiKi5o7FipqlE9kFmPb1SQDA84N8MDrAQ+ZERETUErBYUbNzpbAUz65LQkWVESFdtJj+UGe5IxERUQvBYkXNSkl5FSavTcSN4nJ0drHBx2N7wkzJH1YmIqLGIWuxOnz4MEaMGAE3NzcoFArs2LGj2nYhBObMmQNXV1doNBqEhIQgIyOj2pzz589j5MiRaN26NWxtbTFw4EAcOnTonmOtWbMGPXr0gKWlJZydnREdHV1t+8mTJ/HAAw/A0tISHh4eWLhw4T372LZtGzp37gxLS0t0794du3bt+vsvAtUbo1Fg6pYUnL2qR2trFb6Y2BdWanO5YxERUQsia7EqKSmBv78/li1bVuP2hQsXYsmSJVixYgXi4+NhZWWF0NBQlJWVSXMeffRRVFVV4eDBg0hKSoK/vz8effRR5OXlSXM++OADvPbaa5g5cybS0tKwf/9+hIaGStv1ej2GDx8OLy8vJCUlYdGiRZg3bx5WrVolzTl27BjGjRuHqKgonDhxAuHh4QgPD8fp06cb4JWh+/HennPYdyYfKnMlVj0dgLb2GrkjERFRSyNMBACxfft26b7RaBQuLi5i0aJF0lhhYaFQq9Vi06ZNQgghrl+/LgCIw4cPS3P0er0AIPbt2yeEEOLWrVtCo9GI/fv3/+Gxly9fLhwcHER5ebk0NmPGDOHr6yvdHz16tAgLC6v2uMDAQPH888/X+jnqdDoBQOh0ulo/hv5aRZVBfH7kovCasVN4zdgpdpy4LHckIiJqRury/m2y51hlZmYiLy8PISEh0pidnR0CAwMRGxsLAHBycoKvry/WrVuHkpISVFVVYeXKlXB2dkafPn0AAPv27YPRaMSVK1fQpUsXuLu7Y/To0cjJyZH2Gxsbi0GDBkGlUkljoaGhSE9PR0FBgTTn91nuzrmbpSbl5eXQ6/XVblR/rhSW4v096ei/4CDe2nkGAPDykA4Y2bOtzMmIiKilMtkTUO5+lafVaquNa7VaaZtCocD+/fsRHh4OGxsbKJVKODs7Y/fu3XBwcAAAXLx4EUajEe+++y4+/vhj2NnZ4fXXX8ewYcNw8uRJqFQq5OXlwdvb+57j3M3h4OCAvLy8P81Sk/nz5+ONN974ey8EVWM0CvyScR0b4rJw8Nw1GMWd8dbWajwzoB3++WB7eQMSEVGLZrLFqjaEEIiOjoazszOOHDkCjUaDzz//HCNGjEBCQgJcXV1hNBpRWVmJJUuWYPjw4QCATZs2wcXFBYcOHap2rlV9mzVrFmJiYqT7er0eHh5cT+l+3Cwux9bEy9h4PAs5t0ql8WAfJ0QEeWG4nxYW/P0/IiKSmckWKxcXFwBAfn4+XF1dpfH8/Hz07NkTAHDw4EHs3LkTBQUFsLW1BQAsX74c+/btw9q1azFz5kzpsV27dpX20aZNG7Ru3RrZ2dnSsfLz86sd/+79uzn+aM7d7TVRq9VQq9V1fu50hxACCZcKsD4uC7tP56HCYAQA2Fqa4/E+7pgQ6IUOztYypyQiIvofk/1PfG9vb7i4uODAgQPSmF6vR3x8PIKDgwEAt2/fBgAoldWfhlKphNF45014wIABAID09HRp+61bt3Djxg14eXkBAIKDg3H48GFUVlZKc/bt2wdfX1/pK8Xg4OBqWe7OuZuF6o++rBLrYi8h9KPDGL0yFt+n5qLCYIS/ux0WPtED8a+GYO4IP5YqIiIyObJ+YlVcXIwLFy5I9zMzM5GSkgJHR0d4enpi6tSpePvtt9GxY0d4e3tj9uzZcHNzQ3h4OIA7ZcfBwQGRkZGYM2cONBoNPvvsM2RmZiIsLAwA0KlTJ4wcORJTpkzBqlWrYGtri1mzZqFz584YPHgwAGD8+PF44403EBUVhRkzZuD06dP4+OOP8eGHH0rZpkyZggcffBCLFy9GWFgYNm/ejMTExGpLMtDfc/qKDhvis/BdSi5uVxgAAJYWSoz0b4uIIC90d7eTOSEREdFfaPBrFP/EoUOHBIB7bpGRkUKIO0suzJ49W2i1WqFWq8XQoUNFenp6tX0kJCSI4cOHC0dHR2FjYyOCgoLErl27qs3R6XRi0qRJwt7eXjg6OorHHntMZGdnV5uTmpoqBg4cKNRqtWjbtq1YsGDBPXm3bt0qOnXqJFQqlfDz8xM//vhjnZ4vl1u4V2lFldiWmCNGLj0qLZfgNWOnGLr4Z7H66EVReLtC7ohERNTC1eX9WyGEEDL2uhZFr9fDzs4OOp1OOiespbp4vRgb4rPxddJl6ErvfAVrYaZAqJ8LIoK8EOjtCIWCP0VDRETyq8v7t8mevE7NT6XBiP1n8rE+Pgu/Xrgpjbe112B8oCdGB3igjQ1P9icioqaLxYoa3FVdKTbFZ2NzQg6uFZUDABQKYLCvMyKCPPFgJ2f+UDIRETULLFbUIIxGgSMXbmB9XBYOnM3/3UKeKozp64GxfT3h4dhK3pBERET1jMWK6tWtkgpsS8zBxuPZyLp5WxoP9HZERJAXQv1coDI32VU+iIiI/hYWK/rbhBBIyrqzkOeuU/9byNNGfXchT0901NrInJKIiKjhsVjRfSsqq8SOlFxsiMvCubwiabx7WztEBHlihL8bWqn4rxgREbUcfNejOjuTq8f6+Cx8d+IKSn63kOeIHm6ICPKCv4e9vAGJiIhkwmJFtVJWacCuU1exPi4LydmF0rhPGytEBHrh8d7usGtlIV9AIiIiE8BiRX/q0o0SbDyejW2JOSi4fWchT3PlnYU8JwR5ItjHiQt5EhER/ReLFd2jymDE/rPXsCE+C0cybkjjbnaWGNfPE2P6esDZ1lLGhERERKaJxYokeboybE7IxubjOcjTlwG4s5Dng53aICLQC4M7cyFPIiKiP8Ni1cIZjQK//nZnIc/9Z6/B8N+VPJ2sVHgywAMTArmQJxERUW2xWLVQBSUV+DrpMjbEZ+HS7xby7NfOEROCPPFQNxeozc1kTEhERNT0sFi1IEIIJGcXYkNcFnaeuoqKqjsLeVqrzTGqd1tMCPSCrwsX8iQiIrpfLFYtQEl5FXakXMH6uGycvaqXxv3cbBER5IV/+LvBSs1/FYiIiP4uvps2Y+fy9Fgfl4UdJ3JRXF4FAFCbK/FoDzdEBHmip4c9l0ogIiKqRyxWzUx5lQE/ncrD+rgsJGYVSOM+ra0wPtATT/Rxh30rlYwJiYiImi8Wq2Yi6+bdhTwv41ZJBQDATKnA8K5aRAR5oX97LuRJRETU0FismoEvj2bizZ1npPsutncW8hzbzwNaLuRJRETUaFismoF+3o4AgEGd2iAi0BNDOjvD3EwpcyoiIqKWh8WqGejW1g7HZg6Bm71G7ihEREQtGj/WaCZYqoiIiOTHYkVERERUT1isiIiIiOoJixURERFRPWGxIiIiIqonLFZERERE9YTFioiIiKiesFgRERER1RMWKyIiIqJ6wmJFREREVE9YrIiIiIjqCYsVERERUT1hsSIiIiKqJyxWRERERPXEXO4ALYkQAgCg1+tlTkJERES1dfd9++77+J9hsWpERUVFAAAPDw+ZkxAREVFdFRUVwc7O7k/nKERt6hfVC6PRiNzcXNjY2EChUNTrvvV6PTw8PJCTkwNbW9t63XdT0NKfP8DXgM+/ZT9/gK9BS3/+QMO9BkIIFBUVwc3NDUrln59FxU+sGpFSqYS7u3uDHsPW1rbF/oEC+PwBvgZ8/i37+QN8DVr68wca5jX4q0+q7uLJ60RERET1hMWKiIiIqJ6wWDUTarUac+fOhVqtljuKLFr68wf4GvD5t+znD/A1aOnPHzCN14AnrxMRERHVE35iRURERFRPWKyIiIiI6gmLFREREVE9YbEiIiIiqicsVk3Y/Pnz0bdvX9jY2MDZ2Rnh4eFIT0+XO1aj+vTTT9GjRw9pMbjg4GD89NNPcseSzYIFC6BQKDB16lS5ozSaefPmQaFQVLt17txZ7liN6sqVK4iIiICTkxM0Gg26d++OxMREuWM1mnbt2t3z74BCoUB0dLTc0RqFwWDA7Nmz4e3tDY1Gg/bt2+Ott96q1e/aNRdFRUWYOnUqvLy8oNFo0L9/fyQkJMiShSuvN2G//PILoqOj0bdvX1RVVeHVV1/F8OHDcebMGVhZWckdr1G4u7tjwYIF6NixI4QQWLt2LUaOHIkTJ07Az89P7niNKiEhAStXrkSPHj3kjtLo/Pz8sH//fum+uXnL+autoKAAAwYMwODBg/HTTz+hTZs2yMjIgIODg9zRGk1CQgIMBoN0//Tp0xg2bBiefPJJGVM1nvfeew+ffvop1q5dCz8/PyQmJuKZZ56BnZ0dXn75ZbnjNYrJkyfj9OnT+Oqrr+Dm5ob169cjJCQEZ86cQdu2bRs3jKBm49q1awKA+OWXX+SOIisHBwfx+eefyx2jURUVFYmOHTuKffv2iQcffFBMmTJF7kiNZu7cucLf31/uGLKZMWOGGDhwoNwxTMqUKVNE+/bthdFolDtKowgLCxOTJk2qNjZq1CgxYcIEmRI1rtu3bwszMzOxc+fOauO9e/cWr732WqPn4VeBzYhOpwMAODo6ypxEHgaDAZs3b0ZJSQmCg4PljtOooqOjERYWhpCQELmjyCIjIwNubm7w8fHBhAkTkJ2dLXekRvP9998jICAATz75JJydndGrVy989tlncseSTUVFBdavX49JkybV+4/dm6r+/fvjwIEDOH/+PAAgNTUVR48excMPPyxzssZRVVUFg8EAS0vLauMajQZHjx5t9Dwt5/PyZs5oNGLq1KkYMGAAunXrJnecRnXq1CkEBwejrKwM1tbW2L59O7p27Sp3rEazefNmJCcny3Y+gdwCAwOxZs0a+Pr64urVq3jjjTfwwAMP4PTp07CxsZE7XoO7ePEiPv30U8TExODVV19FQkICXn75ZahUKkRGRsodr9Ht2LEDhYWFmDhxotxRGs3MmTOh1+vRuXNnmJmZwWAw4J133sGECRPkjtYobGxsEBwcjLfeegtdunSBVqvFpk2bEBsbiw4dOjR+oEb/jIwaxAsvvCC8vLxETk6O3FEaXXl5ucjIyBCJiYli5syZonXr1iItLU3uWI0iOztbODs7i9TUVGmspX0V+P8rKCgQtra2LebrYAsLCxEcHFxt7KWXXhJBQUEyJZLX8OHDxaOPPip3jEa1adMm4e7uLjZt2iROnjwp1q1bJxwdHcWaNWvkjtZoLly4IAYNGiQACDMzM9G3b18xYcIE0blz50bPwmLVDERHRwt3d3dx8eJFuaOYhKFDh4rnnntO7hiNYvv27dJfJHdvAIRCoRBmZmaiqqpK7oiyCAgIEDNnzpQ7RqPw9PQUUVFR1caWL18u3NzcZEokn0uXLgmlUil27Nghd5RG5e7uLpYuXVpt7K233hK+vr4yJZJPcXGxyM3NFUIIMXr0aPHII480egaeY9WECSHw4osvYvv27Th48CC8vb3ljmQSjEYjysvL5Y7RKIYOHYpTp04hJSVFugUEBGDChAlISUmBmZmZ3BEbXXFxMX777Te4urrKHaVRDBgw4J5lVs6fPw8vLy+ZEsln9erVcHZ2RlhYmNxRGtXt27ehVFZ/OzczM4PRaJQpkXysrKzg6uqKgoIC7NmzByNHjmz0DDzHqgmLjo7Gxo0b8d1338HGxgZ5eXkAADs7O2g0GpnTNY5Zs2bh4YcfhqenJ4qKirBx40b8/PPP2LNnj9zRGoWNjc0959RZWVnBycmpxZxr95///AcjRoyAl5cXcnNzMXfuXJiZmWHcuHFyR2sU//73v9G/f3+8++67GD16NI4fP45Vq1Zh1apVckdrVEajEatXr0ZkZGSLWm4DAEaMGIF33nkHnp6e8PPzw4kTJ/DBBx9g0qRJckdrNHv27IEQAr6+vrhw4QKmTZuGzp0745lnnmn8MI3+GRnVGwA13lavXi13tEYzadIk4eXlJVQqlWjTpo0YOnSo2Lt3r9yxZNXSzrEaM2aMcHV1FSqVSrRt21aMGTNGXLhwQe5YjeqHH34Q3bp1E2q1WnTu3FmsWrVK7kiNbs+ePQKASE9PlztKo9Pr9WLKlCnC09NTWFpaCh8fH/Haa6+J8vJyuaM1mi1btggfHx+hUqmEi4uLiI6OFoWFhbJkUQjRgpZmJSIiImpAPMeKiIiIqJ6wWBERERHVExYrIiIionrCYkVERERUT1isiIiIiOoJixURERFRPWGxIiIiIqonLFZERERE9YTFioioEa1atQoeHh5QKpX46KOP/nCMiJomrrxORM3GiBEjUFlZid27d9+z7ciRIxg0aBBSU1PRo0cPGdIBer0erVu3xgcffIDHH38cdnZ2qKqqumesVatWsuQjor+Pn1gRUbMRFRWFffv24fLly/dsW716NQICAupcqioqKuorHrKzs1FZWYmwsDC4urqiVatWNY7dj8rKynrLSUT3j8WKiJqNRx99FG3atMGaNWuqjRcXF2Pbtm2IiorCN998Az8/P6jVarRr1w6LFy+uNrddu3Z466238PTTT8PW1hbPPfccLl26BIVCgc2bN6N///6wtLREt27d8Msvv0iPW7NmDezt7avta8eOHVAoFNL27t27AwB8fHygUChqHLt06RIA4LvvvkPv3r1haWkJHx8fvPHGG6iqqpL2rVAo8Omnn+If//gHrKys8M4779THS0hEf5csP/1MRNRApk2bJtq3by+MRqM09uWXXwqNRiN+/vlnoVQqxZtvvinS09PF6tWrhUajEatXr5bmenl5CVtbW/H++++LCxcuiAsXLojMzEwBQLi7u4uvv/5anDlzRkyePFnY2NiIGzduCCGEWL16tbCzs6uWZfv27eLuX7O3b98W+/fvFwDE8ePHxdWrV0VxcfE9Y1VVVeLw4cPC1tZWrFmzRvz2229i7969ol27dmLevHnSvgEIZ2dn8eWXX4rffvtNZGVlNdyLSkS1xmJFRM3K2bNnBQBx6NAhaeyBBx4QERERYvz48WLYsGHV5k+bNk107dpVuu/l5SXCw8OrzblbrBYsWCCNVVZWCnd3d/Hee+8JIf66WAkhxIkTJwQAkZmZ+adjQ4cOFe+++261fX311VfC1dVVug9ATJ069c9fDCJqdPwqkIialc6dO6N///748ssvAQAXLlzAkSNHEBUVhbNnz2LAgAHV5g8YMAAZGRkwGAzSWEBAQI37Dg4Olv7Z3NwcAQEBOHv2bL0/h9TUVLz55puwtraWbs8++yyuXr2K27dv/2VOIpKPudwBiIjqW1RUFF566SUsW7YMq1evRvv27fHggw/W+vFWVlZ1PqZSqYT4/y6yvt8TyouLi/HGG29g1KhR92yztLSU/vl+chJRw+InVkTU7IwePRpKpRIbN27EunXrMGnSJCgUCnTp0gW//vprtbm//vorOnXqBDMzs7/cb1xcnPTPVVVVSEpKQpcuXQAAbdq0QVFREUpKSqQ5KSkp95W/d+/eSE9PR4cOHe65KZX8a5vIlPETKyJqdqytrTFmzBjMmjULer0eEydOBAC88sor6Nu3L9566y2MGTMGsbGxWLp0KZYvX16r/S5btgwdO3ZEly5d8OGHH6KgoACTJk0CAAQGBqJVq1Z49dVX8fLLLyM+Pv6eqxNra86cOXj00Ufh6emJJ554AkqlEqmpqTh9+jTefvvt+9onETUO/qcPETVLUVFRKCgoQGhoKNzc3ADc+SRo69at2Lx5M7p164Y5c+bgzTfflIrXX1mwYAEWLFgAf39/HD16FN9//z1at24NAHB0dMT69euxa9cudO/eHZs2bcK8efPuK3toaCh27tyJvXv3om/fvggKCsKHH34ILy+v+9ofETUerrxORPQXLl26BG9vb5w4cQI9e/aUOw4RmTB+YkVERERUT1isiIiIiOoJvwokIiIiqif8xIqIiIionrBYEREREdUTFisiIiKiesJiRURERFRPWKyIiIiI6gmLFREREVE9YbEiIiIiqicsVkRERET15P8BUFwjH9qc4/gAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.get_sum_of_costs(hw)\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":1,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2,\n",
" \"Neuenhauser-Putzmaschine\":0,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":0,\n",
" \"Cason-Putzmaschine\":0,\n",
" \"Cason-Putzmaschine_Vorpuffer\":0,\n",
" \"Cason-Putzmaschine_Nachpuffer\":0,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":0,\n",
" \"Turm_Anzahl_Wendlungen\":0,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 2\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"print(\"Vorpuffer sollte > 1 sein\")\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Vorpuffer\")\n",
"plt.show()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Flyer Electrojet incl intergrierte Putzmaschine Nachpuffer"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{2: 108937.01666666666, 3: 109052.57666666666, 4: 109389.19666666666, 5: 109504.75666666667, 6: 109841.37666666666, 7: 109956.93666666666, 8: 110337.11666666667, 9: 110409.11666666667}\n",
"Vorpuffer sollte > 1 sein\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.get_sum_of_costs(hw)\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":1,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":4,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2,\n",
" \"Neuenhauser-Putzmaschine\":0,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":0,\n",
" \"Cason-Putzmaschine\":0,\n",
" \"Cason-Putzmaschine_Vorpuffer\":0,\n",
" \"Cason-Putzmaschine_Nachpuffer\":0,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":0,\n",
" \"Turm_Anzahl_Wendlungen\":0,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 2\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"print(\"Vorpuffer sollte > 1 sein\")\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Nachpuffer\")\n",
"plt.show()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Neuenhauser-Putzmaschine Vorpuffer"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{2: 111554.98, 3: 111670.54, 4: 111945.72, 5: 112017.72, 6: 112292.9, 7: 112408.46, 8: 112640.08, 9: 112755.64}\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.summary_costs(hw).get(\"GESAMT\")\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine\":1,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":2,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":2,\n",
" \"Cason-Putzmaschine\":0,\n",
" \"Cason-Putzmaschine_Vorpuffer\":0,\n",
" \"Cason-Putzmaschine_Nachpuffer\":0,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":0,\n",
" \"Turm_Anzahl_Wendlungen\":0,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 2\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Neuenhauser-Putzmaschine_Vorpuffer\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Vorpuffer\")\n",
"plt.show()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Neuenhauser-Putzmaschine Nachpuffer"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{2: 111554.97666666665, 3: 111734.09666666666, 4: 111985.71666666667, 5: 112164.83666666667, 6: 112416.45666666667, 7: 112552.01666666666, 8: 112847.19666666666, 9: 112982.75666666667}\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAGwCAYAAABrUCsdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABevElEQVR4nO3deXwU9eH/8dfm2E2AJNyEIwkEkEsOOYIRRFFMwEjBWzkMh6W0iFJUDrWGShVR2opC8cIEpFpAgVpQEAKISpQzQLiPQIAYICbs5oBcO78/+LHfpoAmsMnkeD8fj33gznxm5j0ryb6ZnZ2xGIZhICIiIiI3zMPsACIiIiJVhYqViIiIiJuoWImIiIi4iYqViIiIiJuoWImIiIi4iYqViIiIiJuoWImIiIi4iZfZAaoTp9NJamoqfn5+WCwWs+OIiIhICRiGQVZWFk2aNMHD45ePSalYlaPU1FSCgoLMjiEiIiLX4eTJkzRr1uwXx6hYlSM/Pz/g0v8Yf39/k9OIiIhISTgcDoKCglzv479ExaocXf74z9/fX8VKRESkkinJaTw6eV1ERETETVSsRERERNxExUpERETETVSsRERERNxExUpERETETVSsRERERNzE1GK1adMmBg4cSJMmTbBYLKxYsaLY/GXLlhEREUG9evWwWCwkJiZesY7f/e53tGzZEl9fXxo0aMCgQYM4cOBAsTEpKSlERUVRo0YNGjZsyPPPP09hYWGxMRs3bqRr167YbDZatWpFXFzcFduaO3cuzZs3x8fHh549e7Jly5YbfQlERESkCjG1WOXk5NC5c2fmzp17zfm9e/dm5syZ11xHt27diI2NZf/+/axZswbDMIiIiKCoqAiAoqIioqKiyM/PZ/PmzSxYsIC4uDhefvll1zqSk5OJioqib9++JCYmMmHCBJ588knWrFnjGrN48WImTpxITEwMO3bsoHPnzkRGRnL27Fk3vRoiIiJS6RkVBGAsX778qvOSk5MNwNi5c+evrmfXrl0GYBw5csQwDMP48ssvDQ8PDyMtLc01Zt68eYa/v7+Rl5dnGIZhTJo0yejQoUOx9Tz66KNGZGSk63lYWJgxbtw41/OioiKjSZMmxowZM0q6i4bdbjcAw263l3gZERERMVdp3r+r1DlWOTk5xMbG0qJFC9c9+RISEujYsSONGjVyjYuMjMThcLB3717XmH79+hVbV2RkJAkJCQDk5+ezffv2YmM8PDzo16+fa8zV5OXl4XA4ij1ERESk6qoSxeof//gHtWrVolatWnz11VesXbsWq9UKQFpaWrFSBbiep6Wl/eIYh8PBhQsXSE9Pp6io6KpjLq/jambMmEFAQIDroRswi4iIVG1VolgNHTqUnTt38s0333DTTTfxyCOPcPHiRbNjMXXqVOx2u+tx8uRJsyOJiIhIGaoSN2G+fESodevW3HrrrdSpU4fly5fz+OOPExgYeMW3986cOQNAYGCg68/L0/57jL+/P76+vnh6euLp6XnVMZfXcTU2mw2bzeaOXRQREZFfkZyegwVoXr+maRmqxBGr/2YYBoZhkJeXB0B4eDh79uwp9u29tWvX4u/vT/v27V1j4uPji61n7dq1hIeHA2C1WunWrVuxMU6nk/j4eNcYERERMcfRc9lMXJzI3X/dyGtf7jc1i6lHrLKzszly5IjreXJyMomJidStW5fg4GAyMjJISUkhNTUVgIMHDwKXjjAFBgZy7NgxFi9eTEREBA0aNODUqVO8/vrr+Pr6cu+99wIQERFB+/btGT58OG+88QZpaWm89NJLjBs3znU0aezYscyZM4dJkyYxatQo1q9fz5IlS1i1apUr28SJE4mOjqZ79+6EhYXx1ltvkZOTw8iRI8vr5RIREZH/cuRsFu+sP8J/dqXiNC5NK3Ia5Bc6sXqZdOyozL+j+As2bNhgAFc8oqOjDcMwjNjY2KvOj4mJMQzDME6fPm0MGDDAaNiwoeHt7W00a9bMGDJkiHHgwIFi2zl+/LgxYMAAw9fX16hfv77x7LPPGgUFBVdk6dKli2G1Wo3Q0FAjNjb2irzvvPOOERwcbFitViMsLMz44YcfSrW/utyCiIjIjTuU5jCe+mSH0XzKSiNk8qXH6Lgtxq6TmWWyvdK8f1sMwzDMqXTVj8PhICAgALvdjr+/v9lxREREKpWDaVm8HX+YL5N+4nJ7uad9I565uzU3Nw0os+2W5v27Spy8LiIiIlXX/p8cvB1/mK+S/u8SR/07BDL+7lZ0aFJ2hep6qFiJiIhIhbQ31c7b8YdZs/f/vpV/b8dAxt/VmnaNK+YnPypWIiIiUqHsOWVndvxh1u2/VKgsFojq2Jjxd7WmTaCfyel+mYqViIiIVAi7Tp7n7fjDxB+4dIkkiwUGdmrC+Lta0bpRxS5Ul6lYiYiIiKl2pmQyO/4wGw+eA8DDAoO6NGVc31a0aljL5HSlo2IlIiIipth+4lKh2nToUqHy9LAwqEsTnurbitAGlatQXaZiJSIiIuVq6/EMZq87zHdH0oFLheqBWy4doTLzdjTuoGIlIiIi5eLHYz8zO/4wm4/+DICXh4UHuzZjXN9WBNerYXI691CxEhERkTJjGAYJx35m9rrD/JicAYC3p4WHugXxhztbElS3ahSqy1SsRERExO0Mw2Dz0UuFasvx/ytUj3QP4vd3tqRZnapVqC5TsRIRERG3MQyDbw+n83b8YbadyATA6unBY2FBjL2jJU1q+5qcsGypWImIiMgNMwyDbw6dY3b8YXamnAfA6uXBkLBgxt7RksAAH3MDlhMVKxEREbluhmGw8eClQpV48jwANi8PhvYM4Xd3hNLIv3oUqstUrERERKTUDMMgfv9Z3l5/mN2n7AD4eHswrGcIY+4IpaFf9SpUl6lYiYiISIkZhsHafWd4e/1hkk47APD19mR4eAi/vT2UBn42kxOaS8VKREREfpXTafD1vjRmxx9h/0+XClUNqydPhDfnt7e3oF6t6l2oLlOxEhERkWtyOg1W703j7fjDHEjLAqCm1ZPo25rz5O2h1K1pNTlhxaJiJSIiIlcochp8uecn3ll/mENnsgHws3kxoldzRvduQe0aKlRXo2IlIiIiLkVOg5W7U3ln/RGOnP3/hcrHi5G9WjC6VwsCanibnLBiU7ESERERCoucrNx96QjV0XM5APj7eDG6dygjejUnwFeFqiRUrERERKqxwiIn/05MZc6GIySnXypUAb7ePNm7BdG9muPvo0JVGipWIiIi1VBBkZMVO08zd8MRjv+cC0DtGt789vZQnggPwU+F6rqoWImIiFQjBUVOlu04xdwNR0nJuFSo6ta08tvbQxkeHkItm6rBjdCrJyIiUg3kFzr5fMcp5m44wqnMCwDUq2llTJ9Qht0aQk0VKrfQqygiIlKF5RUW8dn2U/xjw1FOn79UqOrXsjH2jlCG9AymhlVVwJ30aoqIiFRBeYVFLNl6knkbj5JqvwhAAz8bY+9oyZCwYHytniYnrJpUrERERKqQiwVFLP7/hSrNcalQNfK38fs7WvJYWDA+3ipUZUnFSkREpAq4WFDEJz+m8O43RzmblQdA4wAffn9nSx7pHqRCVU5UrERERCq5C/lFPPHRj2w9nglAkwAf/tC3FQ93b4bNS4WqPKlYiYiIVGL5hU5+/8/tbD2eib+PF1MGtOOhbs2wenmYHa1aUrESERGppIqcBs8u3cXGg+fw9fYkdmQPuoXUNTtWtaY6KyIiUgkZhkHMF0n8Z1cq3p4W3h3eTaWqAlCxEhERqYT+tvYQi35IwWKBvz/ahTtuamB2JEHFSkREpNL58NtjvLP+CACvDu7IfZ2amJxILlOxEhERqUSWbjvJX1btB+D5yDYM6RlsciL5bypWIiIilcSavWlM/nw3AGP6hPKHO1uanEj+l6nFatOmTQwcOJAmTZpgsVhYsWJFsfnLli0jIiKCevXqYbFYSExMLDY/IyOD8ePH06ZNG3x9fQkODubpp5/GbrcXG7d161buvvtuateuTZ06dYiMjGTXrl3FxuzevZvbb78dHx8fgoKCeOONN67Iu3TpUtq2bYuPjw8dO3bkyy+/dMvrICIi8ms2H01n/Cc7cRrwSPdmTB3QFovFYnYs+R+mFqucnBw6d+7M3Llzrzm/d+/ezJw586rzU1NTSU1NZdasWSQlJREXF8fq1asZPXq0a0x2djb9+/cnODiYH3/8ke+++w4/Pz8iIyMpKCgAwOFwEBERQUhICNu3b+fNN99k2rRpvP/++671bN68mccff5zRo0ezc+dOBg8ezODBg0lKSnLjKyIiInKl3afO89sF28gvctK/QyCv3d9RpaqCshiGYZgdAsBisbB8+XIGDx58xbzjx4/TokULdu7cSZcuXX5xPUuXLmXYsGHk5OTg5eXFtm3b6NGjBykpKQQFBQGwZ88eOnXqxOHDh2nVqhXz5s3jxRdfJC0tDavVCsCUKVNYsWIFBw4cAODRRx8lJyeHlStXurZ166230qVLF959990S7aPD4SAgIAC73Y6/v3+JlhERkertyNksHn43gczcAnq1qsdHI3roaurlrDTv31XuHKvLO+3ldenap23atKFevXrMnz+f/Px8Lly4wPz582nXrh3NmzcHICEhgT59+rhKFUBkZCQHDx4kMzPTNaZfv37FthUZGUlCQsI1s+Tl5eFwOIo9RERESupUZi7D528hM7eAzs0CeG94d5WqCq5KFav09HSmT5/OmDFjXNP8/PzYuHEjixYtwtfXl1q1arF69Wq++uorV/lKS0ujUaNGxdZ1+XlaWtovjrk8/2pmzJhBQECA63H5iJmIiMivSc/OY/j8Lfxkv0jrhrWIGxlGLZtumFLRVZli5XA4iIqKon379kybNs01/cKFC4wePZpevXrxww8/8P3333PzzTcTFRXFhQsXyjTT1KlTsdvtrsfJkyfLdHsiIlI1OC4WEP3RFpLTc2ha25ePR/ekTk3rry8opqsS1TcrK4v+/fvj5+fH8uXL8fb2ds375JNPOH78OAkJCXh4eLim1alTh3//+9889thjBAYGcubMmWLrvPw8MDDQ9efVxlyefzU2mw2bzeaWfRQRkerhYkERTy7Yxt5UB/VrWVn0ZE8CA3zMjiUlVOmPWF3+Rp/VauWLL77Ax6f4X77c3Fw8PDyKfXvi8nOn0wlAeHg4mzZtcn1LEGDt2rW0adOGOnXquMbEx8cXW/fatWsJDw8vq10TEZFqpqDIybh/7mBLcgZ+Ni8WjAqjRf2aZseSUjC1WGVnZ5OYmOi6PlVycjKJiYmkpKQAl65TlZiYyL59+wA4ePAgiYmJrvOaLpeqnJwc5s+fj8PhIC0tjbS0NIqKigC45557yMzMZNy4cezfv5+9e/cycuRIvLy86Nu3LwBDhgzBarUyevRo9u7dy+LFi5k9ezYTJ050ZX3mmWdYvXo1f/3rXzlw4ADTpk1j27ZtPPXUU+X1comISBXmdBpM+mw38QfOYvPyYP6IHnRoEmB2LCktw0QbNmwwgCse0dHRhmEYRmxs7FXnx8TE/OLygJGcnOzaztdff2306tXLCAgIMOrUqWPcddddRkJCQrEsu3btMnr37m3YbDajadOmxuuvv35F3iVLlhg33XSTYbVajQ4dOhirVq0q1f7a7XYDMOx2e6mWExGRqs3pdBox/04yQiavNFpOXWXE708zO5L8l9K8f1eY61hVB7qOlYiIXM1b6w7x1rrDWCzw1qNdGNSlqdmR5L9U6+tYiYiIVCZx3yfz1rrDAPz5Nx1Uqio5FSsRERGTLN95imn/uXQe8cR7buKJ8ObmBpIbpmIlIiJignX7zvDc0t0AjOzVnPF3tTI5kbiDipWIiEg5+/HYz4z7ZAdFToMHujblT1HtdVPlKkLFSkREpBwlnbbz5IJt5BU66deuEW882AkPD5WqqkLFSkREpJwcO5dN9EdbyMorpGeLuswZcgtennorrkr0f1NERKQcpJ6/wPD5W/g5J5+bm/rzYXR3fLw9zY4lbqZiJSIiUsYycvIZPv9HTp+/QGiDmiwYGYafj/evLyiVjoqViIhIGcrOK2RE7BaOnsuhSYAPH4/uSb1aNrNjSRlRsRIRESkjFwuK+O2Cbew+ZaduTSsfP9mTprV9zY4lZUjFSkREpAwUFjl5+tOdJBz7mVo2LxaMDKNlg1pmx5IypmIlIiLiZk6nwZRle/h63xmsXh588ER3OjYLMDuWlAMVKxERETcyDINXv9zPZ9tP4elhYe6QroS3rGd2LCknKlYiIiJuNHfDEeZ/lwzAGw924p72jUxOJOVJxUpERMRNPv7hBLO+PgTAy/e158FuzUxOJOVNxUpERMQNvtiVysv/TgLg6btaMap3C5MTiRlUrERERG7QhoNnmbg4EcOAJ8JD+OM9N5kdSUyiYiUiInIDth3P4PeLtlPoNBjUpQnTBnbAYtFNlasrFSsREZHrtC/Vwci4rVwscNK3TQNmPdwZDw+VqupMxUpEROQ6HE/P4YmPtpB1sZAezevwj6Hd8PbU22p1p78BIiIipZRmv8iw+T+Snp1Hu8b+fBjdA1+rp9mxpAJQsRIRESmF87n5PPHRj5zKvEDzejVYOCqMAF9vs2NJBaFiJSIiUkI5eYWMiN3KoTPZBPr78PHonjTws5kdSyoQFSsREZESyCss4ncfbyfx5Hlq1/Dm49FhBNWtYXYsqWBUrERERH5FkdNgwr8S+e5IOjWsnsSNDKN1Iz+zY0kFpGIlIiLyCwzD4IVle/gqKQ2rpwcfPNGdLkG1zY4lFZSKlYiIyC94ffUBFm87iYcF3n68C71a1Tc7klRgKlYiIiLXMG/jUd775hgArz/Qif43NzY5kVR0KlYiIiJX8emWFGauPgDAC/e25ZEeQSYnkspAxUpEROR/rNr9Ey8s3wPAH+5syZg+LU1OJJWFipWIiMh/2XToHBMW78QwYEjPYJ6PbGN2JKlEVKxERET+vx0pmfzu4+0UFBlEdWrM9EE3Y7HopspScipWIiIiwMG0LEbGbuVCQRF9bmrA3x/pgqeHSpWUjoqViIhUeyk/5zJ8/o/YLxTQNbg27w7ritVLb5FSevpbIyIi1dpZx0WGzf+Rs1l5tA30I3ZEGDWsXmbHkkpKxUpERKote24BT3y0hZSMXILr1mDhqDACanibHUsqMVOL1aZNmxg4cCBNmjTBYrGwYsWKYvOXLVtGREQE9erVw2KxkJiYWGx+RkYG48ePp02bNvj6+hIcHMzTTz+N3W6/YltxcXF06tQJHx8fGjZsyLhx44rN3717N7fffjs+Pj4EBQXxxhtvXLGOpUuX0rZtW3x8fOjYsSNffvnlDb8GIiJijtz8QkYt2MqBtCwa+tlYNLonDf19zI4llZypxSonJ4fOnTszd+7ca87v3bs3M2fOvOr81NRUUlNTmTVrFklJScTFxbF69WpGjx5dbNzf/vY3XnzxRaZMmcLevXtZt24dkZGRrvkOh4OIiAhCQkLYvn07b775JtOmTeP99993jdm8eTOPP/44o0ePZufOnQwePJjBgweTlJTkhldCRETKU36hk98v2sH2E5n4+3ixcHQYwfVqmB1LqgCLYRiG2SEALBYLy5cvZ/DgwVfMO378OC1atGDnzp106dLlF9ezdOlShg0bRk5ODl5eXmRmZtK0aVP+85//cPfdd191mXnz5vHiiy+SlpaG1WoFYMqUKaxYsYIDBy5ddffRRx8lJyeHlStXupa79dZb6dKlC++++26J9tHhcBAQEIDdbsff379Ey4iIiHsVOQ2e+ddOVu7+CV9vTxY92ZNuIXXMjiUVWGnev6vcOVaXd9rL69KJh2vXrsXpdHL69GnatWtHs2bNeOSRRzh58qRrmYSEBPr06eMqVQCRkZEcPHiQzMxM15h+/foV21ZkZCQJCQnXzJKXl4fD4Sj2EBER8xiGwcv/TmLl7p/w9rTw7vBuKlXiVlWqWKWnpzN9+nTGjBnjmnbs2DGcTievvfYab731Fp999hkZGRncc8895OfnA5CWlkajRo2Krevy87S0tF8cc3n+1cyYMYOAgADXIyhI95kSETHTrK8P8s8fU7BY4O+PduGOmxqYHUmqmCpTrBwOB1FRUbRv355p06a5pjudTgoKCnj77beJjIzk1ltv5dNPP+Xw4cNs2LChTDNNnToVu93uevz3UTIRESlfH357jLkbjgLw6uCO3NepicmJpCqqEhfqyMrKon///vj5+bF8+XK8vf/vq7KNGzcGoH379q5pDRo0oH79+qSkpAAQGBjImTNniq3z8vPAwMBfHHN5/tXYbDZsNtsN7JmIiLjDkm0n+cuq/QBM6t+GIT2DTU4kVVWlP2J1+Rt9VquVL774Ah+f4l+V7dWrFwAHDx50TcvIyCA9PZ2QkBAAwsPD2bRpEwUFBa4xa9eupU2bNtSpU8c1Jj4+vti6165dS3h4eJnsl4iIuMfqpDSmfL4bgDF9Qvn9HS1NTiRVmanFKjs7m8TERNf1qZKTk0lMTHQdScrIyCAxMZF9+/YBl8pRYmKi67ymy6UqJyeH+fPn43A4SEtLIy0tjaKiIgBuuukmBg0axDPPPMPmzZtJSkoiOjqatm3b0rdvXwCGDBmC1Wpl9OjR7N27l8WLFzN79mwmTpzoyvrMM8+wevVq/vrXv3LgwAGmTZvGtm3beOqpp8rr5RIRkVL6/kg6T3+6E6cBj3YPYuqAtrqpspQtw0QbNmwwgCse0dHRhmEYRmxs7FXnx8TE/OLygJGcnOzajt1uN0aNGmXUrl3bqFu3rnH//fcbKSkpxbLs2rXL6N27t2Gz2YymTZsar7/++hV5lyxZYtx0002G1Wo1OnToYKxatapU+2u32w3AsNvtpVpORERKLzEl02j/p6+MkMkrjd8t3GYUFBaZHUkqqdK8f1eY61hVB7qOlYhI+ThyNouH300gM7eAXq3q8dGIHti8PM2OJZVUtb6OlYiIVG+nMnMZ9uEWMnML6BxUm/eGd1epknKjYiUiIlXGuaw8hs/fQprjIq0b1iJuRA9q2arEF+ClklCxEhGRKsFxsYDoj7aQnJ5D09q+fDy6J3VqWn99QRE3UrESEZFKb2+qneiPtrDvJwf1a1lZ9GRPAgN8fn1BETfT8VEREam0kk7bmR1/mLX7Ll3A2c/mxYJRYbSoX9PkZFJdqViJiEils/vUeWavO0z8gbMAWCwwsFMTJvRrTWiDWiank+pMxUpERCqNxJPnmb3uEBsOngPAwwK/6dyEp+5qTauGKlRiPhUrERGp8LafyGR2/GE2Hfq/QjX4lqY81beVjlBJhaJiJSIiFda24xnMjj/Mt4fTAfD0sHD//y9UzXUelVRAKlYiIlLh/HjsZ2bHH2bz0Z8B8PKw8GDXZvyhb0tC6qlQScWlYiUiIhVGwtGfmR1/iB+OZQCXCtXD3ZvxhztbEVS3hsnpRH6dipWIiJjKMAwSjv7MW/GH2ZJ8qVB5e1p4pHsQv7+zJc3qqFBJ5aFiJSIipjAMg++OpPN2/GG2Hs8EwOrpwaM9LhWqJrV9TU4oUnoqViIiUq4Mw2DT4XRmrzvEjpTzAFi9PBgSFszv7gilcYAKlVReKlYiIlIuDMNg48FzzI4/TOLJ8wDYvDwY0jOYsXe0pJG/bkEjlZ+KlYiIlCnDMFh/4Cxvxx9m1yk7AD7eHgztGcLv+oTSUIVKqhAVKxERKROGYbB23xneXn+YpNMOAHy9PRl2azBj+rSkgZ/N5IQi7qdiJSIibuV0Gny97wxvxx9m30+XClUNqyfDw0P47e2h1K+lQiVVl4qViIi4hdNpsHpvGm/HH+ZAWhYANa2ePHFbc357eyh1a1pNTihS9lSsRETkhjidBl8m/cQ78Uc4eOZSoapl82LEbc0Z3bsFdVSopBpRsRIRketS5DRYuTuVOeuPcPhsNgB+Ni9G9mrOqN4tqF1DhUqqHxUrEREplSKnwX92pfLO+sMcPZcDgL+PF6N6t2BkrxYE+HqbnFDEPCpWIiJSIoVFTr7YdekI1bH0S4UqwNeb0b1bMKJXc/x9VKhEVKxEROQXFRY5WZGYypz1hzn+cy4AtWt489vbQ3kiPAQ/FSoRFxUrERG5qoIiJ8t3nGbOhiOkZFwqVHVqePPbPqE8Ed6cWja9hYj8L/1UiIhIMfmFTpbtOMXcjUc4mXEBgHo1rfy2TyjDbw2hpgqVyDXpp0NERIBLhWrp9pP8Y8NRTp+/VKjq17Lyuz4tGXprMDWsessQ+TX6KRERqebyCotYsu0U8zYcIdV+EYAGfjZ+1yeUoT1D8LV6mpxQpPJQsRIRqaYuFhSxeOtJ5m08SprjUqFq6Gfj93e25PGwYHy8VahESkvFSkSkmrlYUMSnW1J495ujnHHkARDo78Pv72zJoz2CVKhEboCKlYhINXEhv4h//niC9zYd41zWpULVJMCH3/dtxSPdm2HzUqESuVEqViIiVVxufiH//CGF9zYdIz37UqFqWtuXP/RtyUPdVKhE3EnFSkSkisrJK+TjH07wwaZj/JyTD0CzOr481bcVD3RthtXLw+SEIlWPipWISBWTnVfIwoTjfPhtMhn/v1AF163BU31bcX/Xpnh7qlCJlBUVKxGRKiLrYgELE07wwbfHOJ9bAEBIvUuFavAtKlQi5UHFSkSkCvhyz09MXbYH+4VLhSq0fk2euqsVv+ncBC8VKpFyY+pP26ZNmxg4cCBNmjTBYrGwYsWKYvOXLVtGREQE9erVw2KxkJiYWGx+RkYG48ePp02bNvj6+hIcHMzTTz+N3W6/6vZ+/vlnmjVrhsVi4fz588Xmbdy4ka5du2Kz2WjVqhVxcXFXLD937lyaN2+Oj48PPXv2ZMuWLTew9yIi7rHohxOM+2QH9gsFhDaoyVuPdmHtxDt4oGszlSqRcmbqT1xOTg6dO3dm7ty515zfu3dvZs6cedX5qamppKamMmvWLJKSkoiLi2P16tWMHj36quNHjx5Np06drpienJxMVFQUffv2JTExkQkTJvDkk0+yZs0a15jFixczceJEYmJi2LFjB507dyYyMpKzZ89ex56LiNw4wzB4J/4wL61IwjBgSM9g1v7xDgbf0hRPD4vZ8USqJYthGIbZIQAsFgvLly9n8ODBV8w7fvw4LVq0YOfOnXTp0uUX17N06VKGDRtGTk4OXl7/90nnvHnzWLx4MS+//DJ33303mZmZ1K5dG4DJkyezatUqkpKSXOMfe+wxzp8/z+rVqwHo2bMnPXr0YM6cOQA4nU6CgoIYP348U6ZMKdE+OhwOAgICsNvt+Pv7l2gZEZGrcToNXlm5j7jNxwF4+q5W/PGem7BYVKhE3K00799V7hjx5Z3+71K1b98+XnnlFRYuXIiHx5W7nJCQQL9+/YpNi4yMJCEhAYD8/Hy2b99ebIyHhwf9+vVzjbmavLw8HA5HsYeIyI0qKHIycUmiq1TFDGzPxIg2KlUiFUCVKlbp6elMnz6dMWPGuKbl5eXx+OOP8+abbxIcHHzV5dLS0mjUqFGxaY0aNcLhcHDhwgXS09MpKiq66pi0tLRr5pkxYwYBAQGuR1BQ0A3snYjIpaunj1m4jRWJqXh5WHjr0S6M7NXC7Fgi8v9VmWLlcDiIioqiffv2TJs2zTV96tSptGvXjmHDhpV7pqlTp2K3212PkydPlnsGEak67LkFDJv/IxsOnsPH24MPnujO4Fuamh1LRP5LlShWWVlZ9O/fHz8/P5YvX463t7dr3vr161m6dCleXl54eXlx9913A1C/fn1iYmIACAwM5MyZM8XWeebMGfz9/fH19aV+/fp4enpedUxgYOA1c9lsNvz9/Ys9RESuxxnHRR55L4HtJzLx9/Fi0eie9G3b0OxYIvI/Kv11rBwOB5GRkdhsNr744gt8fHyKzf/888+5cOGC6/nWrVsZNWoU3377LS1btgQgPDycL7/8sthya9euJTw8HACr1Uq3bt2Ij493nVzvdDqJj4/nqaeeKsO9ExGB4+k5DJv/I6cyL9DQz8bC0WG0DdQ/1EQqohIVq+s56bokR2eys7M5cuSI63lycjKJiYnUrVuX4OBgMjIySElJITU1FYCDBw8Cl44wBQYG4nA4iIiIIDc3l0WLFhU7QbxBgwZ4enq6ytNl6enpALRr1871rcCxY8cyZ84cJk2axKhRo1i/fj1Llixh1apVruUmTpxIdHQ03bt3JywsjLfeeoucnBxGjhxZ6tdGRKSkkk7bGRG7hfTsfELq1WDR6J4E1a1hdiwRuRajBCwWi+Hh4VHih6enp3H06NFfXe+GDRsM4IpHdHS0YRiGERsbe9X5MTExv7g8YCQnJ//iNjMzM6+Y3qVLF8NqtRqhoaFGbGzsFcu+8847RnBwsGG1Wo2wsDDjhx9+KMnL52K32w3AsNvtpVpORKqnhKPpxs0vrzZCJq80Bry1yTjruGh2JJFqqTTv3yW6jpWHhweff/45devWLUlR49577yUpKYnQ0NDSN70qTNexEpGS+npvGk99upP8QidhLeryYXR3/H28f31BEXG70rx/l+ijwJCQEPr06UO9evVKFCA0NLTYCeQiIlJyS7adZMrnu3Ea0K9dI+YMuQUfb0+zY4lICZSoWCUnJ5dqpf99BXMRESm59745yoyvDgDwULdmvP5AR93vT6QSqfTfChQRqQoMw+D11Qd475tjAIzpE8rUAW11NXWRSqbE/wxavXo1jz322FXnnTp1irCwML7//nu3BRMRqS4Ki5xM/ny3q1RNGdCWF+5tp1IlUgmVuFi98sorDBkyBIDXX3+dixcvuuY1a9aMp556qsQ3IxYRkUsuFhTxh3/uYMm2U3hY4I0HOzH2jpa/vqCIVEglLlY7d+6kY8eOALz22mukpqYya9YsV8Hq06cP27ZtK5uUIiJVUNbFAkbEbuHrfWewenkwb1g3Humhe4qKVGYlLlb/e8NhwzB45ZVXXBfv3LdvH/Xr13d/QhGRKig9O4/H3v+BH45lUMvmxYKRYUR2uPYtskSkcihxserfvz+vvPIKBQUFAFgsFgzDwGKxkJSUxDPPPOP6qFBERK7tZEYuD83bzN5UB/VqWvnXmFsJb1myy9mISMVW4mI1bdo0kpOTadGiBRcvXmT69Onk5eVx77330qVLF3r06MH06dPLMquISKV3MC2Lh97dzPGfc2la25elY8O5uWmA2bFExE1KXKwCAwP58ccfmTRpEgD79+/HMAwiIiL49ttv+eSTT7BarWUWVESkstt+IoNH3kvgjCOPmxrV4vPf30Zog1pmxxIRNyrRLW3+V9euXVm6dCkPP/wwn332mW5dU0K6pY1I9bXh4Fl+v2g7FwucdA2uzUcjelC7hv4xKlIZuP2WNv9rx44dxf4UEZFr+3fiaZ5dsotCp8EdNzVg3rCu1LDq+swiVVGJPgp84IEHcDgcJV7p0KFDOXv27HWHEhGpKuK+T+aZfyVS6DT4TecmfPBEd5UqkSqsRB8Fenp6cujQIRo0aPCrKzQMg6CgIBITE/UR4f/QR4Ei1YdhGPx93WHejj8MQHR4CDEDO+Dhoaupi1Q2bv8o0DAMbrrpJreEExGp6oqcBjFfJLHohxQA/tjvJp6+u5VuUSNSDZSoWG3YsKHUK27atGmplxERqezyC51MXJLIyt0/YbHAK4NuZvitIWbHEpFyUqJidccdd5R1DhGRSi8nr5Cxi7bz7eF0vD0t/O2RLgzs3MTsWCJSjnQGpYiIG2Tm5DMybiuJJ8/j6+3Je8O70eemXz8vVUSqFhUrEZEb9JP9AsPnb+HI2Wxq1/AmdkQPbgmuY3YsETGBipWIyA04ei6bJ+Zv4fT5CwT6+/Dx6DBaN/IzO5aImETFSkTkOu0+dZ4RsVvJyMkntH5NFo4Oo1mdGmbHEhETlfhegZdduHCB3Nxc1/MTJ07w1ltv8fXXX7s1mIhIRbb5SDqPv/8DGTn5dGwawNKx4SpVIlL6YjVo0CAWLlwIwPnz5+nZsyd//etfGTRoEPPmzXN7QBGRiuarPT8xInYrOflF3NayHp+OuZV6tWxmxxKRCqDUxWrHjh3cfvvtAHz22Wc0atSIEydOsHDhQt5++223BxQRqUg+3ZLCuE92kF/kpH+HQGJH9qCWTWdViMglpf5tkJubi5/fpRMzv/76ax544AE8PDy49dZbOXHihNsDiohUBIZh8I+NR3lzzUEAHg8L4i+DO+KpW9SIyH8p9RGrVq1asWLFCk6ePMmaNWuIiIgA4OzZs7r/nYhUSU6nwV9W7XeVqnF9W/La/SpVInKlUherl19+meeee47mzZvTs2dPwsPDgUtHr2655Ra3BxQRMVNBkZPnPtvF/O+SAXgpqh3PR7bVff9E5KoshmEYpV0oLS2Nn376ic6dO+PhcambbdmyBX9/f9q2bev2kFVFae6OLSLmu1hQxLh/7iD+wFk8PSy88WAnHuzWzOxYIlLOSvP+fV1nXAYGBhIYGFhsWlhY2PWsSkSkQrJfKODJBVvZejwTm5cHc4d0pV/7RmbHEpEKrkTF6oEHHiAuLg5/f38eeOCBXxy7bNkytwQTETHL2ayLPDF/CwfSsvDz8WJ+dA/CWtQ1O5aIVAIlKlYBAQGu8wkCAgLKNJCIiJlO/JzD8PlbSMnIpYGfjQUjw2jfRB/di0jJXNc5VnJ9dI6VSMW2L9XBEx9tIT07j+C6Nfh4dBgh9WqaHUtETFaa9+9SfysQoLCwkHXr1vHee++RlZUFQGpqKtnZ2dezOhER021JzuDR9xNIz86jbaAfn40NV6kSkVIr9cnrJ06coH///qSkpJCXl8c999yDn58fM2fOJC8vj3fffbcscoqIlJn4/Wf4wz93kFfopEfzOnwY3YMAX2+zY4lIJVTqI1bPPPMM3bt3JzMzE19fX9f0+++/n/j4eLeGExEpa59vP8WYj7eTV+jk7rYNWTiqp0qViFy3Uh+x+vbbb9m8eTNWq7XY9ObNm3P69Gm3BRMRKWsffnuMv6zaD8ADXZsy88FOeHte1xkSIiLAdRQrp9NJUVHRFdNPnTrluoegiEhFZhgGb645yD82HgXgyd4teOHednjoFjUicoNK/U+ziIgI3nrrLddzi8VCdnY2MTEx3HvvvaVa16ZNmxg4cCBNmjTBYrGwYsWKYvOXLVtGREQE9erVw2KxkJiYWGx+RkYG48ePp02bNvj6+hIcHMzTTz+N3W53jdm1axePP/44QUFB+Pr60q5dO2bPnn1Flo0bN9K1a1dsNhutWrUiLi7uijFz586lefPm+Pj40LNnT7Zs2VKq/RUR8xU5DV5YvsdVqib1b8OLUSpVIuIepS5Ws2bN4vvvv6d9+/ZcvHiRIUOGuD4GnDlzZqnWlZOTQ+fOnZk7d+415/fu3fua601NTSU1NZVZs2aRlJREXFwcq1evZvTo0a4x27dvp2HDhixatIi9e/fy4osvMnXqVObMmeMak5ycTFRUFH379iUxMZEJEybw5JNPsmbNGteYxYsXM3HiRGJiYtixYwedO3cmMjKSs2fPlmqfRcQ8eYVFPPXJDj7dchIPC8x4oCN/uLOV7vsnIm5zXdexKiwsZPHixezatYvs7Gy6du3K0KFDi53MXuogFgvLly9n8ODBV8w7fvw4LVq0YOfOnXTp0uUX17N06VKGDRtGTk4OXl5X/6Rz3Lhx7N+/n/Xr1wMwefJkVq1aRVJSkmvMY489xvnz51m9ejUAPXv2pEePHq5C5nQ6CQoKYvz48UyZMuWq28nLyyMvL8/13OFwEBQUpOtYiZggO6+QMQu3sfnoz1g9PZj9WBcGdGxsdiwRqQTK7F6BBQUFtG3blpUrVzJ06FCGDh16Q0HLwuWdvlapujymbt3/uz1FQkIC/fr1KzYmMjKSCRMmAJCfn8/27duZOnWqa76Hhwf9+vUjISHhmtuZMWMGf/7zn69zT0TEXX7OzmNE7Fb2nLZT0+rJB09057ZW9c2OJSJVUKk+CvT29ubixYtlleWGpaenM336dMaMGXPNMZs3b2bx4sXFxqSlpdGoUfGbqzZq1AiHw8GFCxdIT0+nqKjoqmPS0tKuua2pU6dit9tdj5MnT17nnonI9Tp9/gIPv5vAntN26ta08umYW1WqRKTMlPocq3HjxjFz5kwKCwvLIs91czgcREVF0b59e6ZNm3bVMUlJSQwaNIiYmBgiIiLKPJPNZsPf37/YQ0TKz+EzWTz4j80cS8+haW1flo4Np1Oz2mbHEpEqrNSXW9i6dSvx8fF8/fXXdOzYkZo1i9/yYdmyZW4LV1JZWVn0798fPz8/li9fjrf3lRf327dvH3fffTdjxozhpZdeKjYvMDCQM2fOFJt25swZ/P398fX1xdPTE09Pz6uOCQwMdP8OicgN25mSyci4rZzPLaBVw1p8PDqMxgHXfx6oiEhJlLpY1a5dmwcffLAsslwXh8NBZGQkNpuNL774Ah8fnyvG7N27l7vuuovo6GheffXVK+aHh4fz5ZdfFpu2du1awsPDAbBarXTr1o34+HjXyfVOp5P4+Hieeuop9++UiNyQTYfOMXbRdnLzi+gSVJvYET2oU9P66wuKiNygUher2NhYt208OzubI0eOuJ4nJyeTmJhI3bp1CQ4OJiMjg5SUFFJTUwE4ePAgcOkIU2BgIA6Hg4iICHJzc1m0aBEOhwOHwwFAgwYN8PT0JCkpibvuuovIyEgmTpzoOifK09OTBg0aADB27FjmzJnDpEmTGDVqFOvXr2fJkiWsWrXKlW3ixIlER0fTvXt3wsLCeOutt8jJyWHkyJFuez1E5Mb9Z1cqE5ckUlBkcHvr+rw7rBs1baX+VScicn2MEioqKjJef/1147bbbjO6d+9uTJ482cjNzS3p4le1YcMGA7jiER0dbRiGYcTGxl51fkxMzC8uDxjJycmGYRhGTEzMVeeHhIRckaVLly6G1Wo1QkNDjdjY2CvyvvPOO0ZwcLBhtVqNsLAw44cffijV/trtdgMw7HZ7KV8pESmJhZuTjeZTVhohk1ca4/653cgrKDI7kohUAaV5/y7xdaymT5/OtGnT6NevH76+vqxZs4bHH3+cjz76yG0lr6orzXUwRKTkCoqczF53mDkbLh0BH35rCNN+0wFPXU1dRNygNO/fJS5WrVu35rnnnuN3v/sdAOvWrSMqKooLFy7g4aGblpaEipWI++1NtTPps93sTb10GsAzd7dmQr/Wupq6iLhNmVwgNCUlpdi9APv164fFYiE1NZVmzZpdf1oRkeuQV1jE3PVH+MfGoxQ6DQJ8vfnzbzow+JamZkcTkWqsxMWqsLDwim/ceXt7U1BQ4PZQIiK/ZGdKJpM+283hs9kADLg5kD8P6kBDvyu/FSwiUp5KXKwMw2DEiBHYbDbXtIsXLzJ27Nhi17Iy4zpWIlI9XMgv4u/rDvHht8dwGlC/lpVXBt3Mvbrnn4hUECUuVtHR0VdMGzZsmFvDiIhcy4/Hfmby57s5/nMuAPff0pSX72uv61OJSIVS4mLlzutXiYiUVHZeITO/OsDHP5wAINDfh9ceuJm72jb6lSVFRMqfrponIhXWN4fO8cKyPZw+fwGAx8OCmXpvW/x9rrxtlYhIRaBiJSIVjj23gL+s2sfS7acACKrry8wHOnFbq/omJxMR+WUqViJSoXy9N40XVyRxLisPiwVG3Nac5yPbUMOqX1ciUvHpN5WIVAg/Z+cR88VeVu7+CYDQBjV586FOdAupa3IyEZGSU7ESEVMZhsEXu1KZ9sVeMnML8PSw8Ls+oTx9d2t8vD3NjiciUioqViJimjOOi7y4PIl1+88A0DbQj1kPd+bmpgEmJxMRuT4qViJS7gzDYOm2U0xftY+si4V4e1oYf1drxt7REquX7j0qIpWXipWIlKuTGbm8sHwP3x5OB6BzswDeeKgzbQL9TE4mInLjVKxEpFw4nQYf/3CCmasPkJtfhM3Lg2cjbmJUrxZ4eeoolYhUDSpWIlLmjp3LZvLnu9l6PBOAsOZ1mflQJ1rUr/krS4qIVC4qViJSZgqLnMz/Lpm/rT1EXqGTmlZPpgxoy9CeIXh4WMyOJyLidipWIlImDqQ5mPTZbnafsgNwe+v6zHigI83q1DA5mYhI2VGxEhG3yi90Mm/jUeZsOExBkYG/jxcv3deeh7s1w2LRUSoRqdpUrETEbXafOs+kz3ZzIC0LgHvaN+Ivg2+mkb+PyclERMqHipWI3LCLBUW8te4w7286itOAujWt/Pk3HbivU2MdpRKRakXFSkRuyLbjGUz6bDfH0nMA+E3nJsQMbE+9WjaTk4mIlD8VKxG5Ljl5hby55iALEo5jGNDQz8ar93fknvaNzI4mImIaFSsRKbXvDqczZdluTmVeAOCR7s14Mao9Ab7eJicTETGXipWIlJjjYgGvrdrPv7aeBKBpbV9mPNCRPjc1MDmZiEjFoGIlIiUSv/8MLyzfwxlHHgDR4SFM6t+Wmjb9GhERuUy/EUXkF2Xk5PPKf/ayIjEVgBb1azLzwU6EtahrcjIRkYpHxUpErsowDL7ck8bL/07i55x8PCzw29tD+eM9N+Hj7Wl2PBGRCknFSkSucNZxkT/9O4k1e88AcFOjWrz5UGc6B9U2N5iISAWnYiUiLoZh8PmO07zyn704Lhbi5WHhD31bMa5vS2xeOkolIvJrVKxEBIDT5y/wwrI9fHPoHAAdmwbwxkOdaNfY3+RkIiKVh4qVSDXndBp8siWFGV/uJye/CKuXB3/sdxO/vb0FXp4eZscTEalUVKxEqrHj6TlM/nw3PyZnANAtpA5vPNSJlg1qmZxMRKRyUrESqYaKnAax3ycz6+uDXCxw4uvtyaT+bXgivDmeHrppsojI9VKxEqlmDp/J4vnPdpN48jwAvVrVY8b9nQiuV8PcYCIiVYCKlUg1UVDk5L1vjvJ2/BHyi5z42bx4Maodj/YIwmLRUSoREXcw9czUTZs2MXDgQJo0aYLFYmHFihXF5i9btoyIiAjq1auHxWIhMTGx2PyMjAzGjx9PmzZt8PX1JTg4mKeffhq73V5sXEpKClFRUdSoUYOGDRvy/PPPU1hYWGzMxo0b6dq1KzabjVatWhEXF3dF3rlz59K8eXN8fHzo2bMnW7ZsccfLIFLmkk7bGTTne2Z9fYj8Iid3t23I1xP78FhYsEqViIgbmVqscnJy6Ny5M3Pnzr3m/N69ezNz5syrzk9NTSU1NZVZs2aRlJREXFwcq1evZvTo0a4xRUVFREVFkZ+fz+bNm1mwYAFxcXG8/PLLrjHJyclERUXRt29fEhMTmTBhAk8++SRr1qxxjVm8eDETJ04kJiaGHTt20LlzZyIjIzl79qybXg0R98srLGLWmoMMmvs9+35yULuGN2892oUPo7vTOMDX7HgiIlWOxTAMw+wQABaLheXLlzN48OAr5h0/fpwWLVqwc+dOunTp8ovrWbp0KcOGDSMnJwcvLy+++uor7rvvPlJTU2nUqBEA7777LpMnT+bcuXNYrVYmT57MqlWrSEpKcq3nscce4/z586xevRqAnj170qNHD+bMmQOA0+kkKCiI8ePHM2XKlKtmycvLIy8vz/Xc4XAQFBSE3W7H31/XBpKytSMlk0mf7ebI2WwAojo2ZtpvOtDAz2ZyMhGRysXhcBAQEFCi9+8qd5Gayzvt5XXp9LGEhAQ6duzoKlUAkZGROBwO9u7d6xrTr1+/YuuJjIwkISEBgPz8fLZv315sjIeHB/369XONuZoZM2YQEBDgegQFBbltP0Wu5UJ+EdNX7uPBeZs5cjab+rVsvDusK3OHdlWpEhEpY1WqWKWnpzN9+nTGjBnjmpaWllasVAGu52lpab84xuFwcOHCBdLT0ykqKrrqmMvruJqpU6dit9tdj5MnT97Q/on8ms1H04l8axPzv0vGMODBrs1YN7EP/W9ubHY0EZFqocp8K9DhcBAVFUX79u2ZNm2a2XEAsNls2Gw6QiBl70J+EX9ZtY9//pgCQJMAH159oCN92zQ0OZmISPVSJYpVVlYW/fv3x8/Pj+XLl+Pt7e2aFxgYeMW3986cOeOad/nPy9P+e4y/vz++vr54enri6el51TGX1yFiFntuAaMXbGXbiUwAhvYMZsqAtvj5eP/KkiIi4m6V/qNAh8NBREQEVquVL774Ah8fn2Lzw8PD2bNnT7Fv761duxZ/f3/at2/vGhMfH19subVr1xIeHg6A1WqlW7duxcY4nU7i4+NdY0TMcNZxkUffT2DbiUz8fbxYNLonr97fUaVKRMQkph6xys7O5siRI67nycnJJCYmUrduXYKDg8nIyCAlJYXU1FQADh48CFw6whQYGOgqVbm5uSxatAiHw4HD4QCgQYMGeHp6EhERQfv27Rk+fDhvvPEGaWlpvPTSS4wbN871Md3YsWOZM2cOkyZNYtSoUaxfv54lS5awatUqV7aJEycSHR1N9+7dCQsL46233iInJ4eRI0eW18slUszx9ByGf/QjJzMu0NDPxoJRYbRrrG+bioiYyjDRhg0bDOCKR3R0tGEYhhEbG3vV+TExMb+4PGAkJye7tnP8+HFjwIABhq+vr1G/fn3j2WefNQoKCq7I0qVLF8NqtRqhoaFGbGzsFXnfeecdIzg42LBarUZYWJjxww8/lGp/7Xa7ARh2u71Uy4n8r6TT541u09caIZNXGn3eWG+cSM8xO5KISJVVmvfvCnMdq+qgNNfBELmWH4/9zJMLtpGVV0i7xv4sGNWDhn4+v76giIhcl9K8f1eJk9dFqou1+87w1Cc7yCt0EtaiLh9Gd8df51OJiFQYKlYilcTSbSeZsmwPRU6Dfu0aMWfILfh4e5odS0RE/ouKlUgl8MGmY7z65X7g0kU/Zz7YES/PSv+lXhGRKkfFSqQCMwyDmasP8u43RwH47e0tmDqgHR4eFpOTiYjI1ahYiVRQhUVOXlyexOJtl26FNGVAW8be0dLkVCIi8ktUrEQqoIsFRTzzr52s2XsGDwvMeKAjj/YINjuWiIj8ChUrkQom62IBYxZuJ+HYz1g9PXj78Vvof7NunSQiUhmoWIlUIOnZeYyI3ULSaQe1bF68/0Q3bmtZ3+xYIiJSQipWIhXEqcxchs/fQnJ6DvVqWlkwKoybmwaYHUtEREpBxUqkAjh0Josn5m8hzXGRprV9+Xh0GKENapkdS0RESknFSsRkO1IyGRm7FfuFAlo3rMXHo3sSGKBb1IiIVEYqViIm+ubQOcZ+vJ0LBUXcElyb2BE9qF3DanYsERG5TipWIib5Ylcqzy5JpKDI4I6bGjBvWFdqWPUjKSJSmem3uIgJFiYcJ+aLvRgG/KZzE2Y93Bmrl25RIyJS2alYiZQjwzB4a91hZscfBiA6PISYgR10ixoRkSpCxUqknDidBtP+s5eFCScAmNCvNc/c3RqLRaVKRKSqULESKQf5hU6eXbqL/+xKxWKBV37TgeHhzc2OJSIibqZiJVLGcvMLGbtoB5sOncPb08JfH+nCbzo3MTuWiIiUARUrkTJ0PjefkXFb2ZlyHl9vT94d3o07bmpgdiwRESkjKlYiZSTNfpHh83/k8Nlsatfw5qMRPegaXMfsWCIiUoZUrETKwLFz2Qyfv4XT5y8Q6O/Dx6PDaN3Iz+xYIiJSxlSsRNxszyk7I2K38HNOPqH1a7JwdBjN6tQwO5aIiJQDFSsRN9p8NJ0xC7eTnVdIx6YBxI3sQb1aNrNjiYhIOVGxEnGT1Uk/8fSnieQXObmtZT3eG94NPx9vs2OJiEg5UrEScYN/bUnhheV7cBrQv0Mgbz3WBR9vT7NjiYhIOVOxErkBhmHw7jfHmLn6AACP9Qji1fs74qlb1IiIVEsqViLXyek0mPHVfj74NhmA39/ZkkmRbXSLGhGRakzFSuQ6FBY5mfz5Hj7fcQqAF+9tx2/7hJqcSkREzKZiJVJKFwuKeOqTHazbfxZPDwszH+zEQ92amR1LREQqABUrkVJwXCzgybhtbDmegc3Lg7lDutKvfSOzY4mISAWhYiVSQmezLhL90Vb2/+TAz+bFh9Hd6Rlaz+xYIiJSgahYiZRAys+5DP/oR078nEv9WjYWjOpBhyYBZscSEZEKRsVK5Ffs/8nBEx9t4VxWHkF1fVk0uich9WqaHUtERCogFSuRX7D1eAaj4raSdbGQtoF+LBwVRkN/H7NjiYhIBaViJXIN6w+c4feLdpBX6KR7SB3mR/cgoIZuUSMiItemYiVyFct2nOL5z3ZT5DS4q21D5g7piq9Vt6gREZFf5mHmxjdt2sTAgQNp0qQJFouFFStWFJu/bNkyIiIiqFevHhaLhcTExCvW8f7773PnnXfi7++PxWLh/PnzV4w5dOgQgwYNon79+vj7+9O7d282bNhQbExKSgpRUVHUqFGDhg0b8vzzz1NYWFhszMaNG+natSs2m41WrVoRFxd3g6+AVETzv0tm4pJdFDkNHrilKe8N76ZSJSIiJWJqscrJyaFz587MnTv3mvN79+7NzJkzr7mO3Nxc+vfvzwsvvHDNMffddx+FhYWsX7+e7du307lzZ+677z7S0tIAKCoqIioqivz8fDZv3syCBQuIi4vj5Zdfdq0jOTmZqKgo+vbtS2JiIhMmTODJJ59kzZo117n3UtEYhsGsNQeZvnIfAKN6tWDWw53x9jT1x0RERCoRi2EYhtkhACwWC8uXL2fw4MFXzDt+/DgtWrRg586ddOnS5arLb9y4kb59+5KZmUnt2rVd09PT02nQoAGbNm3i9ttvByArKwt/f3/Wrl1Lv379+Oqrr7jvvvtITU2lUaNLF3t89913mTx5MufOncNqtTJ58mRWrVpFUlKSa92PPfYY58+fZ/Xq1VfNlJeXR15enuu5w+EgKCgIu92Ov79/KV8hKUtFToM//TuJT35MAeD5yDb84c6Wuu+fiIjgcDgICAgo0ft3lf+neL169WjTpg0LFy4kJyeHwsJC3nvvPRo2bEi3bt0ASEhIoGPHjq5SBRAZGYnD4WDv3r2uMf369Su27sjISBISEq657RkzZhAQEOB6BAUFlcEeyo3KKyxi/Kc7+OTHFCwWeO3+jozr20qlSkRESq3KFyuLxcK6devYuXMnfn5++Pj48Le//Y3Vq1dTp04dANLS0oqVKsD1/PLHhdca43A4uHDhwlW3PXXqVOx2u+tx8uRJd++e3KDsvEJGxW3lyz1pWD0v3aJmSM9gs2OJiEglVeW/FWgYBuPGjaNhw4Z8++23+Pr68uGHHzJw4EC2bt1K48aNy2zbNpsNm81WZuuXG5ORk8/I2C3sOmWnptWT95/oTq9W9c2OJSIilViVP2K1fv16Vq5cyb/+9S969epF165d+cc//oGvry8LFiwAIDAwkDNnzhRb7vLzwMDAXxzj7++Pr69vOeyJuNPp8xd46N3N7Dplp25NK5/89laVKhERuWFVvljl5uYC4OFRfFc9PDxwOp0AhIeHs2fPHs6ePeuav3btWvz9/Wnfvr1rTHx8fLF1rF27lvDw8LKML2XgyNksHpq3mWPncmgS4MOS34XTOai22bFERKQKMPWjwOzsbI4cOeJ6npycTGJiInXr1iU4OJiMjAxSUlJITU0F4ODBg8Clo0eXjySlpaWRlpbmWs+ePXvw8/MjODiYunXrEh4eTp06dYiOjubll1/G19eXDz74wHX5BICIiAjat2/P8OHDeeONN0hLS+Oll15i3Lhxro/yxo4dy5w5c5g0aRKjRo1i/fr1LFmyhFWrVpXb6yU3LvHkeUbGbiEzt4BWDWuxcFQYTWrriKOIiLiJYaINGzYYwBWP6OhowzAMIzY29qrzY2JiXOuIiYm56pjY2FjXmK1btxoRERFG3bp1DT8/P+PWW281vvzyy2JZjh8/bgwYMMDw9fU16tevbzz77LNGQUHBFXm7dOliWK1WIzQ0tNg2SsJutxuAYbfbS7WcuMemQ2eNdn/6ygiZvNL4zZzvjIzsPLMjiYhIJVCa9+8Kcx2r6qA018EQ91q1+ycmLN5JQZHB7a3r8+6wbtS0VfnvboiIiBuU5v1b7yxS5S364QR/+ncShgFRnRrzt0c6Y/PSLWpERMT9VKykyjIMgznrj/DXtYcAGNozmFcG3Yynhy78KSIiZUPFSqokp9PglZX7iNt8HICn727NH/u11tXURUSkTKlYSZVTUOTk+aW7WJF46dukMQPbM7JXC5NTiYhIdaBiJVXKhfwi/vDP7Ww4eA4vDwuzHu7M4Fuamh1LRESqCRUrqTLsuQWMWrCV7Scy8fH2YN6wbvRt09DsWCIiUo2oWEmVcMZxkSfmb+HgmSz8fbyIHdmDbiF1zY4lIiLVjIqVVGqGYbBy90/EfLGXjJx8GvrZWDg6jLaBuk6YiIiUPxUrqbTOOi7y4ook1u67dHPstoF+fPBEd4Lq1jA5mYiIVFcqVlLpGIbB0u2n+MvKfTguFuLtaWFc31b84c5WWL2q/H3FRUSkAlOxkkrlVGYuU5ft4dvD6QB0ahbAGw910kd/IiJSIahYSaXgdBr888cTvP7VAXLyi7B5eTDxnpsY3bsFXp46SiUiIhWDipVUeMnpOUz+fDdbkjMA6NG8DjMf7ERog1omJxMRESlOxUoqrCKnwUffJTPr64PkFTqpYfVkcv+2DL81BA/d709ERCogFSupkA6dyeL5z3az6+R5AHq3qs+MBzrqG38iIlKhqVhJhVJQ5GTexqO8s/4wBUUGfj5evBTVjke6B+kGyiIiUuGpWEmFkXTazvOf7Wb/Tw4A+rVryF8GdyQwwMfkZCIiIiWjYiWmu1hQxNvxh3lv0zGKnAZ1angz7Tcd+E3nJjpKJSIilYqKlZhq+4kMJn22m6PncgC4r1Njpv2mA/Vr2UxOJiIiUnoqVmKK3PxC3lxzkLjNxzEMaOBn4y+DbyayQ6DZ0URERK6bipWUu81H0pm8bDcnMy4A8FC3Zvwpqj0BNbxNTiYiInJjVKyk3DguFjDjywN8uiUFgKa1fXntgY7ccVMDk5OJiIi4h4qVlIv1B87wwrIk0hwXARh+awiTB7Sllk1/BUVEpOrQu5qUqcycfKav3MeynacBaF6vBq8/2IlbQ+uZnExERMT9VKykzHy55yde/ncS6dn5eFhgdO8WTLynDb5WT7OjiYiIlAkVK3G7s1kXifn3Xr5KSgOgdcNavPFQJ24JrmNyMhERkbKlYiVuYxgGy3ee5s//2Yf9QgFeHhZ+f2dLnrqrFTYvHaUSEZGqT8VK3CL1/AVeXL6HDQfPAdChiT9vPtSZ9k38TU4mIiJSflSs5IYYhsGnW07y2pf7yc4rxOrpwTP9WjOmTyjenh5mxxMRESlXKlZy3U78nMOUz/eQcOxnALoG1+aNhzrRqqGfyclERETMoWIlpVbkNIjbfJw31xzgYoETH28Pno9sy4jbmuPpoZsmi4hI9aViJaVy5GwWkz7bzY6U8wCEh9bj9Qc7ElKvprnBREREKgAVKymRgiIn7286xux1h8kvclLL5sUL97bj8bAgLBYdpRIREQEVKymBval2Jn22m72pDgD6tmnAq/d3pEltX5OTiYiIVCwqVnJNeYVFzFl/hHkbj1LoNAjw9SZmYHvuv6WpjlKJiIhchYqVXNXOlEwmfbabw2ezARhwcyB/HtSBhn4+JicTERGpuEy90NCmTZsYOHAgTZo0wWKxsGLFimLzly1bRkREBPXq1cNisZCYmHjFOt5//33uvPNO/P39sVgsnD9//qrbWrVqFT179sTX15c6deowePDgYvNTUlKIioqiRo0aNGzYkOeff57CwsJiYzZu3EjXrl2x2Wy0atWKuLi469/5CupCfhGvrtrHg/M2c/hsNvVrWfnH0K7MG9ZNpUpERORXmFqscnJy6Ny5M3Pnzr3m/N69ezNz5sxrriM3N5f+/fvzwgsvXHPM559/zvDhwxk5ciS7du3i+++/Z8iQIa75RUVFREVFkZ+fz+bNm1mwYAFxcXG8/PLLrjHJyclERUXRt29fEhMTmTBhAk8++SRr1qy5jj2vmH449jMDZm/ig2+TcRrwwC1NWfvHO7i3Y2Ozo4mIiFQKFsMwDLNDAFgsFpYvX37FkSSA48eP06JFC3bu3EmXLl2uuvzGjRvp27cvmZmZ1K5d2zW9sLCQ5s2b8+c//5nRo0dfddmvvvqK++67j9TUVBo1agTAu+++y+TJkzl37hxWq5XJkyezatUqkpKSXMs99thjnD9/ntWrV191vXl5eeTl5bmeOxwOgoKCsNvt+PtXnFu9ZOcVMvOrA3z8wwkAGgf48Nr9HenbtqHJyURERMzncDgICAgo0ft3lb/nyI4dOzh9+jQeHh7ccsstNG7cmAEDBhQrSAkJCXTs2NFVqgAiIyNxOBzs3bvXNaZfv37F1h0ZGUlCQsI1tz1jxgwCAgJcj6CgIDfv3Y375tA5Iv++yVWqHg8LZs0f+6hUiYiIXIcqX6yOHTsGwLRp03jppZdYuXIlderU4c477yQjIwOAtLS0YqUKcD1PS0v7xTEOh4MLFy5cddtTp07Fbre7HidPnnTrvt0Ie24Bzy3dRfRHWzh9/gJBdX355MmezHigI/4+3mbHExERqZSq/LcCnU4nAC+++CIPPvggALGxsTRr1oylS5fyu9/9rsy2bbPZsNlsZbb+67VmbxovrUjiXFYeFguMuK05z0e2oYa1yv91EBERKVNV/p20ceNLJ163b9/eNc1msxEaGkpKSgoAgYGBbNmypdhyZ86ccc27/Oflaf89xt/fH1/fynGhzJ+z84j5Yi8rd/8EQMsGNXnjoU50C6lrcjIREZGqocp/FNitWzdsNhsHDx50TSsoKOD48eOEhIQAEB4ezp49ezh79qxrzNq1a/H393cVsvDwcOLj44ute+3atYSHh5fDXtwYwzD4d+Jp+v3tG1bu/glPDwt/uLMlq56+XaVKRETEjUw9YpWdnc2RI0dcz5OTk0lMTKRu3boEBweTkZFBSkoKqampAK5yFBgY6DqSlJaWRlpamms9e/bswc/Pj+DgYOrWrYu/vz9jx44lJiaGoKAgQkJCePPNNwF4+OGHAYiIiKB9+/YMHz6cN954g7S0NF566SXGjRvn+ihv7NixzJkzh0mTJjFq1CjWr1/PkiVLWLVqVfm8WNcpzX6Rl1bsYd3+S6WxbaAfsx7uzM1NA0xOJiIiUgUZJtqwYYMBXPGIjo42DMMwYmNjrzo/JibGtY6YmJirjomNjXWNyc/PN5599lmjYcOGhp+fn9GvXz8jKSmpWJbjx48bAwYMMHx9fY369esbzz77rFFQUHBF3i5duhhWq9UIDQ0tto2SsNvtBmDY7fZSLXc9nE6n8a8tJ4ybY1YbIZNXGq1eWGXMXnfIyCsoKvNti4iIVCWlef+uMNexqg5Kcx2MG3EyI5epy/bw3ZF0ADoH1eaNBzvRJtCvzLYpIiJSVZXm/bvKn7xenTidBh//cIKZqw+Qm1+EzcuD5yLaMKp3Czw9dNNkERGRsqZiVUUcO5fN5M93s/V4JgBhLeoy88FOtKhf0+RkIiIi1YeKVRWwOimNZ/61k7xCJzWtnkwZ0JahPUPw0FEqERGRcqViVQV0CaqN1dODsBZ1mfFAR5rVqWF2JBERkWpJxaoKCAzw4YvxvWlerwYWi45SiYiImEXFqorQuVQiIiLmq/JXXhcREREpLypWIiIiIm6iYiUiIiLiJipWIiIiIm6iYiUiIiLiJipWIiIiIm6iYiUiIiLiJipWIiIiIm6iYiUiIiLiJipWIiIiIm6iYiUiIiLiJipWIiIiIm6iYiUiIiLiJl5mB6hODMMAwOFwmJxERERESury+/bl9/FfomJVjrKysgAICgoyOYmIiIiUVlZWFgEBAb84xmKUpH6JWzidTlJTU/Hz88Nisbh13Q6Hg6CgIE6ePIm/v79b110ZVPf9B70G2v/qvf+g16C67z+U3WtgGAZZWVk0adIED49fPotKR6zKkYeHB82aNSvTbfj7+1fbHyjQ/oNeA+1/9d5/0GtQ3fcfyuY1+LUjVZfp5HURERERN1GxEhEREXETFasqwmazERMTg81mMzuKKar7/oNeA+1/9d5/0GtQ3fcfKsZroJPXRURERNxER6xERERE3ETFSkRERMRNVKxERERE3ETFSkRERMRNVKwqsRkzZtCjRw/8/Pxo2LAhgwcP5uDBg2bHKlfz5s2jU6dOrovBhYeH89VXX5kdyzSvv/46FouFCRMmmB2l3EybNg2LxVLs0bZtW7NjlavTp08zbNgw6tWrh6+vLx07dmTbtm1mxyo3zZs3v+LvgMViYdy4cWZHKxdFRUX86U9/okWLFvj6+tKyZUumT59eovvaVRVZWVlMmDCBkJAQfH19ue2229i6daspWXTl9Ursm2++Ydy4cfTo0YPCwkJeeOEFIiIi2LdvHzVr1jQ7Xrlo1qwZr7/+Oq1bt8YwDBYsWMCgQYPYuXMnHTp0MDteudq6dSvvvfcenTp1MjtKuevQoQPr1q1zPffyqj6/2jIzM+nVqxd9+/blq6++okGDBhw+fJg6deqYHa3cbN26laKiItfzpKQk7rnnHh5++GETU5WfmTNnMm/ePBYsWECHDh3Ytm0bI0eOJCAggKefftrseOXiySefJCkpiY8//pgmTZqwaNEi+vXrx759+2jatGn5hjGkyjh79qwBGN98843ZUUxVp04d48MPPzQ7RrnKysoyWrdubaxdu9a44447jGeeecbsSOUmJibG6Ny5s9kxTDN58mSjd+/eZseoUJ555hmjZcuWhtPpNDtKuYiKijJGjRpVbNoDDzxgDB061KRE5Ss3N9fw9PQ0Vq5cWWx6165djRdffLHc8+ijwCrEbrcDULduXZOTmKOoqIh//etf5OTkEB4ebnaccjVu3DiioqLo16+f2VFMcfjwYZo0aUJoaChDhw4lJSXF7Ejl5osvvqB79+48/PDDNGzYkFtuuYUPPvjA7Fimyc/PZ9GiRYwaNcrtN7uvqG677Tbi4+M5dOgQALt27eK7775jwIABJicrH4WFhRQVFeHj41Nsuq+vL999912556k+x8urOKfTyYQJE+jVqxc333yz2XHK1Z49ewgPD+fixYvUqlWL5cuX0759e7NjlZt//etf7Nixw7TzCczWs2dP4uLiaNOmDT/99BN//vOfuf3220lKSsLPz8/seGXu2LFjzJs3j4kTJ/LCCy+wdetWnn76aaxWK9HR0WbHK3crVqzg/PnzjBgxwuwo5WbKlCk4HA7atm2Lp6cnRUVFvPrqqwwdOtTsaOXCz8+P8PBwpk+fTrt27WjUqBGffvopCQkJtGrVqvwDlfsxMikTY8eONUJCQoyTJ0+aHaXc5eXlGYcPHza2bdtmTJkyxahfv76xd+9es2OVi5SUFKNhw4bGrl27XNOq20eB/yszM9Pw9/evNh8He3t7G+Hh4cWmjR8/3rj11ltNSmSuiIgI47777jM7Rrn69NNPjWbNmhmffvqpsXv3bmPhwoVG3bp1jbi4OLOjlZsjR44Yffr0MQDD09PT6NGjhzF06FCjbdu25Z5FxaoKGDdunNGsWTPj2LFjZkepEO6++25jzJgxZscoF8uXL3f9Irn8AAyLxWJ4enoahYWFZkc0Rffu3Y0pU6aYHaNcBAcHG6NHjy427R//+IfRpEkTkxKZ5/jx44aHh4exYsUKs6OUq2bNmhlz5swpNm369OlGmzZtTEpknuzsbCM1NdUwDMN45JFHjHvvvbfcM+gcq0rMMAyeeuopli9fzvr162nRooXZkSoEp9NJXl6e2THKxd13382ePXtITEx0Pbp3787QoUNJTEzE09PT7IjlLjs7m6NHj9K4cWOzo5SLXr16XXGZlUOHDhESEmJSIvPExsbSsGFDoqKizI5SrnJzc/HwKP527unpidPpNCmReWrWrEnjxo3JzMxkzZo1DBo0qNwz6ByrSmzcuHF88skn/Pvf/8bPz4+0tDQAAgIC8PX1NTld+Zg6dSoDBgwgODiYrKwsPvnkEzZu3MiaNWvMjlYu/Pz8rjinrmbNmtSrV6/anGv33HPPMXDgQEJCQkhNTSUmJgZPT08ef/xxs6OViz/+8Y/cdtttvPbaazzyyCNs2bKF999/n/fff9/saOXK6XQSGxtLdHR0tbrcBsDAgQN59dVXCQ4OpkOHDuzcuZO//e1vjBo1yuxo5WbNmjUYhkGbNm04cuQIzz//PG3btmXkyJHlH6bcj5GJ2wBXfcTGxpodrdyMGjXKCAkJMaxWq9GgQQPj7rvvNr7++muzY5mqup1j9eijjxqNGzc2rFar0bRpU+PRRx81jhw5YnascvWf//zHuPnmmw2bzWa0bdvWeP/9982OVO7WrFljAMbBgwfNjlLuHA6H8cwzzxjBwcGGj4+PERoaarz44otGXl6e2dHKzeLFi43Q0FDDarUagYGBxrhx44zz58+bksViGNXo0qwiIiIiZUjnWImIiIi4iYqViIiIiJuoWImIiIi4iYqViIiIiJuoWImIiIi4iYqViIiIiJuoWImIiIi4iYqViIiIiJuoWImIXMPx48exWCwkJiaW+bYMw2DMmDHUrVvXtc2rTRORik3FSkQqpREjRmCxWHj99deLTV+xYgUWi8WkVNdv9erVxMXFsXLlSn766Sduvvnmq04TkYpNxUpEKi0fHx9mzpxJZmam2VFu2NGjR2ncuDG33XYbgYGBeHl5XXVaaRmGQWFhYRkkFpGrUbESkUqrX79+BAYGMmPGjKvO//nnn3n88cdp2rQpNWrUoGPHjnz66afFxjidTt544w1atWqFzWYjODiYV199tdiYY8eO0bdvX2rUqEHnzp1JSEhwzYuLi6N27dqsWLGC1q1b4+PjQ2RkJCdPnnSNGTFiBIMHDy62zgkTJnDnnXe65o8fP56UlBQsFgvNmze/6rTLeWfMmEGLFi3w9fWlc+fOfPbZZ671bty4EYvFwldffUW3bt2w2Wx89913pX1pReQ6lf6fPyIiFYSnpyevvfYaQ4YM4emnn6ZZs2bF5l+8eJFu3boxefJk/P39WbVqFcOHD6dly5aEhYUBMHXqVD744AP+/ve/07t3b3766ScOHDhQbD0vvvgis2bNonXr1rz44os8/vjjHDlyxHUEKTc3l1dffZWFCxditVr5wx/+wGOPPcb3339fov2YPXs2LVu25P3332fr1q14enpitVqvmAYwY8YMFi1axLvvvkvr1q3ZtGkTw4YNo0GDBtxxxx2udU6ZMoVZs2YRGhpKnTp1rvs1FpHSUbESkUrt/vvvp0uXLsTExDB//vxi85o2bcpzzz3nej5+/HjWrFnDkiVLCAsLIysri9mzZzNnzhyio6MBaNmyJb179y62nueee46oqCgA/vznP9OhQweOHDlC27ZtASgoKGDOnDn07NkTgAULFtCuXTu2bNniKnC/JCAgAD8/Pzw9PQkMDHRN/99peXl5vPbaa6xbt47w8HAAQkND+e6773jvvfeKFatXXnmFe+65p2Qvooi4jYqViFR6M2fO5K677ipWogCKiop47bXXWLJkCadPnyY/P5+8vDxq1KgBwP79+8nLy+Puu+/+xfV36tTJ9d+NGzcG4OzZs65i5eXlRY8ePVxj2rZtS+3atdm/f3+JilVJHTlyhNzc3CsKU35+Prfcckuxad27d3fbdkWk5FSsRKTS69OnD5GRkUydOpURI0a4pr/55pvMnj2bt956i44dO1KzZk0mTJhAfn4+AL6+viVav7e3t+u/L3/j0Ol0ljifh4cHhmEUm1ZQUFDi5S/Lzs4GYNWqVTRt2rTYPJvNVux5zZo1S71+EblxKlYiUiW8/vrrdOnShTZt2rimff/99wwaNIhhw4YBl8rQoUOHaN++PQCtW7fG19eX+Ph4nnzyyevedmFhIdu2bXMdnTp48CDnz5+nXbt2ADRo0ICkpKRiyyQmJhYrbCXRvn17bDYbKSkpxT72E5GKQ8VKRKqEjh07MnToUN5++23XtNatW/PZZ5+xefNm6tSpw9/+9jfOnDnjKlY+Pj5MnjyZSZMmYbVa6dWrF+fOnWPv3r2MHj26xNv29vZm/PjxvP3223h5efHUU09x6623uorWXXfdxZtvvsnChQsJDw9n0aJFJCUlXfHx3a/x8/Pjueee449//CNOp5PevXtjt9v5/vvv8ff3d50nJiLm0eUWRKTKeOWVV4p9RPfSSy/RtWtXIiMjufPOOwkMDLzisgd/+tOfePbZZ3n55Zdp164djz76KGfPni3VdmvUqMHkyZMZMmQIvXr1olatWixevNg1PzIykj/96U9MmjSJHj16kJWVxRNPPHFd+zh9+nT+9Kc/MWPGDNq1a0f//v1ZtWoVLVq0uK71iYh7WYz//eBfRERKLC4ujgkTJnD+/Hmzo4hIBaAjViIiIiJuomIlIiIi4ib6KFBERETETXTESkRERMRNVKxERERE3ETFSkRERMRNVKxERERE3ETFSkRERMRNVKxERERE3ETFSkRERMRNVKxERERE3OT/Aed5T30h9n0VAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.get_sum_of_costs(hw)\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine\":1,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":2,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":2,\n",
" \"Cason-Putzmaschine\":0,\n",
" \"Cason-Putzmaschine_Vorpuffer\":0,\n",
" \"Cason-Putzmaschine_Nachpuffer\":0,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":0,\n",
" \"Turm_Anzahl_Wendlungen\":0,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 2\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Neuenhauser-Putzmaschine_Nachpuffer\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Nachpuffer\")\n",
"plt.show()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cason-Putzmaschine Vorpuffer"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{2: 105333.16666666666, 3: 105333.16666666666, 4: 105333.16666666666, 5: 105333.16666666666, 6: 105333.16666666666, 7: 105333.16666666666, 8: 105333.16666666666, 9: 105333.16666666666}\n"
]
},
{
"data": {
"image/png": "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OHvVO1j958deZqaHH35Ye/bskSRt27ZNHTp0cK2x5ORkxcfHKy8vzxkLBAJat26d0tLSJEn9+vWT1+tVcXGxU1NRUaFdu3apS5cukqS0tDRt3rxZX375pVOzatUq+Xw+J5ClpaUF7aempmY/ERER6tevX1BNdXW18vLynBoAAIB6fyvwnnvuseuuu86OHz9u0dHR9umnn1qbNm3ss88+s82bN1v37t1t4sSJDbrL/uDBg1ZYWGiFhYUmyZ566ikrLCy0zz//3MzMZsyYYW3btrWXX37ZPvroI7vxxhstOTnZjh496swxduxY69ixo61cudI+/vhjy87OttjYWPv666/NzKyystIuueQSGzJkiBUVFdnrr79u559/vk2aNMmZ47PPPrNWrVrZhAkTbPv27TZ79mwLDw+3119/3alZvHixeb1eW7BggW3bts3uvvtua9u2bdC3DU+FbwUCAND8NOT8Xe9gtXfvXuvRo4d17NjRWrZsabfffru1bNnSUlJSLDw83EaMGOE8vqC+1qxZY5JqLaNGjTKzbx65MHnyZIuLizOv12uDBw+24uLioDmOHz9u9913n8XGxlp0dLSlp6fbli1bgmp27dpl119/vUVFRVmHDh3svvvus4qKilq9XHrppRYREWHdunWz3NzcWv0+99xz1rlzZ4uIiLABAwbY+++/36DjJVgBAND8NOT87TEzq+/VLb/fr4ULF+qXv/yl+vbtq40bN+qnP/2pfvjDH/KRWD0EAgHFxMTI7/dzvxUAAM1EQ87fDQpWNfr27aulS5fq5ptv1ksvvcRvAtYTwQoAgOanIefvev2kzX/68MMPg/4JAACAen4rcNiwYQ16avjIkSODvoUHAABwLqjXR4Hh4eH65JNPdP75559yQjNTUlKSioqK+IjwP/BRIAAAzY/rHwWamS666CJXmgMAADhb1StYrVmzpsETd+zYscGvAQAAaM7qFayuueaaM90HAABAs1fvn7QBAADAtyNYAQAAuIRgBQAA4BKCFQAAgEsaHKyOHj2qI0eOOOuff/65nnnmGb3xxhuuNgYAANDcNPgnbW688UYNGzZMY8aM0YEDB5SamqqWLVvqq6++0lNPPaWf/OQnZ6JPfAsz09GKqlC3AQBAyEW1DJfH4wnZ/hscrD788EM9/fTTkqSXXnpJcXFxKiws1N/+9jdNmTKFYBUC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JF1//fXq3LmzDh48qL/+9a966623tHLlylC31iiio6Nr3VPXunVrnXfeeefMvXa//OUvNXToUHXp0kV79uzR1KlTFR4erhEjRoS6tUZx77336sorr9Tjjz+uW265RevXr9f8+fM1f/78ULfWaKqrq5Wbm6tRo0adU4/aqDF06FA99thj6ty5s3r16qXCwkI99dRTGj16dKhbazQrV66UmalHjx7auXOnJkyYoJSUFN1xxx2N30yjXyODayTVueTm5oa6tUYzevRo69Kli0VERNj5559vgwcPtjfeeCPUbYXUuXaP1fDhwy0hIcEiIiKsY8eONnz4cNu5c2eo22pU//jHP+ySSy4xr9drKSkpNn/+/FC31KhWrlxpkqy4uDjUrYREIBCwsWPHWufOnS0yMtK6detmv/rVr6y8vDzUrTWaJUuWWLdu3SwiIsLi4+MtJyfHDhw4EJJePGbn0KNZAQAAziDusQIAAHAJwQoAAMAlBCsAAACXEKwAAABcQrACAABwCcEKAADAJQQrAAAAlxCsAAAAXEKwAoBGNH/+fCUlJSksLEzPPPPMSccANE88eR3AWWPo0KGqqKjQ66+/XmvbO++8o0GDBmnTpk36zne+E4LupEAgoA4dOuipp57STTfdpJiYGFVWVtYaa9WqVUj6A/Df44oVgLNGdna2Vq1apX/961+1tuXm5qp///4NDlXHjx93qz2VlpaqoqJCmZmZSkhIUKtWreocOx0VFRWu9Qng9BGsAJw1brjhBp1//vlasGBB0PihQ4e0dOlSZWdn629/+5t69eolr9errl276je/+U1QbdeuXfXII4/otttuk8/n0913361du3bJ4/Fo8eLFuvLKKxUZGalLLrlEb7/9tvO6BQsWqG3btkFzLV++XB6Px9neu3dvSVK3bt3k8XjqHNu1a5ck6eWXX1bfvn0VGRmpbt266aGHHlJlZaUzt8fj0dy5c/W///u/at26tR577DE33kIA/62Q/PQzAJwhEyZMsAsuuMCqq6udsT/+8Y8WFRVlb731loWFhdnDDz9sxcXFlpuba1FRUZabm+vUdunSxXw+nz355JO2c+dO27lzp5WUlJgk69Spk7300ku2bds2u/POOy06Otq++uorMzPLzc21mJiYoF6WLVtmNX/NHjlyxN58802TZOvXr7e9e/faoUOHao1VVlZafn6++Xw+W7BggX366af2xhtvWNeuXW3atGnO3JIsNjbW/vjHP9qnn35qn3/++Zl7UwHUG8EKwFll+/btJsnWrFnjjF199dX2ox/9yG699Vb73ve+F1Q/YcIE69mzp7PepUsXy8rKCqqpCVYzZsxwxioqKqxTp072xBNPmNmpg5WZWWFhoUmykpKSbx0bPHiwPf7440Fz/elPf7KEhARnXZKNGzfu298MAI2OjwIBnFVSUlJ05ZVX6o9//KMkaefOnXrnnXeUnZ2t7du3a+DAgUH1AwcO1I4dO1RVVeWM9e/fv86509LSnD+3aNFC/fv31/bt210/hk2bNunhhx9WmzZtnOWuu+7S3r17deTIkVP2CSB0WoS6AQBwW3Z2tn7+859r9uzZys3N1QUXXKBrrrmm3q9v3bp1g/cZFhYm+48vWZ/uDeWHDh3SQw89pGHDhtXaFhkZ6fz5dPoEcGZxxQrAWeeWW25RWFiY/vrXv+qFF17Q6NGj5fF4dPHFF+u9994Lqn3vvfd00UUXKTw8/JTzvv/++86fKysrtXHjRl188cWSpPPPP18HDx7U4cOHnZqioqLT6r9v374qLi5W9+7day1hYfy1DTRlXLECcNZp06aNhg8frkmTJikQCOj222+XJN133326/PLL9cgjj2j48OEqKCjQ7373O82ZM6de886ePVsXXnihLr74Yj399NPav3+/Ro8eLUlKTU1Vq1at9OCDD+oXv/iF1q1bV+vbifU1ZcoU3XDDDercubP+7//+T2FhYdq0aZO2bNmiRx999LTmBNA4+F8fAGel7Oxs7d+/XxkZGUpMTJT0zZWgF198UYsXL9Yll1yiKVOm6OGHH3aC16nMmDFDM2bMUJ8+ffTuu+/qlVdeUYcOHSRJ7du315///GetWLFCvXv31qJFizRt2rTT6j0jI0Ovvvqq3njjDV1++eW64oor9PTTT6tLly6nNR+AxsOT1wHgFHbt2qXk5GQVFhbq0ksvDXU7AJowrlgBAAC4hGAFAADgEj4KBAAAcAlXrAAAAFxCsAIAAHAJwQoAAMAlBCsAAACXEKwAAABcQrACAABwCcEKAADAJQQrAAAAl/x/FMv+DRo1avEAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.get_sum_of_costs(hw)\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine\":0,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":0,\n",
" \"Cason-Putzmaschine\":1,\n",
" \"Cason-Putzmaschine_Vorpuffer\":3,\n",
" \"Cason-Putzmaschine_Nachpuffer\":2,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":0,\n",
" \"Turm_Anzahl_Wendlungen\":0,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 2\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Cason-Putzmaschine_Vorpuffer\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Vorpuffer\")\n",
"plt.show()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Turm Wendlungen"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{1: 106893.90666666668, 2: 106893.90666666668, 3: 106893.90666666668, 4: 106893.90666666668, 5: 106893.90666666668, 6: 106893.90666666668, 7: 106893.90666666668, 8: 106893.90666666668, 9: 106893.90666666668}\n"
]
},
{
"data": {
"image/png": "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fFGLFi3Sv/71L91+++2qrKzUhAkTTup7BgAAWrGW/yPF48vLyzOSGhypqanGmB8euTB9+nQTFhZmXC6XGT16tNmxY4fXGhs2bDBjxowxXbp0MUFBQebcc88177zzjtecr776ylx22WXG7Xabbt26mbvvvtvU1NQ0qGXQoEHG6XSamJgYk5WV1aDeZ555xkRFRRmn02ni4uLMJ5980qzz5XELAAC0Pc35/HYYY4wPc92visfjUUhIiMrLy7nfCgCANqI5n9+t9h4rAACAtoZgBQAAYBOCFQAAgE0IVgAAADYhWAEAANiEYAUAAGATghUAAIBNCFYAAAA2IVgBAADYhGAFAABgE4IVAACATQhWAAAANiFYAQAA2IRgBQAAYBOCFQAAgE0IVgAAADYhWAEAANiEYAUAAGATghUAAIBNCFYAAAA2IVgBAADYhGAFAABgE4IVAACATQhWAAAANiFYAQAA2IRgBQAAYBOCFQAAgE0IVgAAADY5pSmTPB5PsxcODg5u9msAAADasiYFq06dOsnhcDR5UYfDoZ07dyomJuaECwMAAGhrmhSsJOmNN95Qly5dfnaeMUaXX375LyoKAACgLWpSsOrZs6cuvPBCde3atUmLxsTEqEOHDr+oMAAAgLamScGqpKSkWYtu27bthIoBAABoy/irQAAAAJs0OVi99957uu666xod+/rrrxUXF6ePP/7YtsIAAADamiYHq1mzZumGG26QJD3xxBOqqqqyxrp3764777xT999/v/0VAgAAtBFNDlaffvqpBg4cKEl6/PHH9e233+qPf/yjFbAuvPBCbdy4sWWqBAAAaAOaHKzCwsJUWlpqtY0xmjVrlr799ltJ0hdffKFu3brZXyEAAEAb0eRgdemll2rWrFmqqamR9MNDQI0xcjgc2rZtm6ZMmWJ9VQgAAPBr1ORg9fDDD6ukpETR0dGqqqrSo48+qurqal1++eUaNGiQhg8frkcffbQlawUAAGjVmhyswsPDVVhYqKlTp0qS/vWvf8kYozFjxmjt2rV69dVX5XQ6W6xQAACA1s5hjDHNfdGQIUP0+uuv65prrtEbb7zBbwI2kcfjUUhIiMrLy/mRagAA2ojmfH43+bcCj7V582av/wQAAEATvwq86qqr5PF4mrzo+PHjtX///hMuCgAAoC1q0leB/v7+2rlzp0477bSfXdAYox49eqioqIivCH+ErwIBAGh7bP8q0BijM88805biAAAA2qsmBau8vLxmL3z66ac3+zUAAABtWZOC1ciRI1u6DgAAgDavyc+xAgAAwE8jWAEAANiEYAUAAGATnwar/Px8jR07VpGRkXI4HFq+fLnXuDFGM2bMUEREhNxutxITE1VcXGyNr1mzRg6Ho9Fjw4YNkqSvvvqq0fFPPvnEa6/XX39d/fr1U0BAgAYOHKh33nmnWbUAAAA0O1gdPnxY33//vdXevXu3nn76ab3//vvN3ryyslKxsbGaP39+o+Nz587VvHnztHDhQhUWFiowMFBJSUmqqqqSJI0YMUL79u3zOiZNmqTo6GgNGzbMa60PPvjAa97QoUOtsXXr1un666/Xrbfeqk8//VQpKSlKSUnRtm3bmlwLAACATDNdcsklZsGCBcYYYw4cOGDCwsJM9+7dTUBAgHnuueeau5xFklm2bJnVrq+vN+Hh4SYzM9PqO3jwoHG5XGbx4sWNrnHkyBFz2mmnmVmzZll9JSUlRpL59NNPj7v3tddea5KTk7364uPjzW233XbCtTSmvLzcSDLl5eVNfg0AAPCt5nx+N/uK1ebNm3XBBRdIkt544w2FhYVp9+7deuWVVzRv3jzbAl9JSYlKS0uVmJho9YWEhCg+Pl4FBQWNvmbFihX673//qwkTJjQY+81vfqPQ0FCdf/75WrFihddYQUGB1z6SlJSUZO1zIrVIUnV1tTwej9cBAADar2YHq++//15BQUGSpPfff19XXXWV/Pz8dO6552r37t22FVZaWipJCgsL8+oPCwuzxn7sr3/9q5KSktS9e3err2PHjnrqqaf0+uuva+XKlTr//POVkpLiFa5KS0t/cp8TqUWS5syZo5CQEOvo0aPHz502AABow5odrHr37q3ly5dr7969ysnJ0ZgxYyRJ+/fv9+nv33399dfKycnRrbfe6tXfrVs3ZWRkKD4+XsOHD9cTTzyhG2+8UZmZmS1e07Rp01ReXm4de/fubfE9AQCA7zQ7WM2YMUP33HOPevXqpfj4eCUkJEj64erV4MGDbSssPDxcklRWVubVX1ZWZo0dKysrS127dtVvfvObn107Pj5eu3bt8trrp/Zpbi1HuVwuBQcHex0AAKD9anaw+t3vfqc9e/Zo48aNeu+996z+0aNH689//rNthUVHRys8PFy5ublWn8fjUWFhoRXmjjLGKCsrSzfffLM6dOjws2sXFRUpIiLCaickJHjtI0mrVq2y9mlOLQAA4NerSb8V+GPh4eENrtTExcU1e52KigqvK0clJSUqKipSly5dFBUVpfT0dM2ePVt9+vRRdHS0pk+frsjISKWkpHits3r1apWUlGjSpEkN9li0aJGcTqd1Ne3NN9/Uyy+/rJdeesmaM2XKFI0cOVJPPfWUkpOT9dprr2njxo164YUXJEkOh6PJtQAAgF+vJgWrq666StnZ2QoODtZVV131k3PffPPNJm++ceNGjRo1ympnZGRIklJTU5Wdna2pU6eqsrJSv//973Xw4EGdf/75eu+99xQQEOC1zl//+leNGDFC/fr1a3SfRx99VLt379Ypp5yifv36acmSJfrd735njY8YMUKvvvqqHnroIT3wwAPq06ePli9frrPPPtua09RaAADAr5fDGGN+btKECRM0b948BQUFNfoog2NlZWXZVlx74/F4FBISovLycu63AgCgjWjO53eTghXsQbACAKDtac7n9wn9VmBtba0++OADPf/88zp06JAk6dtvv1VFRcWJLAcAANAuNPvm9d27d+vSSy/Vnj17VF1drUsuuURBQUF68sknVV1drYULF7ZEnQAAAK1es69YTZkyRcOGDdOBAwfkdrut/t/+9rcNHlkAAADwa9LsK1Zr167VunXr5HQ6vfp79eqlb775xrbCAAAA2ppmX7Gqr69XXV1dg/6vv/7a+g1BAACAX6NmB6sxY8bo6aefttoOh0MVFRWaOXOmLr/8cjtrAwAAaFOa/biFvXv36tJLL5UxRsXFxRo2bJiKi4vVrVs35efnKzQ0tKVqbfN43AIAAG1Piz/Hqra2VkuWLNGWLVtUUVGhIUOGaPz48V43s6MhghUAAG1PiwWrmpoa9evXT2+//bbOOuusX1zorw3BCgCAtqfFHhDaoUMHVVVV/aLiAAAA2qtm37yelpamJ598UrW1tS1RDwAAQJvV7OdYbdiwQbm5uXr//fc1cOBABQYGeo2/+eabthUHAADQljQ7WHXq1ElXX311S9QCAADQpjU7WGVlZbVEHQAAAG1ek++xqq+v15NPPqnzzjtPw4cP1/3336/Dhw+3ZG0AAABtSpOD1WOPPaYHHnhAHTt21Omnn66//OUvSktLa8naAAAA2pQmB6tXXnlFzz33nHJy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qqqsOf/4xz900003acKECdqyZYs+/vhj3XDDDQ3WysrK0r59+6zj2PBVUlKi5ORkjRo1SkVFRUpPT9ekSZOUk5NjzVmyZIkyMjI0c+ZMbd68WbGxsUpKStL+/fvte0MAAEDbZloJSWbZsmVWu76+3oSHh5vMzEyr7+DBg8blcpnFixcbY4ypqakxp59+unnppZeatfaPTZ061QwYMMCrb9y4cSYpKclqx8XFmbS0NKtdV1dnIiMjzZw5c5pyesYYY8rLy40kU15e3uTXAAAA32rO53ervceqpKREpaWlSkxMtPpCQkIUHx+vgoICSdLmzZv1zTffyM/PT4MHD1ZERIQuu+wybdu2rcF6aWlp6tatm+Li4vTyyy/LGGONFRQUeO0jSUlJSdY+R44c0aZNm7zm+Pn5KTEx0ZrTmOrqank8Hq8DAAC0X602WJWWlkqSwsLCvPrDwsKssS+//FKS9PDDD+uhhx7S22+/rc6dO+uiiy7Sd999Z71m1qxZWrp0qVatWqWrr75ad9xxh5555hmvvRrbx+Px6PDhw/q///s/1dXV/WQtjZkzZ45CQkKso0ePHifwTgAAgLbiFF8X8EvU19dLkh588EFdffXVkn64l6p79+56/fXXddttt0mSpk+fbr1m8ODBqqysVGZmpu66664WrW/atGnKyMiw2h6Ph3AFAEA71mqvWIWHh0uSysrKvPrLysqssYiICElS//79rXGXy6WYmBjt2bPnuGvHx8fr66+/VnV1tbVXY/sEBwfL7XarW7du8vf3/8laGuNyuRQcHOx1AACA9qvVBqvo6GiFh4crNzfX6vN4PCosLFRCQoIkaejQoXK5XNqxY4c1p6amRl999ZV69ux53LWLiorUuXNnuVwuSVJCQoLXPpK0atUqax+n06mhQ4d6zamvr1dubq41BwAAwKdfBVZUVGjXrl1Wu6SkREVFRerSpYuioqKUnp6u2bNnq0+fPoqOjtb06dMVGRlpPSohODhYkydP1syZM9WjRw/17NlTmZmZkqRrrrlGkvTWW2+prKxM5557rgICArRq1So9/vjjuueee6x9J0+erGeffVZTp07VxIkTtXr1ai1dulQrV6605mRkZCg1NVXDhg1TXFycnn76aVVWVmrChAkn4Z0CAABtQsv/keLx5eXlGUkNjtTUVGPMD49cmD59ugkLCzMul8uM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rrvkdDqVmprq6/Jst3z5ch08eFC33HKLr0uxzf333y+Px6N+/frJ399fdXV1euyxxzR+/Hhfl2aLoKAgJSQk6NFHH9VZZ52lsLAwLV68WAUFBerdu/fJL+ikXyNDi1E7/ypw8uTJpmfPnmbv3r2+LsVW1dXVpri42GzcuNHcf//9plu3bubzzz/3dVm22LNnjwkNDTVbtmyx+trbV4E/duDAARMcHNxuvs7t0KGDSUhI8Or7n//5H3Puuef6qKKWNWbMGHPFFVf4ugxbLV682HTv3t0sXrzYfPbZZ+aVV14xXbp0MdnZ2b4uzTa7du0yF154oZFk/P39zfDhw8348eNNv379TnotXLFCm3DnnXfq7bffVn5+vrp37+7rcmzldDqtf6saOnSoNmzYoL/85S96/vnnfVzZL7dp0ybt379fQ4YMsfrq6uqUn5+vZ599VtXV1fL39/dhhfbr1KmTzjzzTK8fmG/LIiIiGlxBPeuss/SPf/zDRxW1nN27d+uDDz7Qm2++6etSbHXvvffq/vvv13XXXSdJGjhwoHbv3q05c+a0m6uOZ5xxhj788ENVVlbK4/EoIiJC48aNU0xMzEmvhXus0KoZY3TnnXdq2bJlWr16taKjo31dUourr69XdXW1r8uwxejRo7V161YVFRVZx7BhwzR+/HgVFRW1u1AlSRUVFfr3v/+tiIgIX5dii/POO6/BI0527typnj17+qiilpOVlaXQ0FAlJyf7uhRbff/99/Lz8/649/f3V319vY8qajmBgYGKiIjQgQMHlJOToyuvvPKk18AVqzauoqLC69+MS0pKVFRUpC5duigqKsqHldkjLS1Nr776qv75z38qKChIpaWlkqSQkBC53W4fV/fLTZs2TZdddpmioqJ06NAhvfrqq1qzZo1ycnJ8XZotgoKCGtwPFxgYqK5du7ab++TuuecejR07Vj179tS3336rmTNnyt/fX9dff72vS7PFH/7wB40YMUKPP/64rr32Wq1fv14vvPCCXnjhBV+XZqv6+nplZWUpNTW1XT0uQ5LGjh2rxx57TFFRURowYIA+/fRT/elPf9LEiRN9XZptcnJyZIxR3759tWvXLt17773q16+fJkyYcPKLOelfPsJWeXl5RlKDIzU11del2aKxc5NksrKyfF2aLSZOnGh69uxpnE6nOe2008zo0aPN+++/7+uy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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.get_sum_of_costs(hw)\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine\":0,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":0,\n",
" \"Cason-Putzmaschine\":0,\n",
" \"Cason-Putzmaschine_Vorpuffer\":0,\n",
" \"Cason-Putzmaschine_Nachpuffer\":0,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":1,\n",
" \"Turm_Anzahl_Wendlungen\":1,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 1\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Turm_Anzahl_Wendlungen\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Windungen\")\n",
"plt.ylim(106000, 109000)\n",
"plt.show()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Turm"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{1: 106893.90666666668, 2: 108454.64666666667, 3: 110015.38666666666, 4: 111576.12666666668, 5: 113136.86666666667, 6: 114697.60666666666, 7: 116258.34666666666, 8: 117862.64666666667, 9: 119423.38666666666}\n"
]
},
{
"data": {
"image/png": "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uURaWpoJDg4227Ztcy6rblOB/+3s2bPG39+/2kznenp6moSEhFLLHn30UXPNNddYlKhide/e3fTu3dvqGC41d+5c06hRIzN37lyzfft288EHH5jAwEAze/Zsq6O5zMGDB811111nAOPu7m6uvvpqM2TIEBMVFXXFs+iIlVQJI0aMYNmyZaxfv55GjRpZHcel7Ha7819V7du3Z/Pmzbz99tv885//tDjZ5du6dSsnTpwgPj7euaykpIT169czffp0CgoKcHd3tzCh69WpU4eWLVty8OBBq6O4RIMGDS46gtq6dWs++eQTixJVnCNHjvDll1+yaNEiq6O41JNPPsm4ceMYOHAgAG3btuXIkSNMnjy52hx1bNasGV9//TV5eXlkZ2fToEED7r77bpo2bXrFs+gcK6nUjDGMGDGCxYsXs3btWpo0aWJ1pArncDgoKCiwOoZL3HzzzezYsYOUlBTno0OHDgwZMoSUlJRqV6oAcnNzOXToEA0aNLA6iktce+21F13iZP/+/URGRlqUqOLMmjWL4OBgevXqZXUUlzp37hxubqU/7t3d3XE4HBYlqji+vr40aNCAs2fPsmrVKvr27XvFM+iIVRWXm5tb6l/GqamppKSkEBgYSEREhIXJXGP48OHMmTOHTz/9FD8/PzIyMgAICAjAx8fH4nSXb/z48dx6661ERESQk5PDnDlz+Oqrr1i1apXV0VzCz8/vovPhfH19CQoKqjbnyT3xxBP06dOHyMhI0tPTmThxIu7u7gwaNMjqaC7x2GOP0blzZ1566SUGDBjApk2beO+993jvvfesjuZSDoeDWbNmMXTo0Gp1uQyAPn368I9//IOIiAjatGlDcnIyb7zxBg888IDV0Vxm1apVGGNo1aoVBw8e5MknnyQqKor777//yoe54pOP4lLr1q0zwEWPoUOHWh3NJS61b4CZNWuW1dFc4oEHHjCRkZHGbreb+vXrm5tvvtl88cUXVseqUNXtHKu7777bNGjQwNjtdtOwYUNz9913m4MHD1ody6U+++wzc9VVVxkvLy8TFRVl3nvvPasjudyqVasMYPbt22d1FJfLzs42o0aNMhEREcbb29s0bdrUPPPMM6agoMDqaC4zf/5807RpU2O3201oaKgZPny4yczMtCSLzZhqdOlVEREREQvpHCsRERERF1GxEhEREXERFSsRERERF1GxEhEREXERFSsRERERF1GxEhEREXERFSsRERERF1GxEhEREXERFSsRkUs4fPgwNpuNlJQU3nrrLRo3bmx1JBGpAnTldRGpkWw222+uf/bZZxk+fDj16tWjsLCQvLw86tevf4XSiUhVpWIlIjXShRt6A8yfP58JEyawb98+57LatWtTu3btMm+vpKQEm82Gm5smAkRqMv0GEJEaKTQ01PkICAjAZrM5n+/duxc/Pz8yMzOd41NSUrDZbBw+fBiA2bNnU6dOHZYuXUp0dDReXl6kpaXRuHFjXnzxRe677z5q165NZGQkS5cu5eTJk/Tt25fatWvTrl07tmzZUirPN998Q9euXfHx8SE8PJyRI0eSl5d3BX8iIuIKKlYiIn/QuXPnmDJlCv/zP//Drl27CA4OBuDNN9/k2muvJTk5mV69enHvvfdy3333cc8995CUlESzZs247777uDBhcOjQIXr27Mkdd9zB9u3bmT9/Pt988w0jRoywcvdE5A9QsRIR+YOKiop455136Ny5M61ataJWrVoA3HbbbTz88MO0aNGCCRMmkJ2dzdVXX81dd91Fy5YtGTt2LHv27OH48eMATJ48mSFDhjB69GhatGhB586dmTp1Kh988AH5+flW7qKIlJOKlYjIH2S322nXrt1Fy3+5LCQkBIC2bdtetOzEiRMAbNu2jdmzZzvP66pduzY9evTA4XCQmppakbsgIi7mYXUAEZHK5sIJ6L/8bk9RUdFF43x8fC757UJPT0/n/7+w/lLLHA4HALm5uTz88MOMHDnyom1FRET8kV0QEYuoWImI/JcLl1X46aefqFu3LvDzyesVJT4+nt27d9O8efMKew8RuTI0FSgi8l+aN29OeHg4kyZN4sCBAyxfvpzXX3+9wt5v7NixbNy4kREjRpCSksKBAwf49NNPdfK6SBWkYiUi8l88PT2ZO3cue/fupV27dkyZMoUXX3yxwt6vXbt2fP311+zfv5+uXbsSFxfHhAkTCAsLq7D3FJGKoQuEioiIiLiIjliJiIiIuIiKlYiIiIiLqFiJiIiIuIiKlYiIiIiLqFiJiIiIuIiKlYiIiIiLqFiJiIiIuIiKlYiIiIiLqFiJiIiIuIiKlYiIiIiLqFiJiIiIuIiKlYiIiIiL/D8DkC8KA39MSQAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import rieter_ekalk as rek\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def eine_anlage(Anzahl_MG):\n",
"\n",
" rsm_direct_eingabe = {\n",
" }\n",
" rsm_fa_eingabe = {\n",
" \"Flex_A_Premium\":False, # braucht man das noch?\n",
" \"Getriebe_in_der_Mitte\":False, # braucht man das noch?\n",
" \"RSM_Einfahrt_Ein_Beidseitig\":False, # braucht man das noch?\n",
" \"Sensor_optisch_Traverse_zusätzlich\":6,\n",
" \"Bedientableau_1fach_Korrektur\":0,\n",
" \"Bedientableau_2fach_Korrektur\":4,\n",
" \"Weiche_Korrektur\":4,\n",
" \"RRA_bi_Korrektur\":0,\n",
" \"RRA_bi_auf_Haupstrecke\":10,\n",
" \"RRA_uni_Begegnung\":4,\n",
" \"gemeinsame_Wendung\":0,\n",
" \"Mit_Drucktaster_Korrektur\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" \"klemmkasten_rsm\":2,\n",
" }\n",
" flyer_f40_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0, #wird in deckblatt-Klasse berechnet\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Korrektur\":0,\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":2, #wird in deckblatt-Klasse berechnet\n",
" #\"Anzahl_Schienen\":0,\n",
" \"Single_Line_Durchfahrt\":False,\n",
" \"Nachpuffer\":False,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenhalter\":0,\n",
" \"Sensor_induktiv_Spulenhalter_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Doffer\":0,\n",
" \"Interface_Doffer_Korrektur\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Weiche_nach_Flyer_bipolar_Korrektur\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Wechsel\":0,\n",
" \"Stopper\":0,\n",
" \"RA_uni\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"RRA_BI_abhebbar\":0,\n",
" \"RRA_BI_abhebbar_Korrektur\":0,\n",
" \"RRA_bi\":0,\n",
" #\"RRA_bi_Korrektur\":0,\n",
" #\"RRA_bi_ohne_SPS_Ansteuerung\":0,\n",
" \"RRA_bi_ohne_SPS_Ansteuerung_Korrektur\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"Doppelstreckenantrieb_Korrektur\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" neuenhauser_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Neuenhauser-Putzmaschine\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Vorpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Neuenhauser-Putzmaschine_Nachpuffer\":0, #wird in deckblatt-Klasse zugewiesen\n",
" #\"Anzahl_Vorstaustrecken\":0,\n",
" #\"Anzahl_Nachstaustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensorik_Zugpositionierung\":0,\n",
" #\"Sensor_WT18_Spulenprüfung_voll_leer\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" \"Bedientableau_2fach_Korrektur\":0,\n",
" #\"Interface_Putzmaschine\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_PM_bipolar\":0,\n",
" #\"RA_uni_abhebbar\":0,\n",
" \"RA_uni_abhebbar_Korrektur\":0,\n",
" #\"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" #\"RA_uni_abhebbar_unger_Sch\":0,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" flyer_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Flyer\":0, # äquivalent zu 'Anzahl'\n",
" #\"Anzahl_Schienen:\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\":0,\n",
" #\"Sensor_induktiv_Spulenalter_Zug_positionierung\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" #\"Interface_Doffer\":0,\n",
" #\"Weiche\":0,\n",
" \"Weiche_Korrektur\":0,\n",
" #\"Weiche_nach_Flyer_bipolar\":0,\n",
" \"Dreifachweiche\":0,\n",
" #\"Wechsel\":0,\n",
" \"Wechsel_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" #\"RA_bi_abhebbar\":0,\n",
" \"RA_bi_abhebbar_Korrektur\":0,\n",
" \"RA_bi\":4,\n",
" #\"Doppelstreckenantrieb\":0,\n",
" \"RA_bi_abhebbar_unger_Schiene\":0,\n",
" #\"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\":0,\n",
" #\"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\":0,\n",
" #\"Werma_Rundumleuchte_Störung\":0,\n",
" \"Werma_Rundumleuchte_Störung_Korrektur\":0,\n",
" }\n",
" verbindungsstrecken_w_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" \"Bedientableau_1fach\":0,\n",
" \"Bedientableau_2fach\":0,\n",
" \"Bedientableau_14fach\":0,\n",
" \"Weiche\":0,\n",
" \"Dreifachweiche\":0,\n",
" \"Kreuzungsweiche\":1,\n",
" \"Werma_Rundumleuchte_Störung\":0,\n",
" \"RA_uni\":0,\n",
" \"RA_uni_ohne_SPS_Ansteuerung\":0,\n",
" \"RA_bi\":0,\n",
" \"RA_bi_ohne_SPS-Ansteuerung\":0,\n",
" \"Doppelstreckenantrieb\":0\n",
" }\n",
" puffer_eingabe = {\n",
" # auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" # \"Anzahl\":0,\n",
" # \"Puffer\":0, #äquivalent zu Anzahl\n",
" # \"Anzahl_Pufferstrecken\":0, #äquivalent zu Anzahl_Staustrecken\n",
" # \"Anzahl_Staustrecken\":0,\n",
" # \"Sensor_optisch_Traverse\":0,\n",
" \"Sensor_optisch_Traverse_Korrektur\": 1,\n",
" # \"Weiche\":0,\n",
" \"Weiche_Korrektur\": 0,\n",
" \"RA_bi_ungerade_Schiene\": 2,\n",
" # \"Doppelstreckenantrieb\":0,\n",
" # \"Meldelampe_Überstrom\":0,\n",
" \"Meldelampe_Überstrom_Korrektur\": 0,\n",
" # \"Hauptschalter_Ein_Meldung\":0,\n",
" \"Hauptschalter_Ein-Meldung_Korrektur\": 0,\n",
" }\n",
" turm_eingabe = {\n",
" #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet\n",
" #\"Anzahl\":0,\n",
" #\"Turm\":0, #äquivalent zu Anzahl\n",
" #\"Anzahl_Wendlungen\":0, #äquivalent zu Anzahl_Staustrecken\n",
" #\"Anzahl_Staustrecken\":0,\n",
" #\"Sensor_optisch_Traverse\":0,\n",
" #\"Weiche\":0,\n",
" #\"RA_bi\":0,\n",
" \"RA_bi_Korrektur\":0,\n",
" #\"RA_bi_ohne_SPS\":0,\n",
" \"RA_bi_ohne_SPS_Korrektur\":0,\n",
" #\"Bedientableau_2fach\":0,\n",
" }\n",
" mg = rek.MG(Anzahl_MG,\n",
" rsm_direct=rsm_direct_eingabe,\n",
" rsm_fa=rsm_fa_eingabe,\n",
" flyer_f40=flyer_f40_eingabe,\n",
" neuenhauser=neuenhauser_eingabe,\n",
" flyer=flyer_eingabe,\n",
" verbindungsstrecken_w=verbindungsstrecken_w_eingabe,\n",
" puffer=puffer_eingabe,\n",
" turm=turm_eingabe)\n",
" Anzahl_EAS = {\n",
" \"schaltschrank\":1\n",
" }\n",
" eas = rek.EA(Anzahl_EAS, mg)\n",
"\n",
" Anzahl_HW = {\n",
" \"schaltschrankgehaeuse_b1x1200+1x800_zubehoer\": 1,\n",
" \"sps_simatic_s7_1515_2\": 1,\n",
" \"et200_sp_ea_ebene\":1,\n",
" \"netzwerk_fernwartung\":1,\n",
" \"anlagenrechner\":1,\n",
" \"unterverteiler_fuer_2flyer\":2,\n",
" \"unterverteiler_fuer_puffer\":1,\n",
"\n",
" \"korrektur_5_rsm_zusaetzlich_im_unterverteiler\":-1,\n",
"\n",
" \"korrektur_10_rsm_zusaetzlich_im_unterverteiler\":-2,\n",
"\n",
" \"ET200_SP\":1,\n",
" \"et200_sp_base_unit_neue_last_mit_potKlemmen_or_et200_sp_base_unit_neue_last\":\"et200_sp_base_unit_neue_last_mit_potKlemmen\",\n",
"\n",
" # MATERIAL VOR ORT\n",
" \"kabelpritschen_leitern_200_60\":348,\n",
" \"kleinteile_rohre_schellen_kabelbinder_ect\":1.5,\n",
" \"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc_or_zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\":\"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc\"\n",
" }\n",
"\n",
" hw = rek.HW(Anzahl_HW, mg, eas)\n",
"\n",
" emo = rek.EMO(eas, hw, mg)\n",
" Anzahl_DL = {\n",
" \"Bedienerhandbuch\": 16,\n",
" \"SPS_Doku\": 15\n",
" }\n",
" dl = rek.Dienstleistung(Anzahl_DL, hw)\n",
" Anzahl_Ergebnis = {\n",
" \"SPS_Programmierung\":150,\n",
" \"SPS_Inbetriebsetzung\":130\n",
" }\n",
" erg = rek.Ergebnis(Anzahl_Ergebnis, hw, dl, emo)\n",
" return erg.get_sum_of_costs(hw)\n",
"\n",
"\n",
"Anzahl_MG = {\n",
" \"SYSTEM\": \"FA\",\n",
" \"RSM\":14,\n",
" \"Flyer\":4,\n",
" \"Flyer_Puffer\":2,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer\":0,\n",
" \"Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine\":0,\n",
" \"Neuenhauser-Putzmaschine_Vorpuffer\":0,\n",
" \"Neuenhauser-Putzmaschine_Nachpuffer\":0,\n",
" \"Cason-Putzmaschine\":0,\n",
" \"Cason-Putzmaschine_Vorpuffer\":0,\n",
" \"Cason-Putzmaschine_Nachpuffer\":0,\n",
" \"Puffer\":1,\n",
" \"Anzahl_der_Pufferstrecken_pro_Puffer\":5,\n",
" \"Begegnungsstrecke_Bypass\":2,\n",
" \"Turm\":1,\n",
" \"Turm_Anzahl_Wendlungen\":1,\n",
" }\n",
"\n",
"\n",
"variationen = {}\n",
"k = 1\n",
"while k < 10:\n",
" Anzahl_MG.update({\"Turm\": k})\n",
" erg = eine_anlage(Anzahl_MG)\n",
" variationen.update({k: erg})\n",
" k += 1\n",
"print(variationen)\n",
"lists = sorted(variationen.items()) # sorted by key, return a list of tuples\n",
"\n",
"x, y = zip(*lists) \n",
"\n",
"plt.plot(x, y)\n",
"plt.ylabel(\"Preis [€]\")\n",
"plt.xlabel(\"Türme\")\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.0"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "c261aea317cc0286b3b3261fbba9abdec21eaa57589985bb7a274bf54d6cc0a7"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}