{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a31d25d5",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "# Udarna motnja\n",
    "\n",
    "Prevod Mathematica zvezka `03_udarna_motnja.nb` (J. Slavič, april 2014) v\n",
    "Python. Obravnavamo:\n",
    "\n",
    "1. popis udarne motnje (polsinusni sunek vzbujevalne sile),\n",
    "2. odziv dušenega sistema na enotski impulz,\n",
    "3. konvolucijski (Duhamelov) integral kot splošno rešitev za poljubno\n",
    "   vzbujanje, in\n",
    "4. številski zgled z numerično kontrolo (diskretna konvolucija in\n",
    "   `solve_ivp`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "447be451",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:40.192842Z",
     "iopub.status.busy": "2026-09-25T06:56:40.192395Z",
     "iopub.status.idle": "2026-09-25T06:56:40.888847Z",
     "shell.execute_reply": "2026-09-25T06:56:40.888265Z"
    }
   },
   "outputs": [],
   "source": [
    "\n",
    "import numpy as np\n",
    "import sympy as sp\n",
    "import matplotlib.pyplot as plt\n",
    "from scipy import signal\n",
    "from scipy.integrate import solve_ivp\n",
    "from sympy import pprint\n",
    "\n",
    "sp.init_printing(use_unicode=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d1f1160f",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "## Udarna motnja\n",
    "\n",
    "### Popis udarne motnje\n",
    "\n",
    "Vzbujevalna sila (pospešek) v normirani obliki je polsinusni sunek dolžine\n",
    "$t_0$ in amplitude $f_0$:\n",
    "$$ f(t) = \\begin{cases} f_0 \\sin\\!\\left(\\pi \\dfrac{t}{t_0}\\right), & 0 \\le t < t_0 \\\\ 0, & \\text{sicer} \\end{cases} $$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e4236651",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:40.890183Z",
     "iopub.status.busy": "2026-09-25T06:56:40.890013Z",
     "iopub.status.idle": "2026-09-25T06:56:41.147027Z",
     "shell.execute_reply": "2026-09-25T06:56:41.146582Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\begin{cases} f_{0} \\sin{\\left(\\frac{\\pi t}{t_{0}} \\right)} & \\text{for}\\: t \\geq 0 \\wedge t < t_{0} \\\\0 & \\text{otherwise} \\end{cases}$"
      ],
      "text/plain": [
       "⎧      ⎛π⋅t⎞                    \n",
       "⎪f₀⋅sin⎜───⎟  for t ≥ 0 ∧ t < t₀\n",
       "⎨      ⎝t₀ ⎠                    \n",
       "⎪                               \n",
       "⎩     0           otherwise     "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "t, tau = sp.symbols(\"t tau\", real=True)\n",
    "t0, f0, delta, omega0 = sp.symbols(\"t0 f0 delta omega0\", positive=True)\n",
    "omega0d = omega0 * sp.sqrt(1 - delta**2)\n",
    "\n",
    "\n",
    "def f_motnja(t_, t0_, f0_=f0):\n",
    "    \"\"\"Polsinusni sunek vzbujevalne sile (pospeška).\n",
    "\n",
    "    Parameters\n",
    "    ----------\n",
    "    t_ : sympy izraz\n",
    "        Čas.\n",
    "    t0_ : sympy izraz\n",
    "        Trajanje sunka.\n",
    "    f0_ : sympy izraz, optional\n",
    "        Amplituda sunka.\n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "    sympy.Piecewise\n",
    "        Vrednost motnje.\n",
    "    \"\"\"\n",
    "    return sp.Piecewise((f0_ * sp.sin(sp.pi * t_ / t0_), (t_ >= 0) & (t_ < t0_)), (0, True))\n",
    "\n",
    "\n",
    "f_motnja(t, t0)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "52bbbe28",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "Prikaz normirane oblike motnje ($f_0=1$, $t_0=1$):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "2a045436",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:41.148279Z",
     "iopub.status.busy": "2026-09-25T06:56:41.148171Z",
     "iopub.status.idle": "2026-09-25T06:56:41.281640Z",
     "shell.execute_reply": "2026-09-25T06:56:41.281052Z"
    },
    "lines_to_next_cell": 1
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArUAAAFzCAYAAAAg+fF1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQu5JREFUeJzt3Xl4VPX5/vF7JpAZtrBIFpYoOwhKwpYQFgEJRkUK1lKK1IUqVhSrxrrgAqVWoS7UbyvCT1yoiorailYUi4HIImtIZJFVUGRJAJEkQkhC5vz+oDMSCZBAZj5nZt6v6+K6zPFM5pmHk+GeT55zjsOyLEsAAABAEHOaLgAAAAA4X4RaAAAABD1CLQAAAIIeoRYAAABBj1ALAACAoEeoBQAAQNAj1AIAACDoEWoBAAAQ9GqYLsAUj8ejvXv3ql69enI4HKbLAQAAwM9YlqXCwkI1bdpUTueZ12LDNtTu3btX8fHxpssAAADAWXz33Xdq3rz5GfcJ21Bbr149SSeaFBUV5ffn83g8OnDggKKjo8/6SQPVh76bQd/NoO9m0Hcz6LsZge57QUGB4uPjfbntTMI21HpHDqKiogIWao8dO6aoqCh++AKIvptB382g72bQdzPouxmm+l6ZUVGOAgAAAAQ9Qi0AAACCHqEWAAAAQY9QCwAAgKBHqAUAAEDQI9QCAAAg6Nki1C5evFhDhgxR06ZN5XA4NHfu3LM+JjMzU127dpXL5VKbNm00a9Ysv9cJAAAAe7JFqD1y5IgSEhI0bdq0Su2/c+dODR48WAMGDFBOTo7uuece3Xrrrfr000/9XCkAAADsyBY3X7jqqqt01VVXVXr/GTNmqGXLlnr22WclSRdffLGWLl2qv/3tb0pLS/NXmQAAALApW4Taqlq+fLlSU1PLbUtLS9M999xjpiAAMOjYsWPasGGDDh06pL1796pFixZq3bq1mjVrxp2WAISNoAy1ubm5io2NLbctNjZWBQUFKioqUq1atU55THFxsYqLi31fFxQUSDpxuzePx+Pfgv/3PJZlBeS58BP6bgZ99799+/Zp1qxZ+vDDD5Wdna3S0tJT9mnYsKGuvvpqDRs2TEOGDFHNmjUNVBr6ON7NoO9mBLrvVXmeoAy152Ly5MmaNGnSKdsPHDigY8eO+f35PR6P8vPzZVkWKycBRN/NoO/+891332ny5Mn68MMPVVZW5tt+wQUXKDo6WjVr1lRhYaF2796tH374QbNnz9bs2bMVHx+vcePG6Te/+Y0iIyMNvoLQw/FuBn03I9B9LywsrPS+QRlq4+LilJeXV25bXl6eoqKiKlyllaTx48crPT3d93VBQYHi4+MVHR2tqKgov9YrnTgIHA6HoqOj+eELIPpuBn2vfiUlJXriiSf09NNP+37r1KtXL9188826/PLL1aJFC1mWpQMHDig6Oloej0crVqzQhx9+qNdff13fffedHnzwQb322mt6+eWX1aNHD8OvKHRwvJtB380IdN/dbnel9w3KUJuSkqKPP/643LYFCxYoJSXltI9xuVxyuVynbHc6nQH7YXA4HAF9PpxA382g79Vn586dGjFihFavXi1J6t+/v5599ll17dq13H7ef2ycTqdq1Kihyy67TJdddpn+/Oc/66WXXtJf/vIXbdy4Ub169dIjjzyiP/3pT/z9VBOOdzPouxmB7HtVnsMWR8GPP/6onJwc5eTkSDrxBp6Tk6Ndu3ZJOrHKeuONN/r2v/3227Vjxw498MAD2rx5s1544QW98847uvfee02UDwB+s2DBAnXp0kWrV69Ww4YN9c4772jhwoWnBNozqV27tv7whz/oq6++0siRI+XxePT444/ruuuu048//ujH6gEgcGwRatesWaMuXbqoS5cukqT09HR16dJFEyZMkHTihAhvwJWkli1bat68eVqwYIESEhL07LPP6qWXXuJyXgBCyjvvvKPBgwcrPz9fPXv2VE5OjoYPHy6Hw3FO369x48Z688039frrr8vlcmnu3Lnq06eP9u/fX82VA0Dg2WL8oH///rIs67T/v6K7hfXv31/Z2dl+rAoAzHn55Zc1ZswYWZalESNG6LXXXqu2E7x++9vfqk2bNho2bJi+/PJLDRw4UAsXLlR0dHS1fH8AMMEWK7UAgJ+89957vkA7duxYzZ49u9qvWNCzZ08tWbJETZo00YYNGzRw4EB9//331focABBIhFoAsJGFCxdq1KhRsixLt99+u6ZNm6aIiAi/PFfbtm21aNEixcXFaf369br22mvLXc8bAIIJoRYAbGLLli269tprVVJSol/96ld6/vnnz3l+trLat2+vzz77TFFRUVqyZIluu+22M46DAYBdEWoBwAYKCwt17bXXqqCgQH369NEbb7zhtxXan+vUqZPeeecd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tWnTJr388suaM2eOHn744QBXDiAc7dixQ0uXLpXD4fBdkxWncjqdvv5wFQQA/maLUDt16lSNGTNGo0ePVseOHTVjxgzVrl1br7zySoX7f/HFF+rdu7euv/56tWjRQldccYVGjhx51tVdAKgO3oA2cOBANWvWzHA19uYNtZ988okOHTpkuBoAocx4qC0pKVFWVpZSU1N925xOp1JTU7V8+fIKH9OrVy9lZWX5QuyOHTv08ccf6+qrrw5IzQDCl2VZ5UYPcGadOnVSQkKCSktL9e6775ouB0AIq2G6gIMHD6qsrEyxsbHltsfGxmrz5s0VPub666/XwYMH1adPH1mWpePHj+v2228/4/hBcXGxiouLfV8XFBRIkjwejzweTzW8kjPzeDyyLCsgz4Wf0HczQrnvy5cv19dff606depo6NChtnqNdu379ddfry+//FKzZ8/WmDFjTJdT7eza91BH380IdN+r8jzGQ+25yMzM1JNPPqkXXnhBycnJ2r59u+6++249/vjjeuyxxyp8zOTJkzVp0qRTth84cCAgJ5h5PB7l5+fLsiw5ncYXyMMGfTcjlPv+4osvSpKuuuoqHT16VEePHjVc0U/s2vfU1FQ5HA4tWbJEWVlZio+PN11StbJr30MdfTcj0H0vLCys9L7GQ23jxo0VERGhvLy8ctvz8vIUFxdX4WMee+wx3XDDDbr11lslSZdeeqmOHDmi2267TY888kiFTR4/frzS09N9XxcUFCg+Pl7R0dGKioqqxldUMY/HI4fDoejoaH74Aoi+mxGqfS8tLdW8efMknbhcVUxMjOGKyrNr32NiYtS/f38tWrRICxYs0EMPPWS6pGpl176HOvpuRqD77na7K72v8VAbGRmpbt26KSMjQ8OGDZN0omEZGRkaN25chY85evToKY2MiIiQpNPejtHlclV4xx+n0xmwHwaHwxHQ58MJ9N2MUOx7Zmamvv/+e0VHRys1NdWWr82ufR81apQWLVqkN998U+PHjw+5y6DZte+hjr6bEci+V+U5bHEUpKena+bMmfrnP/+pTZs2aezYsTpy5IhGjx4t6cTJGOPHj/ftP2TIEE2fPl1vv/22du7cqQULFuixxx7TkCFDfOEWAKrbnDlzJEnXXXedatQwviYQVK677jq5XC5t3LhR69atM10OgBBki3flESNG6MCBA5owYYJyc3OV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Dh06pLlz56p3795q0aKF+vXrp4SEhABXDiDYeEcPUlNTDVeCyvJ+ADl8+LCysrJMlwPApoyH2pKSEmVlZZX7B8bpdCo1NVXLly+v8DEffvihUlJSdOeddyo2NlaXXHKJnnzySZWVlQWqbABByLIsQm0QioiI0IABAyT9tNIOAD9Xw3QBBw8eVFlZmWJjY8ttj42N1ebNmyt8zI4dO7Rw4UKNGjVKH3/8sbZv36477rhDpaWlmjhxYoWPKS4uVnFxse/rgoICSZLH45HH46mmV3N6Ho9HlmUF5LnwE/puhl37vnHjRuXm5qpWrVpKTk62XX3ny659rw6XX3653n//fWVkZOihhx4yXU45odx3O6PvZgS671V5HuOh9lx4PB7FxMToxRdfVEREhLp166Y9e/bo6aefPm2onTx5siZNmnTK9gMHDujYsWP+Llkej0f5+fmyLEtOp/EF8rBB382wa9/ff/99SVJycrLy8/MNV1P97Nr36uAdL1u2bJm+/fZb1apVy3BFPwnlvtsZfTcj0H0vLCys9L7GQ23jxo0VERGhvLy8ctvz8vIUFxdX4WOaNGmimjVrKiIiwrft4osvVm5urkpKShQZGXnKY8aPH6/09HTf1wUFBYqPj1d0dLSioqKq6dWcnsfjkcPhUHR0ND98AUTfzbBr31euXClJuvrqqxUTE2O4mupn175Xh+joaDVt2lR79+7V9u3bNXDgQNMl+YRy3+2MvpsR6L673e5K72s81EZGRqpbt27KyMjQsGHDJJ1oWEZGhsaNG1fhY3r37q0333xTHo/H19CtW7eqSZMmFQZaSXK5XHK5XKdsdzqdAfthcDgcAX0+nEDfzbBb30tLS/X5559LOnF9WrvUVd3s1vfqNHDgQL3++utatGiR7a4xHMp9tzP6bkYg+16V57DFUZCenq6ZM2fqn//8pzZt2qSxY8fqyJEjGj16tCTpxhtv1Pjx4337jx07VocOHdLdd9+trVu3at68eXryySd15513mnoJAGxu5cqVOnLkiBo3bqzOnTubLgfnwLs6y8liACpifKVWkkaMGKEDBw5owoQJys3NVWJioubPn+87eWzXrl3lknp8fLw+/fRT3XvvvercubOaNWumu+++Ww8++KCplwDA5rxXPbj88stZ1QlS3lC7Zs0aHT58mOsMAyjHFqFWksaNG3facYPMzMxT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",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "f_prikaz = sp.lambdify(t, f_motnja(t, 1, 1), \"numpy\")\n",
    "t_prikaz = np.linspace(-1, 2, 500)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8, 4))\n",
    "ax.plot(t_prikaz, f_prikaz(t_prikaz), linewidth=1.5, color=\"k\")\n",
    "ax.set_xlabel(\"$t$\")\n",
    "ax.set_ylabel(\"$f(t)$\")\n",
    "ax.grid(True, alpha=0.3)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3271d9c6",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "## Udarna motnja\n",
    "\n",
    "### Odziv na enotski impulz\n",
    "\n",
    "Odziv dušenega sistema z eno prostostno stopnjo (lastna krožna frekvenca\n",
    "$\\omega_0$, dušilno razmerje $\\delta$) na enotski impulz (Diracovo silo)\n",
    "je:\n",
    "$$ g(t) = \\frac{1}{\\omega_{0d}}\\, e^{-\\delta \\omega_0 t} \\sin(\\omega_{0d} t), \\qquad \\omega_{0d} = \\omega_0 \\sqrt{1-\\delta^2} $$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "37a3e047",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:41.282755Z",
     "iopub.status.busy": "2026-09-25T06:56:41.282635Z",
     "iopub.status.idle": "2026-09-25T06:56:41.473120Z",
     "shell.execute_reply": "2026-09-25T06:56:41.472737Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\frac{e^{- \\delta \\omega_{0} t} \\sin{\\left(\\omega_{0} t \\sqrt{1 - \\delta^{2}} \\right)}}{\\omega_{0} \\sqrt{1 - \\delta^{2}}}$"
      ],
      "text/plain": [
       "            ⎛        ________⎞\n",
       " -δ⋅ω₀⋅t    ⎜       ╱      2 ⎟\n",
       "ℯ       ⋅sin⎝ω₀⋅t⋅╲╱  1 - δ  ⎠\n",
       "──────────────────────────────\n",
       "              ________        \n",
       "             ╱      2         \n",
       "        ω₀⋅╲╱  1 - δ          "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "def g_impulz(t_):\n",
    "    \"\"\"Odziv dušenega sistema na enotski impulz (Diracovo silo).\n",
    "\n",
    "    Parameters\n",
    "    ----------\n",
    "    t_ : sympy izraz\n",
    "        Čas, merjen od trenutka delovanja impulza.\n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "    sympy izraz\n",
    "        Odziv na enotski impulz.\n",
    "    \"\"\"\n",
    "    return (1 / omega0d) * sp.exp(-delta * omega0 * t_) * sp.sin(omega0d * t_)\n",
    "\n",
    "\n",
    "g_impulz(t)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8f6cea83",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "### Konvolucijski integral\n",
    "\n",
    "Odziv na poljubno vzbujanje dobimo s konvolucijskim (Duhamelovim)\n",
    "integralom:\n",
    "$$ x(t) = \\int_0^t f(\\tau)\\, g(t-\\tau)\\, \\mathrm{d}\\tau $$\n",
    "\n",
    "Ker se motnja konča pri $t_0$, ločimo dva primera: dokler motnja deluje\n",
    "($0 \\le t < t_0$) integriramo do trenutnega časa $\\tau=t$, po koncu\n",
    "motnje ($t \\ge t_0$) pa prek celotnega sunka (zgornja meja $t_0$) -- sistem\n",
    "nato prosto niha.\n",
    "\n",
    "Neposredna simbolna integracija\n",
    "`sp.integrate(f_motnja(tau, t0) * g_impulz(t - tau), (tau, 0, t))` je za\n",
    "`sympy` (v nasprotju z Mathematico) preračunsko nedosegljiva: integral s\n",
    "krožno frekvenco $\\omega_{0d}=\\omega_0\\sqrt{1-\\delta^2}$, ugnezdeno v\n",
    "argumentu `sin`, `sympy` v razumnem času ne izračuna. Namesto tega produkt\n",
    "sinusov razstavimo s formulo za pretvorbo produkta v vsoto,\n",
    "$$ \\sin(a\\tau)\\sin(b(t-\\tau)) = \\tfrac{1}{2}\\big[\\cos((a+b)\\tau - bt) - \\cos((a-b)\\tau + bt)\\big], $$\n",
    "nato pa `sp.integrate` uporabimo le enkrat -- na splošnem gradniku\n",
    "$\\int e^{c\\tau}\\cos(k\\tau+\\varphi)\\,\\mathrm{d}\\tau$ s poljubnima\n",
    "simboloma $k$ in $\\varphi$. Tega `sympy` reši v delčku sekunde; zaprto\n",
    "obliko gradnika nato le vstavimo (`subs`) za oba člena vsote."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c758bcaf",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:41.474472Z",
     "iopub.status.busy": "2026-09-25T06:56:41.474356Z",
     "iopub.status.idle": "2026-09-25T06:56:42.869057Z",
     "shell.execute_reply": "2026-09-25T06:56:42.868592Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x1(t), 0 <= t < t0:\n",
      "      ⎛                  ⎛        ________⎞                    ________        ↪\n",
      "      ⎜     2   2   2    ⎜       ╱      2 ⎟           2   2   ╱      2   δ⋅ω₀⋅ ↪\n",
      "f₀⋅t₀⋅⎜2⋅π⋅δ ⋅ω₀ ⋅t₀ ⋅sin⎝ω₀⋅t⋅╲╱  1 - δ  ⎠ - 2⋅π⋅δ⋅ω₀ ⋅t₀ ⋅╲╱  1 - δ  ⋅ℯ      ↪\n",
      "      ⎝                                                                        ↪\n",
      "────────────────────────────────────────────────────────────────────────────── ↪\n",
      "                                                                               ↪\n",
      "                                                                               ↪\n",
      "                                                                               ↪\n",
      "\n",
      "↪                               ________    ⎛        ________⎞              __ ↪\n",
      "↪ t    ⎛π⋅t⎞           2   2   ╱      2     ⎜       ╱      2 ⎟     3   3   ╱   ↪\n",
      "↪  ⋅cos⎜───⎟ + 2⋅π⋅δ⋅ω₀ ⋅t₀ ⋅╲╱  1 - δ  ⋅cos⎝ω₀⋅t⋅╲╱  1 - δ  ⎠ + ω₀ ⋅t₀ ⋅╲╱  1 ↪\n",
      "↪      ⎝t₀ ⎠                                                                   ↪\n",
      "↪ ──────────────────────────────────────────────────────────────────────────── ↪\n",
      "↪                                          ________                            ↪\n",
      "↪                                         ╱      2  ⎛   2  2   2   2     4   4 ↪\n",
      "↪                                    ω₀⋅╲╱  1 - δ  ⋅⎝4⋅π ⋅δ ⋅ω₀ ⋅t₀  + ω₀ ⋅t₀  ↪\n",
      "\n",
      "↪ ______                                 ⎛        ________⎞               ____ ↪\n",
      "↪     2   δ⋅ω₀⋅t    ⎛π⋅t⎞       2   2    ⎜       ╱      2 ⎟    2         ╱     ↪\n",
      "↪  - δ  ⋅ℯ      ⋅sin⎜───⎟ - π⋅ω₀ ⋅t₀ ⋅sin⎝ω₀⋅t⋅╲╱  1 - δ  ⎠ - π ⋅ω₀⋅t₀⋅╲╱  1 - ↪\n",
      "↪                   ⎝t₀ ⎠                                                      ↪\n",
      "↪ ──────────────────────────────────────────────────────────────────────────── ↪\n",
      "↪                                                                              ↪\n",
      "↪       2   2   2    4⎞                                                        ↪\n",
      "↪  - 2⋅π ⋅ω₀ ⋅t₀  + π ⎠                                                        ↪\n",
      "\n",
      "↪ ____                          ⎛        ________⎞⎞         \n",
      "↪   2   δ⋅ω₀⋅t    ⎛π⋅t⎞    3    ⎜       ╱      2 ⎟⎟  -δ⋅ω₀⋅t\n",
      "↪  δ  ⋅ℯ      ⋅sin⎜───⎟ + π ⋅sin⎝ω₀⋅t⋅╲╱  1 - δ  ⎠⎟⋅ℯ       \n",
      "↪                 ⎝t₀ ⎠                           ⎠         \n",
      "↪ ──────────────────────────────────────────────────────────\n",
      "↪                                                           \n",
      "↪                                                           \n",
      "↪                                                           \n"
     ]
    }
   ],
   "source": [
    "\n",
    "c_gen, k_gen, phi_gen, tau_gen = sp.symbols(\"c_gen k_gen phi_gen tau_gen\", real=True)\n",
    "F_int = sp.integrate(sp.exp(c_gen * tau_gen) * sp.cos(k_gen * tau_gen + phi_gen), tau_gen)\n",
    "F_general = F_int.args[-1][0] if isinstance(F_int, sp.Piecewise) else F_int\n",
    "F_general\n",
    "\n",
    "\n",
    "def antiodvod(c_val, k_val, phi_val, tau_val):\n",
    "    \"\"\"Ovrednoti splošni nedoločeni integral `F_general` z izbranimi parametri.\"\"\"\n",
    "    return F_general.subs(\n",
    "        {c_gen: c_val, k_gen: k_val, phi_gen: phi_val, tau_gen: tau_val}, simultaneous=True\n",
    "    )\n",
    "\n",
    "\n",
    "a_frek = sp.pi / t0  # krožna frekvenca polsinusnega sunka\n",
    "b_frek = omega0d\n",
    "c_dusenje = delta * omega0\n",
    "\n",
    "\n",
    "def konvolucija(zgornja_meja):\n",
    "    \"\"\"Konvolucijski integral f_motnja * g_impulz do izbrane zgornje meje.\n",
    "\n",
    "    Parameters\n",
    "    ----------\n",
    "    zgornja_meja : sympy izraz\n",
    "        Zgornja meja integracije po `tau` (`t` med sunkom, `t0` po njem).\n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "    sympy izraz\n",
    "        Odziv x(t) na tem delu rešitve.\n",
    "    \"\"\"\n",
    "    I1 = antiodvod(c_dusenje, a_frek + b_frek, -b_frek * t, zgornja_meja) - antiodvod(\n",
    "        c_dusenje, a_frek + b_frek, -b_frek * t, 0\n",
    "    )\n",
    "    I2 = antiodvod(c_dusenje, a_frek - b_frek, b_frek * t, zgornja_meja) - antiodvod(\n",
    "        c_dusenje, a_frek - b_frek, b_frek * t, 0\n",
    "    )\n",
    "    return sp.simplify(f0 / (2 * omega0d) * sp.exp(-c_dusenje * t) * (I1 - I2))\n",
    "\n",
    "\n",
    "x1 = konvolucija(t)   # 0 <= t < t0 (motnja se še izvaja)\n",
    "x2 = konvolucija(t0)  # t >= t0 (prosto nihanje po koncu motnje)\n",
    "\n",
    "print(\"x1(t), 0 <= t < t0:\")\n",
    "pprint(x1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "48517239",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:42.870031Z",
     "iopub.status.busy": "2026-09-25T06:56:42.869921Z",
     "iopub.status.idle": "2026-09-25T06:56:42.879465Z",
     "shell.execute_reply": "2026-09-25T06:56:42.879069Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x2(t), t >= t0:\n",
      "        ⎛                         ⎛      ________         ⎞                    ↪\n",
      "        ⎜   2   2   2  δ⋅ω₀⋅t₀    ⎜     ╱      2          ⎟      2   2   2     ↪\n",
      "π⋅f₀⋅t₀⋅⎝2⋅δ ⋅ω₀ ⋅t₀ ⋅ℯ       ⋅sin⎝ω₀⋅╲╱  1 - δ  ⋅(t - t₀)⎠ + 2⋅δ ⋅ω₀ ⋅t₀ ⋅sin ↪\n",
      "────────────────────────────────────────────────────────────────────────────── ↪\n",
      "                                                                               ↪\n",
      "                                                                               ↪\n",
      "                                                                               ↪\n",
      "\n",
      "↪ ⎛        ________⎞                  ________             ⎛      ________     ↪\n",
      "↪ ⎜       ╱      2 ⎟         2   2   ╱      2   δ⋅ω₀⋅t₀    ⎜     ╱      2      ↪\n",
      "↪ ⎝ω₀⋅t⋅╲╱  1 - δ  ⎠ + 2⋅δ⋅ω₀ ⋅t₀ ⋅╲╱  1 - δ  ⋅ℯ       ⋅cos⎝ω₀⋅╲╱  1 - δ  ⋅(t  ↪\n",
      "↪ ──────────────────────────────────────────────────────────────────────────── ↪\n",
      "↪                                                                              ↪\n",
      "↪                                                                              ↪\n",
      "↪                                                                            ω ↪\n",
      "\n",
      "↪      ⎞                  ________    ⎛        ________⎞                       ↪\n",
      "↪      ⎟         2   2   ╱      2     ⎜       ╱      2 ⎟     2   2  δ⋅ω₀⋅t₀    ↪\n",
      "↪ - t₀)⎠ + 2⋅δ⋅ω₀ ⋅t₀ ⋅╲╱  1 - δ  ⋅cos⎝ω₀⋅t⋅╲╱  1 - δ  ⎠ - ω₀ ⋅t₀ ⋅ℯ       ⋅si ↪\n",
      "↪ ──────────────────────────────────────────────────────────────────────────── ↪\n",
      "↪      ________                                                                ↪\n",
      "↪     ╱      2  ⎛   2  2   2   2     4   4      2   2   2    4⎞                ↪\n",
      "↪ ₀⋅╲╱  1 - δ  ⋅⎝4⋅π ⋅δ ⋅ω₀ ⋅t₀  + ω₀ ⋅t₀  - 2⋅π ⋅ω₀ ⋅t₀  + π ⎠                ↪\n",
      "\n",
      "↪  ⎛      ________         ⎞              ⎛        ________⎞                   ↪\n",
      "↪  ⎜     ╱      2          ⎟     2   2    ⎜       ╱      2 ⎟    2  δ⋅ω₀⋅t₀     ↪\n",
      "↪ n⎝ω₀⋅╲╱  1 - δ  ⋅(t - t₀)⎠ - ω₀ ⋅t₀ ⋅sin⎝ω₀⋅t⋅╲╱  1 - δ  ⎠ + π ⋅ℯ       ⋅sin ↪\n",
      "↪ ──────────────────────────────────────────────────────────────────────────── ↪\n",
      "↪                                                                              ↪\n",
      "↪                                                                              ↪\n",
      "↪                                                                              ↪\n",
      "\n",
      "↪ ⎛      ________         ⎞         ⎛        ________⎞⎞         \n",
      "↪ ⎜     ╱      2          ⎟    2    ⎜       ╱      2 ⎟⎟  -δ⋅ω₀⋅t\n",
      "↪ ⎝ω₀⋅╲╱  1 - δ  ⋅(t - t₀)⎠ + π ⋅sin⎝ω₀⋅t⋅╲╱  1 - δ  ⎠⎠⋅ℯ       \n",
      "↪ ──────────────────────────────────────────────────────────────\n",
      "↪                                                               \n",
      "↪                                                               \n",
      "↪                                                               \n"
     ]
    }
   ],
   "source": [
    "\n",
    "print(\"x2(t), t >= t0:\")\n",
    "pprint(x2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "0a7071b8",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:42.880520Z",
     "iopub.status.busy": "2026-09-25T06:56:42.880416Z",
     "iopub.status.idle": "2026-09-25T06:56:42.882560Z",
     "shell.execute_reply": "2026-09-25T06:56:42.882273Z"
    }
   },
   "outputs": [],
   "source": [
    "\n",
    "x_sol = sp.Piecewise((0, t <= 0), (x1, t < t0), (x2, True))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a0291bdd",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "#### Brez dušenja\n",
    "\n",
    "Za $\\delta \\to 0$ se rešitvi poenostavita:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "848bfafb",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:42.883654Z",
     "iopub.status.busy": "2026-09-25T06:56:42.883558Z",
     "iopub.status.idle": "2026-09-25T06:56:43.195708Z",
     "shell.execute_reply": "2026-09-25T06:56:43.195403Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x1 (delta -> 0):\n",
      "      ⎛         ⎛π⋅t⎞              ⎞\n",
      "f₀⋅t₀⋅⎜ω₀⋅t₀⋅sin⎜───⎟ - π⋅sin(ω₀⋅t)⎟\n",
      "      ⎝         ⎝t₀ ⎠              ⎠\n",
      "────────────────────────────────────\n",
      "            ⎛  2   2    2⎞          \n",
      "         ω₀⋅⎝ω₀ ⋅t₀  - π ⎠          \n",
      "\n",
      "x2 (delta -> 0):\n",
      "-π⋅f₀⋅t₀⋅(sin(ω₀⋅t) + sin(ω₀⋅(t - t₀))) \n",
      "────────────────────────────────────────\n",
      "              ⎛  2   2    2⎞            \n",
      "           ω₀⋅⎝ω₀ ⋅t₀  - π ⎠            \n",
      "\n",
      "Rešitev je zvezna pri t = t0.\n"
     ]
    }
   ],
   "source": [
    "\n",
    "x1_brez = sp.simplify(sp.limit(x1, delta, 0))\n",
    "x2_brez = sp.simplify(sp.limit(x2, delta, 0))\n",
    "\n",
    "print(\"x1 (delta -> 0):\")\n",
    "pprint(x1_brez)\n",
    "print(\"\\nx2 (delta -> 0):\")\n",
    "pprint(x2_brez)\n",
    "\n",
    "# preverjanje zveznosti rešitve pri t = t0 (mora biti 0)\n",
    "razlika_pri_t0 = sp.simplify((x1 - x2).subs(t, t0))\n",
    "assert razlika_pri_t0 == 0\n",
    "print(\"\\nRešitev je zvezna pri t = t0.\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "937c39a0",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "## Udarna motnja\n",
    "\n",
    "### Primer\n",
    "\n",
    "Številske vrednosti sistema:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "eacc28f9",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:43.196926Z",
     "iopub.status.busy": "2026-09-25T06:56:43.196815Z",
     "iopub.status.idle": "2026-09-25T06:56:43.199320Z",
     "shell.execute_reply": "2026-09-25T06:56:43.198962Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "m = 5000.0\n",
      "k = 10000000.0\n",
      "F0 = 300000.0\n",
      "t0 = 0.5\n",
      "delta = 0.1\n",
      "omega0 = 44.721359549995796\n",
      "f0 = 60.0\n"
     ]
    }
   ],
   "source": [
    "\n",
    "podatki = {\"m\": 5000.0, \"k\": 1.0e7, \"F0\": 300.0e3, \"t0\": 0.5, \"delta\": 0.1}\n",
    "podatki[\"omega0\"] = np.sqrt(podatki[\"k\"] / podatki[\"m\"])\n",
    "podatki[\"f0\"] = podatki[\"F0\"] / podatki[\"m\"]\n",
    "\n",
    "for ime, vrednost in podatki.items():\n",
    "    print(f\"{ime} = {vrednost}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "36b09e42",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:43.200456Z",
     "iopub.status.busy": "2026-09-25T06:56:43.200344Z",
     "iopub.status.idle": "2026-09-25T06:56:43.284579Z",
     "shell.execute_reply": "2026-09-25T06:56:43.284090Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtIAAAF1CAYAAADFmw1hAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAauVJREFUeJzt3XlcVPX+P/DXzMDMyC7rgIKAGy4IioKoZSWJaYtlblkuebW6WV7pdssWl+xeu33TrPTmz/Z7b6bZ4jUzilBzQ1SEXEEUFAWGRYRBkPWc3x/IFAk4gzNzZpjX8/HgUZ75nHPe581hePOZz/l8ZKIoiiAiIiIiIqPIpQ6AiIiIiMgWsZAmIiIiIuoAFtJERERERB3AQpqIiIiIqANYSBMRERERdQALaSIiIiKiDmAhTURERETUAQ5SB2BvBEFAQUEBXF1dIZPJpA6HiIiIiP5AFEVUVlYiICAAcnnb/c4spC2soKAAgYGBUodBRERERDdx8eJFdO/evc3XWUhbmKurK4Cmb4ybm5vE0UhDEASUlJTAx8en3b/yiLkyFvNlOObKcMyV4ZgrwzFXhpMiVzqdDoGBgfq6rS0spC2seTiHm5ubXRfSNTU1cHNz45vHTTBXxmG+DMdcGY65MhxzZTjmynBS5upmw3D5nSMiIiIi6gAW0kREREREHcBCmoiIiIioA1hIExERERF1AAtpIiIiIqIOYCFNRERERNQBLKSJiIiIiDqAhTQRERERUQewkCYiIiIi6gAW0kREREREHcAlwomIqEMqquvxw4lCnCm6CkeFDP0D3DCmnx9cVPzVQkT2ge92RERklIZGARv25uDd5GzU1AstXnNVOyDh7j6YFRsMuVwmUYRERJbBQpqIiAx2ra4Rf/48DbuySgAAYRpXjOrljQZBxO6sYpy/XI3l353CgXOXsWZqJJzZO01EnRjf4YiIyCD1jQLm/+cI9maXQu0ox+sTwzFpSDfIZE09z41Cf2xMvYAV359G0qkizPn0MD6dMwxOSv6qIaLOiQ8bEhGRQVZsP4W92aVwUirw37kxeDiqu76IBgCFXIbHYoPxxbzhcFU54FBuGRZtzoAgiBJGTURkPiykiYjopnZlFuPfKRcgkwHvThuMocGebbaN6tEVH88ZBkeFDD+eLMK/dp+1YKRERJbDQpqIiNpVXl2HF74+BgCYMyIEcf39brrPsGBPrHhgIABgVdIZHMy5bNYYiYikwEKaiIja9eaPWSiurEWojzP+Nq6vwftNiw7ClKHdIYrA81/9iqraBjNGSURkeSykiYioTdlFldh0KA8AsPLBcKgdFUbt/+q9/dHNowsull3DGz9kmiNEIiLJsJAmIqI2vfFDJgQRGNvfDzGhXkbv76p2xD8nDQIA/Df1Ao5fqjB1iEREkmEhTURErTpyvgzJmcVQyGV44Z6wDh9nVG9vPBAZAFEEln13EqLIWTyIqHNgIU1ERK1at6tpto3JUd3R08fllo61+J5+cFIqkHbhCv6XUWCK8IiIJMdCmoiIbnCyoAK7skoglwFPju55y8fTuKvx9J29AAD/2HEa1XV88JCIbJ/NFtLr1q1DcHAw1Go1YmJicOjQoXbbb9myBWFhYVCr1QgPD8eOHTtavL5s2TKEhYXB2dkZXbt2RVxcHFJTU1u0KSsrw4wZM+Dm5gYPDw/MnTsXV69eNfm1ERFJ7f3d5wAAEwYFINjb2STHnDsqBEGeTiiurMUn+8+b5JhERFKyyUJ68+bNSEhIwNKlS3H06FFEREQgPj4excXFrbY/cOAApk+fjrlz5yI9PR0TJ07ExIkTceLECX2bPn36YO3atTh+/Dj27duH4OBgjB07FiUlJfo2M2bMwMmTJ5GUlITt27djz549mD9/vtmvl4jIkgrKr2HH8UIAwFMm6I1upnZU4LmxfQAA6385h/LqOpMdm4hICjZZSK9evRrz5s3DnDlz0L9/f6xfvx5OTk74+OOPW23/zjvvYNy4cXj++efRr18/rFixAkOGDMHatWv1bR555BHExcUhNDQUAwYMwOrVq6HT6XDsWNMiBKdPn0ZiYiI+/PBDxMTEYNSoUXjvvfewadMmFBRwvB8RdR4bU/MgiEBsqBf6B7iZ9Nj3DQpAmMYVlTUNWP9LjkmPTURkaQ5SB2Csuro6pKWlYfHixfptcrkccXFxSElJaXWflJQUJCQktNgWHx+PrVu3tnmODRs2wN3dHREREfpjeHh4YOjQofp2cXFxkMvlSE1NxYMPPtjqsWpra1FbW6v/t06nAwAIggBBEG5+wZ2QIAgQRdFur98YzJVxmC/DtZWr2oZGfHF93uhHhweZJZfP3d0b8/5zFJ8eyMXs2CD4uqlNfg5T4n1lOObKcMyV4aTIlaHnsrlCurS0FI2NjfDza7lErZ+fHzIzW5/sX6vVttpeq9W22LZ9+3ZMmzYN1dXV8Pf3R1JSEry9vfXH8PX1bdHewcEBnp6eNxzn91auXInly5ffsL2kpAQ1NTVtX2gnJggCKioqIIoi5HKb/FDEYpgr4zBfhmsrV4mZl3G5qg4+Lo6I8Ja1OWTuVgz0BML9nXG8sAr/t+MEnr8ryOTnMCXeV4ZjrgzHXBlOilxVVlYa1M7mCmlzuvPOO5GRkYHS0lJ88MEHmDJlClJTU28ooI2xePHiFr3hOp0OgYGB8PHxgZubaT8ytRWCIEAmk8HHx4dvHjfBXBmH+TJcW7n639dNDxk+NjwYARq/tna/ZS9NcMD0Dw/hfydK8ezY/gj0dDLbuW4V7yvDMVeGY64MJ0Wu1GrDPimzuULa29sbCoUCRUVFLbYXFRVBo9G0uo9GozGovbOzM3r16oVevXph+PDh6N27Nz766CMsXrwYGo3mhp6ZhoYGlJWVtXleAFCpVFCpVDdsl8vldv2DI5PJ7D4HhmKujMN8Ge6PuTpZUIH0i+VwVMgwPaaHWXMY28sHt/X2xt7sUqzddQ7/NznCbOcyBd5XhmOuDMdcGc7SuTL0PDb3nVMqlYiKikJycrJ+myAISE5ORmxsbKv7xMbGtmgPAElJSW22//1xm8c3x8bGory8HGlpafrXd+7cCUEQEBMT09HLISKyGl+lXQIA3N3fDz6uN3YAmFrC3U0zeHyTno/c0iqzn4+IyNRsrpAGgISEBHzwwQf47LPPcPr0aTz11FOoqqrCnDlzAAAzZ85s8TDiwoULkZiYiFWrViEzMxPLli3DkSNHsGDBAgBAVVUVXnrpJRw8eBAXLlxAWloaHn/8ceTn52Py5MkAgH79+mHcuHGYN28eDh06hP3792PBggWYNm0aAgICLJ8EIiITqmsQ9CsOTo4KtMg5Bwd1xZgwXzQKIt75+YxFzklEZEo2WUhPnToVb731FpYsWYLIyEhkZGQgMTFR/0BhXl4eCgsL9e1HjBiBjRs3YsOGDYiIiMBXX32FrVu3YuDAgQAAhUKBzMxMTJo0CX369MF9992Hy5cvY+/evRgwYID+OJ9//jnCwsIwZswYjB8/HqNGjcKGDRsse/FERGawM7MYZVV18HVV4bbe3hY776LrvdL/+7UA2UWGPdxDRGQtZKIoilIHYU90Oh3c3d1RUVFh1w8bFhcXw9fXl+PCboK5Mg7zZbg/5upPnx3Bz6eL8MToUCy+p59FY3nyP2lIPKnF+HAN/jUjyqLnNgTvK8MxV4ZjrgwnRa4Mrdf4nSMisnMllbXYldX0MPXDQ7pb/PyL7u4DmQzYcVyLkwUVFj8/EVFHsZAmIrJz/8vIR6MgIiLQA739XC1+/r4aV9w3qOlZk7eTsi1+fiKijmIhTURkx0RRxJYjTbN1TI6yfG90s4VxvSGXAT+fLkLGxXLJ4iAiMgYLaSIiO3ayQIesokooHeT6XmEp9PRxwYODmwr51UmcwYOIbAMLaSIiO/b10XwAwNj+fnB3cpQ0loVjesNBLsOeMyU4cr5M0liIiAzBQpqIyE79fu7ohyUc1tEsyMsJk4c2zWG96if2ShOR9WMhTURkp/afr0D5tXr4ualwW28fqcMBADxzVy8oFXKk5FzGgbOlUodDRNQuFtJERHbqh1OXAQATB3eDQi6TOJomAR5dMD36eq900hlwqQMismYspImI7NDlq7XYf75pzuZJEswd3Z6n7+wFlYMcaReu4JczJVKHQ0TUJhbSRER2aPuxQjQKwMBubugjwdzR7fF1U2NmbA8ATTN4sFeaiKwVC2kiIjv0dXrTbB2TBneTOJLWPTm6J5yUChy7VIEfTxZJHQ4RUatYSBMR2ZkzRZU4ka+DQg7cO8hf6nBa5eWiwuMjQwAAK384jdqGRokjIiK6EQtpIiI78/XRppUMRwa7w8tFJXE0bXvyjp7wcVXhwuVqfLr/vNThEBHdgIU0EZEdaRREbL0+rOOe/l4SR9M+F5UD/hbfFwDw3s6zKKmslTgiIqKWWEgTEdmR/WdLUaSrhUcXR4wMdpc6nJuaNKQ7BnV3x9XaBqz6KUvqcIiIWmAhTURkR5qHddw7yB9KB+v/FSCXy7Dk3v4AgM1HLuLYpXJpAyIi+h3rfxclIiKT0NXU48eTWgDApCHWOVtHa4YGe2JiZABEEVj8zXE0NApSh0REBICFNBGR3fhfRgFq6gX09nXBoO7WP6zj916e0B/uXRxxskCHT/jgIRFZCRbSRER2QBRFfJGaBwCYFh0Emcw6lgQ3lI+rCi+NDwPQtEjLxbJqiSMiImIhTURkF47nV+BUoQ5KBzkestJFWG5mytBARId44lp9I1793wmueEhEkmMhTURkB744dBEAMH6gBl2dlRJH0zEymQz/eDAcSoUcu7NK8FXaJalDIiI7x0KaiKiTq6ptwLaMprmjp0cHSRzNrenl64JFd/cBACz/7hQuXeEQDyKSDgtpIqJO7pv0fFTVNSLUxxnRIZ5Sh3PL5t8eiqgeXXG1tgF/3fIrBIFDPIhIGiykiYg6MUEQ8cm+XADAzOE9bO4hw9Yo5DKsnhIBJ6UCB3PK8PH+XKlDIiI7xUKaiKgT232mGDmlVXBVO2Dy0ECpwzGZHl7OeHlCPwDAmz9mIbuoUuKIiMgesZAmIurEPtzb1Fs7PToIzioHiaMxrUeig3BHXx/UNQhYuCkDdQ1cqIWILIuFNBFRJ3WqQIcD5y5DIZdh1ohgqcMxOZlMhjcnDUJXJ0ecKtRhVVKW1CERkZ1hIU1E1Elt2HMOADBuoAbdPLpIHI15+Lqp8cakQQCADXtykHLussQREZE9YSFNRNQJnS2+im2/FgAAnhrdU+JozCt+gAbThgVCFIHnvsxAxbV6qUMiIjths4X0unXrEBwcDLVajZiYGBw6dKjd9lu2bEFYWBjUajXCw8OxY8cO/Wv19fV44YUXEB4eDmdnZwQEBGDmzJkoKChocYzg4GDIZLIWX2+88YZZro+I6Fa8m5wNQQTu7u+Hgd3cpQ7H7F69tz96eDmhoKIGr249IXU4RGQnbLKQ3rx5MxISErB06VIcPXoUERERiI+PR3FxcavtDxw4gOnTp2Pu3LlIT0/HxIkTMXHiRJw40fRmW11djaNHj+LVV1/F0aNH8c033yArKwv333//Dcd67bXXUFhYqP965plnzHqtRETGytTq8N2xpo6Av8T1ljgay3BWOWDN1Ego5DJs+7UA/7u+AA0RkTnZZCG9evVqzJs3D3PmzEH//v2xfv16ODk54eOPP261/TvvvINx48bh+eefR79+/bBixQoMGTIEa9euBQC4u7sjKSkJU6ZMQd++fTF8+HCsXbsWaWlpyMvLa3EsV1dXaDQa/Zezs7PZr5eIyFCiKOK1705BFIHx4RoMCOj8vdHNBgd1xbN3Nf3h8Mq3J7jqIRGZnc3NhVRXV4e0tDQsXrxYv00ulyMuLg4pKSmt7pOSkoKEhIQW2+Lj47F169Y2z1NRUQGZTAYPD48W29944w2sWLECQUFBeOSRR7Bo0SI4OLSdxtraWtTW1ur/rdPpAACCIEAQ7HOqJkEQIIqi3V6/MZgr4zBfQOIJLQ6cuwylgxwvxPdtMxedNVdPjQ7BL2eKcTSvHAmbM/D5n2KgkN/aIjSdNVfmwFwZjrkynBS5MvRcNldIl5aWorGxEX5+fi22+/n5ITMzs9V9tFptq+21Wm2r7WtqavDCCy9g+vTpcHNz029/9tlnMWTIEHh6euLAgQNYvHgxCgsLsXr16jbjXblyJZYvX37D9pKSEtTU1LS5X2cmCAIqKiogiiLkcpv8UMRimCvj2Hu+qmob8dp3pwAAM4b4QtVwFcXFV1tt25lz9dJd3THzcx0Onb+Ct384jpnDNLd0vM6cK1NjrgzHXBlOilxVVhq2yJPNFdLmVl9fjylTpkAURbz//vstXvt9r/agQYOgVCrxxBNPYOXKlVCpVK0eb/HixS320+l0CAwMhI+PT4si3Z4IggCZTAYfHx++edwEc2Uce8/XC18fh7ayDt27dsFz48PhpGz7Lb4z58rXF1h6vwwvfH0cG1IKMGFIMPr5d/z9tjPnytSYK8MxV4aTIldqtdqgdjZXSHt7e0OhUKCoqKjF9qKiImg0rfc6aDQag9o3F9EXLlzAzp07b1roxsTEoKGhAefPn0ffvn1bbaNSqVotsuVyuV3/4MhkMrvPgaGYK+PYa75+PKnFlrRLkMmA1VMi4aJW3nSfzpyrKUMDkXy6GD+dKsJLW0/im6dG3NIQj86cK1NjrgzHXBnO0rky9Dw2951TKpWIiopCcnKyfpsgCEhOTkZsbGyr+8TGxrZoDwBJSUkt2jcX0dnZ2fj555/h5eV101gyMjIgl8vh6+vbwashIrp1mVodnvvyVwDA/NtCER3iKXFE0pPJZFgxcSBcVQ749WI5/nvwgtQhEVEnZHM90kDTEItZs2Zh6NChiI6Oxpo1a1BVVYU5c+YAAGbOnIlu3bph5cqVAICFCxdi9OjRWLVqFSZMmIBNmzbhyJEj2LBhA4CmIvrhhx/G0aNHsX37djQ2NurHT3t6ekKpVCIlJQWpqam488474erqipSUFCxatAiPPvoounbtKk0iiMjuFVZcw9xPj+BqbQOGh3riubGtfzpmj/zc1PjbPWF4desJvJmYibED/ODv3jlXeCQiadhkIT116lSUlJRgyZIl0Gq1iIyMRGJiov6Bwry8vBZd8iNGjMDGjRvxyiuv4KWXXkLv3r2xdetWDBw4EACQn5+Pbdu2AQAiIyNbnGvXrl244447oFKpsGnTJixbtgy1tbUICQnBokWLbpgNhIjIUnJLq/Doh6nIL7+GUG9nrH80CkoHm/ug0axmRAfh26OXcDSvHP/YkYn3pg+WOiQi6kRkoiiKUgdhT3Q6Hdzd3VFRUWHXDxsWFxfD19eX48Jugrkyjj3lK/l0EZ7/6hjKquoQ4u2M/8yNRveuTgbvb0+5OllQgXvf2wdRBL5+agSiehj3KaI95epWMVeGY64MJ0WuDK3X+J0jIrIhuaVVSNicgbmfHUFZVR3Cu7ljy5OxRhXR9mZAgDsmR3UHAKzYfgqCwP4jIjINmxzaQURkb3JKrmLtzrPYmpGP5jrw8ZEheOGevlA5KKQNzgb8dWxfbD9WiIyL5fjuWAEeiOwmdUhE1AmwkCYismLnSq7iveRsbPu1QF9A3xXmi2fH9EZkoIeksdkSXzc1/nxHT7z10xn8349ZGB/uD0cFP5QlolvDQpqIyAoVV9Zg9U9n8OWRi/oCesz1AjqCBXSHzB0Vik8PXMClK9fwddolTIsOkjokIrJxLKSJiKzM98cK8eI3x1BZ0wAAiOvni4Vj+iC8u7vEkdm2LkoFnhwdite/P421u87ioSHdOcsJEd0SvoMQEVkJQRDx2nen8PTGo6isacCg7u746slYfDhrGItoE3l0eA/4uKqaeqWPXpI6HCKycSykiYisgCiKWPzNcXy8PxcyGfD0nT3xzVMjMDSYqxSaktpRgSdH9wQArN15FvWNgsQREZEtYyFNRGQF1vycjc1HLkIhl+HtKZF4Pj4MDnwYzixmxATB20WJ/PJr+OGEVupwiMiG8V2aiEhie86U4J3kbADA3ycOxMTBnJrNnNSOCjw2PBgA8OHeHHBdMiLqKBbSREQSqqiux1+3/AoAeHR4EGeSsJBHhwdB6SDHsUsVOHLhitThEJGNYiFNRCSh1UlZKK6sRaiPM14e31/qcOyGl4sKk4Y09fx/uDdH4miIyFaxkCYiksiZokr85+AFAMCKBwaii5IrFFrS4yNDAAA/nSpC3uVqiaMhIlvEQpqISCLv/JwNQQTiB/hhZC9vqcOxO739XHF7Hx+IIvDF4TypwyEiG8RCmohIAlnaSnx/vBAyGZBwd1+pw7Fbj0QHAgC2HLnEqfCIyGgspImIJPDJ/lwAwD0DNeircZU4Gvs1pp8fvF1UKL1ai+TTxVKHQ0Q2hoU0EZGFVVyrx9aMfAC/jdMlaTgq5Hg4qjsAYBOHdxCRkVhIExFZ2Ndpl1BTLyBM44qoHl2lDsfuTRvWNLzjlzMlKCi/JnE0RGRLWEgTEVmQKIr47/WZOh4d3gMymUziiCjY2xmxoV4Qxaax0kREhmIhTURkQUfzypFTWgVnpYIrGFqRyUObhnf8LyOfKx0SkcFYSBMRWdD3xwoBAHf394OLykHiaKjZ2AEaqB3lyCmtwol8ndThEJGNYCFNRGQhgiBix/GmQnrCoACJo6Hfc1E5IK6fH4CmXmkiIkOwkCYispC0vCvQ6mrgqnLA7X24AIu1eSCyaajNtl8L0ChweAcR3RwLaSIiC9EP6xjgB5UDlwO3NqP7+MC9iyOKK2uRmnNZ6nCIyAawkCYisgBRFPHTSS0AYEK4v8TRUGuUDnKMv/692crhHURkABbSREQWcLb4KgoqaqBykGNkLw7rsFYPRDaNXf/pVBGXDCeim2IhTURkAbuzSgAAMaFeUDtyWIe1GhbsCS9nJcqr63Eot0zqcIjIyrGQJiKygF/ONBXSo/v4SBwJtUchl+Hu/k2zdySe0EocDRFZOxbSRERmVl3XoO/dZCFt/eIHagAAP57UQuDsHUTUDhbSRERmdjDnMuoaBXTv2gU9fZylDoduYkRPL7iqHFBcWYv0i+VSh0NEVsxmC+l169YhODgYarUaMTExOHToULvtt2zZgrCwMKjVaoSHh2PHjh361+rr6/HCCy8gPDwczs7OCAgIwMyZM1FQUNDiGGVlZZgxYwbc3Nzg4eGBuXPn4urVq2a5PiLqPPZlN02ldnsfH8hkMomjoZtROShwVz9fAE290kREbbHJQnrz5s1ISEjA0qVLcfToUURERCA+Ph7FxcWttj9w4ACmT5+OuXPnIj09HRMnTsTEiRNx4sQJAEB1dTWOHj2KV199FUePHsU333yDrKws3H///S2OM2PGDJw8eRJJSUnYvn079uzZg/nz55v9eonItqXmNhXSsaFeEkdChho3oGl4R+IJLUSRwzuIqHUy0QbfIWJiYjBs2DCsXbsWACAIAgIDA/HMM8/gxRdfvKH91KlTUVVVhe3bt+u3DR8+HJGRkVi/fn2r5zh8+DCio6Nx4cIFBAUF4fTp0+jfvz8OHz6MoUOHAgASExMxfvx4XLp0CQEBhi33q9Pp4O7ujoqKCri5uRl76Z2CIAgoLi6Gr68v5HKb/FvOYpgr41hjvnQ19YhY/hNEEUh9aQz83NRShwTAOnNlTarrGhD5WhLqGgT8uHAU3GXXmCsD8L4yHHNlOClyZWi95mCRaEyorq4OaWlpWLx4sX6bXC5HXFwcUlJSWt0nJSUFCQkJLbbFx8dj69atbZ6noqICMpkMHh4e+mN4eHjoi2gAiIuLg1wuR2pqKh588MFWj1NbW4va2lr9v3U6HYCmm0IQ7HOOUkEQIIqi3V6/MZgr41hjvg7nXoYoAj28nODjorSa2KwxV9ZE7SBHbKgnfjlTip2ZxZgY5sJcGYD3leGYK8NJkStDz2VzhXRpaSkaGxvh5+fXYrufnx8yMzNb3Uer1bbaXqttfexbTU0NXnjhBUyfPl3/V4hWq4Wvr2+Ldg4ODvD09GzzOACwcuVKLF++/IbtJSUlqKmpaXO/zkwQBFRUVEAURf4VfhPMlXGsMV+7T14CAAzSdGlz+JkUrDFX1mZoQBf8cgZIOlGAOzS+zJUBeF8ZjrkynBS5qqysNKidzRXS5lZfX48pU6ZAFEW8//77t3y8xYsXt+gN1+l0CAwMhI+Pj10P7ZDJZPDx8eGbx00wV8axxnydKDoHABjdr9sNf4xLyRpzZW3uG+qCVbsv4lhhFRy6uPIjeAPwvjIcc2U4KXKlVhs2DM/mCmlvb28oFAoUFRW12F5UVASNRtPqPhqNxqD2zUX0hQsXsHPnzhaFrkajuaE3qaGhAWVlZW2eFwBUKhVUKtUN2+VyuV3/4MhkMrvPgaGYK+NYU76q6xpwPL8CQNOKhtYQ0+9ZU66sUbC3C3r6OONcSRUO5VWiZ1AAc2UA3leGY64MZ+lcGXoem/vOKZVKREVFITk5Wb9NEAQkJycjNja21X1iY2NbtAeApKSkFu2bi+js7Gz8/PPP8PLyuuEY5eXlSEtL02/buXMnBEFATEyMKS6NiDqZXy9WoEEQ4e+uRveuXaQOhzrgzr5NnyIcOF8hcSREZI1srpAGgISEBHzwwQf47LPPcPr0aTz11FOoqqrCnDlzAAAzZ85s8TDiwoULkZiYiFWrViEzMxPLli3DkSNHsGDBAgBNRfTDDz+MI0eO4PPPP0djYyO0Wi20Wi3q6uoAAP369cO4ceMwb948HDp0CPv378eCBQswbdo0g2fsICL7knF9MY/BQR6cP9pG3Rn2WyHNVQ6J6I9sbmgH0DSdXUlJCZYsWQKtVovIyEgkJibqHyjMy8tr0SU/YsQIbNy4Ea+88gpeeukl9O7dG1u3bsXAgQMBAPn5+di2bRsAIDIyssW5du3ahTvuuAMA8Pnnn2PBggUYM2YM5HI5Jk2ahHfffdf8F0xENunX64V0RHcPSeOgjhsW7AlnpQJXqhtwokCHyKCuUodERFbEJgtpAFiwYIG+R/mPdu/efcO2yZMnY/Lkya22Dw4ONmjCfU9PT2zcuNGoOInIfjX3SEcGekgaB3Wc0kGOkb288dOpIuzKKmYhTUQt2OTQDiIia6etqIFWVwO5DBjYzV3qcOgW3BnmAwDYnVUicSREZG1YSBMRmUFzb3QfP1c4q2z2wz8CMLp3UyF9LL8C5dV1EkdDRNaEhTQRkRn8eqkcAId1dAYadzWCPdUQRSDl3GWpwyEiK8JCmojIDDLyygGwkO4sooOa1hXYe7ZU4kiIyJqwkCYiMjFBEHHi+kIsgzhjR6cwLMgVALAvm4U0Ef2GhTQRkYldunINlbUNUCrk6O3nInU4ZAJDurvCQS5DXlk18i5XSx0OEVkJFtJERCZ2qrCpN7qPxgWOCr7NdgbOSoV+mM4+Du8gouv4Dk9EZGInC3QAgP7+bhJHQqY0spcXAGDfWU6DR0RNWEgTEZnYqeuF9IAAzh/dmYzq5Q0AOHDuMhq5XDgRgYU0EZHJnSq83iMdwB7pzmRQd3e4qBxQXl2PkwUVUodDRFaAhTQRkQmVVdWhsKIGABCmcZU4GjIlR4Ucw0Obh3dwnDQRsZAmIjKp5mEdwV5OcFU7ShwNmdqo6+Ok97OQJiIABq9bu23bNqMPfvfdd6NLly5G70dEZKuaZ+zgsI7OacT1cdJpF66gtqERKgeFxBERkZQMLqQnTpxo1IFlMhmys7MRGhpqbExERDaLM3Z0br19XeDprERZVR2OXarAsGBPqUMiIgkZNbRDq9VCEASDvpycnMwVMxGR1eKMHZ2bTCbD8NCm4vngucsSR0NEUjO4kJ41a5ZRwzQeffRRuLmxR4aI7EdNfSPOlVwFwKEdnVns9QcOD+aykCaydwYP7fjkk0+MOvD7779vdDBERLYsu+gqBBHwdFbC11UldThkJs0zdxw5z3HSRPaOs3YQEZnImaJKAEAfPxfIZDKJoyFz6eXrAm8XJWobBPx6kfNJE9kzg3uk/6impgbHjh1DcXExBEFo8dr9999/y4EREdmaM8VNhXRvX84f3ZnJZDLEhHrh+2OFOJhzGdEhfOCQyF51qJBOTEzEzJkzUVp64zyaMpkMjY2NtxwYEZGtyS5qGh/dx89F4kjI3Ib/rpB+dkxvqcMhIol0aGjHM888g8mTJ6OwsPCG2TpYRBORvWoe2tHbjz3SnV3s9Zk7mueTJiL71KFCuqioCAkJCfDz8zN1PERENqmqtgGXrlwDAPRhId3p9fRxgbeLCrUNAjLyyqUOh4gk0qFC+uGHH8bu3btNHAoRke06W9w0rMPbRQlPZ6XE0ZC5tZhPOqdM4miISCodGiO9du1aTJ48GXv37kV4eDgcHR1bvP7ss8+aJDgiIluhH9bBBw3txvBQL2y/Pk56IThOmsgedaiQ/uKLL/DTTz9BrVZj9+7dLaZ5kslkLKSJyO5kF/NBQ3vTPJ90Wt4V1NQ3Qu3I+aSJ7E2HCumXX34Zy5cvx4svvgi5nFNRExHxQUP709PHGd4uKpRercWxSxWcBo/IDnWoCq6rq8PUqVNZRBMRXffb1HcspO2FTCZDdEhXAMDh8xwnTWSPOlQJz5o1C5s3bzZ1LERENulqbQPyy5tn7ODQDnsyLLipF/pQLgtpInvUoaEdjY2NePPNN/Hjjz9i0KBBNzxsuHr1apMER0RkC7KvD+vwcVXBw4kzdtiT5kI67cIVNAoiFHIuDU9kTzrUI338+HEMHjwYcrkcJ06cQHp6uv4rIyPDxCG2bt26dQgODoZarUZMTAwOHTrUbvstW7YgLCwMarUa4eHh2LFjR4vXv/nmG4wdOxZeXl6QyWStXscdd9wBmUzW4uvJJ5805WURkQ3iiob2q5+/G1xVDrha24DThTqpwyEiC+tQj/SuXbtMHYdRNm/ejISEBKxfvx4xMTFYs2YN4uPjkZWVBV9f3xvaHzhwANOnT8fKlStx7733YuPGjZg4cSKOHj2KgQMHAgCqqqowatQoTJkyBfPmzWvz3PPmzcNrr72m/7eTk5PpL5CIbEp2Mae+s1cKuQxRwV2xO6sEh3LLMLCbu9QhEZEFGVxIHzt2DAMHDjT4AcOTJ0+ib9++cHDoUK3ertWrV2PevHmYM2cOAGD9+vX4/vvv8fHHH+PFF1+8of0777yDcePG4fnnnwcArFixAklJSVi7di3Wr18PAHjssccAAOfPn2/33E5OTtBoNAbHWltbi9raWv2/dbqmHovmJdXtkSAIEEXRbq/fGMyVcaTK129zSDvbzPeK95bhbparoT2aC+nLmD2ih4Wjsy68rwzHXBlOilwZei6Dq9zBgwdDq9XCx8fHoPaxsbHIyMhAaGiooacwSF1dHdLS0rB48WL9Nrlcjri4OKSkpLS6T0pKChISElpsi4+Px9atW40+/+eff47//ve/0Gg0uO+++/Dqq6+22yu9cuVKLF++/IbtJSUlqKmpMfr8nYEgCKioqIAoipz55SaYK+NIla/MwgoAgLeyAcXFxRY7763gvWW4m+Wql3vTuOjUnMsoKipqsbaCveF9ZTjmynBS5KqystKgdgYX0qIo3rRo/L26ujpDD22U0tJSNDY2ws/Pr8V2Pz8/ZGZmtrqPVqtttb1WqzXq3I888gh69OiBgIAAHDt2DC+88AKysrLwzTfftLnP4sWLWxTxOp0OgYGB8PHxgZubm1Hn7ywEQYBMJoOPjw/fPG6CuTKOFPmqqm1AUWU9ACC6byDcuzjeZA/rwHvLcDfL1WhPLyi/zcaVaw2okjsj1Md+x8rzvjIcc2U4KXKlVqsNamdwIX377bcjKyvL4ABiY2PRpUsXg9vbgvnz5+v/Pzw8HP7+/hgzZgzOnTuHnj17trqPSqWCSqW6YbtcLrfrHxyZTGb3OTAUc2UcS+frQlnTtHdezkp0db7xZ92a8d4yXHu56qKUIzLQA4dyy3DkQjl6+dlnJ0kz3leGY64MZ+lcGXoegwvp3bt3dzQWk/L29oZCoUBRUVGL7UVFRW2OXdZoNEa1N1RMTAwA4OzZs20W0kTUuZ0raZqxI9THWeJISErRwZ44lFuGQ+fLMC06SOpwiMhCbO5PIKVSiaioKCQnJ+u3CYKA5ORkxMbGtrpPbGxsi/YAkJSU1GZ7QzVPkefv739LxyEi25VTUgUACPW234/zCRgWwoVZiOyR6afUsICEhATMmjULQ4cORXR0NNasWYOqqir9LB4zZ85Et27dsHLlSgDAwoULMXr0aKxatQoTJkzApk2bcOTIEWzYsEF/zLKyMuTl5aGgoAAA9MNYNBoNNBoNzp07h40bN2L8+PHw8vLCsWPHsGjRItx+++0YNGiQhTNARNYip/R6Ic0eabsW1aMr5DLg0pVrKKy4Bn/3zjW0kYhaZ3M90gAwdepUvPXWW1iyZAkiIyORkZGBxMRE/QOFeXl5KCws1LcfMWIENm7ciA0bNiAiIgJfffUVtm7dqp9DGgC2bduGwYMHY8KECQCAadOmYfDgwfrp8ZRKJX7++WeMHTsWYWFheO655zBp0iR89913FrxyIrI2OdeHdvS04wfMCHBROWBAQNMc0uyVJrIfNtkjDQALFizAggULWn2ttfHckydPxuTJk9s83uzZszF79uw2Xw8MDMQvv/xibJhE1IkJgvjb0A72SNu9YcGeOJ5fgUO5ZXggspvU4RCRBdhkjzQRkTXQ6mpwrb4RDnIZAj25yqm9iw7pCgA4fJ490kT2osM90vX19dBqtaiuroaPjw88PT1NGRcRkdVr7o0O8nKCo4L9EvZuWHDT78EzRVdxpaoOXZ2VEkdEROZm1Dt/ZWUl3n//fYwePRpubm4IDg5Gv3794OPjgx49emDevHk4fPiwuWIlIrIqOaXXp77jjB0EwMtFhZ7Xh/gcuXBF4miIyBIMLqRXr16N4OBgfPLJJ4iLi8PWrVuRkZGBM2fOICUlBUuXLkVDQwPGjh2LcePGITs725xxExFJrrlHuifHR9N10fpp8C5LHAkRWYLBQzsOHz6MPXv2YMCAAa2+Hh0djccffxzr16/HJ598gr1796J3794mC5SIyNpwMRb6o2HBnvji0EUcOs8eaSJ7YHAh/cUXXxjUTqVS4cknn+xwQEREtuK3GTs4tIOaNPdIn8yvQHVdA5yUNjs5FhEZoENPx4wYMQI6nc7UsRAR2YxrdY0oqLgGAAj1Zo80Nene1QkB7mo0CCLS88qlDoeIzKxDhfTBgwdRU1Nzw3adTocXXnjhloMiIrJ2uaVVEEXAw8kRnpydgX6nebnwVC7MQtTpGVVIP/zww3jjjTcgk8lQXFx8w+tVVVV46623TBYcEZG1+m3GDmfIZDKJoyFr0jwN3mEW0kSdnlGDt4KCgrB9+3aIooiIiAh4eXkhIiICERERiIyMRFZWFvz9/c0VKxGR1eD4aGpLzPUe6fSLV1DXIEDpwDnGiTorowrp1atXAwCUSiX279+PgoICpKenIyMjA99++y0EQcCbb75plkCJiKxJDmfsoDb08nVBVydHXKmux/H8CkT16Cp1SERkJh16nLiqqgqOjo4AgAceeMCkARER2YKc0us90lyMhf5AJpNhWLAnfjpVhMPny1hIE3ViBn/elJeXp///5iK6Pfn5+R2LiIjIyomiyMVYqF2/LczCcdJEnZnBhfSwYcPwxBNPtLsEeEVFBT744AMMHDgQX3/9tUkCJCKyNiWVtbha2wC5DAjycpI6HLJCzYX04fNlaBREiaMhInMxeGjHqVOn8Pe//x1333031Go1oqKiEBAQALVajStXruDUqVM4efIkhgwZgjfffBPjx483Z9xERJI5d703OtDTCSoHhcTRkDXq7+8GZ6UClTUNyNJWon+Am9QhEZEZGNwj7eXlhdWrV6OwsBBr165F7969UVpaiuzsbADAjBkzkJaWhpSUFBbRRNSp/X7qO6LWOCjkGHJ9bPTh8xzeQdRZGf2wYZcuXRAfH4+HH37YHPEQEVm9c8XN46P5oCG1LTrYE3uzS3EotwyzRgRLHQ4RmUGHJre87bbboNVqTR0LEZFN0PdIs5CmdugfODxfBlHkOGmizqhDhfTgwYMRExODzMzMFtszMjI4rIOIOr3fFmPh0A5qW0SgB5QKOUoqa3H+crXU4RCRGXSokP7kk08we/ZsjBo1Cvv27cOZM2cwZcoUREVFQaHggzdE1HnVNjTi0pWmooiFNLVH7ahARKA7AC4XTtRZdWhBFgBYvnw5VCoV7r77bjQ2NmLMmDFISUlBdHS0KeMjIrIqFy5XQxABV5UDfFxUUodDVm5YsCcOn7+C1NwyTBkWKHU4RGRiHeqRLioqwsKFC/H666+jf//+cHR0xOzZs1lEE1Gn9/ulwWUymcTRkLX7/XzSRNT5dKiQDgkJwZ49e7BlyxakpaXh66+/xvz58/F///d/po6PiMiqnNOPj+aDhnRzUT26Qi4D8sqqoa2okTocIjKxDhXSH3/8MdLT0zFhwgQAwLhx47Br1y68/fbbePrpp00aIBGRNdE/aMg5pMkArmpH/WIsh9grTdTpdKiQnjZt2g3bhgwZggMHDmDnzp23HBQRkbXi1HdkrOhgLwDAodzLEkdCRKbWoUK6LcHBwThw4IApD0lEZDVEUeTUd2S06JDrKxzmXpE4EiIyNZMW0gDQtWtXUx+SiMgqlFXVoeJaPWQyIIRDO8hAw4KbHjjMKqrElao6iaMhIlMyeSFNRNRZ5ZQ29UYHuHeB2pFz5pNhvFxU6Hn9E4wjF9grTdSZ2GwhvW7dOgQHB0OtViMmJgaHDh1qt/2WLVsQFhYGtVqN8PBw7Nixo8Xr33zzDcaOHQsvLy/IZDJkZGTccIyamho8/fTT8PLygouLCyZNmoSioiJTXhYRWbHfT31HZIzoEI6TJuqMbLKQ3rx5MxISErB06VIcPXoUERERiI+PR3FxcavtDxw4gOnTp2Pu3LlIT0/HxIkTMXHiRJw4cULfpqqqCqNGjcI///nPNs+7aNEifPfdd9iyZQt++eUXFBQU4KGHHjL59RGRdWoeH92TDxqSkZrHSR86zx5pos7EJgvp1atXY968eZgzZw769++P9evXw8nJCR9//HGr7d955x2MGzcOzz//PPr164cVK1ZgyJAhWLt2rb7NY489hiVLliAuLq7VY1RUVOCjjz7C6tWrcddddyEqKgqffPIJDhw4gIMHD5rlOonIujTPIc3x0WSs5h7pE/kVqKptkDgaIjKVDi8RLpW6ujqkpaVh8eLF+m1yuRxxcXFISUlpdZ+UlBQkJCS02BYfH4+tW7cafN60tDTU19e3KLTDwsIQFBSElJQUDB8+vNX9amtrUVtbq/+3TqcDAAiCAEEQDD5/ZyIIAkRRtNvrNwZzZRxz56t5aEewl5PNf094bxnOFLnyd1MhwEONgvIapF0ow6he3iaM0HrwvjIcc2U4KXJl6LlsrpAuLS1FY2Mj/Pz8Wmz38/NDZmZmq/totdpW22u1WoPPq9VqoVQq4eHhYdRxVq5cieXLl9+wvaSkBDU19rnKlSAIqKiogCiKkMtt8kMRi2GujGPOfDUIIi6UNfVIu8tq2hxKZit4bxnOVLkapHFCQXkNdp+8hD5unbN44n1lOObKcFLkqrKy0qB2NldI25rFixe36A3X6XQIDAyEj48P3NzcJIxMOoIgQCaTwcfHh28eN8FcGcec+cotrUKjAKgd5RgY2g1yucykx7c03luGM1WubgurQWJmGU4V18LX19eEEVoP3leGY64MJ0Wu1Gq1Qe1srpD29vaGQqG4YbaMoqIiaDSaVvfRaDRGtW/rGHV1dSgvL2/RK32z46hUKqhUqhu2y+Vyu/7Bkclkdp8DQzFXxjFXvs5frgYAhHi7wMGhc0x9x3vLcKbIVUxo03CO9IvlqBdEqDrJffRHvK8Mx1wZztK5MvQ8NvedUyqViIqKQnJysn6bIAhITk5GbGxsq/vExsa2aA8ASUlJbbZvTVRUFBwdHVscJysrC3l5eUYdh4hsE1c0pFvV08cZXs5K1DYIOJFfIXU4RGQCNtcjDQAJCQmYNWsWhg4diujoaKxZswZVVVWYM2cOAGDmzJno1q0bVq5cCQBYuHAhRo8ejVWrVmHChAnYtGkTjhw5gg0bNuiPWVZWhry8PBQUFABoKpKBpp5ojUYDd3d3zJ07FwkJCfD09ISbmxueeeYZxMbGtvmgIRF1HjmlTQ8a9uSMHdRBMpkMw4I9kXhSi4M5ZYjq4Sl1SER0i2yuRxoApk6dirfeegtLlixBZGQkMjIykJiYqH+gMC8vD4WFhfr2I0aMwMaNG7FhwwZERETgq6++wtatWzFw4EB9m23btmHw4MGYMGECAGDatGkYPHgw1q9fr2/z9ttv495778WkSZNw++23Q6PR4JtvvrHQVRORlM7pe6Q5hzR1XExoU/GcmlsmcSREZAoyURRFqYOwJzqdDu7u7qioqLDrhw2Li4vh6+vLcWE3wVwZx5z5Gvr6zyi9WottC0ZiUHcPkx5bCry3DGfKXJ0u1OGed/bCSanAr0vHwlHRuXLP+8pwzJXhpMiVofUav3NERDehq6lH6dWm+eC5GAvdir5+rujq5IjqukYcu8Rx0kS2joU0EdFNND9o6OOqgqvaUeJoyJbJ5TLEXF/l8GDOZYmjIaJbxUKaiOgmmlc0DGVvNJlAbE8W0kSdBQtpIqKbyOGDhmRCw0ObCukj56+grqFzrnBIZC9YSBMR3URuaVMh3ZNzSJMJ9PFzgaezEtfqG3HsUrnU4RDRLWAhTUR0E+eah3awkCYTkMlkGH59GryUcxzeQWTLWEgTEbVDEEScv3x9aIc3h3aQacReH95xMJeFNJEtYyFNRNSOgoprqKkX4KiQoXvXLlKHQ53E78dJ1zY0ShwNEXUUC2kionY0P2jYw8sZDp1s8QySTi9fF3i7KFHbIODXi5xPmshW8bcCEVE7mqe+40IsZEoymQwxoZwGj8jWsZAmImpHdnFTId3bl+OjybSax0nzgUMi28VCmoioHfpC2o+FNJlW8zjpo3lXUFPPcdJEtoiFNBFRO85dL6R7+bhKHAl1Nj19nOHjqkJtg4CMi+VSh0NEHcBCmoioDZev1uJyVR0AoKcvx0iTaTXNJ81x0kS2jIU0EVEbzl7vje7etQuclA4SR0OdEcdJE9k2FtJERG3gg4Zkbs0rHKbnlXOcNJENYiFNRNSGs/oHDTk+mswjxNsZ/u5q1DUKOHL+itThEJGRWEgTEbXhrP5BQ/ZIk3nIZDKM7OUNANh3tlTiaIjIWCykiYjakF1cCQDoxanvyIxGXS+k97OQJrI5LKSJiFqhq6lHka4WQNNyzkTmMqJn0wOHJwoqcOX6LDFEZBtYSBMRtaJ5WIfGTQ03taPE0VBn5uumRh8/F4gikMJp8IhsCgtpIqJWnC26Pj6avdFkARwnTWSbWEgTEbVCPz6ahTRZAMdJE9kmFtJERK04U9Q89R0LaTK/mFAvKOQyXLhcjYtl1VKHQ0QGYiFNRNSKTK0OABCmcZM4ErIHLioHDA70AAAcOMdeaSJbwUKaiOgPyqrq9DN29NVwMRayjN/GSfOBQyJbwUKaiOgPmnujgzyd4KJykDgashejejcV0gfOlkIQRImjISJDsJAmIvqDzMKmBw3D2BtNFhTR3QNOSgUuV9UhU1spdThEZAAW0kREf3C68Pr4aH+OjybLUTrIERPiCYCzdxDZCpstpNetW4fg4GCo1WrExMTg0KFD7bbfsmULwsLCoFarER4ejh07drR4XRRFLFmyBP7+/ujSpQvi4uKQnZ3dok1wcDBkMlmLrzfeeMPk10ZE0mruDezHHmmysOZx0vv5wCGRTbDJQnrz5s1ISEjA0qVLcfToUURERCA+Ph7FxcWttj9w4ACmT5+OuXPnIj09HRMnTsTEiRNx4sQJfZs333wT7777LtavX4/U1FQ4OzsjPj4eNTU1LY712muvobCwUP/1zDPPmPVaiciyGhoFnCm6PrSDPdJkYc3jpFNzylDXIEgcDRHdjE0W0qtXr8a8efMwZ84c9O/fH+vXr4eTkxM+/vjjVtu/8847GDduHJ5//nn069cPK1aswJAhQ7B27VoATb3Ra9aswSuvvIIHHngAgwYNwr///W8UFBRg69atLY7l6uoKjUaj/3J2djb35RKRBZ2/XI3aBgFdHBXo4ekkdThkZ/r6ucLbRYlr9Y1Iz7sidThEdBM29zh6XV0d0tLSsHjxYv02uVyOuLg4pKSktLpPSkoKEhISWmyLj4/XF8m5ubnQarWIi4vTv+7u7o6YmBikpKRg2rRp+u1vvPEGVqxYgaCgIDzyyCNYtGgRHBzaTmNtbS1qa2v1/9bpmsZeCoIAQbDP3gZBECCKot1evzGYK+OYIl+nCyoAAH01LgDETjt7Au8tw1k6VyN6emHbr4XYl12CYcFdLXJOU+F9ZTjmynBS5MrQc9lcIV1aWorGxkb4+fm12O7n54fMzMxW99Fqta2212q1+tebt7XVBgCeffZZDBkyBJ6enjhw4AAWL16MwsJCrF69us14V65cieXLl9+wvaSk5IZhI/ZCEARUVFRAFEXI5Tb5oYjFMFfGMUW+0nKafuZ7uDu2OVysM+C9ZThL52qQrxLbAOzO1GJGhIfZz2dKvK8Mx1wZTopcVVYaNnOOzRXSUvp9r/agQYOgVCrxxBNPYOXKlVCpVK3us3jx4hb76XQ6BAYGwsfHB25u9jn+UhAEyGQy+Pj48M3jJpgr45giXxd1FwEAg0N84evra8rwrArvLcNZOlfxSle8nnQBp4qqoXbrCje1o9nPaSq8rwzHXBlOilyp1WqD2tlcIe3t7Q2FQoGioqIW24uKiqDRaFrdR6PRtNu++b9FRUXw9/dv0SYyMrLNWGJiYtDQ0IDz58+jb9++rbZRqVStFtlyudyuf3BkMpnd58BQzJVxbjVf+hk7/N06fc55bxnOkrkK9HRGqLczckqrkJp7BfEDWv/dZq14XxmOuTKcpXNl6Hls7junVCoRFRWF5ORk/TZBEJCcnIzY2NhW94mNjW3RHgCSkpL07UNCQqDRaFq00el0SE1NbfOYAJCRkQG5XN6pe62I7ElZVR3yy68B4IwdJK3b+/gAAPacKZE4EiJqj831SANNQyxmzZqFoUOHIjo6GmvWrEFVVRXmzJkDAJg5cya6deuGlStXAgAWLlyI0aNHY9WqVZgwYQI2bdqEI0eOYMOGDQCa/sr5y1/+gtdffx29e/dGSEgIXn31VQQEBGDixIkAmh5YTE1NxZ133glXV1ekpKRg0aJFePTRR9G1q209DEJErTue3/SgYai3M9y72M7H6dT53N7HG58eOI+92ZxPmsia2WQhPXXqVJSUlGDJkiXQarWIjIxEYmKi/mHBvLy8Fl3yI0aMwMaNG/HKK6/gpZdeQu/evbF161YMHDhQ3+Zvf/sbqqqqMH/+fJSXl2PUqFFITEzUj5FRqVTYtGkTli1bhtraWoSEhGDRokU3zAZCRLbr+KVyAEB4d3dpAyG7FxPiBUeFDHll1ThfWoVgb061SmSNbLKQBoAFCxZgwYIFrb62e/fuG7ZNnjwZkydPbvN4MpkMr732Gl577bVWXx8yZAgOHjzYoViJyDb8eqmpRzq8GwtpkpazygFDe3giJecy9mSXsJAmslI2N0aaiMhcjl8vpAd195A2ECIAt/VpWuVwzxkO7yCyViykiYgAFOtqoNXVQC4DBgTwQUOS3u29mx44TDlXyuXCiawUC2kiIvz2oGEvXxc4q2x21Bt1Iv393eDlrERVHZcLJ7JWLKSJiAAc04+P9pA2EKLr5HIZbut9fXhHNqfBI7JGLKSJiACkXywHAAzijB1kRW67PryD0+ARWScW0kRk9xoFEekXmj46HxrMeeHJejT3SB/Pr0BZVZ3E0RDRH7GQJiK7l6WtRGVtA1xUDgjT8EFDsh6+bmqEaVwhisBeDu8gsjospInI7h25UAYAGBzkAYVcJnE0RC2N7sPhHUTWioU0Edm9I+ebhnUMC/aUOBKiG/02TroEoihKHA0R/R4LaSKye0fON/VID+3B8dFkfYYGd4XaUY4iXS3OFF2VOhwi+h0W0kRk1/LLr6GgogYKuQyRQR5Sh0N0A7WjAjEhXgCAPWc4TprImrCQJiK7dij3MoCm1QydlFyIhazT7dfHSXM+aSLrwkKaiOzanjNND3CN7OUtcSREbbv9+jR4h3LLUFPfKHE0htFW1OBEfgXKqzltH3Ve7H4hIrslCKJ+SrHbrz/QRWSNevm6wN9djcKKGhzKLdP3UFuj1As6fPTVWf1qoQAwPNQTz8f3RVQPPtBLnQt7pInIbp3W6lB6tQ5OSgWi+KAhWTGZ7HfLhVvpOGlRFLE66QwWfpuNY5cqoJDL4O2iBAAczCnD5PUp+Nfus5x5hDoV9kgTkd1qHtYRG+oFpQP7Fci63d7HB18euWS146Tf+ikL63adAwA8NjwIC+P6wNtFhfzya3jrxyx8m56PNxOzUFXbgOfjwySOlsg0+JuDiOxW87CO5p4+Ims2sqc3ZDLgTNFVaCtqpA6nhe3HCvRF9F/vDMTy+wfA20UFAOjm0QVvT43Eq/f2BwCs23UOn6dekCxWIlNiIU1Edqmypl6/EMttVjzelKhZV2clBnX3AGBds3doK2rw4tfHAQBP3B6KhyN8W203d1QI/jq2DwBg2baTyLhYbqkQicyGhTQR2aWdmcWoaxQQ6uOMUG9nqcMhMkjz7B3WtFz4iu2ncLW2AZGBHnju7t7ttn36zl4YH65BfaOI577MsJkZSIjawkKaiOzSjuOFAIDxA/0hk8kkjobIMM2zdezLLkGjIP1De7+cKcH3xwshlwF/f3AgHBTtlxUymQz/eDAcvq4qnCupwttJZywUKZF5sJAmIrtTVduA3VlNH43fE66ROBoiw0UGesBV5YAr1fU4WVBx8x3MSBBE/P37UwCA2SNCMCDA3aD9PJyUWPlQOADgg705OFWgM1uMRObGQpqI7M73xwtR2yAgxNsZ/f3dpA6HyGCOCjlie1rHcuE/nNDiTNFVuKodsDCu/SEdfzSmnx/uHeQPQQRe237S6qfEE0UROSVXsf1YAb44lIcdxwuRU3LV6uMm8+P0d0Rkd7YcuQgAeDiqO4d1kM25vY8PfjpVhD3ZpVhwl3EFrKkIgoh3kpuGZTw+MgTuXRyNPsbi8f2QdKoIB3PKkHhCi3vC/U0d5i1raBTwVdolfLQvF9nFV294vaePM2aPDMHkqO5QOyokiJCkxh5pIrIrZ4uv4vD5K5DLmgppIlvTvArn0QtXUFlTL0kMP578rTf68VEhHTpGN48ueOL2UADA33ectroHD8+VXMUD6/bjxW+OI7v4KpQKOSIDPTAmzBeRgR5QKuQ4V1KFV7eewN1v/yL5JwQkDfZIE5Fd+WhfDoCmj5b93NQSR0NkvCAvJ4R4OyO3tAr7z17GuIGWH+f/0b5cAMDsEcEd6o1u9uQdPfHlkUu4dOUaPj1wHk+O7mmqEG9J4gktFm3OwLX6Rng4OWLBnb0wZVgg3NS/XWtlTT2+SruE//dLDi6WXcPMjw9h7qgQvHhPGBxv8tAldR78ThOR3SiurMHXafkAoO8JI7JFo6/P3vGLBL2gv14sx5ELV+CokOGx4T1u6VhOSgf8Nb4vAOBfu86ivLrOFCHeki1HLuLPn6fhWn0jRvT0wo9/uR1/ui20RRENAK5qR8wZGYKfnxuN2SOCATT9gfHYR6mouCbNJwVkeeyRJiK78c7P2ahrFDAkyANDgz2lDoeow0b39cGnB85jz5kSiKJo0bH+n+xv6o2+d1AAfE3wqc6Dg7vhw705yNRWYt2us3h5Qv9bPmZHbU3Px/NfHQMATB0aiH88FA6FvP3cuqgcsOz+ARge6oW/bvkVB3PKMG3DQXz2+DD4ulrnp155l6tx6HwZThZUoFhXi6q6BqgdFPBzU6GXrwuGBnsiTOPKZ0gMwEKaiOzC6UIdvjiUBwD427gwiaMhujXDQ7ygdJAjv/wazhZfRW8/V4uct6SyFtuPNc3B/vjIjo2N/iOFXIYX7gnDnE8O47MDFzAzNhiBnk4mObYx9mWX4vmvfgUAzIrtgWX3DzCqkBw3UIMeXk547KNDOF2ow+T1Kfjv3BhJrqU1NfWN+PLIRXx55CJO5N98ykFfVxUmDu6GyVHdLXZ/2SIW0kTU6dXUN2LR5gwIIjA+XIPhoV5Sh0R0S7ooFYgJ8cTe7FL8cqbEYoXON0cvoUEQERHogfDuhs0bbYg7+vggNtQLKTmXsTrpDN6eGmmyYxviYlk1/vx5GuobRdw7yB9L7zOuiG7Wz98NXz8Vi0c/SsWFy9WYtuEgNs6LQQ8v6VZPrW1oxGcHzmPDnhyUXm0aOqOQyzA40AORgR4I8OgCF5UDahoakV9+DacLK3E4twzFlbXYsCcHG/bkYFQvbyy4qxdiQjzZS/0HNjtGet26dQgODoZarUZMTAwOHTrUbvstW7YgLCwMarUa4eHh2LFjR4vXRVHEkiVL4O/vjy5duiAuLg7Z2dkt2pSVlWHGjBlwc3ODh4cH5s6di6tXb5wOh4isR0OjgL9u+RWZ2kp4uyix7L4BUodEZBKWHictiiI2X586curQQJMeWyaTYfH4pk+KtmbkW3SxmfpGAc9uSoeupmmZ81VTIiC/yXCO9vTwcsZXT45AqI8z8suvYer/O4icEmlqhf1nS3HPmr34x45MlF6tQzePLlh6X38cemkMvnpqBF65tz8eHxWCKcMCMTM2GIvv6Yd/Px6NjKV3Y8NjUbi7vx8Uchn2nS3FtA0HMXl9CvafLeX82b9jk4X05s2bkZCQgKVLl+Lo0aOIiIhAfHw8iouLW21/4MABTJ8+HXPnzkV6ejomTpyIiRMn4sSJE/o2b775Jt59912sX78eqampcHZ2Rnx8PGpqavRtZsyYgZMnTyIpKQnbt2/Hnj17MH/+fLNfLxF1TJGuBnM/O4LtxwrhIJdhzdTBJhnTSWQN7ujrCwBIzSlDdV2D2c93NO8Kckqq0MVRgfsiTD/n86DuHrgvIgCiCLzxQ6bJj9+Wt37KQnpeOVzVDnhv+mCoHG59Pmg/NzU2zR+O3r4u0OpqMG3DQZwtrjRBtIa5VteIl789jhkfpiKntAreLiq8+fAg7H7+DswZGQIvF1W7+6scFBg7QIMPZg7F7r/egUeHB0HpIMeRC1cw48NUTP/gIA6fL7PQ1Vg3mWiDf1bExMRg2LBhWLt2LQBAEAQEBgbimWeewYsvvnhD+6lTp6Kqqgrbt2/Xbxs+fDgiIyOxfv16iKKIgIAAPPfcc/jrX/8KAKioqICfnx8+/fRTTJs2DadPn0b//v1x+PBhDB06FACQmJiI8ePH49KlSwgICDAodp1OB3d3d1RUVMDNzbwrql26Ut1mT0V73/V2b4g2dmxvnz/uIooiKisr4era/keRxhzTkP06equ3f662X+xYjH/8t4CrV6vg4uIMtPNxWkd/itvKSUfvD0vmqrWdRFFEVXU1unRxQnbxVezOKkFdowClQo61jwzG2AFcDryZIAgoLi6Gr68v5HKb7FOxGGvNlSiKGPXPXcgvv4aPZw/FXWF+Zj3f3776FV8euYRJQ7pj1ZSIVtvcaq7yLldjzOrdqG8U8d+5MRjV2/tWw27XL2dKMOvjpk+0358xxOSLwpRercWjH6bqPxH7/E/D0VfT9LvPXPfV6UIdnv0iXb+AzKzYHnguvu8Ns44Yq0hXg/d3n8PG1DzUNQoAmj4VeW5sHwzq7nGrYbdJFEVk5F3Bp3uz8dJ9g+Dn3sVs5/o9Q+s1mxsjXVdXh7S0NCxevFi/TS6XIy4uDikpKa3uk5KSgoSEhBbb4uPjsXXrVgBAbm4utFot4uLi9K+7u7sjJiYGKSkpmDZtGlJSUuDh4aEvogEgLi4OcrkcqampePDBB1s9d21tLWpra/X/1umaBvgLggBBEIy7eCOdLqjAy9+euHlDok4sKsgDr08ciL4aV7P/zNkSQRAgiiJzYgBrztXtfbzxxaGL2J1ZgjuuD/Uwh6u1DfqHDCdHdWszF7eaq+5d1ZgRHYRPUy5g5Q+n8b+QEbc0zKI9xboaJGzOAADMiAlC/AA/k3+PPZ0c8fmfojHz48M4WaDD9A0p+M/caPTzdzP5fSWKIv6dcgErE7NQ1yDAx1WFVZMHYVSvpj9GbvU8Pi5KLLm3H/40Khjrdp3DlrRL+OVMCX45U4K7+/niL3G90c/fdB2EV6rrsC2jAJuPXEKmtqk3v7f/Rfz5zl4mO0d7DM2XzRXSpaWlaGxshJ9fy7+8/fz8kJnZ+kdBWq221fZarVb/evO29tr4+vq2eN3BwQGenp76Nq1ZuXIlli9ffsP2kpKSFsNGzEFRX43RPT3afL295wXae9u62XMGsnb3BgAR9fX1cHR0bHEm88TT9ovmOF/7V258LKIoor6+Dkqlss28dvS5j/YeGGn3+ts9poVj+cOLoiiirrYOSpUSfq4qRAe5IszPGcA1FBdf61hwnZQgCKioqIAoilbVy2qNrDlXkb5KfAFgZ6YWfx5uvt7bbSdKUV3XiKCuKvRwqm9zKKUpcjU13B1fpslxskCHz/dlIT7M9FNVNgoiFn6bjctVdejl3QXzh3m1eU2m8Pb9IVj4bTZOF1Vj+oaDePeh3ujj08Vk99WV6nq8nnQB+3ObxpaPDHHHK3f3QFcnweTX5QBg4UhfTBrgjo9TC5CYWYak08VIOl2MuD5dMWuYBr19OjZTSYMg4tAFHbafKsXenArUNzZ98qhUyDCqhzPCusrM+n36vcpKw4bi2FwhbWsWL17cojdcp9MhMDAQPj4+Zh/a4esL3DHINNMTmZIgCCgpKYGPj4/V/VKyNsyVcZgvwwmCAJlMxlwZwJpzdY+7J17ekYNL5bWoVjgj2EyzQySeOQcAmBbd44ZOp98zRa58ATx1Rw1W/XQGH6RqMWVEb5OMW/69tTvP4sjFSnRxVOD9R4ci0NfFpMf/I18AXzzhgzmfHEH6xXI88+1ZfDo7CgEeHrd8X+3NLsVfv8pCSWUtlA5yvHRPGB4bHmT22TV8fYEhfQJxtvgq3knOxvfHtfj5zBX8fOYKBga44f7IANzWyxt9/FzajaWsqg6HcsuQnFmMnZnFuFL922I2/f1dMTmqO+6P8Efd1XKL/gyq1YY9T2NzhbS3tzcUCgWKiopabC8qKoJG0/r4R41G02775v8WFRXB39+/RZvIyEh9mz/+FdTQ0ICysrI2zwsAKpUKKtWNg/rlcrnVvSFbkkwms/scGIq5Mg7zZTjmynDWmiu3LkoMDe6Kgzll2Jt9GaE+pp8G72xxJY7mlUMhl+HhoYE3zYEpcvWnUaH478ELuHTlGj5PvYg/3Wa6lUgP5ZZhTXLTrFwrJg5Eb415O7WaeTip8O+50ZjzyWEcuXAFsz45giVjg/Gwn1+HclXb0IjVSWfw/37JAQD08nXBe9MHm3R4hSH6aNywbkYUni7QYd2us/jplBYnCnQ4UdA0lNXLWYlevi7o4eUEJ6UDHBUy6K41oLiyBtnFV3HpSstPCz2cHDExshsmD+2OAQFNUywKgoDiKsv+DBp6Hut6RzCAUqlEVFQUkpOT9dsEQUBycjJiY2Nb3Sc2NrZFewBISkrStw8JCYFGo2nRRqfTITU1Vd8mNjYW5eXlSEtL07fZuXMnBEFATEyMya6PiIjIGKP7NA07NNc0eJsPN015d2dfX4ut1NdFqcCiuD4AgLW7zppsye0rVXVYuCkdggg8NLgbHo7qbpLjGspV7YjPHo9GbKgXrtY24m/fncPKHzJRU99o1HEOXJ/WrrmInhEThO8WjLJ4Ef17/QPcsG7GEBx6KQ7L7x+A2/v4QO0ox+WqOqTmluHLI5fw6YHz+GBvLjYfuYhdWSX6IrqnjzP+NCoEX8wbjsMvx2HZ/QP0RbS1s7keaQBISEjArFmzMHToUERHR2PNmjWoqqrCnDlzAAAzZ85Et27dsHLlSgDAwoULMXr0aKxatQoTJkzApk2bcOTIEWzYsAFA01/Pf/nLX/D666+jd+/eCAkJwauvvoqAgABMnDgRANCvXz+MGzcO8+bNw/r161FfX48FCxZg2rRpBs/YQUREZGqj+/jgn4mZSDl3GTX1jVA7mm4YRF2DgG+O5gMApg4z7dzRN/NwVHd8uC8XZ4uvYv0v5/DCLa5IKggintvyKworahDq7YwVEweaKFLjOKsc8Nnj0fjHjlP49MAFfLA3F0mnivDiPf0wtr9fuw9XnsivwDvJ2Ug61fQpu4+rCq9PHIh4K5qRqKuzErNGBGPWiGDU1DciU1uJ86VVyCurRk19IxoEEa4qB/i6qRDY1QkDu7vf8owiUrLJQnrq1KkoKSnBkiVLoNVqERkZicTERP24rby8vBZd8iNGjMDGjRvxyiuv4KWXXkLv3r2xdetWDBz42w/R3/72N1RVVWH+/PkoLy/HqFGjkJiY2GKMzOeff44FCxZgzJgxkMvlmDRpEt59913LXTgREdEf9PN3ha+rCsWVtThy/opJp4zbmVmMy1V18HFV4c6+5psVpDUOCjleHBeGP/37CD7el4tHooNuabnt9385h52ZxVA6yPHeI4PhrJKuBFI6yLHk3v7o7+WAVb9cwvnL1Xjyv2kI9XHGhHB/xIR4oVvXLhBEEUW6GqTnlSPxhBbH85seJpTLgMeGm2ZaO3NSOyoQeX0Fxc7KJueRtmWWnEfaWlnrnKzWiLkyDvNlOObKcLaQq+e3/IotaZcwe0Qwlt1vutU7H//0MHZmFuPJ0T3x4j037xE2da5EUcT0Dw7iYE4ZokM8sWne8A5Nh3fgXCke/TAVggj8c1I4pg4LuuXYblVzrtRuXfHB3lz8+8AFVNa2v7COg1yGCYP88cxdvdHLzA9IWhMpfgYNrdes8x2BiIiIDNa82FDSqSKTLd+srajB7qymh+ynDLXsWOJmMpkM/5w0CE5KBQ7lluGjfblGH+PC5So8s7FpXPTDUd0xxcTLm98qN7Ujno8Pw/7Fd2H1lAhMCPdHL18XOCkVcFU7INCzCyaE++O1BwYg9aUxeGfaYLsqoq2dTQ7tICIiot/c1tsbTkoF8suv4US+DuHdb/1BrS+PXIQgAtEhngj1ka5w6+HljFcm9MdL3x7HPxMzMaCbG0b0NGz4SllVHWZ/chiXq+owsJsbVjww0OzTwnWUm9oRDw3pjoeGSPNHC3UMe6SJiIhsnNpRgTuuj2FOPFl4y8drFET9bB2PREs/DGJ6dCDuiwhAgyDiqf8eRU7J1ZvuU3q1FjM+TEVuaRW6eXTBx7OHoYvStPNRE7GQJiIi6gSaZ2748WTRTVre3N7sEuSXX4N7F0eMGyj9jBAymQz/9/AgRAZ6oOJaPaZtOIhMra7N9jklVzHl/6XgdKEO3i4qfPb4MItN3Uf2hYU0ERFRJ3BXmC+UCjnOFl/FmSLDljduy6ZDTb3RDw3pZtLp9G6F2lGBD2cNRZjGFcWVtZi4bj8+3JvTYg7ma3WN+HBvDu57bx9ySpp6orc8GYtevqZfqIYI4BhpIiKiTsFV7Yjb+/jg59NF+DY9v8PzLhfravDz6aZe7elWMKzj97xdVNg0fzie+SIde7NL8fr3p/HOz9kYFOgOQQCO51fg6vWZL6JDPPHe9MHwc2NPNJkPe6SJiIg6iUlDugEAtqbno1Ho2Owdmw5fRIMgIqpHV/Txs76eXA8nJT6bE41/PBiOAHc1KmsbsP/sZaTkXMbV2gYEenbBPyeF44t5w1lEk9mxR5qIiKiTuKufL9zUDiisqMHBnMsY2cu4xVlqGxrx75QLAICZsT3MEaJJyOUyPBIThKnDAnE8v0L/8GFvX1cM7OZmtTNzUOfDQpqIiKiTUDkocG9EADam5uHro5eMLqS3ZRSg9Got/N3VGB/ub6YoTUchl3X6lfPIunFoBxERUSfSPLxjx/FClFfXGbyfKIr6BU9mjwiGo4IlAtHN8KeEiIioExkS1BX9/N1QUy9g0/W5oA2RdKoImdpKOCkVmGZlDxkSWSsW0kRERJ2ITCbDnJHBAIB/HziPugbhpvs0CiJW/XQGADBnZDDcuziaM0SiToOFNBERUSdzf0QAfFxVKKiowZa0m/dKbz9WgKyiSripHTD/tp4WiJCoc2AhTURE1MmoHRX48x1NBfHanWdxra6xzbZVtQ14MzELAPDE6J5wd2JvNJGhWEgTERF1QtOjgxDgrkZhRQ3eSc5us93//ZiF/PJr6N61i35ICBEZhoU0ERFRJ6R2VGD5AwMBAB/szUFqzuUb2mw/VoBPD5wHAPzjwXA4KTkrLpExWEgTERF1Unf398MDkQFoFETM/08ajuZd0b/2w/FCPPflrwCAebeF4PY+PlKFSWSz+KcnERFRJ/bPSYOQV1aN9LxyTFmfgtv7+KC6rgEHc8oAAGP7++GFcWESR0lkm9gjTURE1ImpHRX47PFo3DvIHw2CiJ2ZxTiYUwYHuQx/GhWCf80YAgcuvkLUIeyRJiIi6uTc1I5Y+8gQPH2nDvvPlkIhlyGunx8CPZ2kDo3IprGQJiIishP9/N3Qz99N6jCIOg1+lkNERERE1AEspImIiIiIOoCFNBERERFRB7CQJiIiIiLqABbSREREREQdwEKaiIiIiKgDWEgTEREREXWAzRXSZWVlmDFjBtzc3ODh4YG5c+fi6tWr7e5TU1ODp59+Gl5eXnBxccGkSZNQVFTUok1eXh4mTJgAJycn+Pr64vnnn0dDQ4P+9d27d0Mmk93wpdVqzXKdRERERGTdbK6QnjFjBk6ePImkpCRs374de/bswfz589vdZ9GiRfjuu++wZcsW/PLLLygoKMBDDz2kf72xsRETJkxAXV0dDhw4gM8++wyffvoplixZcsOxsrKyUFhYqP/y9fU1+TUSERERkfWzqZUNT58+jcTERBw+fBhDhw4FALz33nsYP3483nrrLQQEBNywT0VFBT766CNs3LgRd911FwDgk08+Qb9+/XDw4EEMHz4cP/30E06dOoWff/4Zfn5+iIyMxIoVK/DCCy9g2bJlUCqV+uP5+vrCw8PDItdLRERERNbLpgrplJQUeHh46ItoAIiLi4NcLkdqaioefPDBG/ZJS0tDfX094uLi9NvCwsIQFBSElJQUDB8+HCkpKQgPD4efn5++TXx8PJ566imcPHkSgwcP1m+PjIxEbW0tBg4ciGXLlmHkyJHtxlxbW4va2lr9vysqKgAA5eXlEATB+CR0AoIgQKfTQalUQi63uQ9FLIq5Mg7zZTjmynDMleGYK8MxV4aTIlc6nQ4AIIpiu+1sqpDWarU3DKVwcHCAp6dnm2OVtVotlErlDb3Ifn5++n20Wm2LIrr59ebXAMDf3x/r16/H0KFDUVtbiw8//BB33HEHUlNTMWTIkDZjXrlyJZYvX37D9h49erR/sUREREQkqcrKSri7u7f5ulUU0i+++CL++c9/ttvm9OnTFoqmdX379kXfvn31/x4xYgTOnTuHt99+G//5z3/a3G/x4sVISEjQ/1sQBJSVlcHLywsymcysMVsrnU6HwMBAXLx4EW5ublKHY9WYK+MwX4ZjrgzHXBmOuTIcc2U4KXIliiIqKytbHTb8e1ZRSD/33HOYPXt2u21CQ0Oh0WhQXFzcYntDQwPKysqg0Wha3U+j0aCurg7l5eUteqWLior0+2g0Ghw6dKjFfs2zerR1XACIjo7Gvn372o1bpVJBpVK12MYx1k3c3Nz45mEg5so4zJfhmCvDMVeGY64Mx1wZztK5aq8nuplVFNI+Pj7w8fG5abvY2FiUl5cjLS0NUVFRAICdO3dCEATExMS0uk9UVBQcHR2RnJyMSZMmAWiaeSMvLw+xsbH64/79739HcXGxfuhIUlIS3Nzc0L9//zbjycjIgL+/v1HXSkRERESdg1UU0obq168fxo0bh3nz5mH9+vWor6/HggULMG3aNH3Xe35+PsaMGYN///vfiI6Ohru7O+bOnYuEhAR4enrCzc0NzzzzDGJjYzF8+HAAwNixY9G/f3889thjePPNN6HVavHKK6/g6aef1vcmr1mzBiEhIRgwYABqamrw4YcfYufOnfjpp58kywcRERERScemCmkA+Pzzz7FgwQKMGTMGcrkckyZNwrvvvqt/vb6+HllZWaiurtZve/vtt/Vta2trER8fj3/961/61xUKBbZv346nnnoKsbGxcHZ2xqxZs/Daa6/p29TV1eG5555Dfn4+nJycMGjQIPz888+48847LXPhnYhKpcLSpUtvGPJCN2KujMN8GY65MhxzZTjmynDMleGsOVcy8WbzehARERER0Q04cSERERERUQewkCYiIiIi6gAW0kREREREHcBCmoiIiIioA1hIExERERF1AAtpsoiysjLMmDEDbm5u8PDwwNy5c3H16lWD9hVFEffccw9kMhm2bt1q3kCtgLG5KisrwzPPPIO+ffuiS5cuCAoKwrPPPouKigoLRm0569atQ3BwMNRqNWJiYm5YlfSPtmzZgrCwMKjVaoSHh2PHjh0WilR6xuTqgw8+wG233YauXbuia9euiIuLu2luOxNj76tmmzZtgkwmw8SJE80boBUxNlfl5eV4+umn4e/vD5VKhT59+tjNz6GxuVqzZo3+vTwwMBCLFi1CTU2NhaKVzp49e3DfffchICDA4N/1u3fvxpAhQ6BSqdCrVy98+umnZo+zVSKRBYwbN06MiIgQDx48KO7du1fs1auXOH36dIP2Xb16tXjPPfeIAMRvv/3WvIFaAWNzdfz4cfGhhx4St23bJp49e1ZMTk4We/fuLU6aNMmCUVvGpk2bRKVSKX788cfiyZMnxXnz5okeHh5iUVFRq+33798vKhQK8c033xRPnTolvvLKK6Kjo6N4/PhxC0duecbm6pFHHhHXrVsnpqeni6dPnxZnz54turu7i5cuXbJw5JZnbK6a5ebmit26dRNvu+028YEHHrBMsBIzNle1tbXi0KFDxfHjx4v79u0Tc3Nzxd27d4sZGRkWjtzyjM3V559/LqpUKvHzzz8Xc3NzxR9//FH09/cXFy1aZOHILW/Hjh3iyy+/LH7zzTcG/a7PyckRnZycxISEBPHUqVPie++9JyoUCjExMdEyAf8OC2kyu1OnTokAxMOHD+u3/fDDD6JMJhPz8/Pb3Tc9PV3s1q2bWFhYaBeF9K3k6ve+/PJLUalUivX19eYIUzLR0dHi008/rf93Y2OjGBAQIK5cubLV9lOmTBEnTJjQYltMTIz4xBNPmDVOa2Bsrv6ooaFBdHV1FT/77DNzhWg1OpKrhoYGccSIEeKHH34ozpo1y24KaWNz9f7774uhoaFiXV2dpUK0Gsbm6umnnxbvuuuuFtsSEhLEkSNHmjVOa2PI7/q//e1v4oABA1psmzp1qhgfH2/GyFrHoR1kdikpKfDw8MDQoUP12+Li4iCXy5GamtrmftXV1XjkkUewbt06aDQaS4QquY7m6o8qKirg5uYGBwebW7y0TXV1dUhLS0NcXJx+m1wuR1xcHFJSUlrdJyUlpUV7AIiPj2+zfWfRkVz9UXV1Nerr6+Hp6WmuMK1CR3P12muvwdfXF3PnzrVEmFahI7natm0bYmNj8fTTT8PPzw8DBw7EP/7xDzQ2NloqbEl0JFcjRoxAWlqafvhHTk4OduzYgfHjx1skZltiTe/tnee3LFktrVYLX1/fFtscHBzg6ekJrVbb5n6LFi3CiBEj8MADD5g7RKvR0Vz9XmlpKVasWIH58+ebI0TJlJaWorGxEX5+fi22+/n5ITMzs9V9tFptq+0NzaWt6kiu/uiFF15AQEDADb+sOpuO5Grfvn346KOPkJGRYYEIrUdHcpWTk4OdO3dixowZ2LFjB86ePYs///nPqK+vx9KlSy0RtiQ6kqtHHnkEpaWlGDVqFERRRENDA5588km89NJLlgjZprT13q7T6XDt2jV06dLFYrGwR5o67MUXX4RMJmv3y9Bf2n+0bds27Ny5E2vWrDFt0BIxZ65+T6fTYcKECejfvz+WLVt264GTXXrjjTewadMmfPvtt1Cr1VKHY1UqKyvx2GOP4YMPPoC3t7fU4Vg9QRDg6+uLDRs2ICoqClOnTsXLL7+M9evXSx2a1dm9ezf+8Y9/4F//+heOHj2Kb775Bt9//z1WrFghdWjUDvZIU4c999xzmD17drttQkNDodFoUFxc3GJ7Q0MDysrK2hyysXPnTpw7dw4eHh4ttk+aNAm33XYbdu/efQuRW545c9WssrIS48aNg6urK7799ls4OjreathWxdvbGwqFAkVFRS22FxUVtZkbjUZjVPvOoiO5avbWW2/hjTfewM8//4xBgwaZM0yrYGyuzp07h/Pnz+O+++7TbxMEAUDTp0dZWVno2bOneYOWSEfuK39/fzg6OkKhUOi39evXD1qtFnV1dVAqlWaNWSodydWrr76Kxx57DH/6058AAOHh4aiqqsL8+fPx8ssvQy5n32eztt7b3dzcLNobDbBHmm6Bj48PwsLC2v1SKpWIjY1FeXk50tLS9Pvu3LkTgiAgJiam1WO/+OKLOHbsGDIyMvRfAPD222/jk08+scTlmZQ5cwU09USPHTsWSqUS27Zt65S9iEqlElFRUUhOTtZvEwQBycnJiI2NbXWf2NjYFu0BICkpqc32nUVHcgUAb775JlasWIHExMQW4/Q7M2NzFRYWhuPHj7d4b7r//vtx5513IiMjA4GBgZYM36I6cl+NHDkSZ8+e1f+xAQBnzpyBv79/py2igY7lqrq6+oZiufkPEFEUzResDbKq93aLP95IdmncuHHi4MGDxdTUVHHfvn1i7969W0zpdunSJbFv375iampqm8eAHczaIYrG56qiokKMiYkRw8PDxbNnz4qFhYX6r4aGBqkuwyw2bdokqlQq8dNPPxVPnTolzp8/X/Tw8BC1Wq0oiqL42GOPiS+++KK+/f79+0UHBwfxrbfeEk+fPi0uXbrUrqa/MyZXb7zxhqhUKsWvvvqqxT1UWVkp1SVYjLG5+iN7mrXD2Fzl5eWJrq6u4oIFC8SsrCxx+/btoq+vr/j6669LdQkWY2yuli5dKrq6uopffPGFmJOTI/70009iz549xSlTpkh1CRZTWVkppqeni+np6SIAcfXq1WJ6erp44cIFURRF8cUXXxQfe+wxffvm6e+ef/558fTp0+K6des4/R11bpcvXxanT58uuri4iG5ubuKcOXNa/ILOzc0VAYi7du1q8xj2Ukgbm6tdu3aJAFr9ys3NleYizOi9994Tg4KCRKVSKUZHR4sHDx7UvzZ69Ghx1qxZLdp/+eWXYp8+fUSlUikOGDBA/P777y0csXSMyVWPHj1avYeWLl1q+cAlYOx99Xv2VEiLovG5OnDggBgTEyOqVCoxNDRU/Pvf/97p/shvizG5qq+vF5ctWyb27NlTVKvVYmBgoPjnP/9ZvHLliuUDt7C2fo8152fWrFni6NGjb9gnMjJSVCqVYmhoqPjJJ59YPG5RFEWZKPLzAiIiIiIiY3GMNBERERFRB7CQJiIiIiLqABbSREREREQdwEKaiIiIiKgDWEgTEREREXUAC2kiIiIiog5gIU1ERERE1AEspImIiIiIOoCFNBERERFRB7CQJiIio91xxx2QyWSQyWTIyMgwaJ/Zs2fr99m6datZ4yMisgQW0kREdINFixbhoYcearfNvHnzUFhYiIEDBxp0zHfeeQeFhYWmCI+IyCqwkCYiohscOnQIQ4cObbeNk5MTNBoNHBwcDDqmu7s7NBqNKcIjIrIKLKSJiEivrq4Ojo6OOHDgAF5++WXIZDIMHz7c4P2/+uorhIeHo0uXLvDy8kJcXByqqqrMGDERkXQM60YgIiK74ODggP379yMmJgYZGRnw8/ODWq02aN/CwkJMnz4db775Jh588EFUVlZi7969EEXRzFETEUmDhTQREenJ5XIUFBTAy8sLERERRu1bWFiIhoYGPPTQQ+jRowcAIDw83BxhEhFZBQ7tICKiFtLT040uogEgIiICY8aMQXh4OCZPnowPPvgAV65cMUOERETWgYU0ERG1kJGR0aFCWqFQICkpCT/88AP69++P9957D3379kVubq4ZoiQikh4LaSIiauH48eOIjIzs0L4ymQwjR47E8uXLkZ6eDqVSiW+//da0ARIRWQmOkSYiohYEQUBWVhYKCgrg7OwMd3d3g/ZLTU1FcnIyxo4dC19fX6SmpqKkpAT9+vUzc8RERNJgjzQREbXw+uuv49NPP0W3bt3w+uuvG7yfm5sb9uzZg/Hjx6NPnz545ZVXsGrVKtxzzz1mjJaISDrskSYiohYeffRRPProo0bv169fPyQmJpohIiIi68QeaSIi6pB//etfcHFxwfHjxw1q/+STT8LFxcXMURERWY5M5Ez5RERkpPz8fFy7dg0AEBQUBKVSedN9iouLodPpAAD+/v5wdnY2a4xERObGQpqIiIiIqAM4tIOIiIiIqANYSBMRERERdQALaSIiIiKiDmAhTURERETUASykiYiIiIg6gIU0EREREVEHsJAmIiIiIuoAFtJERERERB3AQpqIiIiIqAP+P0nVM4BL2+VrAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "zamenjava = {\n",
    "    t0: podatki[\"t0\"],\n",
    "    f0: podatki[\"f0\"],\n",
    "    delta: podatki[\"delta\"],\n",
    "    omega0: podatki[\"omega0\"],\n",
    "}\n",
    "\n",
    "x1_fn = sp.lambdify(t, x1.subs(zamenjava), \"numpy\")\n",
    "x2_fn = sp.lambdify(t, x2.subs(zamenjava), \"numpy\")\n",
    "\n",
    "\n",
    "def x_sol_num(t_arr):\n",
    "    \"\"\"Numerična rešitev x(t) za zgornje številske podatke.\n",
    "\n",
    "    Parameters\n",
    "    ----------\n",
    "    t_arr : float ali ndarray\n",
    "        Časi, v katerih se izračuna odziv.\n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "    ndarray\n",
    "        Vrednosti odziva x(t).\n",
    "    \"\"\"\n",
    "    t_arr = np.atleast_1d(np.asarray(t_arr, dtype=float))\n",
    "    x = np.zeros_like(t_arr)\n",
    "    maska1 = (t_arr > 0) & (t_arr < podatki[\"t0\"])\n",
    "    maska2 = t_arr >= podatki[\"t0\"]\n",
    "    x[maska1] = x1_fn(t_arr[maska1])\n",
    "    x[maska2] = x2_fn(t_arr[maska2])\n",
    "    return x\n",
    "\n",
    "\n",
    "t_arr = np.linspace(-podatki[\"t0\"], 2 * podatki[\"t0\"], 1000)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8, 4))\n",
    "ax.plot(t_arr, x_sol_num(t_arr), linewidth=1.5, color=\"C0\")\n",
    "ax.set_xlabel(\"$t$ [s]\")\n",
    "ax.set_ylabel(\"$x(t)$ [m]\")\n",
    "ax.grid(True, alpha=0.3)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "08527fcf",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "#### Numerična kontrola\n",
    "\n",
    "Zaprto obliko preverimo še z dvema neodvisnima numeričnima potema: z\n",
    "diskretno konvolucijo vzorčenih `f` in `g` (`scipy.signal.convolve`,\n",
    "rezultat pomnožimo z `dt` in obrežemo na vzročni del) ter z direktno\n",
    "integracijo gibalne enačbe (`solve_ivp`, korak integratorja manjši od\n",
    "dolžine sunka $t_0$)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "6fb1820a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:43.285857Z",
     "iopub.status.busy": "2026-09-25T06:56:43.285734Z",
     "iopub.status.idle": "2026-09-25T06:56:43.347699Z",
     "shell.execute_reply": "2026-09-25T06:56:43.347215Z"
    }
   },
   "outputs": [],
   "source": [
    "\n",
    "dt = podatki[\"t0\"] / 2000\n",
    "n_korakov = int(round(2 * podatki[\"t0\"] / dt))\n",
    "t_num = np.linspace(0, 2 * podatki[\"t0\"], n_korakov + 1)\n",
    "\n",
    "omega0d_val = podatki[\"omega0\"] * np.sqrt(1 - podatki[\"delta\"] ** 2)\n",
    "\n",
    "f_num = np.where(\n",
    "    t_num < podatki[\"t0\"], podatki[\"f0\"] * np.sin(np.pi * t_num / podatki[\"t0\"]), 0.0\n",
    ")\n",
    "g_num = (\n",
    "    (1 / omega0d_val)\n",
    "    * np.exp(-podatki[\"delta\"] * podatki[\"omega0\"] * t_num)\n",
    "    * np.sin(omega0d_val * t_num)\n",
    ")\n",
    "\n",
    "# diskretna konvolucija: vzročni del (prvih len(t_num) vzorcev), skalirano z dt\n",
    "x_konv = signal.convolve(f_num, g_num, mode=\"full\")[: len(t_num)] * dt\n",
    "\n",
    "\n",
    "def rhs(t_, y):\n",
    "    \"\"\"Desna stran gibalne enačbe x'' + 2 delta omega0 x' + omega0^2 x = f(t).\n",
    "\n",
    "    Parameters\n",
    "    ----------\n",
    "    t_ : float\n",
    "        Čas.\n",
    "    y : list\n",
    "        Stanje [x, x'].\n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "    list\n",
    "        Odvod stanja [x', x''].\n",
    "    \"\"\"\n",
    "    x_, v_ = y\n",
    "    f_val = podatki[\"f0\"] * np.sin(np.pi * t_ / podatki[\"t0\"]) if t_ < podatki[\"t0\"] else 0.0\n",
    "    a_ = f_val - 2 * podatki[\"delta\"] * podatki[\"omega0\"] * v_ - podatki[\"omega0\"] ** 2 * x_\n",
    "    return [v_, a_]\n",
    "\n",
    "\n",
    "sol = solve_ivp(\n",
    "    rhs,\n",
    "    (0, 2 * podatki[\"t0\"]),\n",
    "    y0=[0.0, 0.0],\n",
    "    max_step=podatki[\"t0\"] / 50,\n",
    "    t_eval=t_num,\n",
    "    rtol=1e-10,\n",
    "    atol=1e-12,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "ad620755",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-25T06:56:43.348906Z",
     "iopub.status.busy": "2026-09-25T06:56:43.348797Z",
     "iopub.status.idle": "2026-09-25T06:56:43.418216Z",
     "shell.execute_reply": "2026-09-25T06:56:43.417657Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Največje odstopanje konvolucije od zaprte oblike: 3.067e-07 m\n",
      "Največje odstopanje solve_ivp od zaprte oblike: 5.092e-11 m\n",
      "Vse tri rešitve (zaprta oblika, konvolucija, solve_ivp) se ujemajo.\n"
     ]
    }
   ],
   "source": [
    "\n",
    "x_tocno = x_sol_num(t_num)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8, 4))\n",
    "ax.plot(t_num, x_tocno, linewidth=1.5, color=\"C0\", label=\"zaprta oblika (Duhamel)\")\n",
    "ax.plot(t_num, x_konv, linewidth=1.5, linestyle=\"--\", color=\"C1\", label=\"konvolucija (scipy)\")\n",
    "ax.plot(t_num, sol.y[0], linewidth=1.5, linestyle=\":\", color=\"C2\", label=\"solve_ivp\")\n",
    "ax.set_xlabel(\"$t$ [s]\")\n",
    "ax.set_ylabel(\"$x(t)$ [m]\")\n",
    "ax.grid(True, alpha=0.3)\n",
    "ax.legend()\n",
    "plt.show()\n",
    "\n",
    "napaka_konv = np.max(np.abs(x_konv - x_tocno))\n",
    "napaka_ivp = np.max(np.abs(sol.y[0] - x_tocno))\n",
    "print(f\"Največje odstopanje konvolucije od zaprte oblike: {napaka_konv:.3e} m\")\n",
    "print(f\"Največje odstopanje solve_ivp od zaprte oblike: {napaka_ivp:.3e} m\")\n",
    "\n",
    "assert napaka_konv < 1e-4\n",
    "assert napaka_ivp < 1e-4\n",
    "print(\"Vse tri rešitve (zaprta oblika, konvolucija, solve_ivp) se ujemajo.\")"
   ]
  }
 ],
 "metadata": {
  "jupytext": {
   "formats": "ipynb,py:percent"
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.13.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
