{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# How to use Lipschitzian modelling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from desdeo_problem.surrogatemodels.lipschitzian import LipschitzianRegressor\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def y_func(x):\n",
    "    return(np.sin(x) + np.sin(2*x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_points = 20\n",
    "x = np.linspace(0, 2 * np.pi, num_points).reshape(-1,1)\n",
    "y = y_func(x)\n",
    "data = pd.DataFrame(np.hstack((x,y)), columns = ['x','y'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = LipschitzianRegressor()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.fit(X=data['x'], y = data['y'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.8392177826759726"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.L"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.00000000e+00],\n",
       "       [ 9.38912182e-01],\n",
       "       [ 1.58361298e+00],\n",
       "       [ 1.75293980e+00],\n",
       "       [ 1.44534766e+00],\n",
       "       [ 8.31989903e-01],\n",
       "       [ 1.80049416e-01],\n",
       "       [-2.60860582e-01],\n",
       "       [-3.61219085e-01],\n",
       "       [-1.60104879e-01],\n",
       "       [ 1.60104879e-01],\n",
       "       [ 3.61219085e-01],\n",
       "       [ 2.60860582e-01],\n",
       "       [-1.80049416e-01],\n",
       "       [-8.31989903e-01],\n",
       "       [-1.44534766e+00],\n",
       "       [-1.75293980e+00],\n",
       "       [-1.58361298e+00],\n",
       "       [-9.38912182e-01],\n",
       "       [-7.34788079e-16]])"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_new = np.linspace(0, 2*np.pi, 1000).reshape(-1,1)\n",
    "y_new_true = y_func(x_new)\n",
    "y_mean, y_delta = model.predict(x_new)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2c4d3b5d9c8>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAD4CAYAAADxeG0DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAABD20lEQVR4nO29e3xU9Z3///zMJAECCsEQbgJChGCLJhMitXWrhdaqrVxsl42o24pa2e52H1r1u9/e1gt1+9tHd5e1u9/t/r4uilWsxXgr1oqti9u6i6gJGQSEcL+jk0AIhFwmmfl8/5g5M+dzzplcyMBkkvfz8YjO+cyZM58J8DrveV+V1hpBEAQhe/FlegOCIAhC3xAhFwRByHJEyAVBELIcEXJBEIQsR4RcEAQhy8nJxJsWFhbqSy65JBNvLQiCkLXU1NQ0aK3HONczIuSXXHIJ1dXVmXhrQRCErEUpdcBrXVwrgiAIWY4IuSAIQpYjQi4IgpDliJALgiBkOSLkgiAIWY4IuSAIQpYjQn4OCIaCrNyykmAomOmtCIIwCMhIHvlApqquir/b+HdEiZLry+XJ65+krKgs09sSBGEAIxZ5GgmGgjy28TEiRNBowtEwq7auyvS2BEEY4IiQp5G1e9YSJWqsvX3obXGxCIJwThEhTyMf1n/oWtNoXtvzWsrXVNVVcevrt3Lv+ntF8AVBOCv67CNXSk0CngHGAhp4Qmv9s75eN9uoqquirrHO87mG1oaUr1m+cXni+L8O/Re/uPEX4lMXBKFXpMMi7wQe0Fp/CrgK+Cul1KfScN2sYvX21Smfa2pv8lx/effLxnGUKI/XPJ7ObQmCMAjos5BrrY9prTfFH58GtgMT+3rdbCIYCrKvaV/K5zeFNnm6TToiHa61mlCNuFgEQegVafWRK6UuAQLAex7P3aOUqlZKVdfX16fzbTPO2j1r0eiUz2u0y9IOhoLsatzleX5XPnVBEAQnaRNypdQI4CXgPq31KefzWusntNYVWuuKMWNcfdGzmr0n9xrHs4tmM23kNGPNaWmv2rrKleFisefknrTvURCEgUtahFwplUtMxJ/TWr/c3fkDiWAoyKbQJmNt5JCR3H7Z7a5zLUs7GAry9qG3U14zlStGEATBiz4LuVJKAU8C27XWK/q+pezCy61SOKyQxSWLKSkoMdYtS/tsXDGCIAipSIdFfjXw58A8pVQw/vOVNFw3K3C6VRSK+cXzAbhizBXGc5al7fWaCcMnGGsS9BQEoaekI2vlv7XWSmt9hda6LP7z23Rsrr/j5VaZO2luIg98QfECFCrxnGVp14ZqXa+5+/K7XdeXoKcgCD1BKjv7wOM1jxsuEoVi6aylieOyojLGDx9vvGb7ie1GkNOHj6Wzlnq6YlIVEgmCINgRIT9LgqEgNaEaY23qyKmuqsyZo2caxy2dLcbx9ILpiddMHGGm3x9pPpKezQqCMKARIT9L1u5Z61rzylRZOmup4V5xkufPSzy+aNhFxnN1jXVU1VX1YZeCIAwGRMjPkuOtx43jkoISFpcsdp1XVlRGeVF5yuvcfOnNiccLihe4nu+q9F8QBAFksMRZ43R7WG6RmgONHFzzv/hi81qGESaKj0sKR1Jz4XCmH4FPH9Rsm6zYNRFmhMMsXvMXoL4NhTMpu2kFs4tmGy6bfU37CIaC0khLEISUiEXeA5yj27w6HZ44PYSKx37P/v+4jUVnqrhAtZOjNHkqwqLmZmYc1jzyXIQlf4iyfHWEecEope1hdLQTHemAT7bAk9dz36QvuzJdZDiFIAhdIRZ5N3iNbnO5OzT8T/ASytq2cnPe/wCgbG7xsnCYv/xjBzlRPwrwafjWOk3kxnbUSPuFopTtf5/yonLDKreGU4hVLgiCF2KRd0EwFOTHG39sjG57vOZxs9Ohhs6WS4i2TuEe/29QxERc6+RPS30u448mf9UK8KEZvXlI4pz4pTh1aBvTRpl9WrobTiEIwuBGhLwLVm1d5SqlrwnVJNa0jolve/2NlKudfMlfbZwb0RDWfk7sGx4TeEi8VgHNR4fSXJ/MWkFD/scfkLt/hCvTRXLKBUFIhQh5F+w4saPbcyJxa/xr/nfwY3OpKMiZs5Qhy0/QnlceWwCbQCs0ihf3fp4ICq1jr/WjCWx7nfzIpcb7pBpOIQiCIEKegmAoyLEzxzyf0zYjPdo+FoBLMbNYFApKb6VxzRrCO1LfEPwdOVRHzIrO6/zV+E/5sX8ZkI6IgiCkQoQ8BV5uFSBhOVti3nGqnHK1k4qcOiPAycyvwKQ5nHzxpZTvoYBrxg/hzMji5JqK/aEsaG42bhjOjohVdVUs+/0yKRgSBEGyVrzw7BeuNfOCUa6qg40livVlikBrO09GfoBvSMwlksQHV98HQLTDHOfmGzWK6MmTiePWmho+++c/Ivru6/h00jVzbdsJfhEuwjcklFizOiLuatyVGNq84egGAM9iJEEQBgdikXvg6heuNTdsirBsnaZ0n2bZuihL3o5wf+NJcnzaIeLAuE/DpDm01NYS3rnTeCp/9mwzN1FrQs++gX/mTdjjmxX+HYxrnG6dkuC1Pa/x8+DPjWuu3LKyT59XEITsRoTcA6NfuNYoYP4HsY6FltYufE8z46j27qIS759yfOWTELWNc/P5uOjuu8ibZqYXtlZX01LwVRQKjRX0hL9p3kWkbZxx7sZjG2loMzNYjp45Kv5zQRjEiJA7CIaCrn7ht+xppbAxKdlWKmHTvnzviwS+QUttLc3r1xvLw8rLyQ8EGP2NP3e9pGnDThg12bgxXKb2E22bklzQcPD0Qc+3lIlCgjB4ESF3YAxF1rFf0PzNkYR4WyigvSkHlA98OZAzFEZNhpt+BhV30PTqr02fCDCkOBbULKisJG+m2d62fc8eGHe58QYX+xqY1jQGrKKhWCK6JzJRSBAGLyLkNtxBTk2gtY0LTvhsKxaK1uNDaVmwHh46Dj/6BO7bAhV3AHFhtqMUIxctTBzml5YaT7fW1NBS8FWS+ebgU3BbRx3RcJHH+7uR6k9BGJyIkNvwGop85eEorQ153i/QmtA/uedNt9TW0rrJHAE3Yt488gOBxPHIRQtdQc/jazfAlM8llhSwJOc/+dtTdSg00w9HufndKNMPx0z0YRHzfa3hzoIgDC5EyG0YPcbjQc5r37FXYuIKbrZWV9NSa/rUm179tWeQ005+IEDOBHPgctv27TDGLA7yA7ecOc3nD3TwyHNRbvlDlEeeizD9iGZ8JGy4b6RoSBAGJyLkNpxl8DftbccfyjXW/IWF7te9+mvjuGXzZuM4b8YMwxq3GOrwk3ceO0ZL7pWu8xTwpfcgJxr7A8uJwp3rotzedBqlSfhbnEVDgiAMDkTI4wRDQTaFTHfI57ZZj5LW+Ji//o53oDJOS22tqyTfl2veDCwuuvsub/fK5X/mOndayHT5TKvXfCkYZWpHB3bPuQQ9BWHwIUIe5/Gax5P+8bhbZcqppBNaAXkzZ1JQWekdqIy7V5zWOcCoP/2653vmBwIMmz3bWGtev56WaX8ZqwzNHQ7KR8vxoQxp9oGtc6ICTtQN5/ZTp13XlaCnIAwuRMiJWeP2QQ4AU8Md5Ds0Mm9ibJybZ6By5ZOAO1vFEv9UWCmJ9ms1vfpruO5R+OFReLiR49HFxNpwqYTtrVGET+fy1f1hSsJhI51Fgp6CMLgQISeWrZIgHjz8zntthE/mYQ9v5sT946kClS21tbTWmDcEp/XuxHVTwO2qcRYW2YOuTfvymdjZiV3JJegpCIMLEXIcJflASTjMtC1uv7Y9D9wrUHns0eVmEZAjd9yL/ECAEfPmGWutmzaZrhptz143aWnI4aJI1FiTiUKCMLgY9EKeCHLa9HfugU7Cp3Kwy+awigoj88QrUOkMcuZNneqZreLkorvvAp/tjyIaTemqMVGEm/JYVNMZz15JfghxrwjC4GHQC3kiyBkvf1fANVtMCxelKHrgfmPJK1DpZPQ3v9GjPeQHAgwrLzfWmtevp3HNGldh0bCKClel/gV1ecxtaTHOqw3VintFEAYJg1rIE0HOhCrqWJAzZP5ahs2e7WlZuwKVNroLcnZ7La1peOI/XIVFRQ/cb6Q/ahTRqGLpqdP4bDnlUaKs2rqqx+8vCEL2MqiFPBHkVHgEOZOkEuyu/N/dBTk9r+UIenYeMcfHWd0T80tLDV95uCmXGUc0gbY27Lb624feFqtcEAYBg1rIj7ceN3wUJe32IGdSKlMJdn4gwLCKCs/nugtyel6rG1eNdUOxi761y1DwQqZ1dhrnS9BTEAYHg1rIt3yyz/A1lx+OxIOcSZxBTidO3zlAzoQJPQpyOunKVWPPgMkPBNzDKRryWLi3XYKegjAIGbRCXlVXRX37PmPtio+sX0fczvUIcjrJDwQY7WiIVbjsnrPak5d7xcLppzeHU8ReU7QzV4KegjAIGbRCvvLDZxJj1SwL9pJ6M1slVZDTydgHH2Tco48w/OqrGffoI70KctrxsrQtnNa653CKJr9n0FPcK4IwsBmUQh4MBTnast9Ym+/V6XDkyB5fs6CykslPrjxrEbfwGgMH3j53M6CqaG0YwowjmunhsHHe5nqzG6MgCAOLQSnk//zBE2idtMYVsCTYEX/WXZJ/PimorCT/6quNtQvm3+T5zcDLFRMKXkjsdpT0k9c11ol7RRAGMINOyIOhIJsa3jHWytvMcW5Aj8rrzxVTnlzJ6LvvInfKFEbffRcX/8M/eJ6XKuh52+7W2IEt6CnuFUEYuAw6IX8qWJW0xuNcecga55ZcdI5mO9+MffBBLn1zHWMffLDL87yCnrM/UrGOiDYke0UQBi5pEXKl1FNKqZBSams6rncu2R46mjywxrm97zjJYzRbf8Ur6NnZprii3SbkWjoiCsJAJl0W+dPADWm61jnlRFujcXzT3nb8h8xKTquCMluw+qTHUISb/SxoPpPMKVcyBk4QBjJpEXKt9R+BE+m41rlkzYfv0O43XQz2cW4WXRbm9EOcQdlwUx5TtvnjY+DiaHMMXDAUZOWWlWKlC8IA4Lz5yJVS9yilqpVS1fX19efrbQ1+Vvs4KDNbxZk7nskg59nitV9jDJxtEsVre16jqq6KO964g3/Z9C/c9eZdIuaCkOWcNyHXWj+hta7QWleMGTPmfL1tgjUfvsOVm3bwwzWdzKuNife1+ztcueOZDnKeDe6eL44xcHG0huDHO/jxxh8TIYJGE46GpUuiIGQ5gyZr5ejKv2XZm1FK98GydVGWvB3htnetJlPJkvxsCXI6KXrgfldOedO+fCZ2mGPgdp/amRwyHUe6JApCdjNohLz8g0+ApCd84Xua0Z+YHz9n/Piss8YtvLontjTkcFHUdB1FdZvrtdIlURCym3SlHz4PvAuUKKUOK6X6lVn7/L/+iItsySoq/hNp82MPcg697LLzvbW0YgZpk2PgiGevKIXDFk8ieeaCkL2kK2tlidZ6vNY6V2t9sdb6yXRcN11c+MrL+MA1Is0YZZzFbhULr6Dn8G1DmN3e3u1rpUuiIGQvA9618uZTy5ly1JTvWBKH6U/uaafD/kyqoOd365oBmFcb4e9+0ckDL0aYfjhqlPBLl0RByF4GvJCffOOVFNa4SbbljqfCK+hZtDOXyuoOlq3TTD8Gc3ZpHl0dJXAwYoi5dEkUhOxkwAt57pkO47g1F4ctHiPbcsdTkR8IkFdSYqy1NOTw1epY0NOKD/g1zN1qBkKlS2JmkSIt4WzJ6f6U7KXmQCMXnIoYa+1DFfkdpm3e3Ti3bMOXa8+NjwU9h0I87dC6jWlmhSJALvYuYq/teY2yorLzul8BVlSv4OltT6PR5PnyePL6J+XPQegxA9oif+//W8LEBnPt1Pg8yLHdv/z+bse5ZRuj/vTrjhVrUHPSwaSAER/n8KX90iUx01TVVbFq26pEfn84GpZ4hdArBqyQ1xxoZOaHB4Ckf1wD4795K1OefYZRlZWMqqxkyupnB5Q1Dt4dES0x1yiblMMXt5jfTqRLYt9ZUb2Cr778VVZUr+jR+au3r3atyQ1V6A0D1rWy4Zc/4QuONl4HJypu/PrfAAw48XaSX1pKeMeObs+bclSjdNztolSiS+LTNz597jc5AFlRvYJV22ItD1ZtW0WoJcTfX/P3Kc8PhoLsa9rnWrduqOJeEXrCgLXIL37nDaxyHw1EgQl/eUdG93Q+8RoD50VOYw7XHjADwvYuiULveHHni8bx6/te7/J3uXbPWlfLBJBqW6F3DEghf/5ff8T0vWaQ8+BEKI1b44MBrzFwALlTpgAY7pVKa16pTU9ERHpPVV0VpztOu9a7+l1+WP9hyufEvSL0lAEp5OoPrydyxy3CRfmZ2k7GMMfAxRhx1VVEpl1qrF3coONdEpNKLiLSe7x83ZA6P7+qroq6xrqU15NqW6GnDEghH9KSdBVYbpWpf1qZsf1kioLKSkbffVfSxZKXx8hFCym80myu1dowhC8c6DTWJOjZO1L5uiGWn19VV+Vaf3n3y641e8VxlKi0GBZ6xIAT8poDjeS1DW63ip2xDz7IlF8+x5jvfpcpv3ia/ECAkYsWopSZvXLtOyo5Go6Yj1ZEpOes2rrK09dt4WWtd0TM2ERJQQnlReXGmrQYFnrCgBPyt57+MVOOmmuD0a1iJz8QoHDZPYlMHS//eU4ol88eNK3yHSe6z3oRYtb424feNtZG5I4wjvc17TMEORgKsqtxl3FO6ZhSpo0y/1wk6Cn0hAEl5DUHGpn1hzeM3iqD1a3SHZb/3G6VX7fF/CZz7MwxsQZ7gFfmyZxxcww3iVOQV21dRZRkiwQfPuYXz2dB8QJXQzeJVwjdMaCEfMMvf+KyxkOjB69bpSsKKisZ4igaKmmKxCRE3Cu94njrceNYoVg6a6nLTWIFPb0s+EBRgLKiMsqKypg7aa7xnMQrhO4YUEI+puYtV6fDU9eUdPGKwU3exInGcf4pKG81JwiJj7Z7mtqbjOPyonLKispcbhIr6OllwRePSnbfXDprqcua97qhBkNB7l1/L0teX+IZTBUGDwOmsrPmQCMXnDBF6EghLPr7VzOzoSwgp7DQJhex5lrzNndQc1XyHMslIBWG3gRDQTaFNhlrligvKF5A1U5TYF/Z/Qp5vjxjTaGYXzw/cVxWVMb44eM5eib59dIZrwiGgtzxxh1EiLnDtjZsBWBxyeI+fiIhGxkwFrlXkPPMpMEd5OwOr9a95Zt8RvYKDE4fbVVdFct+v6xbS/fxmscN69ouymVFZZQUmN8Im9qbqA3VGmtzJ8113ShnjjbdXs54xdo9axMibpEqj10Y+AwIIZcg59nhnCikUfhP+bllT6tx3mArTFlRvYLlG5ez4egGlm9czvf++D3P84KhIDWhGmNt6siphihfMeYK4/mDpw+6gpxLZy11XdvLvWIPlu49udf1GmdmjDB4GBBCLkHOs8c+UciSjfnvaXxWu0hSj4Grqqvi1tdv5d719w4YAQmGgjy97Wlj7fV9r3ta5mv3rHWt3X7Z7cbxguIF+Lr4Z2YFOZ2UFZV1GSx1unNAUhUHMwNCyIs2SZDzbMkPBBg226z0zDmUx7z9Zsm+s8y8qq6K5RuXs6VhC+sPreebb3xzQIh5qiZWr+x+xbXmtIpLCkpcPuqyojICRak7bdqDnE5SBUu7Kj6ScX2DkwEh5HmOcW4S5Owd5rzSmF0e+MjMZXaOgXP6Y6NEebzm8XO0w/OHl8sCIBwxB3B4WcWlY0pjD6qfhn++HB4bBz8ew7TdfzBiDgBojdKaG9b/Gx0PjaL9odGcfmgstY9+lt+ti1n6C4oXuPaxevvqLgu1UrUDEAY2WS/kNQcaGeEY53ZmpD9Du8lOvFreXlYf/53aBMj62p6qr0i2t78NhoKuQKTFrsZdxmdLGeSsfhp+cy80HYTOVnQkzILmZpSGebURHnu6kwdejDD9iKa8tY2KcCs5SpOnIoxQbZRFP2Leu9/gz370OD95uYUZI0uNfext2mtks3jh9e1BGNhkvZB7jXPjwiEZ2Uu2kh8IMGLePGOtqzFwqdwPkN3tb9fuWWsEIu3YG1h1GeSsfcb4zSigrD3MX77fxrJ1munHYM4uzaOro1x5OIpSuH78aBbwR97f30jt5s+R4lcdv75i8gWTjTXntwdh4JPVQp5qnJtkq/Sei+6+C3zWXwePMXA6WWGYyv0A2e2jdfYGH+YfZhxbxVFdBTkb6j9JCK/WyZ/Pb0oGlBXg13DNlqhxjt37UkisyCjaOoXOlktcnhmL8qJyPjP+M8bazsadWf3NSOg9WS3kG375E8Z4jHOTbJXekx8IkDdjhrFmjYFDa1CxrIjHNj7mmTFhka0+2mAo6OoNPjRnqHFsZYU4S/JLCkroOPkZHn3kf3FR+2HjuYhWnKofiq/Jj2laa4Z+4ies/XRqRcQh1KNoTp4Zybe/zKB4VLGrP4s1rk8YPGS1kI+peWtQj3NLN77cXOPYOQZO65hQd9WuFbLTR+tlZS+6dJFnA6sjzUeMtY8bhvGDV7awJPI6EHOPaB37O/lnHQ/zxN6voFGoxODrmEuksymPyM3/Se7yk+TMudOYhDLHv4OdebezK+82btHvo9BMP6xZ9G6U6Yd1Ilg6/53/S9nr32dq/jhjT9kerxB6R9YKec2BRi762CzJH8x9x9PBqD/9uu3IPQZO2fM7E2cNDB+t061SUlDC/RX3uxpY1YRqTMtdQ33TEMrVTqb5TIF/PzKTD9UMypuTVrpzimrTq7+OPShdkrhpWL7yXBUlR2kWNTcz47Dm4V9GuOUPUR5dHWFeMMrclhbKWk7DgQ3cfvAj12fK5niF0DuyVsg3/+NtriDnYO873lcKKivJc3REdI6Bc9ricyfNdflonRke/R2vkWtWKuHSWUtTFvRYVnfHqXK+5n8n9u0wbo1HgI3Ff80Hpc1MaDjsEnCLls3xmMKkOTAmWfugSAp6WTjMnRs6yI3E/sH6NXxrnebOXckK3MWnT1PiM3ugD8bWCoOVrBXyiVti6W8S5Ewv+aVmupvXGDgLq12rs3ox0yPKetonxcKrR4m9X0pXBT2RlkuItk6hTO1OLipoGTeH+5bezskXX+ryvcM7dtC4Zk3s4DPf9jynpSGXqXuTv18F+NCM3jzECIJeEW43XiftbwcPWSnkNQca8Tm05WihuFXSgZlTnhwDRzwP+odrIsyrjYLWTA23U/bEDZS9/n0CI80KxUy1v7UqTq0+KSuqV3R5vldO/Oyi2UbZvLPCEpIZJu31N3KL7z/5tO9A4jkFXDjp0wBEO8xitZwpU1zXOvGLZ2IPKu6Am34GIydDzjDw5YDy0bR/eCLbxf4ezUeH0toQi2toYEHokHGO9JMfPGRlG9sNv/wJcx1ulVMXi1slHVhj4MJ7kl/Lc0K5LF0f4YYPYsel+zRjG2H65aehsxUObGBa82hqLkx+te9t+9tgKMhre15Do1lQvOCs2+b+PPhz43jVtlXMmzwv5fWcOfEKxX2z74sV9rz9E2g5zoIhuVSNK2ReMMpVdbCxRLG+TBFobeM/Ij8iJycCyuH/Lr2Vltpawjt3Gu834qqraB8zhtbq6sRaeN8+WmprY6P4Ku6I/djo/KvvwO7/BGKCbSUyauDkvnyGFTahFJS2hxkfgaO2ejgZ1zc4yEqLvPit112dDi9dLG6VdGGNgYsRk425W6K2I1j4nuartoKhBc3NLj9wT320wVCQpeuW8sLOF6jaWcXSdUvPypqvqquioc1ZHdZ10M8Z5CwvKqfsYDBWnXnmE9CdlLW1UlndwbJ1mtJ9mmXrovzV2giXdnaSpyL4fA4RH3c5TJrD8ZVPQtRWYOTzMXLRQqNRGQBaJ4OeHkSakoMrnPHmhlMX2K4DJa0txmtlXN/gIOuE/M2nljP5iBlyk06H6cUr6Dk0HMU+4dMHHP9oREJUytrDzI2aedc9bX+7ds9aOnXSV9apO88q4yJVP+5UNxSvIGfxqGJ4799d596w2byRXfMRLKrpjAUknSdfXEFLbS3N69cby8PKy8kPBDwblSWCng5aamtprTGrSO3v52uI0tyQG0v1V3Bn0ylD6aUj4uAg64S8ad2r0unwPGCOgVMQzXEJVvPRobTWJ3PPl358AJ/trFTtb504rWLofYVoqv4vkPqG8vLul11r8y8ohvqkO8KquCxw3MhAM3ybRysI5YfSW2MWtqMc096czGxU5gh62gj90wp3wy3rrYj9A967PZlDXtoeZkar+c86m6tthZ6RdUI+osEceiCdDs8NOYWFHqvK8CZrFI378m1WeTvTo2bDsu5ExMsqht5XiHbV2jVVFk1HxAxElhSUUPbBs4ljK73wdP0Qwk25rmBj+HQuLceHgj8P8obDlM/Bnetg0hza9zi+BShlTGTyms7kzHBpqa01fOkAedOmkeOYtcpJ83Nf0dFkWOXZWm0r9JysEvLn//VHTHY0fmucMMz7ZKFPeAmNhV02Tp0abizkhs8Y5zrb3zrpajxZTytEvabSD88Zbhw7s2iCoSC7GncZ55QOGwcHNhifb1d0Am9srkDH80bsNzJQNI3+NvxtPfzgKCx9AybNiQnwJrONwYh582LBzDj5gYDLfeXMcPHym4/+5jcYanudAnJboonsFaVgYfMZV8K/jIEb2KRFyJVSNyil6pRSu5VS3nOx0sCFr7zsCnKOvGHRuXq7QY1zDJyF070SbYDWhtyEbnztdLPzJSndK125Q6DnFaJe3RjHDh9rHDt9xau2rnKNXJvffCaRFWJ5M34TuopPH0/u0fn5vXzbXkHOi+6+y3WeM2c/vHMnLbXJNrpOqz5v5kwKKitj17IFSxVwcn9+Ys+l7WGmtynDIyNj4AY2fRZypZQf+DfgRuBTwBKl1Kf6el0nbz61nClH3UHO6+98KN1vJcQpeuB+11rOhAmgVELwFLBvX1HCAlzcfIaSqJnVmirY2FU7XOh5haiziZVCcftlt3v2SQFvCz5QFKBgz17Dkt0WmUL0AAnjwQunb7urIKeTkYsW2jpOAtFo7CaAd5DTEn6vYGnrmYuMTf6w8Vi84VnsWIKe/YM3n1rOr5Z9gTefWp7W66bDIp8D7NZa79Vah4FfAam/l58lEuQ8/+QHAox2WJKFy+5hSIn5e+84nvxrpIErmhuN51NVGHqNSjubCtGm9ibjuLyonMUli119Uqygp9cNpPO4ZuJpc4+HGcPk058Ya14FPXbfdndBTjv5gQDDys25nM3r19NSWxsTdPt1HD52V7D04zYad+cnslfK28NMb1XGp5SgZ2b51QPzmfCPzzPrD58wdsXzaRXzdAj5ROCQ7fhwfM1AKXWPUqpaKVVdX1/f5zfdP1GCnOeDsQ8+yLhHH2H41Vcz7tFHKKisxJdrBv7ymiJJHy2woPmMq8LQ2VbVa1TaxBETXeXw3VWIel3HmoPp7JNiZdF49VO/fH8o0SvFovV4LrOO7zM+y4irrurSt93Z4MhjdwiwE5fIx3PK23aYhTw548cbVr3XNRv3FBhWeVnnKWPv9qBnb9sYCH3jzaeW8+nf7sYfBT+QE4HG99Z3+7qect6CnVrrJ7TWFVrrijFjxvT69SNvWESHP+YX7/CD/7Yl6d+k4ElBZSWTn1xJQWWs6MrqkpisMiSWvWLz0U51uFecbVW9rOLCYYWucvjuXAIpR64R65MyvWC6cf7GYxvNcW4aOk59imvbko3ttY63RN7r+AcSF+WufNv24h2AYbNne7pVLLzG7LVs3kznUTOqP/Syy4xjrxhGuFEn4hVKxW6oOAZWvLL7FVZUrzDaGIiYn3vaXnoBvzY9CgWfmdfVS3pFOoT8CDDJdnxxfC2tXH/nQ3z8wBK2XDuWjx9YIr7xDGIVDNnl55NTo5IHGm47HnK9zi7ITqvYEmDnkARI7WPvcuRanFy/2WP94OmDySCnBo1i6olpVPjNFMhtLRVceOCAsZY3dSr5gUBK37aXXzuVW8XCa8xeeMcOl1vFK1jqqhAFmj65OPG4tD3M+LAtHVTH3FCrtpnuKsloObdsfumnFO8x5wofHJ/e+F46hPwDYLpSaqpSKg+4BXB36U8D19/5ELf83/8SEe8HOK3SvIYOmhvyEj7axaebmdppiqg92Ogccjx30lzKisooKypL6dt20tXINYuvXfq1lJ9BA5GWKdzb8T5+dHIghPIxRrvjL6O/+Q0gtW/72KPLu/Rrp8Ics+cmlVXvWSFab94GP9WWFBBN7EbmZG/TXsloOYfseWGNK2DeXJjetOk+C7nWuhP4DvAmsB14QWu9ra/XFfo3dpeAVWG4b3ORcc7sM+YcPivo6ZX6t3TW0sRxKt+2E69g6eKSxcba4pLFlBSkDoqPbh/Cl/y2ohsFvimfpdNRHWml/ll4+bbDDr+2ZcF3h9eYPTtdWfXeQc+4SCi448zHqLh7xWswiIWMhjt3DKlP9r85V2nTafGRa61/q7WeobUu1lr/XTquKfRvrC6JdnIaPApTbOnUVtDTK/XP7g7x8m07My68gpzWMAiqn4Z/vhweGwc/HsMVB2qSlrLt/z40/9LyRyPIqQDGzCB8xPQO5jmqKb18204sC74nOMfsJejGqvesEN0b6wSqgNJwmMscVrkXMhru3PDmU8tdRYy7pvnS7lXIqspOoX9h75KYKuhZ0Okz1GP7ie2uIKeVZWLH6dt2VoimDHJWPx3rXNh0MNZiNxJmQXNzop/6Y7+I8MCLEaYf0ZS3tlHuGMYAisbDE1zWtbNlgZdv247Tgu8Oc8xeEmdFqBPPClG/WdU6q6MlUZOauPdY/QdsSJ55+ml76QXXXOH8czAAR4RcOGucXRIVcKr5QuOcKe2mXrR0mm1W7Vkmdrx825bQdBnkrH3G9bqy9jBLP2hn2TrN9GMwZ5fm0dVRrjwcTYxTSzDzK5x47Y+ua3hZvl35tp0xhO4oqKx091Cx3qMbXFk0DRFa7OmgZ86gNEw/HOXuNyLc9UbsRpYXjRg+/YZWdwtg4ezxDHJOODdFjCLkQp9wCVYoQuvxpDV936mjCR+tF+VF5Z5DH7x825Z7pcsgZ6tZjKSJvff1cd23qlH9Gq7ZEsXER0vBTYT3mr73YRUVqYONjqCnRU+CnE4K7/mWcTz67rt65GN3ZdFozfG9yY6IZe1hbtnTyiPPRbkuqPlyMHYjqzhsfv4jzWlPNhvU7HvphXMe5LQQIRf6hJev+Pj2EYlcZqvCMIFD0L3cKhZXjLnCOLYKWpwl+YkgZ/XTcCIpwhqIRBWn6ofia/I73lxzwQl/bJyaPxfGXg53vUnThp2uzBOvVgUWXoHInAkTeiTATgoqK43iq7EPPtij13lm0exNWuUAC97T5ETNG9mCjaa1KF0S00xTW+Lhue4NJUIu9In8QCDWf8VG26lhhhUSqzDUTD+sWfRulOmHYya60pr5f/g3eLQAll8Efz8Zfv9w4nULihe43m/19tUuy3HiiLhLwjYQwuoj/mcdD/PE3q+gUShb90KFovX4EFrmvwV/2wDf/u9Y50JHE6weFfT4zda9hcvuSXl+dziLr3qK1w2lKXodjJxMy4l8/IfycN7IpnxC8itLHMkpTx/Dm86PWwVEyIU0MNQRbOs8TdJHG68wnHFY8/AvI9zyhyiPro4wLxhlariDsrZW0FGIdkJbE/zP4/DMzUAse2V2kZknvbdpr6t/eeGwQjj0PtH6OkOq3o/MZJOewcwTZmFPAseItcY1a1xBzp4U9ExZ/SwjvvhFhl5+eaKNwfnG65tR+6kc+O4WmgqWQfxGZqEA/xk/8/eZwV7pkpgeXv3eIiY6Qg5No4d6n5wGRMiFPuNsqwrQdCSZU14WDrMkGCY3EvsL59fwrXWab+1qwZO962NuEuC+2fe5Kj2dzC+ez/+89K8orRMtaCPATyO3cP3+dyk+dSxxrvNK9laxzsEO0DNfd34gwKR/+z9MrXohIyJu7cGZRdO6aRMttbXGZ0w2RIz9JpYEO2KP4la5dElMDyP/GDM2rGwVDXDtV8/Z+4mQC33Gs8LwTDJdTwMzQ8nAWqyASFNa40+4QFyx0I0/B2JWeXmRd0ARoDDnMhY/foSRx02XSHXcGr9+//uJ9/TCEjtwD3bImznzrHzdmcKVRRNvHeBsG2An/xMf5a1txpp0Sewbm1/6KYVmLRwHJsCSv37snL2nCLmQFlwVhgfracxfCiMn03oiH38oF4y879jMz1P1Q+nUimjUVqsD0LATDsVE2NlIC5I+8AO7v8DX+U8+7TPdJ7vjDTgLh/oMEc+ZMiVln5Rwnemy6W0KYabxqhA98957hg/c7EqpCDflMW+zeRuVoGff2OeRO777upvO6XuKkAtpwcsFceK/dsF3txA68SVwBButmZ9P7P0K08PPsbjjESLES8kBrTWd/3EdHQ+N4sb1P4eoZl5thB/8KsK82igKTXlrK9sjP+LvcmLDGBK9UoDf5c7l8cv9jAkdMvY04qqr0tonpb/hrBDVzebEJn9hYUJgLFEvr/W5gp49HbMnuBl+0Bx3eGACXH3rD87pe4qQC2nBs63qvn00rlljDBB2tvsY1XYagE16BjsiU4zX+xXkKE1FuJVba8IsW6cp3adZti7KkrcjXNrZSZ6K4HP4TT7Jn84zD/81szf8xjVybeSihWntk9LfSFUhajGstNT15+Rv8vOlA+ZYvZ6O2RNMvIKcp0cPZfaUgnP6viLkQtpwtVXVmhPPPOs6z667ozpbE487VLKHuVVxaf18/kPztQvfg4V7241zrBPGf/pPuhy5lu4+Kf0JZ7WtQbwdbtED96OUMoKeX9xiuld6OmZPMMnfuBMwg5yh2V865+8rQi6kjfxAgDzHGLiwY0CCb9SoxGMFzDq+j+9P7uCCIX7WRL4AJP3f9p9RHWawVKEZvXmIK1CqlB9Kb+1y5Fq6+6T0N1L59q2ceK/g9JSjGp/NvdLTMXuCieo0/84dLTz3bhUQIRfSjKuLX2urcTjk0ktdVvv1G15iy6M38Pc/WcEL4x/gkC6kRecS1n46dawy09+Yg1ewtPXEUJQ/D/KGw5TPwZ3rYNIc1wR6p887nX1S+hupfPt2l9KQ4mIzCNyYwzc/MHPKuxuzJ5hsfumnjHO4VY6PO/duFRAhF9JMdz7aIcXFrva3rdXViRTAyr94iMnL9zB8eQNDlp8gd/lJGk99GWdBi2WXN43+NvxtPfzgKCx9I1adWVtL6yazxa2zi2DKHuBZGuS04xWvcH4u67HdvTJnq+lukpzy3nHw6Wdd2Srnw60CIuRCmunORzty0UKj/a2FvcLSTkttrREsdeKyvCE2gd4R5PTqIujVAzxbg5xOih64H3LiMQefj3GPPOy+kTnG9Y3qiKIc2SupxuwJJptf+ilTd3Uaa+cjW8VChFxIO6lcE5ZV7CX2XoIMqQXewl7QA3QZ5HTi9e0hW4OcTvIDAaY8+wxjvvtdpjy32tPnb/9z0ij8jTncssd0hVlTnYSu8ep02FRwftwqIEIunANSZYXYrWKn2LfW1BiCbOEUeK+CHrvYdxXkdGJ1G8ybNo284uKM9Uk5V+QHAhQuuyflNwx7+1vrT2v+e9qwyq2pTkLX5H2SzB233CrqC+euJN+JCLmQdryyIpw9vV1ir3XMJWLDayr9iKuucvm27R0LOxsc0aZufN4FlZUU//Z1il//zYAS8Z7g1f4251Ae1x4wWxXIGLiu2fzST5nkaOW+a5rvnJbkOxEhF84Jho82J8fV09uz/e327cZx6J9WeFZbOn3b4R07EtZ8pKnJeK67NrSDHfPbSuzGWhmMC7ntVy9Bz9R4BTkPff4r53UPIuTCOcHw0T77jKeYutrfHjuWEGSvIKcViPTybTe9+mtPC767NrSDHS832MUNmpJwGLuSyxg4bzId5LQQIRfOGd35aF3tb23uFa8gpxWITBUsTWXBC6nxbH/bMITyQ7ahCFrGwKUi00FOCxFyIWN4+dKb16+npbbW5et2Vlu6gqXV1SkteKFrzBtq7P9XVpvSIB0RU+Axzu18BjktRMiFjOLVwKrp1V8TPmJagHmOCfMDuV/K+cYrXjE+RLIjYtz5ax8DFwwFWbll5aAPgua1uce5nc8gp4UIuZBRvAS5eeNGVzfCnMJC4zg/EHBViNrJ9n4p5xtnvMI5Bk4De+Nj4IKhIEvXLeVnm37G0nVLB62Yb37pp0x2eJxOX3Tuxrl1hQi5kFG8fLSdB9wzNr183V4VoonrZnm/lPONl3vFPgYu9lSsZH/V1lV06liAr1N38tjG82+B9geO/vzphH/ccqt8Un5+SvKdiJALGaerBlbgzkG36KodgAQ5e4dXvMI5Bk5rePdwDTtOmN+WBqP/PJY7bhaehUaf/2wVCxFyIeN4FaYkUMqVg2681sPyzrZZm/0FZ0651xi4Q2f2cPSM2ZoYTP/5YMCerWL9hnZcMeW8Z6tYiJAL/YJU+d7dFfTYy8wtxK1ydnh9i7GPgVPKY0h2nH1x//lgwTnO7UghfOb7z2doNyLkQj+hJz20vcgPBBj38EPg98d8vHl54lY5S7za33qNgfNS84Hc8raqroplv1+WcB95jXM7X33HU5HT/SmCcO7JDwTIKy4m7GiS1RNRLqisZMiMGbS8/wH5c64Ut0ofKHrgfg7celu8sCrmOPjiFs1bl9hOSpH1ubl+s/cTWUxVXRXLNy4HYMPRDRw6fYhZGRrn1hVikQv9BmcWyui77+qxKHdXRSr0jK7GwE0/HOVb6yLc9UaE6YejjOw0c6gHYtBz5ZaVxvGqbasgQ+PcukIscqHfYOV9n/7d77ngy9dJHniGGFJcbFTJ5jTmcO9b7Vy5KQd/XMPmfaj5zdfDPD9tGPiSJvoru19hccni873lc0JVXZUrsDv9sGa8h1vlugy6VUAscqGfUVBZyeQnV4qIZxDTnRUT6dkf+vBra8Ae5ERh/uYIJR1ho79NOOLwp2cxXpk4CzZGMzbOrStEyAVBMLDGwNnJ7XA6xjUXnFBc0W4K987GnQMieyUYCrKvaZ+xNv2wpmKX6VbJRKdDL0TIBUFwYaZwqoQlrm3jmlsbhrBwb3t8olDszIEyUWjtnrWJz2pxzZaoq9Nh80WZzVaxECEXBMGFOz8/Wb6vbccjPxjG1I4O7DmJA2Gi0N6Te80Frbm4IfkZLbfKqBtvPq/7SkWfhFwptVgptU0pFVVKVXT/CkEQsoEuq21ttDbk8a1dLbGDATJRKBgKsim0KbmgNYGDEUoOm+ftmubj+jsfOr+bS0FfLfKtwNeAP6ZhL4Ig9CO8irEsu9xulc/+SLkmCu05uYdsxcutUrkx4gpy5v9p/wnI90nItdbbtdZ16dqMIAj9B8+e70rRNtbsXd7Z5g56bgptylr3iuFW0ZoZRzRT9/pI3qg0p8bm9RtrHM6jj1wpdY9SqlopVV1fX3++3lYQhLMkPxBg3CMPJ33lPh/jHnmYMbMuS5yjUYSb/SxoPjMggp4utwqwpDYcD/Ym4wSdn7ruvO+tK7otCFJKvQWM83jqh1pr92DFFGitnwCeAKioqEjVe0cQhH6EV/uDto+2G+eEm/KYss3P1Is62JuXi+VysYKeZUVl53/jZ8njNY8n3Spao4CSpgjgjy0Rc6tU3HNbhnboTbcWudb6S1rrWR4/PRZxQRCyF2f7g5GLFiZ8xZaNeqJuOLefOu16bTYFPYOhIDWhGmNtariDC1rN845OKul3rSAk/VAQhF7h1SUxfDqXr+4Px4Ketu/bDa2OevZ+zNo9a5MH8c/wrV0ttDbkGeeNu+Iy+ht9TT+8WSl1GPgs8LpS6s30bEsQhP5M0QP3o5SZU960L5+JHZ3YlfxI8xGvl/dLzNxxTUk4zKyNlvdZJTodXnr7n53/zXVDX7NWXtFaX6y1HqK1Hqu1vj5dGxMEof/i1SWxpSGHi6JRY60nHRGd/b4zgVeQc+6BTlrrhxhr7RMm9zu3CohrRRCEs2RIcbGtXD02Gm5RTWdiopBFV2PgvvfH77F843I2HN3A8o3LMybmq7ausgU5Y98xrtli3ZRU4jvG1GV3ZmB33SNCLgjCWWF1SbSnoF1Ql8fs9nbjvFRj4Krqqnh93+vGmrP/9/nCHCitGd/RSX7IlMeWSdP6bVdOEXJBEM4Kq0tistpTEY0q7ms8GVuz5ZR7Za+8vPtl19rRM0f7bJX31lUTDAU5duaYsXZzbSfhk2aQc+LnruzTvs4lMlhCEISzJr+0lPCOpDUbbsplxhFN+ag2aoYNxQqEeo2B64h0eF5z9fbVZz2cYkX1itgUH2Kj2YBur2WU5Mdzx//kQ+vZZJCzP8+CFYtcEISzxt4l0bLMj380gmmdncZ5zqBnMBRkZ+NOz2umcsV0RzAUTIi4RU9cNR/Wf2gcl7e1MazDrFmMTpveL4OcFiLkgiCcNV5dEpuPDmXh3vYug55GBaWDVK6Y7jDywOMcPXO0y5tCVV0VdY1mu6grD0UJN+WibaHcwiu77wSZSUTIBUHoE2aXxJj4Fe3MTRn09KqgHOI30/zOpnuiq4d4nK56vhgZNfGbzrXvxw6t6lWU6tduFRAhFwShj3h1SWxv8qcMenpZzpdceIlx3NvuicFQkNpQredzqQZdeI1zm7+3Hf8hM8iZP3t2v3argAi5IAh9JD8QYMS8ebYVRWvDEGYc0cxwtLfdXL/ZZTmXFJRwxZgrjLXeuldWbV1FlGjK572uZQY5Yxb4kqAVgE3emLz6svc3RMgFQegzF919l2M0HBzfPoJcwGaSU9dY53KrlI4pZUHxAlub2Bg9da8EQ0HePvS2sTbMP6zbazlL8stb27jghM+2AioL3CogQi4IQhrwDHoeGcptu+OtA7XGodNArMf3/OL5lBWVMXfSXOO5nrpXvCb6jB8xvstreZXkzziqjQZZChgxb16/d6uACLkgCGnCK+iZHAMXQzsSVaaOnJroV7501lLDKu/pcAqnq0ahuP2y213XWrU1mZroJf5XVvsSV9AAPl/sm0YWIEIuCEJa8Ap6eo2Bs3P7ZbcnHpcVlTF15FTj+VSBSguvIOfcSXNZXLKY8cNNq9xehu81zm3iPr9x/rDy8qywxkGEXBCENOHuiOgcAxcTzEUbokw/HKWkPcziNX8BPy6Ef/8TOPS+IewWXQU91+5ZawQ5ffhYOmspADNHzzTOPXbmWCL9MdU4N2z/zYYgp4WU6AuCkDaGFBfTWl2dOLaPgfvM//hY+F5svdMPr3+tE/zxCtBPtsCTX2bxXb9jTUGJUaTTVdDTWZU5vWC64ap5+9DbCReKlQmz5+SeLse5AVmRO25HLHJBENKGl/idqBvOd95rY9F7MUvXB+RG4IqPnPKj4a2HXamIqYKewVDQVZWZ508GK8uKyigvMgOwG49t7NE4t2FZkDtuR4RcEIS04R4DpwifzuWSYC4YRe8w5VTEXaR/YAMLLri0y0ClhVdh0c2X3mwcTxs1zTg+ePpg8sA1zi27csftiJALgpBWih643xH0VHSeyXFkH2qGnlJ0RpVLzMv2v99loNLCq7DI2elwQfGCLnaqKWm3j3OztptdbhUQIRcEIc14jYGLWbt20VZ0NOXxnZ3fYVtkiinmh6tTBiotvAKWpWNKXXspKypjdpG5F3sK5NyD7nFueVOnZpVbBUTIBUE4B3TlmtAknRiL9rxDUF9qjhn6eAtLc8a63Cv27BVn90SrsAiA6qfhny+Hx8bB8ou4b/MbKK0TCq4UiSCnfZybxehvfqPXnzfTiJALgpB2UrkmnMWdk06H+CA0gyimlpfVveUKVFrDKby6JyYKi6qfht/cC00HobMVop2UtbVR3trG9COaB17s5LGnO5kXjDK+o9MoyQfImzmz345z6wpJPxQEIe1YQU97KqKF1R7WymC5+OAnbB87hU/7DiSVPhJm2qhphmBbwym2n9juumYi//y//8lzPxWHo1z7chR//G4x/ZgmWB8xSvIhNvEoGxGLXBCEc0LRA/e71nImTGBYRYVhmZccPxBzr8TRAB9vY8EFlzpfzurtqzneetxYSwQ5D70PJw+6XqOBa7fERDzmqY9R+qH1KP7/LAxyWoiQC4JwTsgPBBjt6FVSuOwel//80tPHOLi7kAgq0VtLE6Vs629cgcp9TfvYfXK3sTZxxMTYg83Pu/bQSSwzZtgnOZjOG42v0y7rkDN+fNYFOS1EyAVBOGeMffBBxj36CMOvvppxjz5CQWWlYfVaMhrYU0d1pCT5Qg2RHb/l5vw/cQU9jVxwoHBYYexBvVkctMc3lUvbnuM7O79DuCkXu2grFGhT/oZedtnZf9AMI0IuCMI5paCykslPrkwEEZ1FQwqYfDrEseMFyTUFPq05/fvfMpIZXV5/fvH8mFvlwIbEmtbwbjhWDLRozzuJ9/GeEhp7w2zpdOiFCLkgCOcdZ9GQAk7uyyeCmed9KUeoP+V3tb+1mF00O5at8tbDyZ4qGqLAy5HPM/PEfi4+HTLex4tsK8l3IkIuCMJ5x1k0pICKC4bwjm+Ocd4c/w5u0e+j0Ew/bHVOjOWEK635TnAd4YcK0Ps3GOb27ugENukZfPFgNX66scbJvpJ8J5J+KAhCRvCPHGkc52zdzGfu/hHRd9/Hp63CHVjU3MyWU/k89HyUnAhEFay8XtFUEmZ2W6s96SRhua+K3AjAzBMHEtdXxPLEw3V1ptmfxdkqFmKRC4KQEXIKC80FrWnasBP/mJmGOJeFwywJhsmNxATLr+Fb6zRXHo6iFIkfi4PRQn4V/SLX73+X4lPHDHdKfmkp4x55ODlf1Odj3CMPZ7VbBcQiFwQhQ4xctJCTL7xgWMfte/bA/G+jfnNv0hWiYWYoOTzCKiS65n3Qn3Nf998jCxmVn8vdp7a6fOIjFy0kPxBgyIwZtLz/Aflzrsx6EQexyAVByBD5gQAj5s0z1lpramjxl8JNP0MNH4tSObSeGIo/FGuDm0STcyiPU/VDCWs/HdpHSI/ip7l/wRUL7yP40JcZnWfKeN7MmQnRzg8EKFx2z4AQcRCLXBCEDHLR3XfRvH590irXmtA/reCS1c9CxR0AND38CLDGsK5VvJPiqv030XbTg3zvK5cxFvjf8edbamsJ79xpvFe2lt/3BLHIBUHIGPmBAHnTzOEPrdXVtNQmByq3bN7s+VoFLBod5ntfcRfyHF/5JEST7hh8vqwPaHaFCLkgCBll9Df+3LXW9OqvgbhlvcM9VMKitabGEH3rNc3r1xtrw8rLB4wbxQsRckEQMkpBZSV5M81BEp0NDUBS0FOidcz6ttH06q9xVhBle554d4iQC4KQcfImTjSOw0eOAPEsFvt5M2eS4zi3bbvZ1tb5moGQJ94dIuSCIGQcZ055eMcOPvnHf6S1xhwgkV9aylCn9X7sWMK90lJb63rNiHnzBrRbBfoo5Eqpf1BK7VBKfaiUekUpNSpN+xIEYRDhZTE3PrvaswLzorvvMiuAtE64YI6vfNL1mmxuhtVT+mqR/x6YpbW+AtgJfL/vWxIEYbDh7IgIoNvbjWNrKLLXcGcrs6XNERjN5h7jvaFPQq61/p3WujN+uBG4uO9bEgRhMOLsiOjEPhTZGby0XDGdR48a69ncY7w3pNNHfifwRqonlVL3KKWqlVLV9fX1aXxbQRAGAl6WtoVzKLKXK+bkmhcGpVsFeiDkSqm3lFJbPX4W2s75IdAJPJfqOlrrJ7TWFVrrijFjxqRn94IgDChSpQk6s1q8XDHR06eN42zvMd4buhVyrfWXtNazPH5+DaCUugO4CbhN61Tt3wVBELonVZqgq1Mi3btiBnruuJ2+Zq3cAPwNsEBr3ZKeLQmCMFjxsrRT5YF35YqB1DeFgUhffeT/B7gA+L1SKqiU+v/TsCdBEAYxRQ/cDznxfn7d9At3DqewGFZRMWjcKtDH7oda60vTtRFBEASIWdpTnn2mR/3CvVwuEL8ZDCKkja0gCP0OK1+8O7yGUww2axykRF8QhCwmPxAwR7fl5Aw6axzEIhcEIcspqKwccKPbeosIuSAIWU9PXTEDFXGtCIIgZDki5IIgCFmOCLkgCEKWI0IuCIKQ5YiQC4IgZDki5IIgCFmOykTDQqVUPXDgLF9eCDSkcTuZINs/g+w/82T7Z8j2/UNmPsMUrbWrD3hGhLwvKKWqtdYV3Z/Zf8n2zyD7zzzZ/hmyff/Qvz6DuFYEQRCyHBFyQRCELCcbhfyJTG8gDWT7Z5D9Z55s/wzZvn/oR58h63zkgiAIgkk2WuSCIAiCDRFyQRCELCerhFwpdYNSqk4ptVsp9b1M76e3KKWeUkqFlFJbM72Xs0EpNUkp9bZS6iOl1Dal1L2Z3lNvUEoNVUq9r5TaHN//o5ne09mglPIrpWqVUr/J9F7OBqXUfqXUlvic3+pM76e3KKVGKaVeVErtUEptV0p9NuN7yhYfuVLKD+wErgMOAx8AS7TWH2V0Y71AKXUN0Aw8o7Welen99Bal1HhgvNZ6k1LqAqAGWJQtfwZKKQUM11o3K6Vygf8G7tVab8zw1nqFUup+oAK4UGt9U6b301uUUvuBCq11VhYEKaV+AbyjtV6plMoD8rXWJzO5p2yyyOcAu7XWe7XWYeBXwMIM76lXaK3/CJzI9D7OFq31Ma31pvjj08B2YGJmd9VzdIzm+GFu/Cc7LJk4SqmLga8CKzO9l8GIUmokcA3wJIDWOpxpEYfsEvKJwCHb8WGySEQGGkqpS4AA8F6Gt9Ir4m6JIBACfq+1zqr9A48DfwNEM7yPvqCB3ymlapRS92R6M71kKlAPrIq7t1YqpYZnelPZJORCP0EpNQJ4CbhPa30q0/vpDVrriNa6DLgYmKOUyhoXl1LqJiCkta7J9F76yJ9orcuBG4G/irscs4UcoBz4d611ADgDZDxel01CfgSYZDu+OL4mnEfivuWXgOe01i9nej9nS/zr8NvADRneSm+4GlgQ9zH/CpinlFqd2S31Hq31kfj/Q8ArxNym2cJh4LDtm9yLxIQ9o2STkH8ATFdKTY0HGG4B1mZ4T4OKeLDwSWC71npFpvfTW5RSY5RSo+KPhxELnO/I6KZ6gdb6+1rri7XWlxD7+79ea317hrfVK5RSw+OBcuIuiS8DWZPFpbX+GDiklCqJL30RyHiwPyfTG+gpWutOpdR3gDcBP/CU1npbhrfVK5RSzwNfAAqVUoeBh7XWT2Z2V73iauDPgS1xPzPAD7TWv83clnrFeOAX8QwoH/CC1jorU/iymLHAKzGbgBzgl1rrdZndUq/5a+C5uEG5F1ia4f1kT/qhIAiC4E02uVYEQRAED0TIBUEQshwRckEQhCxHhFwQBCHLESEXBEHIckTIBUEQshwRckEQhCzn/wE+jZLr0aA/XAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x_new, y_new_true, marker='.')\n",
    "plt.scatter(x_new, y_mean, marker='.')\n",
    "plt.scatter(x_new, y_mean + y_delta, marker='.')\n",
    "plt.scatter(x_new, y_mean - y_delta, marker='.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "def y_func2d(x):\n",
    "    return(np.sin(x[:,0]) + np.sin(2*x[:,1]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.random.rand(200,2)\n",
    "y = y_func2d(x).reshape(-1,1)\n",
    "data = pd.DataFrame(np.hstack((x,y)), columns = ['x1', 'x2','y'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = LipschitzianRegressor()\n",
    "model.fit(X=data[['x1', 'x2']], y = data['y'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_new = np.random.rand(2000,2)\n",
    "y_new_true = y_func2d(x_new).reshape(-1,1)\n",
    "y_predict, y_delta = model.predict(x_new)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2c4d4c56c08>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "line = np.linspace(y_new_true.min(),y_new_true.max(),200)\n",
    "plt.scatter(y_new_true, y_predict.reshape(-1,1), marker=\".\")\n",
    "plt.scatter(y_new_true, (y_predict+y_delta).reshape(-1,1), marker=\".\", alpha=0.3)\n",
    "plt.scatter(y_new_true, (y_predict-y_delta).reshape(-1,1), marker=\".\", alpha=0.3)\n",
    "plt.scatter(line,line, marker='.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "desdeo-problem",
   "language": "python",
   "name": "desdeo-problem"
  },
  "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.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
