Skip to main content

Architecture

Discover the architecture of the front-end!

eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO19aXNcIlmS7ff6XHUwMDE1spov88xaMXdf2uzZMy0gtIBcdTAwMTbQxqsxXHUwMDE5YpfYxFwiJI31f1x1MDAxZvfITFx1MDAxMVx1MDAxMFx1MDAwYiBFSEFl09aZlVx1MDAwMsElwv348Xvdj//PXHUwMDFmW1t/jl9cdTAwMDf1P/+59Wf9pVrptGvDyvTPf+DPn+vDUbvfg6eY++9RfzKsuq9sjceD0T//67+6leFjfTzoVKp157k9mlQ6o/Gk1u471X73v9rjenf0//DPQqVb/7+Dfrc2XHUwMDFlOrNcdTAwMGbZrtfa4/7wx2fVO/VuvTdcdTAwMWXBu/9/+PfW1v+4f3pWN6xXx5Ves1N3f8F9arZAY8niT1x1MDAwYv2eu1hqqaHWMiPfX9FcdTAwMWXtw+eN6zV4ulx1MDAwMWuuz57BXHUwMDFm/SlypVwir75d7Vx1MDAwZvbuyVx1MDAxNS9W6qN6ZfaxjXanU1x1MDAxY792flxcikq1NVx1MDAxOXpcdTAwMTY1XHUwMDFhXHUwMDBm+4/163Zt3MJPX/j5+++N+nBcdTAwMTVmvzXsT5qtXn00mvud/qBSbY9f8Wdk9lx1MDAwNX9cXIV/bs1+8lx1MDAwMv9SwjHWXHUwMDE4K7kl1jCm3p91f18xh1HGpLJaWyUpX1jYXr9cdTAwMDP3XHUwMDAyXHUwMDE29lx1MDAxZlxyYqqEzJZ2X6k+NmF9vdr7a8bDSm80qFxm4Y7NXjf99ZWJXHUwMDE0joVFSCPg06iYfVSr3m62xvBcdTAwMWHLrEOslYQyqqjls8WO6u5tYVRcdTAwMTD4XHUwMDFhQrL3Z3BccoPDmmtcIv89u1x1MDAxOUMwrkP8ld6k0/Fez17t5/X8ZUozY+I/f/Kv2ZfE12dcdTAwMTaN0GuIc8Y4rr/MvrnHcrafS91MRjePnvL7evdVXHUwMDE3K8fF1p/vr/vXP4Lf9scvn3bGp9VspdfO7bWzL29FmpXZg/lP+fX5leGwP/W878//ml2WyaBW+WHgVFx1MDAxM22FpYRpPrOsTrv3uHjNOv3q48wn/vAs2OeMc9/f44fSc7NcdTAwMTf9kFx0MFx1MDAwNliKXtlcdTAwMGaDr2bK/Vx1MDAxMC5cdTAwMDGYtlx1MDAxMFRzSYQwZsFcdTAwMGZ1jH74XHUwMDFmXHUwMDE1WTONht9cdTAwMDetcaS1llxuKYk2lEm/XHUwMDBien720+eo4kpcdTAwMTitPV/xwz4394TPuVwi7JRIrqhZw05nq+r3xsX2XHUwMDFi3lx1MDAxMUbmfpqtdNud17k76lx1MDAxYTBcXMHsXHUwMDEwTHS8nel5bFx1MDAwMJ/b6bSbaNB/VmHN9eGcrY/bXHUwMDEwwt5fMO5cdTAwMGZmz1bhzSrtXn14uEog6Vx1MDAwZtvNdq/SKUUsXHUwMDA2LkA99+ueUcdz1+4rozo+iz83kd5cdTAwMWFcdTAwMTk6rVGLP313WSqMXCKWeIx0mcuW8/nHl8JcdTAwMGVcdTAwMTE357ksKzxcdTAwMWbpUuf8e11WLPNYpqhjXGbliihGhCazN3l1bck62jIhIbJcdTAwMWFcdTAwMDZBKdRhWcPWhYh22HvWYPf3foc1XFw7VkiKn0OImmHku79yq1x1MDAxY1x0XHUwMDFlXCKUgrBI/d5LtFwiUlOeroj5wyzqhZfC4PJedKY7r6XKfZadvWyPVlx1MDAwYm2RIXNQzV+bevmiUHxp169L19lC6eA5tpBJKdfc64mfXHSZkU5cYkQpzFx0XHUwMDE5XHUwMDAwuCBaelxmb5lcdTAwMTPu3zS39dXOKCvN6Vv2pPlQ61x1MDAwZYcpd0J0XHUwMDAwrZlB2lx1MDAwN1+ZLzgh01x1MDAwZfJEKTQlnHsgK04nZFx1MDAwMoKzMURJrrUy3Fx1MDAwNnih5I5cdTAwMTRUXHUwMDExQiSggSQ+5krBPYFcdTAwMDJrYb7JXHUwMDBml1x1MDAwNVf7JVx1MDAxNlxyoFx1MDAxYVx1MDAxYVZcdTAwMTQkY1JcbrF6RrZf6U0ujk/3h9PTq8fi/s5lpnVWTDtcdTAwMTM0yjiaXHUwMDExTjV8W86snTdpSSCucKYlNZBcdTAwMDAxj70s2jSt4/+ibbrRqFetXHLIxox0OCBcYoNbz4WigvmNWjNHQ8zR4FtcdTAwMDLih8dCfmVj8CxRhppcdTAwMTiYYeyx5XRwo7aBd+w8dV5cdTAwMWXqt/fDXHUwMDE3cvdcdTAwMTZDbNkr7+w2XHUwMDFheXUzZaeZ3HXn4up2T8fxvtSoyk7tNKtcbv3zbIZOzONrMYb3XHUwMDE1mfHd8/P1293juXzZr9am6uw2/6n3XZbtXHUwMDFlv1x1MDAxNe2JMNeyfWx3T3aUKF509VohNl5AXG7LSiGQh2elXHUwMDE0vEJZsnpWXHUwMDFh/K2DsWhcdTAwMDFT5pGILfw8OSSyXHUwMDFjkIhaSFx1MDAwNiGqwf9cdTAwMTaASH5cdTAwMDVcdTAwMTBcdMQha6WlRFx1MDAwMfR7XHUwMDAyfERKXG7km0pIpO3smW9KSdcx0s+lpO1cdTAwMWV8mSSy0SVBdDFcdTAwMWJdWEfiiShcdTAwMTOhXHUwMDFj2EqmNZLglZ30tVR+KJmXQqt8U7LHPVNcdTAwMWVcdTAwMWZ9d1x1MDAxZboqYdBcbtiltdRcYjHnp1x1MDAxYzxcYvJPRSBcdTAwMTO0gku5sK6v41x1MDAwYtyffFxuJohcdTAwMDFnndHhNFx1MDAxMIRlXHUwMDAx7O3tdlxca1x1MDAxZbxcXFx1MDAwZlx1MDAxZvhBt3XR0edvne/mXHUwMDA3nFx1MDAxNSrX3d3mzmsmW+CVw0znttVIJT/48b5yuFNcdTAwMWRVb1WmVbfD4dmLau1cdTAwMWZkYnjf/GmbXG4yyU0yXHUwMDE50XvNTvo305fruHL7ryFcdTAwMWWMh1x1MDAxMlx1MDAwZiO0VEbL1XlHsLGmXHUwMDFj0iyk1IopYzRlgkJSPVx1MDAwZmmQXHUwMDAzxVx1MDAwNmmRh1JM4+aZ1ZRcdTAwMDPf00qqXHUwMDAwWPPTXHUwMDBmLVx1MDAwNOT5hMawpbYp7KMyaH+Ue3TbtZo3tC/QjyUheZF+zC0kcfIhPI7oS1x1MDAxMVxmwfMzu/pcdTAwMDZcXHl3cHnY49V8ozW8b+81cvXWXHUwMDFlSburRrNcdTAwMGZBqCOkXHUwMDAxXHUwMDFhJoU1RoSfWyXNPqi0jmGAKIpZIFx1MDAxZIrP7tx71mCo5YLGcZD1hWxk/HpN1aE42r9cdTAwMWHeN56qJyedq92r747CSbGRy8ZBfzLeZVx1MDAxMzJcdTAwMWE/nF1Mypo9P8bxvlx1MDAwN0fjq8xDs5O7aFZZhjzkc5VcdTAwMTV3g9LCXHUwMDFhhFxiL2bReCbHiV39RC7YqlKORVYwR3BlLDAoRpWcP1xyXHUwMDEwRMWHRZG0XHUwMDAxT+WktVxuLrhe6VxmXHUwMDFktyskpySGzf9NYVxmz+36NIntiiVBdJEvzC8jXHUwMDBlwvBcdTAwMDNcdTAwMWZcdTAwMDJcdTAwMWOUalx1MDAxM3G4QbRrtys7aPT+dVpcdTAwMWSUWcdyXHUwMDAyKVxmhmBtXHUwMDE3qlxcKDiogOe55ZBcdTAwMDHA859iXHUwMDBiYVUuxFx1MDAxMUBcdTAwMDOYoWD2RChvrc2MLXDmSEgxKLdcdTAwMDb8WFx1MDAwYlx1MDAxZlswnEGGXCLJ7I7FSFx1MDAxNthyspCIJ4/GleF4t92rtXvN+YX9rLT84WPj88x27VB23vjj3l77vEVcdTAwMWby3VdPtFx1MDAwNN+vTnCV28RRQjDDOaFcdTAwMDJYoqbC86pmZYBg6Uhr4C5wXHKr5nDrhe/L13u15YuK3qecX1x1MDAxNFx1MDAxN7ihrKXEe6i18i2KOlx1MDAxMFx1MDAxZrjUTFx1MDAxMaZccmPC+lx1MDAxNtWpjMZ7/W63PYaLf9Zv98aLXHUwMDE32b2aO1xiXHUwMDA3rXrFZ1x1MDAwMfClvM8t4sZcdTAwMDDfcZ5cdTAwMTbO/mtr5lfuP97/+7//XHUwMDEx+OrtcJvHh9/aZ2/4h/fvtTFP0NDKPkGYhfvNV8+PorfO0lxueVx1MDAxYzIgoyhcdTAwMTFcZuhcdTAwMDBkKHOQXHUwMDA3P1x1MDAwME5cdTAwMDJwR6k1jIZcdTAwMTcofFx1MDAwZfCUXHUwMDAwU1x1MDAxN1RcYnAzuPdcdTAwMDGltVx1MDAxNLI4XHUwMDAxpFx0fZRRKz2R6NdmLVx1MDAxZVx1MDAwM1mV0GZtylx1MDAxMW8puPyCXHLgfZxcdTAwMWLwMc0oJ8qLLL/wXHUwMDA34Fx1MDAwNys8sZKBS4H7WNr35VdCvOitkdmiQjBcdTAwMTBAUENcdTAwMTBcdTAwMDaTUFx1MDAxY1x1MDAxMvdNXHUwMDA3uDBcdTAwMWLHh9+6Y1x1MDAwMzgjXHUwMDE2f/rO6Vx1MDAwNDA+TaSH9S1DuOi0Oa1cYlx1MDAwN6SOci2IleCExHPo6lwinKExnj+FQ1x1MDAxY0RcdTAwMTNFNXZtXGJYXHUwMDA2XHUwMDE2WVx1MDAwNYCcXHUwMDA1Sm8o3lx1MDAxM/RA7atYoZwqrH6WvyPGfVx1MDAwMk6QUWkjXGbFQjyKW+ZcdTAwMWZDtOjkbSmiXHTrQiplXHUwMDFj6+Q3XHUwMDFk0MItXHUwMDFhXHUwMDFmPluOXHLRVGhlt8LNUTxcZllcdTAwMTnQovdcdTAwMTdTXG5o8FxuXG4xXHUwMDFhYiPjxFrD51x1MDAxMVxyTDzGPe1wRKOUS4X141x1MDAwNFxiXHUwMDA1XHUwMDE1JqD0XHUwMDA14lx1MDAxYWQpSjFmpFx1MDAwNVOxvjSVYjdcdTAwMDcu8ndEtE/AXHTcYiBIXHUwMDA2XHUwMDE4nMKWNKzGTJakOZYxSVxmw1J9IJFcIlx1MDAwNONcdTAwMDTDuib0d/B+Jf2L2jCQXHUwMDBiNXL3eb99x8fbXCL6VyjcXHUwMDA3Qunqh+zRRVx1MDAxMumFOY6sXHUwMDE58EFysPSFzFQwR+NGXHUwMDAxMdhcdTAwMGImxcK64kI5zIml5Fx1MDAxY/dcdTAwMWRcdTAwMTjnXHUwMDAxLSxUYz00Pm+YUFT6WVx1MDAxYjbYcKmT6WFJOcatiC94MFwi4Vx1MDAwMlx1MDAwM79VcLW0h0t4MU8xTFx1MDAwNVx1MDAxOYX8SYNcdTAwMWYktVx1MDAxNfdcdTAwMGLzpOBcdTAwMTBlNXymtJhChGBcdTAwMWWVXHUwMDEyXHUwMDEyXHUwMDBiPNk1XHUwMDE4djdcdTAwMWTzwkzefdpn7XEhXHUwMDFl1Sp0L45cdTAwMTGmMHNcdTAwMTarnz9E16OnXHUwMDE58oDZXHUwMDE5zimSZjrP7JhcdTAwMDBSXHJhiCkk3Jrwz9U0R1x1MDAxY0BQJvDAT1jAX0NZ0IZcdTAwMWNHlknAXHUwMDA2mIW/qK9jSEOiXHUwMDAzVMFcdTAwMDMuv1x1MDAwZuitvNeP15BpWFx1MDAxNfA3a6jybHvPQIhcYuxYZVpYRpnxXHUwMDE3aqyEeeuciYBrU1xuZFx1MDAwZnxcdTAwMGWI5axC6H1R0oHEgoGNoJpcdTAwMDG2lW065IVcdTAwMWG8+7zP1tfEvMhcdTAwMWEt6m2+9VE9TeDGU7P6IUT0fU4p7inmWEGkUMDkNIR3ulAjblx1MDAxZKtwJ4FcdTAwMTlC5zrs4oQ9V+FDMTRcdTAwMDFmlbVcdTAwMDHHrpo5gM1A9YHva2Ksh3T+apNcdTAwMDQnZbDG72qTfP+dtWq0iG7sV17qw/L54Vn56H5P9lx1MDAxZrb3V1x1MDAxNvhIqlMtoY6ym0qp8FBcdTAwMWOrbPMsX3jov1x1MDAxY5ZPzX1cdTAwMWPv22i9ktN6tfGyf8FcdTAwMWU64/wgp2xcZu87Lcvyy9v5du5Zn5xcdTAwMTXOWXlYqWzHUTlfzVx1MDAxNVx1MDAxZe9vqyf75/eTh/z0edw6mmxWTZlcdK9ER4JKXHS3qzfXXHUwMDA0O0EwckZ2wH2lKot08Fx1MDAxY1x1MDAwZjNkxrxcXFx1MDAwYn9fccdcdTAwMDKXlMoyTlx1MDAwMK1cdTAwMTY78+KBTUtcdTAwMWO441x1MDAwMN/aSmO9XHUwMDA1tlGiLJorrKlQs1f/7SvKduGifkaSZUkh+pLAv1hY5l9N4tXo3ITLQTDgk+s4K31tjWnl8OL4anqUKV307i9cdTAwMGa4TDvNXHUwMDAx7uBwwyQ3RkH2LOZ3tJhRbq2FtFQqIDrkc1taYcXoKNVcdTAwMDSZI7bua6CzPKhcdTAwMTNutuxfXHUwMDA1oJB2MkNFXCLJXFxitCZffM6W+4Pdo5vS7eNro19vPZ5cdTAwMGVXXHKP49busWpcdTAwMWYpXCJatFLMXHUwMDFk1Z5642mc4dGDXHUwMDFjSTVqydCSa0gmheVWr76hXHUwMDEyfDE/XHUwMDEwXHUwMDFlv65B3KBgXHUwMDE4wVx1MDAwM1x1MDAwYm3Ar9iCVIWlX+FvXFy5xdbRqmU+h2NScKWF1p93uE/Fx7WMNCg+ejaGlsTH/dJpQqFxSbBYXGaNc1x1MDAwYlktKoqPR0XIesOclColJTNs9YOe3LRBs5WDwkXrecc8PVx1MDAxZevM40v621wiXHUwMDE07jmDi3DI8ue6QH6FRc2l1Fx1MDAxMDdcdTAwMTluXHUwMDBmfK5cYjHMTeFTIHNcdTAwMDe3M9RIILOzT4lcYouUXG7NKdcmXHUwMDA2N/3KuHhQzeYuX+9cdTAwMWFcdTAwMDXxVFx1MDAxZVx1MDAwZp7Pc6905bjYe6Im01x1MDAxY95cdTAwMWXLy2Kfl7uZYm64YotTWuKi8HS9+FxcTlx1MDAxMEa1kmtcdTAwMDTGwKuZ6sBcYn6G2oBcdTAwMTSdXHUwMDBlckO24HFcdTAwMTBcdTAwMTi/wOM0dyA/t4ppZaT0asVFxEUqsEhcdTAwMWOSWfp5j9uUwFxi0VxmI543XHUwMDAyxlx1MDAxYVx1MDAxZZdcdTAwMDSNxfBcdTAwMTiwnOSDZPjZIJXUYl/sXHUwMDFhjcxvOdF96eVcdTAwMWW281x1MDAwZqfP/Wkmf2w7L2mPkpAzOlJKo4SlxstcdNyaLyFcdTAwMWSC+nxcdTAwMDQtU1GdXGaXhWvtMFxyhFx1MDAxYUiJxVx1MDAxZcaAclxiWInmnGH7keFcdTAwMDJTTH/UJMBruEimNymxqLmfO31+XHUwMDFhnbeH5vqyM6nfXHUwMDFj1vj9ZNWoabZPRoNp/+VJTS5z2cORbZ122WZFTTCu0GySaq1ccmdrSFx1MDAxZlx1MDAwNl7MlLugXHUwMDE1XHUwMDE0K8kppbhzSVx1MDAxN31QQlDVmlx1MDAxYaW0YvxzXHUwMDE1SZH9u4I5sFx1MDAwNquMhVx1MDAxNVx0olZLKY1mhFx1MDAxMFx1MDAxNseB/KZEzla//zhKKGouXHRcIotRc2EpiUdM7872grdyrSBcXLI1imlcdTAwMDbnd6dcdTAwMTe1285RY783KTxs75VFd5x2bzXGwHXFXG4maSFcdTAwMTLJ+dFcdTAwMTHAXHUwMDE3IOnUeEykiVx1MDAxNTzVXHUwMDEx08DyXHUwMDA0szpcdTAwMDbS+4VcdTAwMDGzNLnrv569WvJQpM23+2p/eLtvVlxymNV8Y7deJjfjjtK50uv+k37qZjcrYHo1XFx8hVx1MDAxZKg/T1x1MDAwNFu9VSH4aqbcXHUwMDA3LVx1MDAwM/O3Qlx1MDAxOCuYJmpWNe76oKTMMXBcdTAwMTGYoEbST5LWyIhppEMh18VcdTAwMGahJlDzwlx1MDAxZi6tNUCoPVxyYX/7cFntd1x1MDAwN/2eu65kYuaSOOLPNP3rST7V1OH7sUJcdTAwMTJh1itDrZ9ccq+Kpd2L/nHlvr6dUUxcdTAwMTd2v9drl4rWXHUwMDAz0XdcZlx1MDAwN56ruCtwN1+MxZhxpJHEUCW1XHUwMDA1Q1xy99pvV62XXHUwMDE0slx1MDAxMkm+LdH8slx1MDAxMFx1MDAxNH3ursLjkGVwjbCNbGWLtoNB5bFTz1x1MDAxN0dv7clVpTw9275Lf4EhoY42XHUwMDEwdTlYLjd0Plx1MDAwZcE1cDROKGGUKyvIJytlXHUwMDEyXHUwMDE1rUfqXHUwMDBl1s5jXGJLsWvWJ1VZ1z88KV7lMld5dnve705blf1CN1x1MDAwZVW1pCr2soe5l87DwVvhoDXtlPcuab3aOf3U+y6j2pPcwfN5rvN0lb3sXHUwMDFjvVxy9456rZ16XG4pMfNcZsHyQVx1MDAxMSZA2tvNulxmioK/dTBcdTAwMTSl5ORFaVx1MDAwNFwi4LxYk2C8NXk/gEjNXHUwMDAzUVwiOPQhzXpKjFBcdTAwMDRwdONcdTAwMGZeUqBZvySGfrdmvXfvctFLISxcdTAwMTFN5Fx1MDAxYc2nVX62VzTF693H292ePJ5cdTAwMWNcdTAwMTRun1K/efSDMFx1MDAxOIzUkLryhc0jiN5cdTAwMGVVilx1MDAwM29cdTAwMDLLpNzb1/79qvU4J9VIr1+ngVwiLNWJbVZOa6R+SnhP15/o6Vxysd3CdzOE6/ajuD65pLuTXHUwMDEyoX1TvDktXHJaqWRcYj/et527K7X54dtTs3FkbnOq9No8q27Wrlx1MDAxOeehXHUwMDE0gUEqh8JcdTAwMDJrdENcdTAwMDVcdTAwMWFV2rHHXHUwMDEwR1x1MDAxOY279JCfMTOfrHBIVuLDnlx1MDAwNOTlKbNcdTAwMDRcdTAwMTJcdTAwMTihNr52MVxy+vJLouf36st7LWLBV7FcdTAwMTSBSb2GuNhza5v1bnZcdTAwMGbF6eX+2V1mL1s7vi2n3lcjeYIgzFx1MDAxMUxIQoVcdTAwMDWHYDqZSqp49OWp4IRD8lx1MDAxMYfffiFv6O1Nblx1MDAwYnfV8vOtyPTNTaax1zW3X1x1MDAxMC+/hTf0qt3mk1x1MDAxZJx1dzLl/ZNs/7FzNajH8L737bfpUWv/odfNnT5kc4Wn5uT1ZbN4g1x1MDAxNOG7nIowY4ldQ8s12KrSXHUwMDBlRlo6XHUwMDAwNFpcdTAwMTlU7qBqcdaFjlx1MDAxMYziXHUwMDE1mKeoqm2491x1MDAxZf7tOUNSXG7zS+LoNyrMM+9JjO9sXHJCqat2vbKPRm83p9VHXHUwMDE1R1ExRVB6lbJcdTAwMDVcdTAwMWalXGbohLBcdTAwMWPFkKxmbHFdMSlcdTAwMWQ4hGt4f0E4XHUwMDBlpjZBg9kpM26aQSiKIVxiLyt47+F1XHUwMDE1go1NqcLLx1xcOVx1MDAwMYl5V3yWcCo1XHUwMDBl+2bSI6j0U0/FOFx1MDAwNu6CMZDOXHUwMDE5aZT9oJZf9Lbi/KI4Y1pgqTCEXHUwMDA0jI2+Nc1LzFNlfGvaJI2XcJN3n/VcdTAwMTn77P3+8P69NuRpXHUwMDE2WoZnJdWaiDV2M6J3uVJcdTAwMGJ4wsHuXHUwMDBlQyRcdTAwMTFcXC9cdTAwMDBcdTAwMWVnXG5IiaSuiix4blIyfnEozFx1MDAwYssgu/KWXHUwMDBm/T54d3M22m9m1ODpusGO9y9cdTAwMGXI9DbfXGaBXHUwMDE2XHUwMDAxXHUwMDE3SklOqYKlUT+yWIfAgzPUtaJcdTAwMDA+XHUwMDFmlJeP3lx1MDAxOVlAuzkxeVx1MDAxYjhRg3hcdTAwMWZyw/Hu21x1MDAwNOc9cmH+MV9Yri70XHUwMDFhbVx1MDAwMtF5dGpcdTAwMTGPOXhcYlx1MDAwM6FcXCpIglx1MDAxNlx1MDAwNedZnGdHXHQrzmst3J//jphcdTAwMTedSHlcdTAwMDBmQdrdkJmFv+NcdTAwMGIjwXroa4Le0jX9W4H+1yMxXHUwMDA1+sg5aVx1MDAxYYxcdTAwMTLT2JUhLnpcdTAwMGIypVx1MDAxMKe5cMCEpDBcdTAwMDBvQKnnXHUwMDA3pblTVePb9k5aglx1MDAxZZiIxs6oRPa9/z5cdTAwMTiHgvNcdTAwMThcciQ3WmjL/WksTYjI/VuC/jsk6CGMhcKcYIC3hInVmVxcdMVDamFOYTkuTlrg3KdKKrijOY7H0lJyy01SKFx1MDAxN4NcdTAwMDQ9xEdcdTAwMDK85LdMXVfOXHUwMDEz3/Xl3fNcIoJccnd+XHUwMDFhN6dTT8lHp0G+nJT5OF8sn+a2W/zu4PX09enlLnhRREncK7ZGXHUwMDFiy8DMqG9RXHUwMDA2NcNcdTAwMTGcLZ5cdTAwMDBcdTAwMDP+bTrkfZNcdTAwMDK9jchdXHUwMDE5Zmxsnd266Ory1FwiXHUwMDFlXHUwMDFlT1x1MDAxOC2FXHUwMDA0iGd8nti5XHUwMDAy9FxcKY1cIvSA/59smlxygzxMkFx1MDAxOWWYXHUwMDFiXHUwMDBioJhMXHUwMDA2Za7MOlpCpkVcdTAwMTm4xtxKfiqogbNcdTAwMTj0it9cdTAwMTDyVj5cYlx1MDAwMMgjmlOJxFx1MDAwMmCGWulcdTAwMWaAy1x1MDAxY8lcdTAwMTi2JzNBOSZZXHUwMDFmQ7x1TkxcdTAwMTj2ZYNcdFx1MDAxMq5cclfG+Fx1MDAxN6VcdTAwMWNcdTAwMDU4XGY4YFCOwUq22TQv3OLxse0z9jUhL7KIS9hQNSxcdTAwMGJUXHUwMDFhouBcdTAwMWFFXFzR+8QpXHUwMDA1PeVcdTAwMGX25oJKquD7yvlccjtmsG7CXHUwMDFkh4BcdTAwMDdcdTAwMTje7vzvlmV1924hXHUwMDBlbpiSzvZxL3u789RcdTAwMTPNrn694/VuOa9Pv6DU+5evxIjMkW5cdTAwMTda4ixDS5WsUcpavUalUvDFXGb2uLQ0QXHqQErLhVwiRlxiXCJcdTAwMTaaoCz7XHUwMDAyf/uYLCvlXHUwMDEwjlx1MDAwNPzSxtcppUGXdUmw+F5dViVDtz8g+1x1MDAwMHpcIu1cdTAwMWFcdTAwMDdZ0fleWuOiXHUwMDE1eCpcbtkng8R48SBcdTAwMGLjosaKXHQrXGZcdTAwMGVaMMk46oeEWeE3cEfXbFhcXMyXj2+ovtJXffOSN5eFNzp5/IKWorTERVx1MDAxOXGwYoxkeNazustcdTAwMDVfzVRcdTAwMDdGTYhjXHUwMDA1w0JIo7nk891cdTAwMDRcdTAwMThcdTAwMTi/wOE+psuKd0dDXHUwMDBlufHtwenRZV1cdTAwMTIz0qDLqlR4P7/mglti1epcdTAwMWX7cEaucsPrXHUwMDFjvTzu5NrlvdJu4eUk9UGSWlx1MDAwN1x1MDAxMki3nIZcdTAwMWK90K2HwqxcdTAwMTZ7blDYXFxcdEI/N407YWFWwyR8XHUwMDE1XHUwMDEyh7jyV3ZcdTAwMDCdT/TL+cHhXHUwMDAxu7KP+fw1p7uFNIpfeGvbfXpwsFx1MDAwMCnYXHUwMDFh4lx1MDAxN8HfOu3OooVDrbbGUE6FWtheXHUwMDE20jhGMItcdTAwMTeDwyv0p5wlXHUwMDAxXHRVXHUwMDFjXHUwMDExKMGN4zhH25Qol6SG6lx1MDAxMsD/blxyVc3CdTCQf1x1MDAxMa3XiG5nlTy9v37OlStHxezbwVxysfbuLPVcdTAwMGXLqMOpocRcdTAwMWGL53HzjFRcIl8lXHUwMDFjz8chOftsu0rCwVxy+KzS8F7pUs5aXHUwMDE23Fx1MDAwZXZ387eH9d1yYXrXy/Wr5/16/jKFwU2LcF8xXHUwMDA2XHUwMDEzXHUwMDAzq1aXTVxm/tZp91x1MDAxNSlcdTAwMWMu4WpL7Nyicn5bU1LuaOVqkIKVWpmcbMNcdTAwMDfETqVhitB/a53GXHUwMDE425bAfUq0TsNcdTAwMGJcdTAwMWVcZlx1MDAxZTZqsfpBxDEvVbpXx7v1jixOhs+2b98uMt/rs0ulTjnRXHUwMDBlt4IrLjE5s1x1MDAwYlx1MDAxYi6cOu64XHKutMGBjUlJnVxuh1FLlFHYXHTFg8pcdTAwMWSWa50yXHUwMDAyXHSE4Mx8V3xLidipXGY1acmk1MS7RbXMpOtP973H26bJvlxcTE5t92hvb9Kapj1cZnEugS4xI1x1MDAwNJAmTVx1MDAxNkxcdTAwMWFilFx1MDAwMbsmgkpthFdtMXVSp7ijqK0k6Vx1MDAxYTr6wzKSXHUwMDFhyn3Ube+UytknM7k9eaqZ88PaeSlcdTAwMTPD+35i2Hfk+1Y7u8XmLWk9XHUwMDBlrq1tnu7vX79cdTAwMWTsfOp9l1x1MDAxMWLbmWQu27qjWrfiVLSfR0+Hd3cpJMSMho7LodIqqYi0q3eJXHUwMDA0f+tgJErJYYYgLlx1MDAwZUGSLFxiuPeC9j9z9Yg8QJRcYlx1MDAwZX1M6lx1MDAxNLuKmFVxRNJNXHUwMDExI0lM6nRJXGL9dqnT8Omrhlx1MDAxM0uYV/B2aX9+7XKHXzfJ8O25cNsulFx1MDAwZkrjy9RcdTAwMGa1cumCIdQo3MNcdTAwMDFUWuxywJJfXHUwMDAyxNKCJ6Eu8bdcdTAwMTGGXHUwMDAwqVOB1e6w9M06sNjXw/3bXCLhj3e03jnMNaZPw73udzNcdTAwMDTFK2+9x+uT53xcdTAwMDXSXGbzdNp4PbtNJUP4Kf7NXHUwMDA2x73p0cNdrtq9tOL+rPC8cXWAPJRcIjCiXHUwMDE0LMHy1ffMgq0q5egjqHBcXF1cdTAwMDBuXHUwMDA07p3NY1x1MDAwZiQr8WFPXHUwMDEyUqdaSKVwx+/3YVxuyUmdLlx0n98sdVx1MDAxYaGJzpDeQlx1MDAwNF2dzlx1MDAwZoqajE+zr4rkjp/Ny93h1dvBpjNcdTAwMDXk+8JcdTAwMThFuKSGa/J9Q1RW0DolwoLjXHUwMDE4sVmHQfvD092bm+PO4UGrvFe7eqb5x7r+goD5LcThvHM7XHUwMDFkjWs7dzfVl5vLx9z1aU72Y3jf++60NyVcdTAwMTfsmWRcdTAwMGZcdTAwMGLm6Jq/mkJps4iD5KGbnJBvXHUwMDAzaYBMd3UwXG62qpSDXHUwMDEx+LVjXHLqS6GynqDzzEFQXHUwMDEyXHUwMDFmXHUwMDE2xSx1alxivFx1MDAxMlKWXHUwMDE4apM3hTMkJXW6JIx+q9SpXHUwMDBllTrlUkFMXCJr1HpF7zan1EO5hUiNxy3KWGNcYpvf/6MoXFyB7T1cdTAwMDJlXHUwMDEwtVx1MDAxMJ+rXHUwMDFkiZA6hfRcdTAwMDFcYlx1MDAwMcJcIiOSXHUwMDA2Kf9x7kiAXHUwMDEyKynWO0vi6yWmnDHwW2tcdTAwMTLZZ0h5M/HKjbvEwV5dVyuUadT/XHUwMDBm0E9AgWpIsVxmXFxrSymhXHUwMDFmlE+I3lX0rFx0Ra+U1JJj84BcdTAwMDXU1bP6n61Zh7NcdTAwMDFcdTAwMTOlQuCIK4hcdTAwMWGbLqBcdTAwMTBu9Pjwm/vsXHL/8P69vjCWp0PIV+CqLPrQXHUwMDFh8s7RXHUwMDFiXalcdTAwMDU941x1MDAxMI7wbpnRhC7upjJcdTAwMGK8XHUwMDA0u5OoUvD051x1MDAwNrwlK3eqleZSeru+flx1MDAxZsxcdTAwMWJcXGQvdlx1MDAwZUf72d2LzmR0f3h0c1FnIfgyJ3fKPF057/gyJ3gqXHT9oE5W9P7IXHUwMDAy6M1cdJ4q5V+Uf1x1MDAxMVx1MDAxYoVx36ZvqsMxzm1cZqbeoqplXHUwMDE4XHUwMDE3nTunXHUwMDE246SDhfPgg4ai7Ng8xFx1MDAxOTm3aZuUonMs8qZwy4hcdTAwMDGH/Fx1MDAxZEViopOneV43p1x1MDAxYir8ks5cdTAwMGLqpsb/1VdCuKVL+re66a9Hcuqm4eJcdTAwMTS4laLQYdZcdTAwMTjRXHUwMDFiuemYUoBcdTAwMTNKO5AqUGvhXHUwMDFlcG+Zzo99blx1MDAxMeM+d8LipkBCrcHBXHUwMDA3KVx1MDAwNbjZl/pWgFvQNjVcdTAwMDHapvP68Mx8MHNdSuL+LXb6XHUwMDFkYqdahzcyo1x1MDAwMCOO5F6d1kXXPKRcdTAwMTX1NPnRmymx7p/bxTog5YDXaoLzxXBQSorVTlFcdTAwMTBcdTAwMGWiXCJJplx1MDAxND7lqLdylrgod6qtfypGXFxyp+168bA0Mf19+ZjpTDvFXHUwMDA3u3dnglx1MDAxNzUnd1xumZ1vTfNqp5z6T1s3XGbzvkftlFx1MDAxMVx1MDAxMlr6XGKJsyDudunKkFx1MDAxN11gnlbIUzh5XHUwMDBi4IxIiYO3XHUwMDE2XHUwMDA0joR1pLVgh9ZYg1x1MDAxMlx1MDAwZYlAXHUwMDFldZiiXHUwMDE2Z8hacDLwxlx1MDAwMIUjyqljpOZcdTAwMDToJkMpat9unVx1MDAxNZwoYWRcIopHKYe8lU9cdTAwMDOIXHUwMDBiZ4RwN6Iro7ln1+j9hMK9wnBcdTAwMWbcUlx1MDAxN/JBxFvj1IQxZYRcdTAwMTFcYmaaUc8whfc1XHSwUoq6n4QqLlnAmjZcdPLCXHJcdTAwMWVcdTAwMWbbfltfXHUwMDEz8qLVTk1oelx1MDAwYtk0hDmpV1x1MDAwN73obeKUglx1MDAxZVZ0Q1ZcdTAwMGJxVmKFXHUwMDE0XHUwMDEx80SPWSydXHUwMDAwc0NNRGbU544o4pU7XHUwMDE1klx1MDAxMM1ZMkdcdTAwMTKJVW3VtuX9W2+3IVx1MDAxZZrjdtWOb1x1MDAwNzK3ctXWJ8q9fzlLjMhcdTAwMWPpd6FlzlwitFpJ43GI1Gs0Qlx1MDAwNV/MYJdLSSNcdTAwMTREXHUwMDFih0hlrYKEXHUwMDFlrJ3oXHUwMDA1h5Nf4HBcdTAwMWbTO0UtWmZTUN/8IfqQMrnTJdHim+VOI/Q7NOR9ivPV42J0upfSuCiYdjCnZNiIr4xcdTAwMTRcdTAwMGLZXHUwMDAwxEWtJFAwgCxOeEKNUFx1MDAxZpI7xVxyMcZoMru8icXFQVOWMtNmK1x1MDAwZsSd9lx1MDAwZYotUz05+IK2orTERVx1MDAxOV5cIqiZkdLb+b6UiVx1MDAwNl7LVIdFwVx1MDAwNe67K1RlokqbRXeTX+FuXHUwMDFmXHUwMDEzOyVMKK3J95fwfl1YTFrsdEnISIfYaXhHP9daXG5O15C42s9uP01yvYfmkFxye6e3x1ZcdTAwMTduUz/aXHUwMDE2ZWgoMZi44yhcdTAwMTg+L3ElILMkXHUwMDAy/YlzXCLFJ8c+JixcdTAwMDdHmFx1MDAwNr+nXCJd6lwiy2LmtDHpPFx1MDAxZE9cdTAwMGXtKNPit8PCkVx1MDAxZJT2U1x1MDAxONuUXG7P+Vxi41x1MDAwMoeDruwqwV865a5cdTAwMDLcXHKrpMBPIJJrM18kJVx1MDAxNHUgXHUwMDBmhOCmcCA2ZZ+qkkpC6Vx1MDAxNCuEXHUwMDA1/a0yvySVTpeg/bcrndLQsyDAcVwilXdcZssyd73d329mc/Xp02DYO3l7XHUwMDFiPPdcdTAwMGZyhbS7K/aaXHUwMDFiYrVcIpxqjTWjc1x1MDAwZStcdHes0oIrXGJ+gtk0hzaJ9Snw1GZlg5VG83Bw+cBPToeC7o/fXG6j09unXHUwMDE0RjbNQ12FosgpQDpffTsz+Fun3VeMdlxmwFx1MDAwMlUowFwiXHUwMDE25sJIqlx1MDAxY7BMuFx1MDAxYlx1MDAxNG6IlyOmQOiUcoxqUnvYx98+riUudbpcdTAwMDTwv0rqNMxjKVx1MDAwYt1noVx1MDAxYTBdXHUwMDE4Y1cno29cdTAwMGZvur8/vc2ctfv8kFx1MDAxZd7cqepD2nZahKMgXHRzy4al4cYzpVx1MDAwM/2XXHSFQylQcZRIJvSCXG4/YVx1MDAwZfxcdTAwMThcdTAwMTIkXHUwMDAyzNUo+znV04idXHUwMDE3XHSZXCKFhbJcdTAwMTDv9SdtUlx1MDAxMcVtLPNcdTAwMGWjvTc4hv2wgFx1MDAxYlqvXHUwMDFk3l9VK89Te/4wykxuj2++70guXGJcdTAwMWJW78zu9muTTj1cZlx1MDAxODr1xjhcdTAwMDJcdTAwMTZcIlqz51x1MDAxNrxcYlx1MDAwML5cdTAwMGZNtFx1MDAxNTtCXHUwMDExllx1MDAwMntcIsLqNcRcdTAwMTLGrd1j1T5SRLRopZg7qj31xmGSsJHu/3XhmlKFLTnMQrqJpXN8/vyRXHUwMDFh4UCip5WAeK6NsGZhZfFwW6aJg2eJQG4tUFx1MDAwM1x1MDAxMtCTaK1DtMBKK4szMH1cdTAwMTLHimP9aSzbrlx1MDAxYlfj9JI7Zjdno1N1RfnBYJi5f2b3zyE1TtJcdTAwMTjBXGbublmutb/ESThcdTAwMDSepVx1MDAxNC41PE+Fv1VmpVx1MDAxMif62lx1MDAxYdPK4cXx1fQoU7ro3V9cdTAwMWVwXHUwMDE5tCRs1sP2alx1MDAwYsuCW4jN2L41cVx1MDAwN1x1MDAwMpHGMVx1MDAwMeCRbqWjb1GbVOO0zZSCXHUwMDE4bDhcdTAwMTU4VptcdTAwMTA6173DqFx1MDAwM6zV1WrRXHUwMDAyXHUwMDBm7tjyN1xm81x1MDAxZnwses7s3f7w/r02czKhO95WXHUwMDFhq1xiW1x1MDAxZDijXHI4rcBpXHUwMDFkzpihnKBCNZnfxKPKONpcdTAwMThFXHUwMDE5PFx1MDAwNYmO+dRIh/BNXHUwMDAxy7Ak0Vx1MDAwMGGD+1x1MDAxZbR9J3xpXHUwMDBlXHUwMDAzzmuI8lx1MDAwZVx1MDAxYf5cdTAwMDaiXHUwMDE0XHUwMDFkK+cs8JuI0lx1MDAxYWUhlXFlq4TZaKM+3Dq9f6hXx6N//tXDLzDa6je2xq36XHUwMDE23lZAmY+mWVx1MDAxZuVTXHUwMDFmW9tKpItHp1xcoaRLiYhZZ4CLUq8jXHUwMDA10XuiJtNcdTAwMWPeXHUwMDFly8tin5e7mWJu+KFRnl+JXHUwMDFkXHUwMDFjm1xiLVx1MDAxNXg2SFx1MDAwNF1cdTAwMThyraXDpcCtPlx1MDAwMn9cdTAwMDL5Slx1MDAwNDuMgSBEqFBcdTAwMTKgQ1x1MDAwMJRcdTAwMDVkWcZcdTAwMTGGW1x1MDAxY7hcdTAwMDYhhmvPa97LLlx1MDAwMeTgXHUwMDE1v2U7TYf38vXr3mW5lL9sl9rDWv+ZXHUwMDE3g3mXtIQp7Fx1MDAwYtXESH9cdTAwMDehdSyBVFx1MDAwM5XIXHJg81x1MDAwN+vKc9NcdTAwMDbNVlx1MDAwZVxuXHUwMDE3redcdTAwMWTz9HisM48vVyHrQclcdTAwMTUjIMOH+yeCJCBcdTAwMWOOgysxdFx1MDAxMSBfXHUwMDAxulx1MDAxNFx1MDAxYkW5Qo1cdTAwMWRcdTAwMWZ+M4+JI0WJ+OJHSSXJ6khcdTAwMTdtbilFOqFcdTAwMWStcUCzXHUwMDEwXHUwMDE0N3PmkU5cYodbjYNtwOg5kcnogjJcdTAwMGWASqm2hljUnqJcdTAwMDFQp1x1MDAwMnhcdTAwMTK4I51cdTAwMWJN9lxyPCk6vM1ZYep50t6PwpytXHUwMDFhcpLGsN/d2i+dXHUwMDAyXHUwMDE16eM/euNtQIQtl5f81fvPYb1cdTAwMDdXdWsw7Fx1MDAwZkb/2Fx1MDAxYVSGozr+Xn3kOM7/+WpcdTAwMTKVwMJXYljyg1xmi0VcYtG448GFt5R8XHUwMDE57uRP21SQSW6SyYjea3bSv5m+XFynXHUwMDFkd1x1MDAxNGTReMgkXHUwMDE5VrWbXHUwMDA18XDI3XA8XHUwMDAwh1x1MDAwYiVcdJYjJZOdXHUwMDEx5VxinLyFXHUwMDEwZyE9m1x1MDAxMblcdTAwMTnFcqjEXHUwMDE4XHUwMDBiXHUwMDAwKWE90q/SQDS3XFzHMnFk41x1MDAxOFalmu2y87NnU1x1MDAxYzzVzrvq7DLbv1x1MDAwZmY0wFZcdTAwMTiez0OUXHUwMDAxQsqZv1NOO1x1MDAxONolh1x1MDAwYm1cXDn3j7Gs11L5oWReXG6t8k3JXHUwMDFl90x5fNQ5XHUwMDBmWZPA8VVcbkfIaepcdTAwMTXs3/qbKG2FW7j7tM+4Y+JVzKPsvSigailxhTpWhrdoXHUwMDFiSym8aVxuXHUwMDA2z4DPcIlSmfOn7KjHYKzheHxcdO7gbSqKV27dOFJw3FDWXHUwMDFh9VpcdTAwMDO2n/y0ilx1MDAxYiYtoMa3sqrokDZng6lnVY1JrzpcdTAwMDZcdTAwMGZcdTAwMThtjVuV8Vx1MDAxNvCdXHUwMDBl8Fx1MDAxMNzW2Tk73KpcdTAwMDA1XHUwMDE51seTYVx1MDAwZnd6/urhz4b10Vx1MDAwMF5f/2pcdTAwMWFcdTAwMTXHSlx1MDAxM+VNMrxcdTAwMDGYSoA4LehcdTAwMWFDvc32yWgw7b88qcllLns4sq3TblhcdTAwMDdwaoCFXHUwMDFixyolUbzPXHUwMDE4plx1MDAxNo7/lXDgOS5cdTAwMDTObVMqmdNAlEmFeGlcYmTHjPOgXW3ucGnhXlBcdC/kRml/OYCyRiPTTassc5K06UyaZ9rYO8lcdTAwMWOPhplmhtLtg2Hmm2nTW050X3q5h+38w+lzf5rJXHUwMDFm285LyJooXHUwMDE1YF2UW4KzXHUwMDEwtX93ijtwIYmGXHUwMDA1XHUwMDExXHUwMDAx7IOpXHJX9Fx1MDAwYjV5fPiNPSZcdTAwMWHlXHUwMDEx4fbRKCU0jk9YXHUwMDFk7aJtLqVoXHUwMDA3RIlcdTAwMDOBQcUgqtmCxovg0rFSS0A8lGVOKElkgLhcdTAwMTTnSHNcdTAwMTE6KcLPoiiqXG4rsPtvPcSLjnBzNph6XHUwMDFhXHUwMDA1bKQ66cBcdTAwMTK2sFx1MDAwNrFTf9l6rnQmuKXTXHUwMDFmXHUwMDAyN3ndelx1MDAwNIjDXHUwMDAzs06/2a7+1fvPXHUwMDE5m7mvXHUwMDAzzelcdTAwMDH8bU3b49bWZFT/jk2qXHUwMDA0v0CipEvZ8IE1XHUwMDA2aFx1MDAxN6NcdTAwMWV5y6XqevnGbr1MbsZcdTAwMWSlc6XX/Sf91M2mXHUwMDFkhVx1MDAxNJZcXFx1MDAxMoVcdTAwMTFcdTAwMGaCrJ0/XHKUXHUwMDAyUFxiXHUwMDBiqanmjDGaUHdcdTAwMDHjjlx1MDAwMlwiXHUwMDAwXHUwMDE4hMyOyaDTQOLgRFx1MDAwMEnhjjBmvU1cdTAwMDTvW+ZcdTAwMTidXHUwMDAwxH5DzlUnsn7yKKaZSr9nu9fH58OH5kFcdTAwMTC/QfleTnFcdTAwMDY7XFxLXHUwMDAwcFx1MDAwNXc3SMmOgWO4bVmA9UZ9kHVccs7vTi9qt52jxn5vUnjY3iuL7jhkVZxwXHJRXHUwMDFmXHUwMDE2Z9xN0Vx1MDAwMNZl4Fx1MDAwNqM4nKtWYu2G12GFXHUwMDFivfu0395j4l1ChFx1MDAxNp1cdTAwMWJcdTAwMGV2YcVcdTAwMWHietF2l1LE01h0KjTkXHUwMDFjxuBcdTAwMGXhPOJx4lx1MDAxOCxFXHUwMDA1LKRaJzT+XHUwMDFiyLbDUfRGK1x1MDAwMtmNJVx1MDAwMWpcdTAwMWFcdTAwMDG8XHUwMDBinVx1MDAwM341XHUwMDBlmamP867oKDdng+vzLsa1VV/Hu2rDytQtQvpR+f1X7yd+jbb67kbQ1qg6rNd7P07WavXh1ri/lSvlT76cX8Ww0Dh4VGSvJnhWhEI7w/5BXCJX1yHIZy/IyevV+Ig9XHUwMDE3mnvD6t1951wil/ZcdTAwMGU0SuDKUlxiY9hcYmnlgnRcYoUgZlx1MDAxNPatSoHFS6HY0iCmSshH2Vx1MDAxNGBcdTAwMGKD+I59mFxi6Fx1MDAwMTmdXHUwMDExzCHKXHUwMDAwXHUwMDE0KiqZ8oySf1chgPyOS85cdTAwMTJhU4n1ajJTOq4+mrva+L62vbPzWGPq9WpV5Z564aUwuLxcdTAwMTed6c5rqXKfZWcv26PVgC3yfT/Rllx1MDAxM/m++9pWXHUwMDFlTs9qPTa+ungo5Uelq0IthvdcdTAwMWRU89emXr4oXHUwMDE0X9r169J1tlA6eI5cdTAwMGLgpSTekU5cdPXC2vC0jlp0XHJOyOpIXHUwMDE0bFXpZjnMOEZzYpSxTEg5i4j4+4oxR2BcdTAwMTed4VxuQNuGk5xVgChMP1hcdFx1MDAwN+6D5Vx1MDAwNlx1MDAxOK5cdD6hXHUwMDBi6qTjOFx1MDAxNknoxDlOlJFcdTAwMDJcdTAwMGLWYlxyI1xyYiGr97qNWpVh/cPF2Ut6YJeE0UWisbiWxOeX43Z7mK8yYlx0I5qskZFsV1x1MDAwN6Z9aM1jpfbYvHxuPVx1MDAxZUlcdTAwMWJWL/RFrEEsc1YmraMhVGtpKdOQcM87K6dcdTAwMGU8xSAgK6LmZFx1MDAxNVx1MDAxNpy1XHUwMDBl2TOny1hD1VaDXG6ycV4wpptCWsixXHUwMDAz9Fx1MDAxZMAvcXyj4DhQXkjjn25cdTAwMDArZ7DQZKS+P8xcdTAwMTl+nlx1MDAxMLzo51H/Ytc0RkV2fkfKu/rYxFx1MDAxNdSIpdazf59QUPOWLfjaxSXkslauUXmiXHUwMDBlhvdv1ZztvJz19orbb/ns/vPxR4LaN7aLa1xiYyhcdTAwMTVcclkxN5rNs22Ia8BxNVx1MDAwNEGhjJZcIpxtr+Y3wWxbSodQa1x1MDAwNTBl95OCdPpcdTAwMDI0viTk8fpcdTAwMGLaxSONVlxij58nXHUwMDFk5Fx1MDAwNpXmV7dzL3xk4qFMedRcdTAwMWH8rFx1MDAxM1x1MDAwN15cdTAwMWG7Oussdsf985vX1/MnPd7V9b3bkT5cZtNzSE3+yyV1cLii5lxuh5Sp+Y5uXHUwMDA1z1xuSC2tXHUwMDExOCEuoYJ7wlx1MDAxY6U5k1xmy1xuXGKjQbxT43YyXHUwMDExhOKEXHUwMDEz7Z9aIbBw0MZSfv+F6e/17uj2vsdLmXKW6HM7Ouiwyu2qaV+v2m0+2cFZdydT3j/J9lx1MDAxZjtXg/pqXHUwMDExMvJ9zzu309G4tnN3U325uXzMXZ/mZD+G9y2x3ex10WyX71xuYrffujqs62w1rohOIWWSyVx1MDAwYu2K8FJ57MnCUbmrU9/gu5+yiL4otUtcdTAwMWOmjWGQjVpuyXylvNZcdTAwMTK8VKIkXHUwMDAwwVFyyZw+XG6JJCNKrMlcdTAwMTe/XHUwMDE1XHUwMDBlRbKUx1De9fHwrVx1MDAwMUTZXHUwMDFhXHUwMDE2+rnwnet3P1xcsrkkQ11cdTAwMTLoXHUwMDE2o/r8Slx1MDAxMlx1MDAwZuqah5Z7K4J7J0Su7qK3XHUwMDA3XHUwMDA3x4dcdTAwMDdX/ftcdTAwMDJQr8lcdTAwMTHZrzzmUz91VFrcS1JcZlvYfCxbucK7kLQqipXYJpkhXHUwMDExscR0alx1MDAxMNOl1jG47Vx1MDAxN1x1MDAwNvWT1kn+dHyQqbDS9kXhYu/enpT2Vlxykvftt+lRa/+h182dPmRzhafm5PUlhuB72TjoT8a7bEJG44ezi0lZs+dcdTAwMTU7XHUwMDAzo9fbnfam5II9k+xhwVx1MDAxY13zV1MoxfC+40xjUC5cdTAwMGZagC2Xb/t3xZYtnNzER1x1MDAxNlxmXWtcIvbHyIJccidcdTAwMGJcdTAwMTBBLaHeNq1lSFx1MDAxNGxVqSZcdTAwMGJKaYcw7GSyhlK7sEsmzVx1MDAxN+CQUlx1MDAwZdeY7Vx1MDAxYoFcdTAwMWZcdTAwMTUoWexjXHUwMDBiXHUwMDAwXkpQbul3bml/MV3IPH9G1jFcIuFfXHUwMDE2Qlx1MDAxN9nC4kKS51x1MDAwYjSUL+BRq2bK0NVcdMPb2fT6cNTZz6tMv5Dp81x1MDAxYdku2rRcdTAwMTNcdTAwMDYjuFx1MDAwM8m/wVNcdTAwMWNcdTAwMTQmnr3LL8bgnk5zzTncw2RYfTyMgVx1MDAxMM5cYupcYmxcdTAwMTRjYOw4e0pbtHt4SVsvd/XpXnlgVo2UO71cIj3oTHv9SamYu9Enj4fFwUFcXJGS40Zp4lx1MDAxYuUyolx1MDAwZUVDrOaKidUjZfDVTHWkhIzZkdQ9yCSK84VpXHUwMDE4WmtUXHUwMDE0XHUwMDA39+RcbiyfJ1PiZqkjMEkmxlx1MDAxOFx1MDAwNZm1XHTwP//GOCdwe+Ig6J9cdTAwMGKU61x1MDAxNCh8LlBcdTAwMTYh5FXGc7BcdTAwMWRrcr0kgCyGy4DlJFx1MDAxZTGNXHSvwSdCcNSLWH3bvPZ0ccHPjmSb2Mxzrdos3e7lX9JcdTAwMWUxIVx1MDAxOGJNqsJ+aUZcdTAwMTaorYYwXHUwMDA1/qNcdTAwMThDnVEmXHUwMDEyKknFOVx1MDAwM1hcbqZcZtGQ0bCgklQsWTZYzU41eCnzK6Fq7NPDguWNXG6Y0/7BaVtcdTAwMWSpfvagW1x1MDAxNnuH96csX1nvXHUwMDA0eF3U+FBg0zKUW0q4aYJqsbqySvCXTnVcXFx1MDAwM9N0ILhrpVx1MDAwMFx1MDAxMpRYXGJrljlcdTAwMTJTLYuYsei7Me1cdTAwMTVcdTAwMTOH4lQ2YzTWpXg2gKPyP4pcdTAwMWPSmOTLttNcdTAwMTPWXHUwMDBlhu2kXG6allx1MDAwMPxiRJtfyXdcdTAwMDYzipNcdTAwMTPN3NDaZT461IPhIbsoTm2hPFx1MDAxMI9cdTAwMDc3t1fH/Y1cdTAwMGVmYIVcdTAwMGXH5mmqlSRSJqRcdTAwMGVcdTAwMTJLMONcdTAwMDTPsDXZrGB2cD49KVx1MDAxN3tqt91cdTAwMWWadpNns+XzUVx1MDAxYYOZXG6vlqBWgVx1MDAxNVG5ejlT8LdOdzT7sWWpIVx1MDAxN4M/mZ5cdTAwMTdxhqTJQaVcdTAwMWGU7ORa0GRYn5EoZmBcdTAwMDX8IYG4iSCRMF9Aw7TOalx1MDAxYodfbEo826t06r1aJakho0tw3idcdOhbTeJxzbt7vZikgflwTtbYUpn03prq+LVR7+fHlVx1MDAxYa3mc8c6rPZwM8KastZhmqJcdTAwMTJcdTAwMTlurZjwXCLd71x1MDAwZmvUXHUwMDAwR6bK0s3a1ex0XHUwMDBi9b3tvlx1MDAxOZ+ynChcdTAwMWXKUue4yVJcdTAwMTjXvFWdvt1HSt1cdTAwMDFkq29nXHUwMDA0f+t0xzWFXHUwMDEzXHUwMDBiIa5JYST3XG6uu2lcdTAwMWE1jjSKXHUwMDEwalxyXHUwMDBlLkymXGJQU0dBXFzjVIVNXHUwMDE2XHI4plOEXHUwMDAx5ePfWpT7tWFtv1x1MDAwZVGok9T4tSUw75tcdTAwMTawuJhkpy+Z0HGJilx1MDAwM+vX3uLopXNcdTAwMDBcImsnU9khJlx0cYxEWXJC3Vb4XHUwMDE59XNcdTAwMDOa0Ni9hePkIVmT9rPn6cFdJ5ThiCfBtNBcdTAwMWNw0zNcdTAwMTNoLqDhlo4xVGHfrLfR4qfnXHUwMDAy/1BcdTAwMDTlKpKIZ59T/lx1MDAxMEQwTz9P/MpcdTAwMWbRxXNb87OO4F5cdTAwMWLMrHBcdTAwMTSoX1x1MDAwZVx1MDAxNq4zXHUwMDA1vkA0QVVNwpTyffWVZD+eW9usd7N7KE4v98/uMnvZ2vFtOWRJqMyqIFxuXHUwMDEw7Fx1MDAxY1JcdTAwMDGjXHUwMDAwXHUwMDE4XHUwMDAzv4c7T1xyI1pKs9mateH2jo9tv6nP3vBcdTAwMGbv32ujXHUwMDFkteGkROL4KyHX2JaKLulOJdxcdLi2VuJFRV0/Qlx1MDAxNmpcdTAwMTJcdTAwMDTQdyOlXHUwMDA2XHUwMDEygPNcdTAwMDI+uytcdTAwMTWCdsKBzIEx/Fx1MDAxNLBpj7nPoZ2hsFx1MDAwNM5cdTAwMDX273qzql/0XHUwMDFknrZcdTAwMWFiVFwi21KfXHUwMDE0OvpwlVHccEdcdTAwMWNOhZBaYS8xYWa2VT+DXHUwMDE2h1x1MDAwMrRgbVx1MDAxNjPCsiBcdTAwMWTH1WSOipqMT7OviuSOn83L3eHV28EkeE1cdTAwMDTnrYGhKWog/VwihFx1MDAwYupXOmKo3Y1cdTAwMDNB4HKiLlx1MDAxN/GnVJuEedvhZu8+7bf42EDPw2lcdTAwMTZBj1xiXHUwMDA1uclcdTAwMWFcdTAwMDWT0ZW0qcQ8ZTlOeoKEwlCJO3zzmCfZXFzF5Gf1dIMxzzqaQiaorEJlX6aCXGKeRLkxxixcdTAwMGVcdFx1MDAwNELgmTj1a8NcdTAwMDJbwOPRPUpcdTAwMDTxPpSwrYh40fWOc+hCqeJcdTAwMTR3p6xgXHUwMDE0q2R90OJnT/EyOoLDMoXFuVx1MDAxN0DpXHUwMDAwu5hvXHTAgKSRXHUwMDA0LpqmYHZMbji6hVx1MDAxYbj7rM+2Y8M2XHUwMDFkOt1JcOuy/NVLXHUwMDAxoqv5U4ltmilHavieloNcdTAwMTNcbrqIbW62Y7Csk4A/fLbGNCx71cAyJFx1MDAwNGhrwKa9O13v4KalI7DcUFx1MDAwMd83SNxcdTAwMTbBjVx1MDAxMSmkRUnzf4NbOLhh9so0dlowrIBcbsheXHUwMDE5pE5cZmOEhuxcbjuQP8jmyruDy8NcdTAwMWWv5lx1MDAxYq3hfXuvkau39kjIklx1MDAxOGNcdTAwMDZcdTAwMTNlcGzulpVcdTAwMDZxOY6iXHUwMDE5XHUwMDFhNVx1MDAwNVx1MDAxNVx1MDAxML7N1lxuXHUwMDBmt3h8bPuMPS60YzR8llx1MDAxZGdcdTAwMTBrqFxcg8lF9lx1MDAxOKVcdTAwMTLtXHUwMDAwzVx1MDAxZCW4wUE3jPnknIDJQWahwdDAXHUwMDE2tfzs4VNcYtqh1Fx1MDAwNeCBsMpQy0nYXlx1MDAxZKyAgIXAS60kXHUwMDAxu+ywPuApiZw9fVx1MDAxMu1wxPyHXHUwMDA0MeKncqhYwlx1MDAwMOxQXHUwMDAylkPO5GdyXHUwMDBl6ihIaiiKyHKIXCJcdTAwMWaDuzWSV1x0V0daKVx1MDAwNcBcdTAwMWXxaDLNwI47gLtYeE7BXHUwMDEwrX+Q6CZB3Xa4vbtP+009LrBcdTAwMGJXXHUwMDExwXNcdJxluXr/0OXB0fgq89Ds5C6aVZYhXHUwMDBm+Vxc5S3dWFx1MDAwN/mqXHUwMDAziKYt7lx1MDAxOVx1MDAxMCZcdTAwMTbOJaRwIFx1MDAxYkRccmsq7dz2WIxYx3CzXHUwMDEweD3FXHTJzFJcdTAwMWGAdZo6WkNSbcE2hJbGn7ZSSpiBXFwshVx1MDAxYnVuI84sinxcdTAwMWPrXHUwMDE2/TNegsXhXG5cdTAwMGJLcfRcdTAwMTFRhlx1MDAwN51cdTAwMGZQXGKMXHUwMDEw+lx1MDAxOORcdTAwMDBCaqAlXHUwMDFijTrhhoePbZ/NxYU5lIVvlVGucVDzXHUwMDFhgpnRSqqpRFx1MDAxZFeDXHUwMDBmeC2BK8tcdTAwMDTzXHUwMDEyXHUwMDE0d6qd5Fx1MDAwZSaTqCfGuXdjMU7Y4dqB+MmYxVxyXHUwMDA13JhcdTAwMGUox8ONbcJcdTAwMDBbMFx1MDAxZlKMXHUwMDA3XHUwMDAwj4bQZYh3tEVqcOfjyporcqxyPv/4Utgh4uY8l2WF5yNdmlx1MDAxZpD5vvdcdTAwMGZ3W6KiOsFcdTAwMTZV4mVYnt0so7F3zdV2Q3XGXHUwMDBm5pTRXHUwMDFhnDNOXHUwMDE3kvgqKSHPNIBtcN+1/1R2k1x1MDAwMG473Mbd3/dbd2xcdTAwMTAnQytcdTAwMThx2Fx1MDAxNFx1MDAxOKdZQ8klWtQ5nVx1MDAxMMeEIzQxXFxqiKTK0nlmxY10XFxNXHUwMDAzyuDPuZm/sWKcdCTHeTOoyognXHUwMDEzfoiDkC6xoJRxrKW0PnyDXHUwMDAwXHRcZoal8TjAxbd1XHUwMDFhnNfFt6VQ4i2ugPyQXHUwMDBiYplRlrBcdTAwMDDu5FiOI8ZcdTAwMTi1XHUwMDFhzIGzj07Xe3jT/f3pbeas3eeH9PDmTlVDXHUwMDBlZZXFxinwcaPnKshnXHUwMDE4iOM3XGZ2XkCeKVx1MDAwMFx0zEbDXai142PRzuNCOlx1MDAxM1x1MDAwMXRKuEf0q5e2RavMp1x1MDAxM+hcdTAwMTR1gDozsGjcL16obIN8wqFcdTAwMTJcdTAwMDM62Fx1MDAxN8NcdTAwMDPQZHDOOlxcwdtDWKFcdTAwMTDKVFx1MDAwMJWDdVxiXHUwMDA1a1RYXHUwMDE1bLwq178ySGzKsITytDK5OJBu/Vxmclx1MDAxZFxmRLZcdTAwMGXJXHKVcJmJXHTYoadcdTAwMGWWQErc2lJcdTAwMDbYYFx1MDAwMFxiblx1MDAxMuBsh9pcdTAwMWQ+fFx1MDAxNlx1MDAxN1x1MDAxYrlcblfJXHUwMDEzXHUwMDFjzEV5lVx1MDAxNZdBTvRcdTAwMDCKdEJcdTAwMGVwK02ZXCLgXHUwMDFkVNDF3mRcdOmjXHUwMDEyQHhcdLxcdTAwMDAgP5n6MlxiNkDc4FZcdTAwMDC15lx1MDAxMqeKXHUwMDA1pY9CXHUwMDEyI1xcaCRcdTAwMTYzID+9Ulx1MDAxYzyCsFx1MDAxNG7Rfz+9+lUqSzUmMdRcYlx1MDAwNTfb62Re8IG8QllusVx1MDAwMk1zuPn+L7/ajtlqOS11pMCxrJSj+LKS3r2juXzSXHUwMDAwKlx1MDAxMFx1MDAxY/tKuVx0ymk3XHTvwm1cdTAwMWVcdTAwMWbbXHUwMDAx5lx1MDAxZVx1MDAxN+Tp0G16XG58WkvtXHUwMDFk+bh0gHHkeIJ0Qp40jlx1MDAwMt5cblSKXHTpLc5y23xcdTAwMDTEXHUwMDFhJcBcIi1cdTAwMDG/tZ9t81x03TCDrFx1MDAwNWtdINZcdTAwMTnv1Fx1MDAxZlx1MDAwZslcdTAwMTKAy1x1MDAxNitzNFiH9Mz7ey8vM8BcdTAwMTEs89yu1Fx1MDAwMN7akyXWXHUwMDA1vOh5KVx1MDAxZWyhkEVSI41hcFxyg/BcdTAwMGV364FTYPWXpcwyuVx1MDAwNO3mv8RcdTAwMDZBznao1eHDb2+xcSxcdTAwMTJaXHUwMDA0QSG6WFxysWj1mq/rh/75dO8yP641zOXdfv4q38jfpVx1MDAxY3GodXC2XHUwMDFlgdSNXHUwMDE5s1j0ZeBpMFBcdTAwMGJ5tlx1MDAwMFD69OjOYMjByXmSKHfXXHUwMDE4gq1cZqjhd0e3MqWxXHUwMDA3UknhrVx1MDAwYvu1Q1x1MDAwZr5tcGJLXG5cdTAwMTFcdTAwMDfW7dmUS1wir9tYz1x1MDAwN1x1MDAxMlx1MDAwZqRJXHUwMDAy35CcoDaDXuvXQ01cdTAwMDdcdTAwMWbbfqtZXHUwMDEzOKLHbHFcdTAwMTEqimghzEigg6uDx9O48HJ7Uz2qnFx1MDAxZNv6uNK9lpN2Pu1ccvy4LVx1MDAwNFxcUFpiNJ6ezqOHNdxB6TJqXHUwMDAxSI1Mpi3ZMFxyS4AskaNas3fw3qyESjjYtWJcZlx1MDAxMlx1MDAxMlx1MDAwZcDuoyvYN0KZtJvVvl874K2n8tPFqDkuXHUwMDFjdE729E39wH7BrI/I9/2ELHjk+35CRDXyfVmbXHUwMDE1abV/cXJBXHUwMDFiXHUwMDA31zv9nS4pXqz2vr8gJFx1MDAxY/lcdTAwMTmOn0tcXMacUlx1MDAxZCGQLFxiXHUwMDEyqzU6r4PNKtU0RkFqhPvOzGo2N5fs569zzNAlXHUwMDE1guOJ8+e2ikJncyrHcFx1MDAxY62GJWVcXPDV1FlcdTAwMTngXHUwMDBlLErGgDxcdTAwMWZWSHCt9LNcdTAwMTPCV1dIuOhP5jRcdTAwMTBiXHUwMDE1SFhcdTAwMTJGXHUwMDE3XHUwMDA1XHUwMDEyXHUwMDE215KoPkLEaFwiXHRcZputNZooXHUwMDFhv9PppYw5WlOUXUVq5JF6dNmCNo6y7nGBXHUwMDEyRCR0Vm6VIzRgMnw8XFxta1x1MDAwM86QJHGYXCJcdTAwMDRcYoPilHrTkdlAXYOiJiqFp+VrT9lcbss1wnY3olx1MDAxZGxrrjVXMFx1MDAxN5BcdTAwMTVcdTAwMDCMQO1sz6t+7IFIQG3Abq0oMYRL+cGK6zVamCXX2EOHJ+VCces/wceCa6K40vB/sFx1MDAwMLrhZ1eh9u4+6zP12fv94f17fahcdTAwMGLdycUhX8KINc6uolx1MDAxOWU6kc6iXpOxXHUwMDAyq0RcdTAwMDT16Fx1MDAxZv1AOlx1MDAwYimLXHUwMDE0XHUwMDAybFxmSUkyXHUwMDFiuViKYlx1MDAxOKpGcVQuY1x1MDAwMVVBKNFAJGZGKP6LojQ+qFx1MDAwM+eEXHUwMDE3qGRcdTAwMDZcdTAwMTB/XHUwMDE26tacXHUwMDExlCTUSW5RvZhTbFxcI55cdTAwMWPzXHUwMDFkWMBcItzuXFzOLaxcdTAwMWZcdTAwMWPuY1i3TvOyZGBcXEZg95ggwXpcclx1MDAxNjXtwCMhTVe4ybfZaFx1MDAxN2rz7rN+c49ccu7M4lx1MDAwZt+ZXHUwMDFkNvZcdTAwMTizjlx1MDAxNEx0pptKvNPGOlx1MDAxNrVBIG5cdTAwMTKx0F9iNXe0m1x1MDAxOEH4QY3FROBOwVxusEvS4DEyyoFcdTAwMDTAnXDA9+BFREvNXHUwMDAw1fw6jpgtM1x1MDAxYYdeXexop1x1MDAwMDSSPLZaXHUwMDAz7SjcY8hcdTAwMWHxjJiBN1x0f+swXHUwMDA1SLTgZtJcdTAwMWGCXbzsg8wuetbG1twhPJaeobi0XHUwMDEyXHUwMDFh89mgfmbIPTSsiVkrXHRwwM1Gu1CLx8e239jjXHUwMDAyO1x1MDAxYT41zypwIM3WOKW/u97dbuZvXHUwMDFiL3xnZ9p4nO48PMujdINcdTAwMWRcdTAwMTBl4kBcdTAwMWGLKs/WXGKlXHUwMDE2hiZcdTAwMThIIVx1MDAwMPGJ26lGRDKFSYo7XHUwMDEyYotcdTAwMTE4dUjLoG46rIVlKFxiTzWuREp/O1x1MDAxZPglx3dJId6hyChPsq1lZ/h8e3n4yGuFXHUwMDFkO3l7mdhOrbFcdTAwMTdcdTAwMDItXHUwMDA0j1xyXHUwMDE4sCnU/oFcYudnUtbBs2KO3a2Q3Fx1MDAwMFxyjMa7jT2v21x1MDAwZTU8fPhNLjbQXHSXK1x1MDAwMH/EXHUwMDFkJbPGSX30pn9KUcdQXHUwMDA3w1x1MDAxN9B+LLqal7a3yuW2xCpcdTAwMDE8PyGxPazy5tLCh3CUXHUwMDFiYlx1MDAwMXtnQqLEKcBcdTAwMWaxqM1B/Fxmi1x1MDAwM01MZ/k1KpEnqrRH5PX1bfNhvylcdTAwMWG51lvhtHRCuyFcZktJYMtMYdkoqlx1MDAxMfh3zrQjsePInZxDXHUwMDAxLf09XHUwMDFkK/GrNUifwdmPVFx1MDAwMdewjHq0bT30yi2C5lRbpq1kbLPLILdDzVx1MDAxZFx1MDAxZj5DX1x1MDAxM+jCzvKYXG7HObBcdOEqQayeSkbGuJTinFx1MDAwNiqvXHUwMDA0o8RccqR8XphFS0w/OFx1MDAxZbRRodmnZ3iEXGKz4OArXHUwMDA2WS02XHUwMDFhhcide27Ue1x1MDAxOVx1MDAwMddcdTAwMWPBLXG583djXHUwMDBiONCOZtRzRrj+gbbLyj4rpk7V3E8jjlxuzyrN+mirMqxvVbaq/e6gP2qPwSP+6vVcdTAwMWJb3X5t0sFne7WtUVx1MDAwYl5T+6vnvqaX0JzkuW+5eJBcdTAwMTjHSlc6fPxJqdauXHUwMDExXHUwMDEwXHUwMDExasVcdTAwMDBwXHUwMDFhXHUwMDBm5FbGlehIllZcXEFdXHUwMDBinOOBu69iobjacuNcdTAwMThm4CowI7VKRoyAXHUwMDFhXGLbhuNnMIY5+YxtRMBcbkNE0Tik5DthJdk6XHUwMDE5rq36bFx1MDAwNcLqsFJq1beG7sn/XHUwMDE2+FW9Ot6attrV1l+9XHUwMDAxePHWuFx1MDAwZl7an/7Vq9VcdTAwMDd1l0BtgVx1MDAxM4/hdy4vTr5cdTAwMWFXYlnqWsDyx8879WdlMCiO4T6900cwu3bt58WeLfrP53Z9ulx1MDAxYuhcdTAwMDX4QDtwwVxuUaHu8vZ//fGv/1x1MDAwNb6Z570ifQ==Friont-EndinfraapiviewBack-EndDTOconverterhookscomponentsinfraapiviewDTOconverterhookscomponentsinfraapiviewDTOconverterhookscomponentsmodulesData Transfer Objects:types of the backendConvert data from DTOto front-end types(rename props, parse dates...)functions that callsthe API and return theAPI responsecalculate complex valuesor any kind of logic(functions beginning with use...)draw the moduleelements on the screen(render to HTML)sharedpagesHomeEventsSignatureGridCalendarDetailsRouterPages are a compositionof modules and sharedcomponentsThe router select whichpage to showdepending of the URL

What's the front-end?

The front-end is the part of the application that runs on the client. Its role is to:

  • display the data to the user
  • send data to the back-end
  • manage the user's interactions

In our case, the front-end is built with the React library.

React is NOT a framework

React is a library, which is only useful for building user interfaces. Since it isn't a framework, we need other libraries to build a complete front-end:

The old (legacy) front-end

The old front-end was built with the Django template system, which is a server-side rendering system. But, in some cases, we injected some React components in the Django templates to make the front-end more dynamic.

These injected React component are stored in the frontend/legacy folder: they are standalone components which are not part of a page.